Summary: |
Blits from GL_TEXTURE_2D_MULTISAMPLE GL_INT or GL_UINT surfaces are not handled correctly |
Product: |
Mesa
|
Reporter: |
Ian Romanick <idr> |
Component: |
Drivers/DRI/i965 | Assignee: |
Ian Romanick <idr> |
Status: |
RESOLVED
MOVED
|
QA Contact: |
Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: |
normal
|
|
|
Priority: |
medium
|
|
|
Version: |
git | |
|
Hardware: |
Other | |
|
OS: |
All | |
|
Whiteboard: |
|
i915 platform:
|
|
i915 features:
|
|
Attachments: |
Assertion that also shows the problem.
|
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.
Created attachment 121740 [details] Assertion that also shows the problem. For reference, use 'git blame src/mesa/drivers/common/meta_blit.c 9e30d66b'. Assume the blit is an MSAA-MSAA blit from a GL_TEXTURE_2D_MULTISAMPLE surface with base type GL_INT. Line 294 sets dst_is_msaa true. Line 313 sets shader_index to BLIT_MSAA_SHADER_2D_MULTISAMPLE_COPY. Line 339 increments shader_index by 5, and it is now BLIT_1X_MSAA_SHADER_2D_MULTISAMPLE_ARRAY_RESOLVE. Similar problems exist for GL_TEXTURE_2D_MULTISAMPLE_ARRAY blits. You really only notice this problem is a blit of one kind is followed by a blit of a kind that conflicts. We should have piglit tests for this. I noticed this because, while I was making other changes, I added an assertion like the one in the attachment. Surely dst_is_msaa must be false when doing a resolve blit. Alas.