[Bug 108999] Calculating the scissors fields when the y is flipped (0 on top) can generate negative numbers that will cause assertion failure later on.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 10 10:13:55 UTC 2018


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

            Bug ID: 108999
           Summary: Calculating the scissors fields when the y is flipped
                    (0 on top) can generate negative numbers that will
                    cause assertion failure later on.
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: intel-3d-bugs at lists.freedesktop.org
          Reporter: estea at igalia.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org

Created attachment 142768
  --> https://bugs.freedesktop.org/attachment.cgi?id=142768&action=edit
piglit test that triggers SCISSOR bbox clamping errors when the y is flipped (0
on top)

In the function set_scissor_bits, when the y is flipped we might generate
negative values. We should clamp them because all the GenX(SCISSOR) struct
fields are unsigned and we will have an assertion failure when
GenX(SCISSOR_RECT_pack) is going to be called.

I am attaching a piglit test that can trigger this problem.

When the window size is 800x600 calling glViewport with the values:

glViewport(2, 602, 262, 296);

before glDrawArrays will cause the assertion failure.
I am about to submit a fix for this bug.

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


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