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

            Bug ID: 102634
           Summary: 0 Color write masks with multiple render targets
                    redirects color outputs to wrong attachment
           Product: Mesa
           Version: 17.1
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Vulkan/radeon
          Assignee: mesa-dev@lists.freedesktop.org
          Reporter: mais...@archlinux.us
        QA Contact: mesa-dev@lists.freedesktop.org

Created attachment 134107
  --> https://bugs.freedesktop.org/attachment.cgi?id=134107&action=edit
Expected output

Hardware: RX 470
Mesa: 17.1.8
OS: Arch Linux

I have a deferred shader which emits color data to 4 attachments. When
colorWriteMask of all attachments are 0xf, this works as expected, but when I
try to mask out writes to layout(location = 0), it is almost as if all the
attachments are reshuffled so that location = 1 writes to attachment 0,
location = 2 writes to attachment = 1 ... and so on.

Here is the current workaround I must apply:
https://github.com/Themaister/Granite/blob/master/assets/shaders/inc/render_target.h#L8

The scenario which fails:
- 4 color attachments in a subpass
- Color masks are {0, 0xf, 0xf, 0xf}
- The shader does not declare layout(location = 0) output

To reproduce:
Build Granite: https://github.com/Themaister/Granite
Run Suzanne model: ./granite/tests/gltf-viewer
~/git/glTF-Sample-Models/2.0/Suzanne/glTF/Suzanne.gltf

Fiddle with WORKAROUND_RADV define mentioned above:

-- 
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