protonscr

Bugs when running StarsX Computeraster and IrradianceMap DX12 samples..

vkd3dclosed
HansKristian-Work/vkd3d-proton#347 · opened 2020-10-29 by oscarbg · updated 2022-06-29 · 7 comments · github
Ooscarbg 2020-10-29 github

Hi,

a few days ago found StarsX github site (https://github.com/StarsX).. it contains a few interesting DX12 (& DXR, DirectML) samples..
tried to run a few under VKD3D and found at least two that don't work (i.e. don't render correctly)..
note testing is easy as cloning the repos pointed below, as they include prebuilt executables in the Bin folder that can be executed directly to expose the shown VKD3D rendering issues..
I'm using VKD3D up to https://github.com/HansKristian-Work/vkd3d-proton/commit/c3e396579788ded2661501c4b0dac05c96893a41 on Windows with recent AMD and NV drivers showing equal incorrect results..

*ComputeRaster sample (https://github.com/StarsX/ComputeRaster):
from log error there are lots of:

1164:fixme:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.

*IrradianceMap sample(https://github.com/StarsX/IrradianceMap):

from log seems significant info is:

21084:fixme:d3d12_device_copy_descriptors: Unhandled descriptor heap type 0x2.
21084:fixme:d3d12_device_copy_descriptors: Unhandled descriptor heap type 0x2.
21084:fixme:d3d12_command_list_update_current_framebuffer: Invalid RTV for attachment 0.

can attach full logs if needed..

Ddoitsujin maintainer 2020-10-29 github

21084:fixme:d3d12_device_copy_descriptors: Unhandled descriptor heap type 0x2.

This can definitely break things, related to #325.

Ddoitsujin maintainer 2020-10-30 github

@oscarbg where can I get precompiled binaries for these samples? nevermind, just saw that the project ships its own exe and DLL in the source tree. Weird setup.

Anyway, I got the compute rasterization demo to render, although it unfortunately seems to require some Executeindirect features that have no Vulkan equivalent so it's probably more of a coincidence that it works.

Ooscarbg 2020-10-30 github

just tested and they work now..
many thanks..

Ooscarbg 2022-06-29 github

Hi,
just quick update, using latest VKD3D from master (https://github.com/HansKristian-Work/vkd3d-proton/commit/1d869e3e21a067ef89b02bfe64c4c551ebc2f4e2) (https://github.com/HansKristian-Work/vkd3d-proton/actions/runs/2576361784)
with ExecuteIndirect support, seems Computeraster (https://github.com/StarsX/ComputeRaster) doesn't render correctly the bunny..
earlier we had "benign":
d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
now not anymore?
image

log:

warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: ComputeRaster.exe
info:  DXVK: v1.8
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce GTX 970:
info:    Driver: 516.48.0
info:    Vulkan: 1.3.217
info:    Memory Heap[0]: 
info:      Size: 4043 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:      Memory Type[8]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 16362 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[9]: Property Flags = 0x6
info:      Memory Type[10]: Property Flags = 0xe
info:    Memory Heap[2]: 
info:      Size: 214 MiB
info:      Flags: 0x1
info:      Memory Type[11]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
39b8:info:vkd3d_instance_deduce_config_flags_from_environment: shader_cache is used, global_pipeline_cache is enforced.
39b8:info:vkd3d_config_flags_init_once: VKD3D_CONFIG=''.
39b8:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.6.0.
39b8:info:vkd3d_instance_init: vkd3d-proton - build: 1d869e3e21a067e.
39b8:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x0.
39b8:warn:vkd3d_is_linear_tiling_supported: Attempting to create linear image, but not supported.
usage: 0x1f, flags: 0, fmt: 37, image_type: 1
39b8:info:vkd3d_bindless_state_get_bindless_flags: Device does not support VK_VALVE_mutable_descriptor_type.
39b8:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 1664, may be inaccurate.
39b8:info:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
39b8:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
4548:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
39b8:fixme:d3d12_swapchain_init: Ignoring swap effect 0x4.
39b8:fixme:d3d12_swapchain_init: Ignoring swapchain flags 0x800.
4548:info:vkd3d_pipeline_library_disk_cache_merge: Promoting write cache to read cache. No need to merge any disk caches.
4548:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.500 ms.
4548:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.114 ms.
4548:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.105 ms.
4548:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
39b8:warn:select_vk_format: Failed to find Vulkan swapchain format for DXGI_FORMAT_R8G8B8A8_UNORM.
warn:  DXGI: MakeWindowAssociation: Ignoring flags
39b8:fixme:vkd3d_buffer_view_get_aligned_view: Application is attempting to use more elements in a typed buffer (536870912) than supported by device (134217728).
39b8:fixme:vkd3d_buffer_view_get_aligned_view: Application is attempting to use more elements in a typed buffer (536870912) than supported by device (134217728).
39b8:fixme:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:select_vk_format: Failed to find Vulkan swapchain format for DXGI_FORMAT_R8G8B8A8_UNORM.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
39b8:warn:d3d12_command_list_ExecuteIndirect: Count buffers not supported for indirect dispatch.
HHansKristian-Work maintainer 2022-06-29 github

If it worked before, it worked by accident.

Ooscarbg 2022-06-29 github

yep, was not working initially when opened issue.. then fixed someway by @doitsujin.. and now maybe first time showing executeindirect issues.. not place to speak here but good news is GravityMark DX12 (tested 1.0) first time that works with VKD3D using this latest build from master.. GravityMark DX12 requires ExecuteIndirect also.. anyway opening another ExecuteIndirect issue I found..

Ooscarbg 2022-06-29 github

just opened another executeindirect issue I found: https://github.com/HansKristian-Work/vkd3d-proton/issues/1151

Launch options

Upstream links