diff options
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/mtypes.h | 7 | ||||
-rw-r--r-- | src/mesa/main/shaderapi.c | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 61cd93c364c..3e54656981d 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2187,7 +2187,6 @@ struct gl_shader_compiler_options { /** Driver-selectable options: */ GLboolean EmitHighLevelInstructions; /**< IF/ELSE/ENDIF vs. BRA, etc. */ - GLboolean EmitContReturn; /**< Emit CONT/RET opcodes? */ GLboolean EmitCondCodes; /**< Use condition codes? */ GLboolean EmitComments; /**< Annotated instructions */ GLboolean EmitNVTempInitialization; /**< 0-fill NV temp registers */ @@ -2196,6 +2195,12 @@ struct gl_shader_compiler_options * support control flow. */ GLboolean EmitNoIfs; + GLboolean EmitNoLoops; + GLboolean EmitNoFunctions; + GLboolean EmitNoCont; /**< Emit CONT opcode? */ + GLboolean EmitNoMainReturn; /**< Emit CONT/RET opcodes? */ + + GLuint MaxUnrollIterations; struct gl_sl_pragmas DefaultPragmas; /**< Default #pragma settings */ }; diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 2977a29ab74..c32c09f8d4b 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -97,10 +97,14 @@ _mesa_init_shader_state(GLcontext *ctx) struct gl_shader_compiler_options options; GLuint i; options.EmitHighLevelInstructions = GL_TRUE; - options.EmitContReturn = GL_TRUE; options.EmitCondCodes = GL_FALSE; options.EmitComments = GL_FALSE; options.EmitNoIfs = GL_FALSE; + options.EmitNoLoops = GL_FALSE; + options.EmitNoFunctions = GL_FALSE; + options.EmitNoCont = GL_FALSE; + options.EmitNoMainReturn = GL_FALSE; + options.MaxUnrollIterations = 32; /* Default pragma settings */ options.DefaultPragmas.IgnoreOptimize = GL_FALSE; |