From d5c8481d577030f21524ab6e0501d75ba401c887 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 7 Sep 2016 18:05:52 +0200 Subject: [PATCH] glsl: add enable flags for ARB_compute_variable_group_size MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This also initializes the default values for the standalone compiler. Signed-off-by: Samuel Pitoiset Reviewed-by: Ian Romanick Reviewed-by: Nicolai Hähnle --- src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 2 ++ src/compiler/glsl/standalone.cpp | 4 ++++ src/compiler/glsl/standalone_scaffolding.cpp | 5 +++++ 4 files changed, 12 insertions(+) diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 5f3474e4fd3..35f7da5891a 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -590,6 +590,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(ARB_ES3_2_compatibility), EXT(ARB_arrays_of_arrays), EXT(ARB_compute_shader), + EXT(ARB_compute_variable_group_size), EXT(ARB_conservative_depth), EXT(ARB_cull_distance), EXT(ARB_derivative_control), diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h index b9c9a1a51d0..3abeb9ff563 100644 --- a/src/compiler/glsl/glsl_parser_extras.h +++ b/src/compiler/glsl/glsl_parser_extras.h @@ -576,6 +576,8 @@ struct _mesa_glsl_parse_state { bool ARB_arrays_of_arrays_warn; bool ARB_compute_shader_enable; bool ARB_compute_shader_warn; + bool ARB_compute_variable_group_size_enable; + bool ARB_compute_variable_group_size_warn; bool ARB_conservative_depth_enable; bool ARB_conservative_depth_warn; bool ARB_cull_distance_enable; diff --git a/src/compiler/glsl/standalone.cpp b/src/compiler/glsl/standalone.cpp index 6b1c2cec849..055c433436a 100644 --- a/src/compiler/glsl/standalone.cpp +++ b/src/compiler/glsl/standalone.cpp @@ -58,6 +58,10 @@ initialize_context(struct gl_context *ctx, gl_api api) ctx->Const.MaxComputeWorkGroupSize[2] = 64; ctx->Const.MaxComputeWorkGroupInvocations = 1024; ctx->Const.MaxComputeSharedMemorySize = 32768; + ctx->Const.MaxComputeVariableGroupSize[0] = 512; + ctx->Const.MaxComputeVariableGroupSize[1] = 512; + ctx->Const.MaxComputeVariableGroupSize[2] = 64; + ctx->Const.MaxComputeVariableGroupInvocations = 512; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits = 16; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxUniformComponents = 1024; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxCombinedUniformComponents = 1024; diff --git a/src/compiler/glsl/standalone_scaffolding.cpp b/src/compiler/glsl/standalone_scaffolding.cpp index aa79b8659e9..35e40d6c91b 100644 --- a/src/compiler/glsl/standalone_scaffolding.cpp +++ b/src/compiler/glsl/standalone_scaffolding.cpp @@ -156,6 +156,7 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api) ctx->Extensions.dummy_false = false; ctx->Extensions.dummy_true = true; ctx->Extensions.ARB_compute_shader = true; + ctx->Extensions.ARB_compute_variable_group_size = true; ctx->Extensions.ARB_conservative_depth = true; ctx->Extensions.ARB_draw_instanced = true; ctx->Extensions.ARB_ES2_compatibility = true; @@ -219,6 +220,10 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api) ctx->Const.MaxComputeWorkGroupSize[1] = 1024; ctx->Const.MaxComputeWorkGroupSize[2] = 64; ctx->Const.MaxComputeWorkGroupInvocations = 1024; + ctx->Const.MaxComputeVariableGroupSize[0] = 512; + ctx->Const.MaxComputeVariableGroupSize[1] = 512; + ctx->Const.MaxComputeVariableGroupSize[2] = 64; + ctx->Const.MaxComputeVariableGroupInvocations = 512; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits = 16; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxUniformComponents = 1024; ctx->Const.Program[MESA_SHADER_COMPUTE].MaxInputComponents = 0; /* not used */ -- 2.30.2