Commit Graph

4866 Commits

Author SHA1 Message Date
Robin Kertels f94b42f23f [d3d9] Dont use GenerateDrawInfo in DrawPrimitiveUp
This is confusing because it looks like a race condition
at first glance.
2022-12-30 19:29:34 +00:00
Philip Rebohle 12901b52f1 [dxvk] Split barriers with very large VkDependencyInfo structures
Works around an AMD driver bug. Fixes #3138.
2022-12-20 03:10:44 +01:00
Philip Rebohle f4f4f3647f [d3d11] Do not create storage image views with swizzle
This happens when a game uses A8_UNORM UAVs. Vulkan doesn't allow this,
and it's not meaningful for stores anyway, we'd need shader emulation.
2022-12-20 02:20:11 +01:00
Joshua Ashton c7be18cb26 [d3d11] Implement SetHDRMetadata 2022-12-19 22:15:18 +01:00
Joshua Ashton e5418a956a [vulkan] Add setHdrMetadata method to Presenter 2022-12-19 22:15:18 +01:00
Joshua Ashton 731bf84edd [dxvk] Enable VK_EXT_hdr_metadata 2022-12-19 22:15:18 +01:00
Joshua Ashton 4335eccae9 [dxvk] Enable VK_EXT_swapchain_colorspace 2022-12-19 22:15:18 +01:00
Joshua Ashton 33acf58ac7 [d3d11] Implement CheckColorSpaceSupport and SetColorSpace 2022-12-19 22:15:18 +01:00
Joshua Ashton 50054d4675 [vulkan] Add supportsColorSpace method to Presenter 2022-12-19 22:15:18 +01:00
Joshua Ashton fd661d587e [vulkan] Simplify args to Presenter GetSupported* methods 2022-12-19 22:15:18 +01:00
Robin Kertels 18b0ef697c [dxvk] Rework SetEventOnCompletion
* Create the waiter thread on demand
* Don't wake up the waiter thread every 10ms
  when no events are queued
* Wait on caller thread when hEvent = null
2022-12-16 17:37:19 +01:00
Philip Rebohle c55c09368b [d3d11] Only store low 8 bits of stencil reference
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix #1784.
2022-12-11 19:51:57 +01:00
Blisto91 7b2024888e [util] disable unmapping for Final Fantasy XIV d3d9 2022-12-11 14:01:27 +01:00
Joshua Ashton c0d843c578 [wsi] Fix overwriting colorimetry info to NULL 2022-12-08 06:48:30 +00:00
Philip Rebohle b838b65516 [d3d9] Correctly mask alpha reference push constant
We accidentally lost this during the rework, since the initial
implementation scaled the alpha ref value on the CPU.

Fixes #3123.
2022-12-06 21:25:55 +00:00
Blisto91 4a4d880130 [util] Set TRAHA Global to Intel vendor id 2022-12-04 23:06:59 +01:00
Robin Kertels 522909b165 [d3d9] Don't set NeedsReadback when dirtying mip maps
It's impossible to lock non 0 mips anyway.
2022-12-03 15:18:40 +00:00
Philip Rebohle 573be24269 [wsi] Fix crash when parsing EDID fails
If info is null then we shouldn't pass it around.

