Open essasetic opened 2 years ago
Are you sure you're using vkd3d-proton and not upstream vkd3d? Some of the messages quite literally cannot happen with our code, including all the swap chain related things since they come from wine's dxgi while we're rolling our own IDXGISwapChain implementation. Either your vkd3d-proton build is extremely outdated (like at least 2 years old) or it's just straight-up not being used at all.
We don't support the swapchain flags in question either, but that does not prevent graphics output from working.
Are you sure you're using vkd3d-proton and not upstream vkd3d? Some of the messages quite literally cannot happen with our code, including all the swap chain related things since they come from wine's dxgi while we're rolling our own IDXGISwapChain implementation. Either your vkd3d-proton build is extremely outdated (like at least 2 years old) or it's just straight-up not being used at all.
We don't support the swapchain flags in question either, but that does not prevent graphics output from working.
Ah, I thought I installed it by pointing it at the directory that Xenia is in. Probably is upstream VKD3D, I'll have another look at it.
I forgot to run the script file inside the VKD3D-Proton folder...
With that I have some graphics output, however it is still very buggy.
010c:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000011FC10 1 C) semi-stub
010c:fixme:dwmapi:DwmEnableMMCSS (1) stub
i> 0000010C Build: master@0fd578caf on Apr 28 2022
i> 0000010C Storage root: C:\users\essasetic\Documents\Xenia
i> 0000010C Loaded config: C:\users\essasetic\Documents\Xenia\xenia.config.toml
i> 0000010C Cont010c:fixme:system:EnableNonClientDpiScaling (000000000001005C): stub
ent root: C:\users\essasetic\Documen007c:fixme:imm:ImeSetActiveContext (0x356de0, 0): stub
007c:fixme:imm:ImmReleaseContext (0000000000010020, 0000000000356DE0): stub
ts\X010c:fixme:imm:ImeSetActiveContext (0x29cb70, 1): stub
010c:fixme:imm:ImmReleaseContext (000000000001005C, 000000000029CB70): stub
enia\content
i> 0000010C Cache root: C:\users\essasetic\Documents\Xenia\cache
w> 0000010C Unable to load Japanese font; JP characters will be boxes
i> 0000011C winkey: "^A" binds key 0x41 to controller input DPAD_LEFT.
i> 0000011C winkey: "^D" binds key 0x44 to controller input DPAD_RIGHT.
i> 0000011C winkey: "^S" binds key 0x53 to controller input DPAD_DOWN.
i> 0000011C winkey: "010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.RawGameController", {eb8d0792-e95a-4b19-afc7-0a59f8bf759e}, 0000000140ED4550): semi-stub
^W" binds key 0x57 to controller input DPAD_UP.
i> 0000011C winkey: "_A" binds key 0x41010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.ArcadeStick", {5c37b8c8-37b1-4ad8-9458-200f1a30018e}, 0000000140ED4558): semi-stub
010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.FlightStick", {5514924a-fecc-435e-83dc-5cec8a18a520}, 0000000140ED4568): semi-stub
t010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {8bbce529-d49c-39e9-9560-e47dde96b7c8}, 0000000140ED4570): semi-stub
010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.RacingWheel", {3ac12cd5-581b-4936-9f94-69f1e6514c7d}, 0000000140ED4580): semi-stub
o controller input LEFT_T010c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {8bbce529-d49c-39e9-9560-e47dde96b7c8}, 0000000140ED46B0): semi-stub
HUMB_LEFT.
i> 0000011C win010c:fixme:xinput:XInputGetBatteryInformation index 0, type 0, battery 0000000140ED46E4.
key: "_D" binds key 0x44 to controller input LEFT_THUMB_RIGHT.
i> 0000011C winkey: "_S" binds key 0x53 to controller input LEFT_THUMB_DOWN.
i> 0000011C winkey: "_W" binds key 0x57 to controller input LEFT_THUMB_UP.
i> 0000011C winkey: "F" binds key 0x46 to controller input LEFT_THUMB_PRESSED.
i> 0000011C winkey: "0x26" binds key 0x26 to controller input RIGHT_THUMB_UP.
i> 0000011C winkey: "0x28" binds key 0x28 to controller input RIGHT_THUMB_DOWN.
i> 0000011C winkey: "0x27" binds key 0x27 to controller input RIGHT_THUMB_RIGHT.
i> 0000011C winkey: "0x25" binds key 0x25 to controller input RIGHT_THUMB_LEFT.
i> 0000011C winkey: "K" binds key 0x4B to controller input RIGHT_THUMB_PRESSED.
i> 0000011C winkey: "L" binds key 0x4C to controller input X.
i> 0000011C winkey: "0xDE" binds key 0xDE to controller input B.
i> 0000011C winkey: "0xBA" binds key 0xBA to controller input A.
i> 0000011C winkey: "P" binds key 0x50 to controller input Y.
i> 0000011C winkey: "Q" binds key 0x51 to controller input LEFT_TRIGGER.
i> 0000011C winkey: "I" binds key 0x49 to controller input LEFT_TRIGGER.
i> 0000011C winkey: "E" binds key 0x45 to controller input RIGHT_TRIGGER.
i> 0000011C winkey: "O" binds key 0x4F to controller input RIGHT_TRIGGER.
i> 0000011C winkey: "Z" binds key 0x5A to controller input BACK.
i> 0000011C winkey: "X" binds key 0x58 to controller input START.
i> 0000011C winkey: "1" binds key 0x31 to controller input LEFT_SHOULDER.
i> 0000011C winkey: "3" binds key 0x33 to controller input RIGHT_SHOULDER.
i> 0000010C SDL OnControllerDeviceAdded: "PowerA Spectra Infinity Controller", JoystickType(1), GameControllerType(2), VendorID(0x20D6), ProductID(0x4002)
i> 0000010C SDL OnControllerDeviceAdded: Added at index 0.
w> 0000010C SDL GameControllerDB: file 'gamecontrollerdb.txt' does not exist.
011c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
011c:info:vkd3d_instance_deduce_config_flags_from_environment: shader_cache is used, global_pipeline_cache is enforced.
011c:info:vkd3d_config_flags_init_once: VKD3D_CONFIG=''.
011c:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.6.0.
011c:info:vkd3d_instance_init: vkd3d-proton - build: 4603c25d69ed4f4.
011c:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x0.
011c:info:vkd3d_bindless_state_get_bindless_flags: Device supports VK_VALVE_mutable_descriptor_type.
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:d3d12_device_global_pipeline_cache_init: Using global pipeline cache, PSO caches will not be saved to individual blobs.
011c:info:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
011c:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 3840, may be inaccurate.
011c:info:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
011c:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
0138:info:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
0138:info:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
0138:info:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 4.839 ms.
0138:info:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.086 ms.
0138:info:d3d12_pipeline_library_read_blob_stream_format: Device teardown request received, stopping parse early.
0138:info:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 5.683 ms.
0138:info:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
i> 0000011C DXGI adapter: Radeon RX 6800/6800 XT / 6900 XT (vendor 0x1002, device 0x73BF)
011c:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.6.0.
011c:info:vkd3d_instance_init: vkd3d-proton - build: 4603c25d69ed4f4.
011c:info:vkd3d_memory_info_init_budgets: Applying resizable BAR budget to memory types: 0x0.
011c:info:vkd3d_bindless_state_get_bindless_flags: Device supports VK_VALVE_mutable_descriptor_type.
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:vkd3d_bindless_state_add_binding: Device supports VK_VALVE_descriptor_set_host_mapping!
011c:info:d3d12_device_global_pipeline_cache_init: Using global pipeline cache, PSO caches will not be saved to individual blobs.
011c:info:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
011c:fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 3840, may be inaccurate.
011c:info:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
011c:info:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
011c:fixme:d3d12_command_queue_init: Ignoring priority 0x64.
013ic>: i0n0f0o0:0v1k1dC3 dD_ipriepcetl3iDn e1_2li bdreavriyc_ed iasnkd_ tOhSr efaeda_tmuariens::
P*e rMfaoxr mGiPnUg vaisrytnuca ls eatdudpr eosfs sbtirtesa mp ear rrcehsiouvrec e.:. .4
0
0*1 3Nco:ni-nzfeor:ovekdd 3hde_appi pcerleiantei_olni:b ryaersy
_*d iPsikx_ecla-cshhea_dmeerrg-es:p eNcoi fwireidt es tceanccihle reexfiesrtesn.c eN:o yneese
d* tPor omgerragmem aabnlye dsiasmkp lcea cphoessi.t
io0n1s3:c :tiinefro :0
v*k dR3ads_tpeirpiezleirn-eo_rldiebrreadr yv_ideiwssk:_ cnaoc
h*e _Riensiotuialr_csee tbuipn:d iMnegr:g itnige rp i3p
e*l iTniel eldi brreasroiuersc etso:o kt i6e.r7 828
mis>.
00001030c1:1iCn fAod:dvekdd 3hda_npdilpeel:iFn8e0_0l0i0b0r4a rfyo_rd icslkas_sc axceh:e:_kienrinteila:l:_XsOebtjuepc:t
Maip>p i0n0g0 0r0e1a1dC- oXnTlhyr ecaadcFh8e0 0t0o0o0k4 0(.11)0 7S tmasc.k
: 70010000-70030000
i> 0000011C Added handle:F8000008 fo0r1 3ccl:aisnsf ox:ev:k:dk3edr_npeilp:e:lXiOnbej_elcitb
rair>y _0d0i0s0k0_1c1aCc hXeT_hirneiatdiFa8l0_0s0e0t0u8p :( 2P)a rStsaicnkg: s7t0re0a5m0 0a0r0c-h7i0v0e7 0t0o0o0k
K3>. 0F3800 0m0s0.0
40 1X3Tch:rienafdo:::vEkxde3cdu_tpei ptehlidi n1e _(lhibarnadrlye_=dFi8s0k0_0t0hr0e4a,d _'mGaPiUn :C oDmomnaen dpse r(fFo8r0m0i0n0g0 4as)y'n,c nsaettiuvpe =o0f0 0s0t0r1e4aCm, <ahrocshti>v)e
.K
> F8000008 XThread::Execute thid 2 (handle=F8000008, 'GPU VSync (F8000008)', native=00000150, <host>)
i> 0000011C Added handle:F800000C for class xe::kernel::XObject
i> 0000011C XThreadF800000C (3) Stack: 70090000-700B0000
i> 0000011C Added handle:F8000010 for class xe::kernel::XObject
i> 0000011C XThreadF8000010 (4) Stack: 700D0000-700F0000
i> 0000011C Added handle:F8000014 for class xe::kernel::XObject
K> F800000C XThread::Execute thid 3 (handle=F800000C, 'XMA Decoder (F800000C)', native=00000154, <host>)
K> F8000010 XThread::Execute thid 4 (handle=F8000010, 'Audio Worker (F8000010)', native=00000158, <host>)
i> 0000011C Added handle:F8000018 for class xe::kernel::XObject
i> 0000011C Added handle:F800001C for class xe::kernel::XObject
010c:fixme:d3d12_swapchain_init: Ignoring swap effect 0x4.
010c:fixme:d3d12_swapchain_init: Ignoring swapchain flags 0x800.
010c:fixme:d3d12_swapchain_present: Unimplemented flags 0x204.```
We don't support the swapchain flags in question either, but that does not prevent graphics output from working.
Out of curiosity are there plans for this to be implemented or do you not have it in the roadmap?
It's not really possible to implement them with Vulkan swap chains.
It's not really possible to implement them with Vulkan swap chains.
Ah I see, thanks for the response!
Hey, I'm trying to get Xenia (D3D12 build) to work on Linux through VKD3D-Proton. I'm able to get to the menus with inputs and audio but I've got no graphics. This appears to be due to D3D12_swapchain either not being implemented or having flags that aren't implemented.
Here's a screenshot of it:![image](https://user-images.githubusercontent.com/34970796/165989958-14a0e70b-5250-42ed-9d62-b9b2093cc108.png)
Here's also the logs from when I open up the emulator: