http://bugs.freedesktop.org/show_bug.cgi?id=25579
Summary: glsl compiled condition codes or temps seem wrong Product: Mesa Version: git Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Mesa core AssignedTo: mesa3d-dev@lists.sourceforge.net ReportedBy: amaasi...@gmail.com progs/vpglsl/vp-tris if.glsl has: void main() { gl_FrontColor = gl_Color; gl_Position = gl_Vertex; if (gl_Position.x < 0.5) gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); } This compiles to mesa_program: # Vertex Program/Shader 3 0: MOV OUTPUT[1], INPUT[3]; 1: MOV TEMP[0], INPUT[0]; 2: SLT.C TEMP[0].x, INPUT[0].xxxx, CONST[0].xxxx; 3: IF (NE.xxxx); # (if false, goto 5); 4: MOV OUTPUT[1], CONST[1]; 5: ENDIF; 6: MOV OUTPUT[0], TEMP[0]; 7: END >From what I understand TEMP[0].x is overwritten in 2: SLT.C and this is then output as gl_position.x - this is not what the shader code above does. Seems due to this it currently misrenders on r600 and also intel also same thing with ifelse.glsl nestedifs.glsl ... -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev