Commit Graph

5204 Commits

Author SHA1 Message Date
Philip Rebohle e019edc8c3 [util] Add helper to get time point from raw counter value 2022-09-16 12:49:42 +02:00
Philip Rebohle c1ab09a048 [util] Move platform-specific sleep code to dedicated helper class 2022-09-16 12:49:42 +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 a637134c56 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 1c33d8be1f [dxgi] Fix return value of ChangeDisplayMode 2022-09-15 15:35:54 +02:00
Paul Gofman 10d6e15646 [d3d9] Do not set window size and position when restoring from fullscreen state
Closes #2920.
2022-09-15 09:33:24 +01:00
Krzysztof Dobrowolski 19b76825d0 [d3d9] Fix for missing restriction check in UpdateSurface.
The spec of IDirect3DDevice9::UpdateSurface contains the following restriction:
- Neither surface can be created with multisampling.
  The only valid flag for both surfaces is D3DMULTISAMPLE_NONE.

This commit adds this check and returns D3DERR_INVALIDCALL
when source or destination surfaces are multisampled.
2022-09-15 09:32:31 +01:00
Blisto91 2890f690f6 [meta] remove --with-d3d10 from readme 2022-09-14 18:04:36 +02:00
Georg Lehmann 18a801de84 [dxso] Use a * (y - x) + x for lerp.
Fixes Alice: Madness Returns.
2022-09-13 23:10:11 +01:00
Rhys Perry 63ca34bb29 [dxbc] Fix forceVolatileTgsmAccess for stores
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
2022-09-13 21:41:59 +02:00
Joshua Ashton 68c528d345 [util] Implement bitmask iterator on non-x86 platforms 2022-09-13 20:11:17 +01:00
Joshua Ashton 2218462ff2 [util] Implement spin on ARM64 2022-09-13 20:11:17 +01:00
Joshua Ashton 57cee691b3 [util] Implement replaceNaN for non-x86 platforms 2022-09-13 20:11:17 +01:00
Joshua Ashton 2d8e14fcf4 [util] Implement bcmpeq for non-x86 platforms 2022-09-13 20:11:17 +01:00
Joshua Ashton c3093b546e [util] Implement tzcnt for non-x86 platforms 2022-09-13 20:11:17 +01:00
Joshua Ashton 466026632d [util] Only include x86 intrinsics headers on x86 2022-09-13 20:11:17 +01:00
Joshua Ashton 736f91fad1 [util] Add macro to determine CPU arch 2022-09-13 20:11:17 +01:00
Philip Rebohle 21a521361e [spirv] Remove OpKill helper
This is deprecated, so make sure we never accidentally
use it in the future.
2022-09-13 15:30:13 +02:00
Philip Rebohle af208ceb9e [dxbc] Optimize write pattern for TGSM initialization
Reduces bank conflicts.
2022-09-12 22:33:40 +02:00
Philip Rebohle 05f36fd97b [dxbc] Only use workgroup scope in compute shaders
Turns out that global barriers can be used in graphics shaders.
2022-09-12 22:05:39 +02:00
Philip Rebohle 0502a0464f [dxbc] Fix broken barrier around TGSM init code 2022-09-12 22:05:39 +02:00
Philip Rebohle 944a945822 [dxvk] Fix validation error on FS resolve path 2022-09-12 18:59:58 +02:00
Philip Rebohle d9466eb2b9 [dxvk] Get rid of immutable sampler for resolve operations 2022-09-12 18:59:58 +02:00
Riesi 26c8f46b6b [util] Limit King Of Fighters XIII to 60 FPS
Game speed is tied to FPS
fixes #2647
2022-09-12 18:53:42 +02:00
Blisto91 e05e063df0 [util] Enable memoryTrackTest for SiN Episodes Emergence 2022-09-12 18:37:30 +02:00
Philip Rebohle eda366662c [dxbc] Handle workgroup-coherent UAVs more efficiently
Some drivers don't handle the workgroup scope on stores and loads properly,
so let's just do the availability and visibility operation on barriers.
2022-09-12 18:19:02 +02:00
Philip Rebohle 8842af2ad6 [dxvk] Get rid of sampler for pack operations 2022-09-12 14:20:30 +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 443cb658f7 [dxvk] Clean up DxvkImage::canShareImage 2022-09-11 16:40:02 +02:00
Philip Rebohle 0123e844b2 [dxvk] Move getFormatLimits back to DxvkAdapter 2022-09-11 16:40:02 +02:00
Philip Rebohle c0fdf1449c [dxvk] Allow querying external memory features for image formats 2022-09-11 16:40:02 +02:00
Philip Rebohle 3a636f6094 [dxvk] Introduce DxvkFormatQuery 2022-09-11 16:40:02 +02:00
Joshua Ashton ce47bf4264 [build] Disable some dumb clang warnings 2022-09-10 21:46:07 +00:00
Joshua Ashton 10bb285f2e [d3d9] Remove unused dstExtent + friends in GetRenderTargetData 2022-09-10 21:46:07 +00:00
Joshua Ashton 935541bcb0 [util] Make math types have implicit copy assignments
We define implicit copy constructors, should also define implicit copy assignments.
2022-09-10 21:46:07 +00:00
Joshua Ashton 99e01d64f7 [dxso] Make fallthrough for extra params explicit 2022-09-10 21:46:07 +00:00
Joshua Ashton 9adc6f2d3e [d3d11] Remove unused this capture in UnbindResources 2022-09-10 21:46:07 +00:00
Joshua Ashton a3727ebd42 [d3d11] Fix UNKNOWN enum in video view dimension switch cases 2022-09-10 21:46:07 +00:00
Joshua Ashton f9bd1a5d79 [build] Enable warning_level 2
Compiles cleanly with GCC 12
2022-09-10 21:27:04 +00:00
Joshua Ashton 64d88c684d [dxbc] Explicitly cast down to VkAccessFlags when assinging binding.access
Otherwise both halves of the terniary are differing types causing a warning.
2022-09-10 21:27:04 +00:00