Bug 27261

Summary: GLSL Compiler fails on the following vertex shader
Product: Mesa Reporter: Karthik Hariharakrishnan <karhar01>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: 7.5   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 29044    
Attachments: Failing vertex shader
Failing Vertex Shader
Fragment shader with a lot of preprocessing fails

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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.