GLslang in ATI 6.14.10.6404

Hello!

I just tried out GLslang in ATI Catalyst 6.14.10.6404 drivers and found the following problems:

-) glCompileShaderARB will compile the following line without problems in a Vertex Shader:

gl_Position = gl_ModelViewProjectionMatrix * gl_Position ;

But if I want to link a Program Object (at which this Vertex Shader Object is attached to) my program crashes fully.

-) When I define a uniform sampler and use glGetActiveUniformsARB, this function doesn’t return me a vaild name, a vaild size and a valid uniform type of that sampler uniform. But GL_OBJECT_ACTIVE_UNIFORMS tells me that these uniforms should be there.

-) There are no texture lockup functions in a vertex shader. But GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB returns me a number of 16.

Anyone have these problems too and is able to help me?

Thanks a lot
Corrail

I just noticed another problem:

glGetActiveAttribARB doesn’t return me a vaild attribute type. It returns me for

float: 0
vec2: 1
vec3: 2
vec4: 3
mat2: 4
mat3: 5
mat4: 6

An not the defined values.

I can’t talk about ATI drivers but for current 3dlabs implementation:

  • You can’t just run a Vertex shader without a Fragment shader. (you need to implement both shaders right now)

  • Vertex Shader texture mapping isn’t implemented yet, use fragment shaders for that

You can download API release notes of 3dlabs implementation (in their new SDK revision 6) http://www.3dlabs.com/support/developer/ogl2/downloads/index.htm

–Martin

  • You can’t just run a Vertex shader without a Fragment shader. (you need to implement both shaders right now)

It is possible to run a Vertex Shader without a Fragment Shader. In ATI driver it is possible and the standart OpenGL Machine is responsible to do the fragment processing.

  • Vertex Shader texture mapping isn’t implemented yet, use fragment shaders for that

hm But why does GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB returns me 16??? :slight_smile:

Well he is talking about 3DLabs drivers, you are talking about ATi’s drivers. See the difference?

My point was, both ATI and 3dlabs OGLSL implementations are not completed yet.

They both still lack key features, and unexpected things happen.

–Martin

And the latest spec is also buggy.
Where can we submit caught errors in the spec?

glUniform4fvARB(Loc, @Vec) generates an OpenGL INVALID_OPERATION error, while glUniform4fARB(Loc, Vec[0], Vec[1], Vec[2], Vec[3]) runs ok. Bug ?

The easiest for ATI fix the bugs is by emailing devrel@ati.com. They’ll be happy to help you out.

It’s most helpful if you send a sample program (with source if possible) to reproduce the problem.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.