[Mesa-dev] [PATCH 3/3] mesa: remove LowerShaderSharedVariables
Marek Olšák
maraeo at gmail.com
Wed Nov 9 12:12:41 UTC 2016
From: Marek Olšák <marek.olsak at amd.com>
always true for compute shaders
---
src/compiler/glsl/linker.cpp | 2 +-
src/mesa/drivers/dri/i965/brw_compiler.c | 3 ---
src/mesa/main/mtypes.h | 3 ---
src/mesa/state_tracker/st_extensions.c | 3 ---
4 files changed, 1 insertion(+), 10 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index aceea8d..0d18279 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -4672,21 +4672,21 @@ link_varyings_and_uniforms(unsigned first, unsigned last,
if (prog->_LinkedShaders[i] == NULL)
continue;
const struct gl_shader_compiler_options *options =
&ctx->Const.ShaderCompilerOptions[i];
if (options->LowerBufferInterfaceBlocks)
lower_ubo_reference(prog->_LinkedShaders[i],
options->ClampBlockIndicesToArrayBounds);
- if (options->LowerShaderSharedVariables)
+ if (i == MESA_SHADER_COMPUTE)
lower_shared_reference(prog->_LinkedShaders[i],
&prog->Comp.SharedSize);
lower_vector_derefs(prog->_LinkedShaders[i]);
do_vec_index_to_swizzle(prog->_LinkedShaders[i]->ir);
}
return true;
}
diff --git a/src/mesa/drivers/dri/i965/brw_compiler.c b/src/mesa/drivers/dri/i965/brw_compiler.c
index 18145be..9387d64 100644
--- a/src/mesa/drivers/dri/i965/brw_compiler.c
+++ b/src/mesa/drivers/dri/i965/brw_compiler.c
@@ -149,15 +149,12 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
compiler->glsl_compiler_options[i].ClampBlockIndicesToArrayBounds = true;
}
compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectInput = false;
compiler->glsl_compiler_options[MESA_SHADER_TESS_EVAL].EmitNoIndirectInput = false;
compiler->glsl_compiler_options[MESA_SHADER_TESS_CTRL].EmitNoIndirectOutput = false;
if (compiler->scalar_stage[MESA_SHADER_GEOMETRY])
compiler->glsl_compiler_options[MESA_SHADER_GEOMETRY].EmitNoIndirectInput = false;
- compiler->glsl_compiler_options[MESA_SHADER_COMPUTE]
- .LowerShaderSharedVariables = true;
-
return compiler;
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 08f72e0..5e98040 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2931,23 +2931,20 @@ struct gl_shader_compiler_options
* - preferring DP4 instructions (rather than MUL/MAD) for
* matrix * vector operations, such as position transformation.
*/
GLboolean OptimizeForAOS;
GLboolean LowerBufferInterfaceBlocks; /**< Lower UBO and SSBO access to intrinsics. */
/** Clamp UBO and SSBO block indices so they don't go out-of-bounds. */
GLboolean ClampBlockIndicesToArrayBounds;
- GLboolean LowerShaderSharedVariables; /**< Lower compute shader shared
- * variable access to intrinsics. */
-
const struct nir_shader_compiler_options *NirOptions;
};
/**
* Occlusion/timer query object.
*/
struct gl_query_object
{
GLenum Target; /**< The query target, when active */
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 8d3eee6..ef926e4 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -301,23 +301,20 @@ void st_init_limits(struct pipe_screen *screen,
MIN2(screen->get_shader_param(screen, sh,
PIPE_SHADER_CAP_MAX_INSTRUCTIONS),
65536);
else
options->MaxUnrollIterations =
screen->get_shader_param(screen, sh,
PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT);
options->LowerCombinedClipCullDistance = true;
options->LowerBufferInterfaceBlocks = true;
-
- if (sh == PIPE_SHADER_COMPUTE)
- options->LowerShaderSharedVariables = true;
}
c->LowerTessLevel = true;
c->LowerCsDerivedVariables = true;
c->PrimitiveRestartForPatches =
screen->get_param(screen, PIPE_CAP_PRIMITIVE_RESTART_FOR_PATCHES);
c->MaxCombinedTextureImageUnits =
_min(c->Program[MESA_SHADER_VERTEX].MaxTextureImageUnits +
c->Program[MESA_SHADER_TESS_CTRL].MaxTextureImageUnits +
--
2.7.4
More information about the mesa-dev
mailing list