Also improve formatting a bit.
2022-12-02 00:23:38 +00:00
Philip Rebohle 9f70666777 [build] Allow standalone DXGI builds 2022-11-28 13:48:05 +01:00
Hans-Kristian Arntzen 42332f7fb8 [dxgi] Fix IDXGISwapchain::CheckColorSpaceSuport 2022-11-28 12:45:34 +01:00
Philip Rebohle 4f90d7bf5f [dxbc,d3d11] Don't access shex chunk if it is not defined 2022-11-25 12:45:32 +01:00
Joshua Ashton d01c9cb6d4 [wsi] Free edid info after parsing 2022-11-25 08:44:39 +00:00
Philip Rebohle ebd29007d4 [dxgi] Actually unlock monitor info
Fixes some deadlocks.
2022-11-21 20:24:15 +01:00
Philip Rebohle c6611dffa7 Revert "[dxbc] Move shex check to constructor"
Breaks stuff for unknown reasons.
2022-11-21 19:35:21 +01:00
Joshua Ashton f0a0e1b964 [dxgi] Report display metadata in IDXGIOutput6::GetDesc1 2022-11-21 17:26:53 +01:00
Joshua Ashton aa71e7e323 [dxgi] Cache display metadata + colorimetry in DXGI_VK_MONITOR_DATA 2022-11-21 17:26:53 +01:00
Joshua Ashton fabe4a85e3 [wsi] Add parseColorimetryInfo helper 2022-11-21 17:26:53 +01:00
Philip Rebohle 3b9235fe23 [util] Set max frame latency to 1 for Sonic Frontiers
Seems like the only reason this game passes QA is because there *was* no
QA. Seriously broken when GPU-bound even on Windows.
2022-11-21 17:18:01 +01:00
Robin Kertels 4796eb0b0d [d3d9] Implement capturing lights in state blocks 2022-11-21 16:06:49 +00:00
Robin Kertels 1a3b576d35 [util] Implement bit vector 2022-11-21 16:06:49 +00:00
Robin Kertels d0a10cc9f8 [d3d9] Handle DS texture uploads 2022-11-21 15:59:25 +00:00
Blisto91 2c53459f4c [util] disable floatControls for Bad Company 2 2022-11-21 13:13:57 +01:00
Robin Kertels dd7ec24269 [dxbc] Move shex check to constructor
Otherwise we dereference a null pointer when
accessing the DxbcProgramInfo.
2022-11-21 01:49:35 +01:00
Robin Kertels 3393c5f4ff [d3d9] Only upload mip 0 of managed automipgen textures 2022-11-19 17:34:02 +00:00
Philip Rebohle a130146f15 [dxvk] Remove dead enableRtOutputNanFixup option
Dead code since 2.0, not sure why this was still in here.
2022-11-18 22:31:54 +01:00
Joshua Ashton e037d24017 [util] Default initialize BitMask to 0
Found via an MSVC warning, may not fix anything, but good to do anyway.
2022-11-17 17:38:46 +01:00
Joshua Ashton 287412f746 [util] Cast _tzcnt_u64 to uint32_t
MSVC has _tzcnt_u64 return a uint64_t, which obviously, it can never return a number that big.
2022-11-17 17:38:46 +01:00
Joshua Ashton 69b1aa251d [wsi] Add getMonitorEdid function
What an unbelievable pain this is to do on Windows...

No-op on SDL2 right now, as there is nothing for that.
2022-11-17 17:38:16 +01:00
Blisto91 ad3c316d0c [util] Set Black Mesa customVendorId to Nvidia 2022-11-16 11:30:40 +01:00
Robin Kertels 785bc9738f [util] Disable DC Single Use Mode for Cardfight!! Vanguard Dear Days 2022-11-15 16:55:38 +01:00
Robin Kertels 8a2e4ef481 [d3d9] Allow locking DEFAULT pool based on texture type 2022-11-10 13:37:52 +01:00
Blisto91 bc08cac220 [util] Enable apitraceMode for Sonic & All-Stars Racing Transformed 2022-11-09 19:22:14 +01:00
Christopher Egert e30b783505 d3d9: Use a different rvalue for depth bias on NV 2022-11-09 01:15:00 +00:00
Robin Kertels ecc2302389 [d3d9] Fix query reset counter underflow 2022-11-07 23:34:32 +00:00
Philip Rebohle 76e6b2764b [dxgi] Change CreateSwapChain to take a surface factory 2022-11-07 14:14:05 +01:00
Philip Rebohle 03dca539cb [vulkan,d3d9,d3d11] Move surface creation to swap chain implementation 2022-11-07 14:14:05 +01:00
Philip Rebohle 49cf0ecf54 [vulkan] Don't handle SURFACE_LOST in Vulkan presenter 2022-11-07 14:14:05 +01:00
Philip Rebohle 3a9e975a71 [dxgi] Implement DxgiSurfaceFactory 2022-11-07 14:14:05 +01:00
Philip Rebohle 1754b73ade [wsi] Change interface for surface creation
This temporarily breaks Win32 swap chains, but we're fine with that
since this will take some refactoring.
2022-11-07 14:14:05 +01:00
Philip Rebohle bd87e19de1 [dxgi] Introduce IDXGIVkSurfaceFactory 2022-11-07 14:14:05 +01:00