[Mesa-dev] [PATCH 14/14] mesa: remove gl_shader_compiler_options::EmitNoNoise
Ian Romanick
idr at freedesktop.org
Mon Oct 17 18:43:12 UTC 2016
This patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
If we ever want to support the noise built-in functions, we'll have to
implement them as functions... that will get inlined. :)
On 10/17/2016 06:39 AM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> it's always true
> ---
> src/mesa/drivers/dri/i915/i915_context.c | 1 -
> src/mesa/drivers/dri/i965/brw_compiler.c | 1 -
> src/mesa/main/mtypes.h | 1 -
> src/mesa/program/ir_to_mesa.cpp | 3 +--
> src/mesa/state_tracker/st_extensions.c | 2 --
> 5 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i915/i915_context.c b/src/mesa/drivers/dri/i915/i915_context.c
> index a7604a1..05a2ad1 100644
> --- a/src/mesa/drivers/dri/i915/i915_context.c
> +++ b/src/mesa/drivers/dri/i915/i915_context.c
> @@ -253,21 +253,20 @@ i915CreateContext(int api,
>
> /* FINISHME: Are there other options that should be enabled for software
> * FINISHME: vertex shaders?
> */
> ctx->Const.ShaderCompilerOptions[MESA_SHADER_VERTEX].EmitNoIndirectSampler =
> true;
>
> struct gl_shader_compiler_options *const fs_options =
> & ctx->Const.ShaderCompilerOptions[MESA_SHADER_FRAGMENT];
> fs_options->MaxIfDepth = 0;
> - fs_options->EmitNoNoise = true;
> fs_options->EmitNoPow = true;
> fs_options->EmitNoIndirectInput = true;
> fs_options->EmitNoIndirectOutput = true;
> fs_options->EmitNoIndirectUniform = true;
> fs_options->EmitNoIndirectTemp = true;
> fs_options->EmitNoIndirectSampler = true;
>
> ctx->Const.MaxDrawBuffers = 1;
> ctx->Const.QueryCounterBits.SamplesPassed = 0;
>
> diff --git a/src/mesa/drivers/dri/i965/brw_compiler.c b/src/mesa/drivers/dri/i965/brw_compiler.c
> index 27cbd40..4fcc51b 100644
> --- a/src/mesa/drivers/dri/i965/brw_compiler.c
> +++ b/src/mesa/drivers/dri/i965/brw_compiler.c
> @@ -116,21 +116,20 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
> devinfo->gen >= 8 && env_var_as_boolean("INTEL_SCALAR_GS", true);
> compiler->scalar_stage[MESA_SHADER_FRAGMENT] = true;
> compiler->scalar_stage[MESA_SHADER_COMPUTE] = true;
>
> /* We want the GLSL compiler to emit code that uses condition codes */
> for (int i = 0; i < MESA_SHADER_STAGES; i++) {
> compiler->glsl_compiler_options[i].MaxUnrollIterations = 32;
> compiler->glsl_compiler_options[i].MaxIfDepth =
> devinfo->gen < 6 ? 16 : UINT_MAX;
>
> - compiler->glsl_compiler_options[i].EmitNoNoise = true;
> compiler->glsl_compiler_options[i].EmitNoIndirectInput = true;
> compiler->glsl_compiler_options[i].EmitNoIndirectUniform = false;
> compiler->glsl_compiler_options[i].LowerCombinedClipCullDistance = true;
>
> bool is_scalar = compiler->scalar_stage[i];
>
> compiler->glsl_compiler_options[i].EmitNoIndirectOutput = is_scalar;
> compiler->glsl_compiler_options[i].EmitNoIndirectTemp = is_scalar;
> compiler->glsl_compiler_options[i].OptimizeForAOS = !is_scalar;
>
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 701f055..f2ecd6e 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -2990,21 +2990,20 @@ struct gl_pipeline_shader_state
> };
>
> /**
> * Compiler options for a single GLSL shaders type
> */
> struct gl_shader_compiler_options
> {
> /** Driver-selectable options: */
> GLboolean EmitNoLoops;
> GLboolean EmitNoCont; /**< Emit CONT opcode? */
> - GLboolean EmitNoNoise; /**< Emit NOISE opcodes? */
> GLboolean EmitNoPow; /**< Emit POW opcodes? */
> GLboolean EmitNoSat; /**< Emit SAT opcodes? */
> GLboolean LowerCombinedClipCullDistance; /** Lower gl_ClipDistance and
> * gl_CullDistance together from
> * float[8] to vec4[2]
> **/
>
> /**
> * \name Forms of indirect addressing the driver cannot do.
> */
> diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
> index d0e83cc..be10432 100644
> --- a/src/mesa/program/ir_to_mesa.cpp
> +++ b/src/mesa/program/ir_to_mesa.cpp
> @@ -2989,22 +2989,21 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
> options, ctx->Const.NativeIntegers)
> || progress;
>
> progress = lower_quadop_vector(ir, true) || progress;
>
> if (options->MaxIfDepth == 0)
> progress = lower_discard(ir) || progress;
>
> progress = lower_if_to_cond_assign(ir, options->MaxIfDepth) || progress;
>
> - if (options->EmitNoNoise)
> - progress = lower_noise(ir) || progress;
> + progress = lower_noise(ir) || progress;
>
> /* If there are forms of indirect addressing that the driver
> * cannot handle, perform the lowering pass.
> */
> if (options->EmitNoIndirectInput || options->EmitNoIndirectOutput
> || options->EmitNoIndirectTemp || options->EmitNoIndirectUniform)
> progress =
> lower_variable_index_to_cond_assign(prog->_LinkedShaders[i]->Stage, ir,
> options->EmitNoIndirectInput,
> options->EmitNoIndirectOutput,
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index 238e279..6cc7ca9 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -256,22 +256,20 @@ void st_init_limits(struct pipe_screen *screen,
> pc->MaxLocalParams = MIN2(pc->MaxParameters, MAX_PROGRAM_LOCAL_PARAMS);
> pc->MaxEnvParams = MIN2(pc->MaxParameters, MAX_PROGRAM_ENV_PARAMS);
>
> if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INTEGERS)) {
> pc->LowInt.RangeMin = 31;
> pc->LowInt.RangeMax = 30;
> pc->LowInt.Precision = 0;
> pc->MediumInt = pc->HighInt = pc->LowInt;
> }
>
> - options->EmitNoNoise = TRUE;
> -
> /* TODO: make these more fine-grained if anyone needs it */
> options->MaxIfDepth =
> screen->get_shader_param(screen, sh,
> PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH);
> options->EmitNoLoops =
> !screen->get_shader_param(screen, sh,
> PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH);
>
> options->EmitNoCont =
> !screen->get_shader_param(screen, sh,
>
More information about the mesa-dev
mailing list