drirc/nvk: force_vk_vendor=-1 for Artifact Classic
Without this the game crashes during the loading screen.
The game uses vkUpdateDescriptorSetWithTemplate and, in certain cases,
passes VkDescriptorBufferInfo structures where the offset + range
exceeds the size of the buffer. This triggers an assertion when
vk_buffer_range() is called, causing the game to crash.
When the nvidia vendor id is used the range is consistently set to 65536.
Without it the range varies and is much smaller - never exceeding 1000.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12349
Cc: stable
Reviewed-by: Faith Ekstrand <None>
(cherry picked from commit e38150f2fa
)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32852>
This commit is contained in:

committed by
Dylan Baker

parent
4ea0b2fd5c
commit
c4aa2be477
@@ -2964,7 +2964,7 @@
|
||||
"description": "drirc/nvk: force_vk_vendor=-1 for Artifact Classic",
|
||||
"nominated": false,
|
||||
"nomination_type": 0,
|
||||
"resolution": 4,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
@@ -1334,6 +1334,9 @@ TODO: document the other workarounds.
|
||||
</application>
|
||||
</device>
|
||||
<device driver="nvk">
|
||||
<application name="Artifact Classic" executable="dcg">
|
||||
<option name="force_vk_vendor" value="-1" />
|
||||
</application>
|
||||
<application name="X4 Foundations" executable="X4.exe">
|
||||
<option name="force_vk_vendor" value="-1" />
|
||||
</application>
|
||||
|
Reference in New Issue
Block a user