the following shader crashes on ATI during glDrawElements().
did anyone got around to support two sided rendering on both ATI & NV? if so, how do you detect ATI & NV reliably and future proof or do you perhaps use a generic view vector dot face normal test or … hmm … some other method?
Color trick works only partially for me - only for really simple shaders. On more complex ones, adding gl_BackColor = vec4(0.0,0.0,0.0,1.0) to the vertex shader disables the output alltogether.
I could drill down to the smallest possible shader which triggers the case, but that will take time. Anyone from ATI willing to accept the distilled test case?
I’m always willing to accept test cases. (epersson ‘at’ ati.com).
Using gl_FrontFacing should not crash, but it should go into software though since R300 doesn’t have this flag. The R420 and R520 series should support it though. For R300 PsychoLns’s trick is the best option.
@Humus: I’ve sent you the bug report for gl_BackColor over the email. If you find Shader Designer repro. form suitable I could try to make a minimal gl_FrontFace sw. mode crash repro?
Using gl_FrontFacing should not crash, but it should go into software though since R300 doesn’t have this flag. The R420 and R520 series should support it though. For R300 PsychoLns’s trick is the best option.
I’ve checked it out, R300 indeed falls back into the software mode, but then crashes the process. As I can’t reproduce the crash in Shader Designer, the culprit seems to be some specific init sequence of my code.
Hmm, is there a way to record the OpenGL state machine changes so you can replay it and trigger the bug (all VBO & no textures required)? If not, I’ll perhaps send you the compiled exe or make a minimal .sln project which triggers the bug. Naturally it’s of looow priority, as it is a software mode bug.