http://bugs.freedesktop.org/show_bug.cgi?id=25654
Summary: glsl ifelse BranchTargets seem off
Product: Mesa
Version: git
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: Mesa core
AssignedTo: [email protected]
ReportedBy: [email protected]
For example: ./vp-tris -f ifelse.glsl
compiles to:
# Vertex Program/Shader 3
0: MOV TEMP[1], INPUT[0];
1: SLT.C TEMP[0].x, INPUT[0].xxxx, CONST[0].xxxx;
2: IF (NE.xxxx); # (if false, goto 5);
3: MOV OUTPUT[1], CONST[1];
4: ELSE; # (goto 8)
5: MOV OUTPUT[1], INPUT[3];
6: ENDIF;
7: MOV OUTPUT[0], TEMP[1];
8: END
Seems if points one past the else statement and else points to
program end?
Also nestedifs.glsl shows somewhat similar behaviour.
r600 currently tries to emit a bit different code when no else
present and uses inst[BranchTarget] to determine presence.
Andre
--
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev