mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 15:30:14 +01:00
mesa: Use _mesa_has_OES_geometry_shader() when validating draws
In validate_DrawElements_common() we need to check for OES_geometry_shader extension to determine if we should fail if transform feedback is unpaused. However current code reads ctx->Extensions.OES_geometry_shader directly, which does not take context version into account. This means that if the context is GLES 3.0, which makes the OES_geometry_shader inapplicable, we would not validate the draw properly. To fix it, let's replace the check with a call to _mesa_has_OES_geometry_shader(). Fixes following dEQP tests on i965 with a GLES 3.0 context: dEQP-GLES3.functional.negative_api.vertex_array#draw_elements dEQP-GLES3.functional.negative_api.vertex_array#draw_elements_incomplete_primitive dEQP-GLES3.functional.negative_api.vertex_array#draw_elements_instanced dEQP-GLES3.functional.negative_api.vertex_array#draw_elements_instanced_incomplete_primitive dEQP-GLES3.functional.negative_api.vertex_array#draw_range_elements dEQP-GLES3.functional.negative_api.vertex_array#draw_range_elements_incomplete_primitive Signed-off-by: Tomasz Figa <tfiga@chromium.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
parent
58793e514b
commit
06758c1e8a
1 changed files with 2 additions and 1 deletions
|
|
@ -664,7 +664,8 @@ validate_DrawElements_common(struct gl_context *ctx,
|
|||
* to have been overlooked. The body of the spec only explicitly allows
|
||||
* the indirect versions.
|
||||
*/
|
||||
if (_mesa_is_gles3(ctx) && !ctx->Extensions.OES_geometry_shader &&
|
||||
if (_mesa_is_gles3(ctx) &&
|
||||
!_mesa_has_OES_geometry_shader(ctx) &&
|
||||
_mesa_is_xfb_active_and_unpaused(ctx)) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"%s(transform feedback active)", caller);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue