mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
mesa: fix name returned for XFB varyings
_mesa_get_program_resource_name has logic to append '[0]' in name
if variable is an array, this should be skipped for XFB varyings
that have array index already appended.
v2: fix comment, change also GL_NAME_LENGTH query to match
the behaviour
Fixes:
ES31-CTS.program_interface_query.transform-feedback-types
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
This commit is contained in:
parent
86a72ee48e
commit
24695f4b27
1 changed files with 16 additions and 4 deletions
|
|
@ -719,6 +719,12 @@ _mesa_get_program_resource_name(struct gl_shader_program *shProg,
|
|||
bool add_index = !(((programInterface == GL_PROGRAM_INPUT) &&
|
||||
res->StageReferences & (1 << MESA_SHADER_GEOMETRY)));
|
||||
|
||||
/* Transform feedback varyings have array index already appended
|
||||
* in their names.
|
||||
*/
|
||||
if (programInterface == GL_TRANSFORM_FEEDBACK_VARYING)
|
||||
add_index = false;
|
||||
|
||||
if (add_index && _mesa_program_resource_array_size(res)) {
|
||||
int i;
|
||||
|
||||
|
|
@ -963,11 +969,17 @@ _mesa_program_resource_prop(struct gl_shader_program *shProg,
|
|||
|
||||
switch(prop) {
|
||||
case GL_NAME_LENGTH:
|
||||
if (res->Type == GL_ATOMIC_COUNTER_BUFFER)
|
||||
switch (res->Type) {
|
||||
case GL_ATOMIC_COUNTER_BUFFER:
|
||||
goto invalid_operation;
|
||||
/* Base name +3 if array '[0]' + terminator. */
|
||||
*val = strlen(_mesa_program_resource_name(res)) +
|
||||
(_mesa_program_resource_array_size(res) > 0 ? 3 : 0) + 1;
|
||||
case GL_TRANSFORM_FEEDBACK_VARYING:
|
||||
*val = strlen(_mesa_program_resource_name(res)) + 1;
|
||||
break;
|
||||
default:
|
||||
/* Base name +3 if array '[0]' + terminator. */
|
||||
*val = strlen(_mesa_program_resource_name(res)) +
|
||||
(_mesa_program_resource_array_size(res) > 0 ? 3 : 0) + 1;
|
||||
}
|
||||
return 1;
|
||||
case GL_TYPE:
|
||||
switch (res->Type) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue