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

            Bug ID: 106907
           Summary: Correct Transform Feedback Varyings information is
                    expected after using ProgramBinary
           Product: Mesa
           Version: git
          Hardware: Other
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev@lists.freedesktop.org
          Reporter: xinghua....@intel.com
        QA Contact: mesa-dev@lists.freedesktop.org

Steps:
1. Download chrome and install it on your Ubuntu,
https://www.google.com/chrome/?platform=linux&extra=devchannel;
2. Open
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/transform_feedback/transform_feedback.html?webglVersion=2&quiet=0
3. First time open link, all cases will be successful. Please click refresh
button of chrome, some cases fail.

Notes:
1. I could only reproduce it on mesa git master, could not reproduce on system
driver(Ubuntu 17.10). May our latest code introduced some regression?
2. The case may be related with
https://bugs.freedesktop.org/show_bug.cgi?id=106810
3. Chrome will cache program binary, the second time run page, chrome will call
glProgramBinary to avoid re-compile shaders and re-link program.
4. This failed cases verify glGetProgramiv to get tranform feedback varyings
number, and getTransformFeedbackVarying to get transform feedback's size, type
and name. But current program seems be without transform feedback varyings
information.
5.I had checked mesa code. For example, glProgramBinary triggers read_xfb
function to re-serialize binary, creates gl_transform_feedback_info object,
which also has a member named "NumVarying", if the program binary has two
tranform feedback varyings, "NumVarying" value is 2. Then call glGetProgramiv
to get tranform feedback varyings number in shaderapi.c, the value is got from
"NumVarying", which is a member of TransformFeedback of gl_shader_program. I
found that glProgramBinary implemetation in mesa did not update transform
feedback varyings number from gl_transform_feedback_info object to
TransformFeedback object.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to