Mesa (master): mesa: don't clamp just based on ARB_viewport_array extension
Marek Olšák
mareko at kemper.freedesktop.org
Thu Feb 15 00:59:35 UTC 2018
Module: Mesa
Branch: master
Commit: c6694793e1148f920a94eb54db11cead1662c2da
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6694793e1148f920a94eb54db11cead1662c2da
Author: Gurchetan Singh <gurchetansingh at chromium.org>
Date: Wed Feb 14 15:40:35 2018 -0800
mesa: don't clamp just based on ARB_viewport_array extension
The ARB_viewport_array spec says:
"Dependencies
OpenGL 1.0 is required.
OpenGL 3.2 or the EXT_geometry_shader4 or ARB_geometry_shader4 extensions
are required.
This extension is written against the OpenGL 3.2 (Compatibility)
Specification."
As such, we should ignore it for GLES2 contexts.
Fixes:
dEQP-GLES2.functional.state_query.integers.viewport_getinteger
dEQP-GLES2.functional.state_query.integers.viewport_getfloat
on llvmpipe and virgl.
v2: Use _mesa_has_* (Ilia)
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
Cc: 17.3 18.0 <mesa-stable at lists.freedesktop.org>
---
src/mesa/main/viewport.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index fc384909e6..398cc63685 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -51,9 +51,8 @@ clamp_viewport(struct gl_context *ctx, GLfloat *x, GLfloat *y,
* determined by calling GetFloatv with the symbolic constant
* VIEWPORT_BOUNDS_RANGE (see section 6.1)."
*/
- if (ctx->Extensions.ARB_viewport_array ||
- (ctx->Extensions.OES_viewport_array &&
- _mesa_is_gles31(ctx))) {
+ if (_mesa_has_ARB_viewport_array(ctx) ||
+ _mesa_has_OES_viewport_array(ctx)) {
*x = CLAMP(*x,
ctx->Const.ViewportBounds.Min, ctx->Const.ViewportBounds.Max);
*y = CLAMP(*y,
More information about the mesa-commit
mailing list