mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 21:30:09 +01:00
mesa: Fix GL_SHADER_BINARY_FORMATS query
There were two bugs here. First, this and several other queries were not available in a desktop GL context with GL_ARB_ES2_compatibility. Second, GL_NUM_SHADER_BINARY_FORMATS returns zero, but GL_SHADER_BINARY_FORMATS writes one element of data to the buffer. If NUM is zero, no data should be written. Fixes piglit test 'arb_get_program_binary-overrun shader'. NOTE: This is a candidate for stable release branches. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
4f1e037acf
commit
a002902168
1 changed files with 2 additions and 8 deletions
|
|
@ -310,6 +310,8 @@ descriptor=[
|
|||
[ "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", "CONST(0), extra_ARB_ES2_compatibility_api_es2" ],
|
||||
]},
|
||||
|
||||
# GLES3 is not a typo.
|
||||
|
|
@ -379,14 +381,6 @@ descriptor=[
|
|||
[ "TEXTURE_EXTERNAL_OES", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_OES_EGL_image_external" ],
|
||||
]},
|
||||
|
||||
# Enums unique to OpenGL ES 2.0
|
||||
{ "apis": ["GLES2"], "params": [
|
||||
# OES_get_program_binary
|
||||
[ "NUM_SHADER_BINARY_FORMATS", "CONST(0), NO_EXTRA" ],
|
||||
[ "SHADER_BINARY_FORMATS", "CONST(0), NO_EXTRA" ],
|
||||
]},
|
||||
|
||||
|
||||
# Remaining enums are only in OpenGL
|
||||
{ "apis": ["GL", "GL_CORE"], "params": [
|
||||
[ "ACCUM_RED_BITS", "BUFFER_INT(Visual.accumRedBits), NO_EXTRA" ],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue