Philip Rebohle
4c78964679
[d3d9] Only log QueryInterface errors once
2023-03-01 13:25:56 +01:00
Philip Rebohle
cc78276897
[d3d11] Only log QueryInterface errors once
2023-03-01 13:25:56 +01:00
Philip Rebohle
2356d34f2e
[d3d11] Create video context resources on demand
...
Saves another memory allocation that we will often not need.
2023-03-01 12:37:06 +01:00
Paul Gofman
2263dcad95
[d3d11] Improve video processor caps query stubs
2023-01-31 13:39:09 +01:00
Philip Rebohle
d7a4ddb5d0
[d3d11] Implement more accurate resource tracking on deferred contexts
...
Allows us to track chunks that access any given tracked resource more
accurately and flush as needed, e.g. if a staging buffer is written at
the start of a long command list.
2023-01-17 15:01:06 +01:00
Philip Rebohle
cf5adb8b12
[d3d11] Improve flushing around deferred context submissions
2023-01-17 15:01:06 +01:00
Philip Rebohle
591e2df701
[d3d11] Consider flushing after each CS chunk
...
This way we will never end up with overly long command lists.
2023-01-17 15:01:06 +01:00
Philip Rebohle
2a3d7ee7dc
[d3d11] Use new flush heuristic
2023-01-17 15:01:06 +01:00
Philip Rebohle
f952418958
[d3d11] Determine pending commands based on sequence number
...
We get this for free and this allows us to query how many CS chunks
have been emitted since the last flush.
2023-01-17 15:01:06 +01:00
Joshua Ashton
9010f11adf
[dxgi, d3d11] Remove support for legacy IWineDXGISwapChainFactory interface
...
vkd3d-proton 2.8 released last year with support for the new swapchain
interface.
No need to keep support for this legacy interface hanging around when
it complicates adding DxgiOptions support to the swapchain.
2023-01-16 13:45:03 +01:00
Philip Rebohle
d35bf455d9
[dxvk] Rename bindResourceBuffer to bindUniformBuffer
2023-01-15 15:36:05 +01:00
Philip Rebohle
4a30933359
[dxvk] Add UBO set property to descriptor info
...
Used to explicitly propagate storage buffer bindings
to the respective UBO set.
2023-01-15 15:36:05 +01:00
Philip Rebohle
6f194b0e7b
[d3d11] Bind UAV counter buffers as views
2023-01-15 15:36:05 +01:00
Philip Rebohle
92de3f3f5f
[d3d11] Add missing context locks
2023-01-14 18:40:41 +01:00
Philip Rebohle
e426ec09a1
[d3d11,dxbc] Add d3d11.forceSampleRateShading option
2023-01-09 18:35:02 +01:00
Philip Rebohle
389634f9b9
[d3d11] Fix D3D11Texture2D reference counting
2023-01-06 22:52:29 +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
33acf58ac7
[d3d11] Implement CheckColorSpaceSupport and SetColorSpace
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
Philip Rebohle
4f90d7bf5f
[dxbc,d3d11] Don't access shex chunk if it is not defined
2022-11-25 12:45:32 +01: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
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
3a9e975a71
[dxgi] Implement DxgiSurfaceFactory
2022-11-07 14:14:05 +01:00
Philip Rebohle
b055c2daea
[d3d11] Avoid querying environment variables on shader creation
2022-10-24 17:58:57 +02:00
Philip Rebohle
859de7e828
[dxvk] Always enable depth clip feature if supported
2022-10-24 16:39:24 +02:00
Philip Rebohle
69d7af42a4
[dxgi] Change swap chain interface to better map to D3D12 needs
2022-10-16 16:38:29 +02:00
Philip Rebohle
aca67f64da
[d3d11] Implement IDXGIVkSwapChainFactory for D3D11
2022-10-16 16:38:29 +02:00
Joshua Ashton
1d3decf100
[build] Add version scripts for native builds
...
FEX would like clean symbols for experimenting with making thunks down the line.
We also just shouldn't be exporting a bunch of random crap -- sadly -fvisibility=hidden doesn't help with a bunch of stuff :(
For reference, RADV also does this.
2022-10-15 19:10:57 +02:00
Joshua Ashton
25798f6fe1
[build] Set name_prefix to libdxvk_
for native builds
...
Less rude and nicer than just d3d9.so.
Matches old DXVK native behaviour too.
2022-10-15 19:10:57 +02:00
Philip Rebohle
bd7d2aac71
[dxgi] Get rid of NotifyModeChange method
...
Was only used for the FPS limiter.
2022-10-07 13:25:56 +02:00
Philip Rebohle
a14ce8d1b0
[d3d11] Enable ROV support if corresponding Vulkan features are supported
2022-09-19 15:44:23 +02:00
Joshua Ashton
000a647c56
[d3d11] Store D3D11DeviceContextState as private ref
...
Avoids a circular dependency
2022-09-16 12:49:10 +02:00
Joshua Ashton
a69c65265a
[d3d11] Store context predication query as private ref
2022-09-16 12:49:10 +02:00
Joshua Ashton
9e4877be81
[d3d11] Store SoTarget buffer as a private ref
2022-09-16 12:49:10 +02:00
Joshua Ashton
b40935a48d
[d3d11] Store context state ID buffers as private refs
2022-09-16 12:49:10 +02:00
Joshua Ashton
ca38cebe0b
[d3d11] Store private refs for IA layout
2022-09-16 12:49:10 +02:00
Joshua Ashton
9545281542
[d3d11] Store private refs for VB + IB bindings
2022-09-16 12:49:10 +02:00
Joshua Ashton
9bfe46ac50
[d3d11] Store private refs for srv and rtv bindings
2022-09-16 12:49:10 +02:00
Joshua Ashton
2419226456
[d3d11] Store private refs for constant buffer bindings
2022-09-16 12:49:10 +02:00
Joshua Ashton
8758bcedae
[d3d11] Store private refs to context shaders
2022-09-16 12:49:10 +02:00
Joshua Ashton
699d56e35d
[d3d11] Handle nullptr RasterizerState in ApplyRasterizerSampleCount
...
This broke as of a637134c56aea39ef031d9141224548df384269b is causing a crash in the BGFX d3d11 samples.
2022-09-16 11:40:36 +02:00
Joshua Ashton
3a6f8fa413
[d3d11] Assign ForcedSampleCount to correct value in ApplyRasterizerSampleCount
...
ForcedSampleCount was never being respected as it would always be replaced with 1 as it was being assigned to the wrong variable.
This was also probably causing a bunch of redundant CS work as it was changing state that was dirty checked.
2022-09-16 11:40:36 +02:00
Philip Rebohle
8dc9400045
[d3d11] Report D3D11_FORMAT_SUPPORT2_SHAREABLE appropriately
2022-09-11 16:40:02 +02:00
Philip Rebohle
299fc4c4cf
[d3d11] Determine shared resources tier more accurately
2022-09-11 16:40:02 +02:00
Philip Rebohle
3a636f6094
[dxvk] Introduce DxvkFormatQuery
2022-09-11 16:40:02 +02:00
Joshua Ashton
9adc6f2d3e
[d3d11] Remove unused this capture in UnbindResources
2022-09-10 21:46:07 +00:00