Summary: | dEQP-GLES3.functional.state_query.integers.viewport_get* failure | ||
---|---|---|---|
Product: | Mesa | Reporter: | Randy <randy.xu> |
Component: | Drivers/DRI/i965 | Assignee: | Anuj Phogat <anuj.phogat> |
Status: | RESOLVED NOTOURBUG | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 94448 |
Description
Randy
2016-10-14 08:07:46 UTC
Per the error log, the glGetFloatv return value are bound to [-32768, 32768] <Text>glGetFloatv(GL_VIEWPORT, 0x00007fffc202fca0);</Text> <Text>// data = { -1729, 32768, 7307, 4013 }</Text> <Text>// ERROR: expected -1729, 33539, 7307, 4013</Text> <Text>glGetError();</Text> <Text>// GL_NO_ERROR returned</Text> <Text>glViewport(41066, -9108, 11099, 30024);</Text> <Text>glGetFloatv(GL_VIEWPORT, 0x00007fffc202fca0);</Text> <Text>// data = { 32768, -9108, 11099, 30024 }</Text> <Text>// ERROR: expected 41066, -9108, 11099, 30024</Text> <Text>glGetError();</Text> Anuj believes this is a bug in the tests, and submitted a patch to fix that: https://gitlab.khronos.org/opengl/cts/merge_requests/399 Not sure what the status is. (In reply to Kenneth Graunke from comment #2) > Anuj believes this is a bug in the tests, and submitted a patch to fix that: > https://gitlab.khronos.org/opengl/cts/merge_requests/399 > > Not sure what the status is. Thanks, Graunke. It's very helpful. I am curious why the viewport coordinates were not clamped on HSW, I use the same test app and driver binary. I got the answer in code, the OES_viewport_array is only enabled when gen >= 8 set_viewport_no_notify /* The GL_ARB_viewport_array spec says: * * "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 (see section 6.1)." */ if (ctx->Extensions.ARB_viewport_array || (ctx->Extensions.OES_viewport_array && _mesa_is_gles31(ctx))) { x = CLAMP(x, ctx->Const.ViewportBounds.Min, ctx->Const.ViewportBounds.Max); y = CLAMP(y, ctx->Const.ViewportBounds.Min, ctx->Const.ViewportBounds.Max); } Both Pyry and Daniel have reviewed my respin of Anuj's change, so I expect it'll be landing in the CTS soon. Then I'll need to patch dEQP. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.