From: Jordan Justen <jordan.l.jus...@intel.com> Mesa supports either 0 or 1 formats. If 1 format is supported, it is GL_PROGRAM_BINARY_FORMAT_MESA as defined in the GL_MESA_program_binary_formats extension spec.
Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/mesa/main/get.c | 9 +++++++++ src/mesa/main/get_hash_params.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index ea8d932b182..c1b1a89ee05 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1144,20 +1144,29 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu * All three (VBO, TEXTURE, RENDERBUFFER) queries return * the same numbers here. */ v->value_int_4[0] = info.avail_device_memory; v->value_int_4[1] = info.avail_device_memory; v->value_int_4[2] = info.avail_staging_memory; v->value_int_4[3] = info.avail_staging_memory; } } break; + + /* GL_ARB_get_program_binary */ + case GL_PROGRAM_BINARY_FORMATS: + assert(ctx->Const.NumProgramBinaryFormats <= 1); + v->value_int_n.n = MIN2(ctx->Const.NumProgramBinaryFormats, 1); + if (ctx->Const.NumProgramBinaryFormats > 0) { + v->value_int_n.ints[0] = GL_PROGRAM_BINARY_FORMAT_MESA; + } + break; } } /** * Check extra constraints on a struct value_desc descriptor * * If a struct value_desc has a non-NULL extra pointer, it means that * there are a number of extra constraints to check or actions to * perform. The extras is just an integer array where each integer * encode different constraints or actions. diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 6d99a029ed2..eac250a1ecf 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -318,21 +318,21 @@ descriptor=[ # GL_ARB_ES2_compatibility [ "SHADER_COMPILER", "CONST(1), extra_ARB_ES2_compatibility_api_es2" ], [ "MAX_VARYING_VECTORS", "CONTEXT_INT(Const.MaxVarying), extra_ARB_ES2_compatibility_api_es2" ], [ "MAX_VERTEX_UNIFORM_VECTORS", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2" ], [ "MAX_FRAGMENT_UNIFORM_VECTORS", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2" ], [ "NUM_SHADER_BINARY_FORMATS", "CONST(0), extra_ARB_ES2_compatibility_api_es2" ], [ "SHADER_BINARY_FORMATS", "LOC_CUSTOM, TYPE_INVALID, 0, extra_ARB_ES2_compatibility_api_es2" ], # GL_ARB_get_program_binary / GL_OES_get_program_binary [ "NUM_PROGRAM_BINARY_FORMATS", "CONTEXT_UINT(Const.NumProgramBinaryFormats), NO_EXTRA" ], - [ "PROGRAM_BINARY_FORMATS", "LOC_CUSTOM, TYPE_INVALID, 0, NO_EXTRA" ], + [ "PROGRAM_BINARY_FORMATS", "LOC_CUSTOM, TYPE_INT_N, 0, NO_EXTRA" ], # GL_INTEL_performance_query [ "PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_QUERY_NAME_LENGTH), extra_INTEL_performance_query" ], [ "PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_COUNTER_NAME_LENGTH), extra_INTEL_performance_query" ], [ "PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_COUNTER_DESC_LENGTH), extra_INTEL_performance_query" ], [ "PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL", "CONST(PERFQUERY_HAVE_GPA_EXTENDED_COUNTERS), extra_INTEL_performance_query" ], # GL_KHR_context_flush_control [ "CONTEXT_RELEASE_BEHAVIOR", "CONTEXT_ENUM(Const.ContextReleaseBehavior), NO_EXTRA" ], -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev