[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