Description of UseProgramStages command:
If pipeline is a name that has been generated (without subsequent deletion) by
GenProgramPipelines, but refers to a program pipeline object that has not...
Type: Posts; User: randall
Description of UseProgramStages command:
If pipeline is a name that has been generated (without subsequent deletion) by
GenProgramPipelines, but refers to a program pipeline object that has not...
Yes, when using separable programs you have to declare gl_PerVertex block. NV driver also (correctly) requires it.
This should work:
struct Position {
float x, y, z;
};
layout(std430, binding = 0) buffer OutputPositionBuffer {
Position outPositions[];
Arrays of vec3s have padding on NV driver and I think that it should have even when using std430.
1. If the member is a scalar consuming N basic machine units, the base align-
ment is N .
2. If...
What I am saying is that VAO design and NV driver design just don't work well together. This is why GL_NV_vertex_buffer_unified_memory extension has been developed, this is why NVIDIA isn't using...
One and only one on Linux.
No, but VAO is obvious optimization and Valve is rather important client. I am sure NVIDIA got reports from Valve about slow VAO, but new drivers still aren't faster in this area.
Other...
VAO state can be changed at any time so the driver has to treat each bind as "bind for edit" and "bind for draw". AFAIK it is not possible to optimize VAO in NV driver if it was they would do it.
It matters. In Core Profile you need VAO yes it is true, but you can gen and bind one at application startup and never undbind it. Then before each draw call configure your arrays with...
In OpenGL 4.3 you have glCopyImageSubData.
I would try sending some dummy data to glBufferData instead of passing NULL. NVIDIA has similar problem with textures and ARB_shader_image_load_store. When I initialy pass NULL to glTexImage2D...
Look at GL_ARB_internalformat_query2 extension.
This is not needed:
#extension GL_EXT_geometry_shader4 : enable
You are using 'core' Geometry Shader version not EXT.
Look at GL_ARB_shader_stencil_export extension. It is not in core because NVIDIA hardware can't do it. Currently only AMD supports it.
As far as I know bug has been fixed. Every texture lookup I perform works for me. What is your usage scenario that does not work?
This compute shader works as expected:
#version 430 core
layout(local_size_x = 32) in;
shared int g_shared_data[32];
//...
I think I have found a driver bug.
struct Type {
ivec2 member0;
};
layout(std140, binding = 0) buffer Buffer {
int data0; // offset 0
Yes, NVIDIA is correct in this case.
From the GLSL 4.30 spec revision 7, page 52:
Outside the shading language (i.e., in the API), members are similarly identified except the block name is...
After looking at the code I think that you are missing the parenthesis. For example variant 2 should be like this:
continueLoop = (data.x - dimension) < 0 && (data.y - dimension) < 0 &&...
This seems like a compiler bug. I would try changing from do/while to simple while loop.
If you are using ARB_shader_image_load extension you should use ARB style formats so: rgba32f (in your case) there is no size4x32 format in ARB version of this extension (only in EXT). Memory...
In 4.3 you can use ARB_shader_image_load_store, ARB_framebuffer_no_attachments and glMemoryBarrier to accomplish what glTextureBarrierNV does. I don't see a point to add yet another feature to...
You can use glGenerateMipmap to do this.
Try the latest driver which is 310.33
'shared' keyword is invalid keyword in CS when I use:
#version 420 core
#extension GL_ARB_shader_storage_buffer_object : require
#extension GL_ARB_compute_shader : require
It works as expected...