[Mesa-dev] [PATCH 2/5] mesa: rename PreferDP4 to OptimizeForAOS.
Brian Paul
brianp at vmware.com
Wed Jan 8 15:14:58 PST 2014
On 01/08/2014 01:43 PM, Matt Turner wrote:
> 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.
> ---
> 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 5f19368..c759569 100644
> --- a/src/glsl/glsl_parser_extras.cpp
> +++ b/src/glsl/glsl_parser_extras.cpp
> @@ -1591,7 +1591,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 78c06fc..da34e3d 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -478,7 +478,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;
Maybe use GL_TRUE here to be consistent. Or, change the type to bool
and use true/false everywhere.
> }
>
> /**
> diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
> index 5c53720..982f1a2 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 02dbe06..2658f69 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;
And here.
>
> /* Install the customized pipeline:
> */
> diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c
> index 074fbf9..93c941a 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.VertexProgram.MaxTemps );
>
> #if 0
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index f93bb56..a35f44b 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -2724,10 +2724,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 7e00572..92a8831 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 2cc3567..9437bf8 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);
> }
>
Looks good otherwise.
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list