From ebf91993c18bdf90c4699b42e58cb84d0b160f25 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 3 Jan 2014 14:48:53 -0800 Subject: [PATCH] mesa: rename PreferDP4 to OptimizeForAOS. This flag was really just a proxy for determining whether the backend was vector (AOS) or scalar (SOA). It will be used to apply a future optimization only for vector backends. Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- src/glsl/glsl_parser_extras.cpp | 2 +- src/mesa/drivers/dri/i965/brw_context.c | 2 +- src/mesa/drivers/dri/r200/r200_context.c | 2 +- src/mesa/drivers/dri/radeon/radeon_context.c | 2 +- src/mesa/main/ffvertex_prog.c | 2 +- src/mesa/main/mtypes.h | 9 ++++++--- src/mesa/program/programopt.c | 2 +- src/mesa/state_tracker/st_context.c | 2 +- 8 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index ddb3d2df4be..35d5679b58b 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -1561,7 +1561,7 @@ do_common_optimization(exec_list *ir, bool linked, progress = do_copy_propagation(ir) || progress; progress = do_copy_propagation_elements(ir) || progress; - if (options->PreferDP4 && !linked) + if (options->OptimizeForAOS && !linked) progress = opt_flip_matrices(ir) || progress; if (linked) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index d6c41e610cc..f9dc068fb7f 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -473,7 +473,7 @@ brw_initialize_context_constants(struct brw_context *brw) ctx->ShaderCompilerOptions[i].LowerClipDistance = true; } - ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4 = true; + ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS = true; /* ARB_viewport_array */ if (brw->gen >= 7 && ctx->API == API_OPENGL_CORE) { diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index 0af6c9a19be..5427fc2059d 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -338,7 +338,7 @@ GLboolean r200CreateContext( gl_api api, ctx->Const.MaxDrawBuffers = 1; ctx->Const.MaxColorAttachments = 1; - ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4 = GL_TRUE; + ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS = GL_TRUE; /* Install the customized pipeline: */ diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c index 66ba229e030..0757f7ec4ad 100644 --- a/src/mesa/drivers/dri/radeon/radeon_context.c +++ b/src/mesa/drivers/dri/radeon/radeon_context.c @@ -301,7 +301,7 @@ r100CreateContext( gl_api api, ctx->Const.MaxColorAttachments = 1; ctx->Const.MaxRenderbufferSize = 2048; - ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4 = true; + ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS = true; /* Install the customized pipeline: */ diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c index aec2b2dbc24..4d71c55ee9f 100644 --- a/src/mesa/main/ffvertex_prog.c +++ b/src/mesa/main/ffvertex_prog.c @@ -1676,7 +1676,7 @@ _mesa_get_fixed_func_vertex_program(struct gl_context *ctx) return NULL; create_new_program( &key, prog, - ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4, + ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS, ctx->Const.Program[MESA_SHADER_VERTEX].MaxTemps ); #if 0 diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 25821324cca..c396609203d 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2760,10 +2760,13 @@ struct gl_shader_compiler_options GLuint MaxUnrollIterations; /** - * Prefer DP4 instructions (rather than MUL/MAD) for matrix * vector - * operations, such as position transformation. + * Optimize code for array of structures backends. + * + * This is a proxy for: + * - preferring DP4 instructions (rather than MUL/MAD) for + * matrix * vector operations, such as position transformation. */ - GLboolean PreferDP4; + GLboolean OptimizeForAOS; struct gl_sl_pragmas DefaultPragmas; /**< Default #pragma settings */ }; diff --git a/src/mesa/program/programopt.c b/src/mesa/program/programopt.c index 7e005722360..92a8831d208 100644 --- a/src/mesa/program/programopt.c +++ b/src/mesa/program/programopt.c @@ -218,7 +218,7 @@ _mesa_insert_mvp_mad_code(struct gl_context *ctx, struct gl_vertex_program *vpro void _mesa_insert_mvp_code(struct gl_context *ctx, struct gl_vertex_program *vprog) { - if (ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4) + if (ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS) _mesa_insert_mvp_dp4_code( ctx, vprog ); else _mesa_insert_mvp_mad_code( ctx, vprog ); diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 77db6ab39ba..0ffc7626388 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -240,7 +240,7 @@ struct st_context *st_create_context(gl_api api, struct pipe_context *pipe, * driver prefers DP4 or MUL/MAD for vertex transformation. */ if (debug_get_option_mesa_mvp_dp4()) - ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].PreferDP4 = GL_TRUE; + ctx->ShaderCompilerOptions[MESA_SHADER_VERTEX].OptimizeForAOS = GL_TRUE; return st_create_context_priv(ctx, pipe, options); } -- 2.30.2