protonscr

Red Dead Redemption 2 stuck at loading screen in DX12 mode

vkd3dclosed
HansKristian-Work/vkd3d-proton#1623 · opened 2023-07-05 by thebobbyboy420 · updated 2025-08-20 · 17 comments · github
Tthebobbyboy420 2023-07-05 github

its 2023 and RDR2 is still not woking in DX12 mode (which is needed for reshade to work in wine/linux)

Still not working in DX12 mode :(

Software information
Red Dead Redemption 2
DirectX-12

System information
GPU: NVIDIA GeForce RTX 4070
Driver: 535.54.03
Wine version: tested many all the same results
VKD3D-Proton version: 2.9 (also tested the new 2.9 fix that you made for star wars battlefront)

318087.716:01a8:0254:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.125 ms. 318087.717:01a8:0254:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.140 ms. 318087.717:01a8:0254:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.796 ms. 318087.717:01a8:0254:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive. 318087.729:01a8:023c:info:vkd3d-proton:dxgi_vk_swap_chain_init: Creating swapchain (3440 x 1440), BufferCount = 3. 318087.729:01a8:023c:info:vkd3d-proton:dxgi_vk_swap_chain_init_sync_objects: Ensure maximum latency of 3 frames with KHR_present_wait. 318087.739:01a8:023c:info:vkd3d-proton:dxgi_vk_swap_chain_init_waiter_thread: Enabling present wait path for frame latency. 318089.193:01a8:025c:info:vkd3d-proton:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 3 swapchain images. 318089.431:01a8:025c:info:vkd3d-proton:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 3 swapchain images. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf). 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2. 318090.062:01a8:01d8:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.

Screenshot from 2023-07-05 14-14-18
ksnip_20230705-142238

BBlisto91 2023-07-05 github

There is no need to keep making duplicates when you've already commented in the original issues

Ggalacticaledge 2023-11-19 github

On my Steam Deck, the game crashes during the loading screen

Zzqpvr 2024-02-15 github

same

Ttenphi 2024-03-23 github

It still crashes with the latest proton. :/

Zzqpvr 2024-03-23 github

Referen

GE too?

Ttenphi 2024-03-24 github

Yes, GE too. 9-2

DDoomPenguin9 2024-03-28 github

A very good reason to get this working under VKD3D is that native VULKAN has a VRAM leak if you are using resize bar. Sure, on my 24GB RX 7900 XTX is not that big of an issue, but on a 12GB card such as my old 6700 XTX, I can't play for more than 1-1.5 hours at a time before the VRAM shortage halves my performance and eventually crashes the game.

Ggalacticaledge 2024-03-28 github

A very good reason to get this working under VKD3D is that native VULKAN has a VRAM leak if you are using resize bar. Sure, on my 24GB RX 7900 XTX is not that big of an issue, but on a 12GB card such as my old 6700 XTX, I can't play for more than 1-1.5 hours at a time before the VRAM shortage halves my performance and eventually crashes the game.

I have not experienced the issue you're describing, but I believe fixing this game can also have the domino effect of fixing current and future DX12 games.

Ss1mpleog 2024-04-13 github

application: Red Dead Redemption 2
runner: lutris-ge-proton 7.43
dxvk version: 2.3.1
graphic card: gtx 1650

17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.287:014c:0174:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.308:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.317:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.318:014c:016c:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.352:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.371:014c:0170:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x1 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x2 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x4 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled index range write mask 0x8 (0xf).
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
17102.489:014c:0160:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.

BBlisto91 2024-09-04 github

Game crashes in radv during the loading screen when running d3d12 mode with

SPIR-V parsing FAILED:
    In file ../src/compiler/spirv/vtn_cfg.c:393
    b->block && b->block->branch == NULL
    5344 bytes into the SPIR-V binary

A spirv-val from a Fossilize dump shows

Fossilize ERROR: spirv-val: Return must appear in a block
  OpReturn

Fossilize WARN: Failed to validate SPIR-V module: 77535ADFFD072E7A, skipping!

Archive with dumps both via VKD3D_SHADER_DUMP_PATH and Fossilize
https://drive.proton.me/urls/5CMJFEVKTW#2dEQZT81WRcJ

vkd3d-proton log ran with VKD3D_DEBUG and VKD3D_SHADER_DEBUG set to trace
rdr2.tar.gz

Aakai-hana 2024-12-24 github

any fixes? having the exact same problem now.

Ggalacticaledge 2024-12-24 github

any fixes? having the exact same problem now.

Not sure if this will work, but since it seems to be a shader compilation bug, maybe install Microsoft's native d3dcompiler_47 implementation to see if it works around this?

Aakai-hana 2025-01-28 github

i give up. ive tried everything, this too. now the game won't even launch, when in the past it did at least get to the menu.

BBlisto91 2025-01-28 github

If you want to change the game back to Vulkan (without reinstalling or wiping game prefix if that works) then from your Steam installation folder go to

steamapps/compatdata/1174180/pfx/drive_c/users/steamuser/Documents/Rockstar Games/Red Dead Redemption 2/Settings/

and in the file called system.xml find the line that says <API>kSettingAPI_DX12</API> and change it to <API>kSettingAPI_Vulkan</API>

Wwhitebelyash 2025-05-21 github

Interestingly enough, upstream vkd3d from wine runs the game:

screenshot

Image

but using the latest vkd3d-proton + wine-staging 10.4 it crashes on pipeline warmup screen with:

25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
0150:err:msvcrt:_wassert (L"!status && \"vkCreateGraphicsPipelines\"",L"dlls/winevulkan/loader_thunks.c",3190)

Same on GE-Proton10-1.
wine/vkd3d-proton logs with trace debug: wine_log.txt.gz

Wwhitebelyash 2025-06-19 github

After patching vkCreateGraphicsPipelines assert, the game boots up to the gameplay without noticeable bugs:

Image

Image

Full screenshot:

Image

Might be some wine/vkd3d-proton minor bug causing VK call to retun failed status and crash the whole game? I don't know.
For some reason Honeykrisp (Apple M1) doesn't have this issue.

Ddacampsss 2025-08-19 github

Interestingly enough, upstream vkd3d from wine runs the game:
screenshot

but using the latest vkd3d-proton + wine-staging 10.4 it crashes on pipeline warmup screen with:

25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x2 4.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_check_index_range: Unhandled register 0x11.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dcl_index_range: Ignoring dcl_index_range 0x11 2.
25953.303:0128:0150:fixme:vkd3d-proton:vkd3d_dxbc_compiler_emit_dereference_register: Relative addressing not implemented.
0150:err:msvcrt:_wassert (L"!status && \"vkCreateGraphicsPipelines\"",L"dlls/winevulkan/loader_thunks.c",3190)

Same on GE-Proton10-1. wine/vkd3d-proton logs with trace debug: wine_log.txt.gz

Hey, do you have some instruction on how to get and run latest vkd3d from wine in latest Lutris launcher?

Thanks in advance!

Proton versions

Launch options