GL4 Drivers?

Any is any “major” IHV going to release GL4 drivers soon?

With more robust features being added, how stable the drivers will be?

Wait for 26th March :slight_smile:

2010? Just kidding…

Where’s this information from?

nVidia announced OpenGL 4.0 drivers at GTX 480 launch… yes seriously.

Probably super beta drivers but that already something.

nVidia announced OpenGL 4.0 drivers at GTX 480 launch… yes seriously.

That’s not surprising. They’re usually pretty fast with GL implementations.

Then again, they did just recall a driver that destroys people’s GPUs. So maybe they have more important things to worry about :wink:

Any news from ATI? Intel? ppl working there on drivers?

keep posted for the official anouncement and availability for AMD, but it will happen quickly.

OpenGL 3.3 drivers are available now for download.

http://developer.nvidia.com/object/opengl_driver.html

OpenGL 4.0 will be supported with Fermi GPUs once available.

Barthold
(with my NVIDIA hat on)

Thanks, Barthold!

Do you know the differences to 196.21 regarding UBOs?

I installed 197.15 an hour ago and already get into trouble with my UBO code. It seems, the new driver is now handling unreferenced uniform blocks (or unused single uniforms inside a block) in a different way.

I’m using a “fake shader” just to be able to retrieve all uniform offsets within my two “built in” blocks at the startup of the program.


// these are the two uniform blocks I prefix to all shaders in my system
uniform  Model { 
    mat4 ModelViewProjectionMatrix;
    mat4 ModelViewMatrix;
    mat4 ModelMatrix; 
    mat3 NormalMatrix; 
};
uniform  View {
    mat4 ProjectionMatrix;
    mat4 ViewMatrix; 
}; 

// this is the code that fails for uniforms which are not referenced by a shader:

// I indeed get a valid indices for all the uniforms!
GLuint uniformindex=-1;
glGetUniformIndices(program, 1, &uniformname, &uniformindex);

// now passing the valid index into glGetActiveUniformsiv fails with GL_INVALID_VALUE???
// (for referenced uniforms, the call works as expected and retrieves the offset)
GLint offset=-1;
glGetActiveUniformsiv(program, 1, &uniformindex, GL_UNIFORM_OFFSET, &offset);


Does this mean, I should try to change the fake shader in a way it somehow references all uniforms?

Skynet, we’ll take a look.

I’m using a “fake shader” just to be able to retrieve all uniform offsets within my two “built in” blocks at the startup of the program.

You’re doing it wrong if you’re expecting it to work based on the spec.

Only with “shared” or “std140” are you given the guarantee that the offsets from one uniform block in one program will be the same as another. You didn’t specify one, so the default is “packed”.

This is what GLSL 1.5 specs say:

The initial state of compilation is as if the following were declared:
layout(shared, column_major) uniform;
Explicitly declaring this in a shader will return defaults back to their initial state.

So, how did I get that wrong?
But just to be sure, I’ll include the layout specifier.

Oh, sorry. My mistake.

Skynet, bug was found and fixed. The fix will be in the upcoming driver release. Sorry about that.

Barthold
(with my NVIDIA hat on)

One word: Cool!
:smiley:

Questions to nvidia:
*Is Nvidia going to expose ext_gpu_shader_fp64 on GT2xx hardware with double precision or is for d3d11 hardware?
For example gtx275
AMD seems to support double precision on GLSL via doublepAMD even on 4850 cards…
Also is Nvidia with initial GL 4.0 drivers going to finally expose documentation for wgl_nv_dx_interop and have the shown at gtc texture writting and random access support?
via ext_image_load_store?

Hope so, since CUDA has been supporting on-GPU doubles for Geforce 8+ cards for a long while now IIRC, on the last two generations of cards at least (both pre-DX11):

If they don’t, blame Marketing/Sales.

AMD is the first to have released a GL4 driver:

http://support.amd.com/us/kbarticles/Pages/Catalyst-OpenGL-preview-driver.aspx

Thanks for the heads-up!
And kudos to the ATi driver-team for the timing.
Things are looking up!