Bug 27261 - GLSL Compiler fails on the following vertex shader
GLSL Compiler fails on the following vertex shader
Status: RESOLVED FIXED
Product: Mesa
Classification: Unclassified
Component: Mesa core
7.5
x86 (IA32) Linux (All)
: medium major
Assigned To: mesa-dev
:
Depends on:
Blocks: 29044
  Show dependency treegraph
 
Reported: 2010-03-23 05:11 UTC by Karthik Hariharakrishnan
Modified: 2010-08-17 08:35 UTC (History)
0 users

See Also:


Attachments
Failing vertex shader (14.19 KB, application/octet-stream)
2010-03-23 05:11 UTC, Karthik Hariharakrishnan
Details
Failing Vertex Shader (1.34 KB, text/plain)
2010-03-23 05:14 UTC, Karthik Hariharakrishnan
Details
Fragment shader with a lot of preprocessing fails (2.18 KB, application/octet-stream)
2010-03-23 05:17 UTC, Karthik Hariharakrishnan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karthik Hariharakrishnan 2010-03-23 05:11:32 UTC
Created attachment 34359 [details]
Failing vertex shader

The attached vertex shaders do not compile and link when the GLSL Compiler is used. The version of Mesa used is 7.5.2 and it has been configured with --with-driver=xlib.

The above vertex shaders are part of the Open GLES conformance suite supplied by Khronos. These shaders compile when the OpenGL drivers supplied by the GPU vendors(NVIDIA, ATI) are installed.
Comment 1 Karthik Hariharakrishnan 2010-03-23 05:14:07 UTC
Created attachment 34360 [details]
Failing Vertex Shader

Attaching one more vertex shader that fails
Comment 2 Karthik Hariharakrishnan 2010-03-23 05:17:17 UTC
Created attachment 34361 [details]
Fragment shader with a lot of preprocessing fails
Comment 3 Brian Paul 2010-03-23 07:15:27 UTC
The fragment shader / preprocessor bug has been fixed for Mesa 7.8.

I probably won't get around to the other bugs for a while.  I really wish the GLSL didn't allow all those goofy constructors.  They're really hard to implement and real shaders seldom use them.
Comment 4 Karthik Hariharakrishnan 2010-03-23 07:38:08 UTC
(In reply to comment #3)
> The fragment shader / preprocessor bug has been fixed for Mesa 7.8.
> 
> I probably won't get around to the other bugs for a while.  I really wish the
> GLSL didn't allow all those goofy constructors.  They're really hard to
> implement and real shaders seldom use them.
> 

I will try the latest release candidate and see if the problem has been fixed. I have also been observing random failures in the GLES conformance suite when I run with MESA. Has there been some memory leaks etc fixed in the new release?
Comment 5 Brian Paul 2010-03-23 07:46:01 UTC
(In reply to comment #4)

> I will try the latest release candidate and see if the problem has been fixed.
> I have also been observing random failures in the GLES conformance suite when I
> run with MESA. Has there been some memory leaks etc fixed in the new release?

I don't know what would cause random failures.

Every so often I find/fix memory leaks but I don't know if that would be related to your issue.

Comment 6 Karthik Hariharakrishnan 2010-03-23 08:04:53 UTC
(In reply to comment #5)
> (In reply to comment #4)
> 
> > I will try the latest release candidate and see if the problem has been fixed.
> > I have also been observing random failures in the GLES conformance suite when I
> > run with MESA. Has there been some memory leaks etc fixed in the new release?
> 
> I don't know what would cause random failures.
> 
> Every so often I find/fix memory leaks but I don't know if that would be
> related to your issue.
> 

It looks like 7.8rc2 fixes the issue but fails a whole lot of other shaders. More specifically lots of tests fail in the GL/build section in OpenGL ES Conformance suite.

Is there a architectural diagram for the different components in Mesa?

Thanks
Comment 7 Brian Paul 2010-03-23 09:21:42 UTC
(In reply to comment #6)
> It looks like 7.8rc2 fixes the issue but fails a whole lot of other shaders.
> More specifically lots of tests fail in the GL/build section in OpenGL ES
> Conformance suite.

The GL/build section is notoriously complicated but many/most of the tests in that section did pass at one time.  There may have been a regression.  I'm afraid I don't have time to did into it now though.


> Is there a architectural diagram for the different components in Mesa?

There's some diagrams focussing on Gallium but I don't have anything handy for Mesa.  You can find most things with a little bit of grep'ing.

Comment 8 Eric Anholt 2010-08-17 08:35:20 UTC
With glsl2 merged to master, parsing is fine on all of these.