diff options
author | Anuj Phogat <[email protected]> | 2016-09-27 12:28:39 -0700 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2016-10-04 13:20:34 -0700 |
commit | cd69d3f929692c60ebed8fafdf65863d68e03052 (patch) | |
tree | 3289b28ef14f476fd7ac5ad62cb4952d25620258 | |
parent | 239ff641739dc9d6ce210ad3abb37b7e01171375 (diff) |
i965/gen8+: Enable GL_OES_viewport_array
This patch causes 2 regressions in khronos' gles cts tests
on various intel platforms.
Failing tests:
ES3-CTS.functional.state_query.integers.viewport_getinteger
ES3-CTS.functional.state_query.integers.viewport_getfloat
Here is an explanation of what's causing the failures:
CTS tests are not clamping the x, y location of the viewport's
bottom-left corner as recommended by ARB_viewport_array and
OES_viewport_array:
"The location of the viewport's bottom-left corner, given by (x,y), are
clamped to be within the implementation-dependent viewport bounds range.
The viewport bounds range [min, max] tuple may be determined by
calling GetFloatv with the symbolic constant VIEWPORT_BOUNDS_RANGE_OES"
Khronos CTS merge request to fix the test case:
https://gitlab.khronos.org/opengl/cts/merge_requests/399
V2: Initialize the relevant variables for GL_OES_viewport_array on gen8+
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 5 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_extensions.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index b0eec16d826..db63d92cbb2 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -776,8 +776,9 @@ brw_initialize_context_constants(struct brw_context *brw) ctx->Const.MaxViewportHeight = 32768; } - /* ARB_viewport_array */ - if (brw->gen >= 6 && ctx->API == API_OPENGL_CORE) { + /* ARB_viewport_array, OES_viewport_array */ + if ((brw->gen >= 6 && ctx->API == API_OPENGL_CORE) || + (brw->gen >= 8 && ctx->API == API_OPENGLES2)) { ctx->Const.MaxViewports = GEN6_NUM_VIEWPORTS; ctx->Const.ViewportSubpixelBits = 0; diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 93eb966e008..53bd7cc6737 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -404,6 +404,7 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_ES3_2_compatibility = true; ctx->Extensions.OES_geometry_shader = true; ctx->Extensions.OES_texture_cube_map_array = true; + ctx->Extensions.OES_viewport_array = true; } if (brw->gen >= 9) { |