i915: Force lowering of all types of indirect array accesses in the FS

NOTE: This is a candidate for the 7.9 and 7.10 branches.
(cherry picked from commit 4c1dc1c4d7)
This commit is contained in:
Ian Romanick 2011-02-10 11:51:28 -08:00
parent a9d3cce8f3
commit e160c815c2

View file

@ -188,9 +188,17 @@ i915CreateContext(int api,
* FINISHME: vertex shaders?
*/
ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].EmitCondCodes = GL_TRUE;
ctx->ShaderCompilerOptions[MESA_SHADER_FRAGMENT].EmitNoIfs = GL_TRUE;
ctx->ShaderCompilerOptions[MESA_SHADER_FRAGMENT].EmitNoNoise = GL_TRUE;
ctx->ShaderCompilerOptions[MESA_SHADER_FRAGMENT].EmitNoPow = GL_TRUE;
struct gl_shader_compiler_options *const fs_options =
& ctx->ShaderCompilerOptions[MESA_SHADER_FRAGMENT];
fs_options->EmitNoIfs = GL_TRUE;
fs_options->EmitNoNoise = GL_TRUE;
fs_options->EmitNoPow = GL_TRUE;
fs_options->EmitNoMainReturn = GL_TRUE;
fs_options->EmitNoIndirectInput = GL_TRUE;
fs_options->EmitNoIndirectOutput = GL_TRUE;
fs_options->EmitNoIndirectUniform = GL_TRUE;
fs_options->EmitNoIndirectTemp = GL_TRUE;
ctx->Const.MaxDrawBuffers = 1;