Stefan Dösinger wrote:
Am Montag, 2. Juni 2008 08:11:13 schrieb Roderick Colenbrander:
The bugs I'm talking about: Bug 10580
Sorry that I did not have time yet to look into that, but instead of ranting you could also look at the GLSL docs and make a patch.
I did see a precision patch by Vitaliy fixing this problem, which was not applied, presumably since there is a better way to fix this.
Renaming the local constants from LC to LVC for vertex and LPC for pixel shaders, and then loading the uniforms after program linking should fix the issue for GLSL. In ARB, just read them from program local environment and load the constants after compiling the shader.
The patch being reverted seems interesting - it basically undoes a prior effort to get local constants into the same namespace as global ones due to relative addressing. I assume this is done for performance reasons, is this correct ? I see your patch is special-case disabled in the case of relative addressing. Do we really want to support multiple constant loading code paths for performance savings ?
Ivan