mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
mesa: Avoid segfault when getting an unbound transform feedback buffer name.
Previously we were using gl_transform_feedback_object::Buffers[i]->Name to service an indexed get request for GL_TRANSFORM_FEEDBACK_BUFFER_BINDING. However, if no buffer has been bound, gl_transform_feedback_object::Buffers[i] is NULL, so this was causing a segfault. This patch switches to using gl_transform_feedback_object::BufferNames[i], which is equal to gl_transform_feedback_object::Buffers[i]->Name if gl_transform_feedback_object::Buffers[i] is not NULL, and 0 if it is NULL. Fixes piglit test "EXT_transform_feedback/get-buffer-state indexed_binding". Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
456279bb33
commit
4357f8b4dc
1 changed files with 1 additions and 1 deletions
|
|
@ -2498,7 +2498,7 @@ find_value_indexed(const char *func, GLenum pname, int index, union value *v)
|
|||
goto invalid_value;
|
||||
if (!ctx->Extensions.EXT_transform_feedback)
|
||||
goto invalid_enum;
|
||||
v->value_int = ctx->TransformFeedback.CurrentObject->Buffers[index]->Name;
|
||||
v->value_int = ctx->TransformFeedback.CurrentObject->BufferNames[index];
|
||||
return TYPE_INT;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue