[Bug 95505] GL42-CTS.gpu_shader_fp64.named_uniform_blocks fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri May 20 11:46:52 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=95505

            Bug ID: 95505
           Summary: GL42-CTS.gpu_shader_fp64.named_uniform_blocks fails
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: idr at freedesktop.org
          Reporter: siglesias at igalia.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org

This CTS test defines different shaders that have an uniform block which
contains double variables and some dummy variables in-between. Each shader (VS,
TESS, GS, FS) checks that it reads the expected data from the uniform block and
sets an integer to 1 (if the read was correct) or to 0 (if it is not). Each
stage receives as input varyings the result integers from previous stages, sets
its own and output all of them to next stage.

In case of VS, TESS and GS, those integers are saved by a transform feedback.
In case of FS, it is setting the output color to a FBO which is rendering one
point to a 1x1 texture with GL_RED32I color format. In the verification
process, all transform feedback varyings are read, the texture's value is read
and all of them are compared with the expected value (which is 1).

First execution with current master showed that only TES eval shader was
working. Hovewer, using Curro's i965-spilling-fixes branch (rebased on top of
up-to-dated master), then VS, both TESS and GS pass because they were failing
because of register spilling issues.

Note: Curro's i965-spilling-fixes patches are under review in the mailing list.

But then, we still have FS case failing: the shaders were not setting
gl_Position for the rendered vertex and it seems the consequence is that FS was
not being executed at all! I even modified FS code to be sure about this.
Furthermore, if I set gl_Position when emitting the vertex in the Geometry
shader, the test pass.

Is this behaviour expected? If not, any idea how can I fix it? I was playing in
gen8_ps_state.c without luck.

Note: NVIDIA proprietary driver passes the test in any condition (with or
without setting gl_Position in GS).

Relevant info:

* Broadwell computer (gen8)
* Mesa Master: eb384da
* CTS version: GLCTS-4.5.2.0-20150506
* Test: GL42-CTS.gpu_shader_fp64.named_uniform_blocks

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160520/7d21973a/attachment.html>


More information about the intel-3d-bugs mailing list