Created attachment 141419 [details]
In GTA V, setting "Reflection MSAA" setting to X2, X4 or X8 results in broken reflections, with the top of the car reflecting the ground (see attachment).
- DXVK 0.70
- wine-staging 3.14
- mesa-git c1ba33c34b
- llvm-svn 341191
Here's an renderdoc capture: https://mega.nz/#!WK5HlAKQ!g77NnAuH_XmeR20i2IXjTUSG2NDDiFy86b6cqVU8ACI
The game creates an environment cubemap in Colour Pass #3. Each face of the cube is rendered to a single texture, then copied to a cubemap. When MSAA is disabled, vkCmdCopyImage is used and works fine. When MSAA is enabled, vkCmdResolveImage is used but it doesn't seem to take into account `dstSubresource->baseArrayLayer`, resulting in each texture being copied to the X+ face of the cubemap (layer 0), generating a corrupted cubemap.
Created attachment 141420 [details]
Dual-paraboloid map, MSAA off
Created attachment 141421 [details]
Dual-paraboloid map, MSAA on
Dual-paraboloid map generated in Colour Pass #4. See http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/
I have the same issue, according to Mr.Rebohle, with DIRT3 Complete Edition.
https://github.com/doitsujin/dxvk/issues/652 (see there for some more comparison screenshots)
Adding usual suspects to CC.
Can you upload a renderdoc capture when MSAA is off and CmdCopyImage() used please?
This should fix the rendering problem when MSAA is on https://patchwork.freedesktop.org/patch/251674/
I can't confirm for DIRT3 because I don't have the game.
I can confirm this patch fixes the issue with Dirt3. Cant test GTA V.
MSAA is still very slow though, while it has just a small impact on Windows.
Thank you very much for the fix!
Tested-by: Gregor Münch <gr.muench_at_gmail.com>
Should be fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=fe3f13cc5a8b70dfb27f8b26c059272e251da390