[Mesa-dev] [PATCH 2/3] glsl: Add shared variable type
Timothy Arceri
timothy.arceri at collabora.com
Fri Nov 6 20:34:25 PST 2015
On Fri, 2015-11-06 at 17:56 -0800, Jordan Justen wrote:
> Shared variables are stored in a common pool accessible by all threads
> in a compute shader local work group.
>
> These variables are similar to OpenCL's local/__local variables.
>
> Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Normally whitespace changes are done in their own patch for clarity.
If you split that out then both are:
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
> ---
> src/glsl/ir.h | 15 ++++++++-------
> src/glsl/ir_print_visitor.cpp | 4 ++--
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/src/glsl/ir.h b/src/glsl/ir.h
> index 9c9f22d..32a766e 100644
> --- a/src/glsl/ir.h
> +++ b/src/glsl/ir.h
> @@ -322,18 +322,19 @@ protected:
> * Variable storage classes
> */
> enum ir_variable_mode {
> - ir_var_auto = 0, /**< Function local variables and globals. */
> - ir_var_uniform, /**< Variable declared as a uniform. */
> - ir_var_shader_storage, /**< Variable declared as an ssbo. */
> + ir_var_auto = 0, /**< Function local variables and globals.
> */
> + ir_var_uniform, /**< Variable declared as a uniform. */
> + ir_var_shader_storage, /**< Variable declared as an ssbo. */
> + ir_var_shader_shared, /**< Variable declared as shared. */
> ir_var_shader_in,
> ir_var_shader_out,
> ir_var_function_in,
> ir_var_function_out,
> ir_var_function_inout,
> - ir_var_const_in, /**< "in" param that must be a constant
> expression */
> - ir_var_system_value, /**< Ex: front-face, instance-id, etc. */
> - ir_var_temporary, /**< Temporary variable generated during
> compilation. */
> - ir_var_mode_count /**< Number of variable modes */
> + ir_var_const_in, /**< "in" param that must be a constant
> expression */
> + ir_var_system_value, /**< Ex: front-face, instance-id, etc. */
> + ir_var_temporary, /**< Temporary variable generated during
> compilation. */
> + ir_var_mode_count /**< Number of variable modes */
> };
>
> /**
> diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp
> index b919690..42b03fd 100644
> --- a/src/glsl/ir_print_visitor.cpp
> +++ b/src/glsl/ir_print_visitor.cpp
> @@ -173,8 +173,8 @@ void ir_print_visitor::visit(ir_variable *ir)
> const char *const samp = (ir->data.sample) ? "sample " : "";
> const char *const patc = (ir->data.patch) ? "patch " : "";
> const char *const inv = (ir->data.invariant) ? "invariant " : "";
> - const char *const mode[] = { "", "uniform ", "shader_storage",
> - "shader_in ", "shader_out ",
> + const char *const mode[] = { "", "uniform ", "shader_storage ",
> + "shader_shared ", "shader_in ", "shader_out
> ",
> "in ", "out ", "inout ",
> "const_in ", "sys ", "temporary " };
> STATIC_ASSERT(ARRAY_SIZE(mode) == ir_var_mode_count);
More information about the mesa-dev
mailing list