protonscr

[d3d11] Total War Troy rendering issue

dxvkclosed d3d11game bug
doitsujin/dxvk#1885 · opened 2021-01-04 by Leopard1907 · updated 2025-03-13 · 4 comments · github
LLeopard1907 2021-01-04 github

Game has a rendering issue. It has these weird looking cloud ( possibly?) shadow outlines on campaign map. Zooming in and out at campaign map affects visibility of it but that is hard to not notice it. Game has this issue with DXVK ( didn't try native d3d11 but i assume it doesn't have this) since it was released at August 2020. Since game updates over time didn't change anything on that regard, i assume that is a DXVK issue.

Ekran Görüntüsü - 2021-01-05 01-16-36
Ekran Görüntüsü - 2021-01-05 01-17-26

Software information

A Total War Saga:Troy
Setting used: High preset, 4X AA and 16x AF

System information

  • GPU: Nvidia GTX 1050
  • Driver: 455.45.01
  • Wine version: 6.0
  • DXVK version: 1.7.3

Apitrace file(s)

Apitrace didn't work with it. I have captured two rdc's.

https://drive.google.com/file/d/16UJ5OF2kD4PiydOg1CzE3nnYmQGQHwNX/view?usp=sharing

https://drive.google.com/file/d/1gNoB4-kjIvsMWNwkSRfoiYlpef6mbWYR/view?usp=sharing

Log files

Ddoitsujin maintainer 2021-01-05 github

Is this even a bug that doesn't happen on Windows?

CCME42 2021-01-12 github

It's not reproducible on windows.
it seems like the game tries to sample from a multisampled depth buffer when things go wrong:
Bildschirmfoto von 2021-01-12 11-48-03

There are also some validation errors:

VUID-vkCmdDispatch-None-02699(ERROR / SPEC): msgNum: -439258052 - Validation Error: [ VUID-vkCmdDispatch-None-02699 ] Object 0: handle = 0x64810000006481, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xe5d1743c | VkDescriptorSet 0x64810000006481[] encountered the following validation error at vkCmdDispatch() time: Descriptor in binding #3 index 0 requires bound image to have VK_SAMPLE_COUNT_1_BIT but got VK_SAMPLE_COUNT_4_BIT. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDispatch-None-02699)
    Objects: 1
        [0] 0x64810000006481, type: 23, name: NULL
VUID-vkCmdDraw-None-02699(ERROR / SPEC): msgNum: 369680064 - Validation Error: [ VUID-vkCmdDraw-None-02699 ] Object 0: handle = 0x64980000006498, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x1608dec0 | VkDescriptorSet 0x64980000006498[] encountered the following validation error at vkCmdDraw() time: Descriptor in binding #5 index 0 requires bound image to have VK_SAMPLE_COUNT_1_BIT but got VK_SAMPLE_COUNT_4_BIT. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDraw-None-02699)
    Objects: 1

I managed to create a nsight dump on windows and created an apitrace out of it, you can download it here: https://drive.google.com/file/d/1aE7NocpJLa5tR5ZwHvlF7pDwg7lg8wYB/view?usp=sharing

Ddoitsujin maintainer 2021-01-12 github

So it's a game bug; unfortunately there's no viable way to work around this.

Ddoitsujin maintainer 2021-01-12 github

Fixed an actual DXVK bug exposed by the game in b19293430a7e73c06cdec0e742468f0028b6d674, but I don't think this is related to the rendering issues.

Nothing extracted yet.