Commit Graph

54 Commits

Author SHA1 Message Date
Philip Rebohle 3c99314332 [d3d11] Implement CreateWrappedResource for D3D12 buffers 2023-03-18 00:50:42 +01:00
Philip Rebohle 9964e4a632 [d3d11] Clean up resource validation around tiled resources 2022-09-05 07:51:08 +02:00
Philip Rebohle 5130638ebe [d3d11] Implement ResizeTilePool 2022-08-26 05:53:03 +02:00
Philip Rebohle e8f59bfd7c [d3d11] Implement tile pool creation 2022-08-26 05:53:03 +02:00
Philip Rebohle 0637fdf82e [d3d11] Implement tiled buffer creation 2022-08-26 05:53:03 +02:00
Philip Rebohle 099c70c2bd
[d3d11] Use new format support queries in resource creation 2022-08-17 15:26:03 +02:00
Philip Rebohle 97f0d1dfb8
[d3d11] Use bindIndexBufferRange whenever possible 2022-08-07 19:03:51 +02:00
Philip Rebohle 897e7816f0
[d3d11] Don't return undefined slices from GetBufferSlice
Instead, return a slice with length zero.
2022-08-07 19:03:51 +02:00
Philip Rebohle 30b1cac0ae
[d3d11] Remove old D3D11DeviceContext class 2022-08-04 13:43:36 +02:00
Philip Rebohle d33dac569c
[d3d11] Track last staging resource usage with a sequence number 2022-02-11 18:17:35 +01:00
Philip Rebohle 9c32beccdc
[d3d11] Store buffer map mode in D3D11Buffer
Matches what we do for textures, and makes it so that we don't
have to dereference the resource pointer to figure this out.
2022-02-11 18:17:35 +01:00
Philip Rebohle 3acdf6e22a
[d3d11] Perform bound-checking in GetBufferSlice
Ensures that we don't pass invalid buffer slices to the backend.
2021-03-04 17:37:13 +01:00
Joshua Ashton 742b52bbb5 [d3d11] Fix device child refs properly 2021-01-15 23:47:48 +01:00
Philip Rebohle 09f507c284
[d3d11] Allocate xfb counter buffer per buffer
Same idea as with UAV counters, allows for more efficient updates.
2019-10-26 17:44:29 +02:00
Philip Rebohle 762df0bedf
[d3d11] Change ValidateBufferProperties to NormalizeBufferProperties 2019-10-11 17:23:02 +02:00
Philip Rebohle 2cdbe2e6df
[d3d11] Move GetMemoryFlagsForUsage into D3D11Buffer
D3D11Buffer is the only user of this function and the code sharing
potential is limited. This allows us to implement the memory type
selection for buffers in one single place rather than two.
2019-09-17 17:21:10 +02:00
Philip Rebohle 63d8d9c3db
[d3d11] Validate buffer descriptions 2019-06-13 03:31:26 +02:00
Philip Rebohle 2c61303976 [d3d11] Implement IDXGIResource1 for textures and buffers 2019-04-27 20:21:54 +02:00
Philip Rebohle 6c17fa075b
[d3d11] Minor map optimization on deferred contexts 2019-02-04 10:26:04 +01:00
Philip Rebohle 8d493d9445
[d3d11] Minor map optimization on immediate contexts
We should make the fast path as fast as possible.
2019-02-04 10:24:30 +01:00
Philip Rebohle 8b5db80fbd
[dxvk] Reimplement DxvkBuffer
Avoids the DxvkPhysicalBuffer indirection and keeps all buffer
objects alive until the DxvkBuffer itself gets destroyed.
2019-01-09 18:04:46 +01:00
Philip Rebohle d5481ac013
[d3d11] Remove redundant D3D11Buffer::GetSize method 2018-11-02 15:43:46 +01:00
Philip Rebohle 11b269efd1
[d3d11] Save a few CPU cycles in Map/MapBuffer 2018-10-16 12:29:04 +02:00
Philip Rebohle 6b5aa0b928
Merge branch 'vk_transform_feedback' 2018-10-13 08:00:51 +02:00
Philip Rebohle 97d776cc00
[d3d11] Allocate counter for stream output buffers 2018-10-10 19:55:41 +02:00
Philip Rebohle 553c90307a
[d3d10] Implement D3D10Buffer 2018-08-13 17:22:41 +02:00
Philip Rebohle f9e096e954
[d3d11] Validate buffer view format compatibility
Prevents the app from creating illegal buffer views.
2018-08-09 23:37:41 +02:00
Philip Rebohle f586970c59
[d3d11] Validate buffer view bind flags 2018-08-09 22:04:03 +02:00
Philip Rebohle b87f3f5155
[d3d11] Add common resource helper functions 2018-08-05 18:45:24 +02:00
Philip Rebohle 66e178756e
[d3d11] Introduce GetCommonBuffer helper
Also update GetCommonTexture documentation.
2018-08-05 18:29:29 +02:00
Philip Rebohle ace8e42213
[d3d11] Move BufferInfo struct into D3D11Buffer 2018-08-05 18:24:01 +02:00
Philip Rebohle 9cec1ecca3 [d3d11] Fix stage and access mask for default constant buffers 2018-05-04 10:23:36 +02:00
Philip Rebohle f1c3b59e87
[d3d11] Implemented buffer mapping on deferred contexts
Allows the MultiThreadedRendering demo from the Microsoft SDK to run.
2018-03-19 03:19:13 +01:00
Philip Rebohle 3133e4ba35
[d3d11] Add constant buffer offsets and counts to context state 2018-03-18 12:36:45 +01:00
Philip Rebohle aaf7b05625
[d3d11] Use EmitCs for buffer mapping 2018-01-20 22:28:15 +01:00
Philip Rebohle 9acc4a1a82
[d3d11] Map default constant buffers to host memory
Improves performance in applications that use UpdateSubresources
to frequently update constant buffers, such as Unigine Heaven,
Unigine Valley and Homefront.
2018-01-18 11:55:27 +01:00
Philip Rebohle 84190369ab [d3d11] Optimized resource binding methods 2017-12-20 17:37:46 +01:00
Philip Rebohle 85120d2d01 [d3d11] Reverted some design decisions related to buffer renaming 2017-12-16 13:35:11 +01:00
Philip Rebohle d9f38a7f42 [d3d11] Minor restructuring 2017-12-15 19:11:10 +01:00
Philip Rebohle 9827ace3b0 [d3d11] Fixed buffer bindings with non-zero offsets 2017-12-14 19:07:08 +01:00
Philip Rebohle 6de6421dfd [d3d11] Refactoring resource creation (1/2) - buffers 2017-12-14 15:59:55 +01:00
Philip Rebohle bdce9a69fb [d3d11] Map() optimization removed, needs buffer renaming
The naive optimization to use staging buffers rather than actual mapping
turned out to be no more efficient than the previous approach. In order
to achieve good performance, buffer renaming must be implemented instead.
2017-12-14 12:29:41 +01:00
Philip Rebohle 4172b99952 [d3d11] Implemented naive Map() optimization when used with D3D11_MAP_WRITE_DISCARD 2017-12-13 17:49:08 +01:00
Philip Rebohle 2a266eaad4 [general] Added 32-bit support 2017-12-12 12:50:52 +01:00
Philip Rebohle f484454854 [d3d11] Device children actually do hold a reference to the device 2017-12-09 15:57:05 +01:00
Philip Rebohle 05ef218326 [d3d11] Implemented vertex buffer binding 2017-12-07 14:03:15 +01:00
Philip Rebohle be7a70a307 [d3d11] Implemented buffer creation 2017-12-07 13:31:32 +01:00
Philip Rebohle 5bf4ae7048 [d3d11] Initial work on buffer creation 2017-12-07 13:18:12 +01:00
Philip Rebohle ddb1627985 [d3d11] D3D11DeviceChild subclasses must not store strong references to their parent device 2017-12-07 00:55:21 +01:00
Philip Rebohle b35f0c64b4 [dxgi] Refactored swap chain <-> device communication 2017-11-29 16:23:33 +01:00