mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[dxvk] Reorganize DxvkBuffer data structure
Should hopefully reduce CPU cache conflicts.
This commit is contained in:
parent
37f3d9208b
commit
6b91b87dba
@ -289,21 +289,23 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxvkBufferHandle m_buffer;
|
DxvkBufferHandle m_buffer;
|
||||||
DxvkBufferSliceHandle m_physSlice;
|
DxvkBufferSliceHandle m_physSlice;
|
||||||
|
|
||||||
uint32_t m_vertexStride = 0;
|
uint32_t m_vertexStride = 0;
|
||||||
|
|
||||||
|
alignas(CACHE_LINE_SIZE)
|
||||||
|
sync::Spinlock m_freeMutex;
|
||||||
|
|
||||||
uint32_t m_lazyAlloc = false;
|
uint32_t m_lazyAlloc = false;
|
||||||
|
VkDeviceSize m_physSliceLength = 0;
|
||||||
sync::Spinlock m_freeMutex;
|
VkDeviceSize m_physSliceStride = 0;
|
||||||
sync::Spinlock m_swapMutex;
|
VkDeviceSize m_physSliceCount = 1;
|
||||||
|
VkDeviceSize m_physSliceMaxCount = 1;
|
||||||
std::vector<DxvkBufferHandle> m_buffers;
|
|
||||||
std::vector<DxvkBufferSliceHandle> m_freeSlices;
|
std::vector<DxvkBufferHandle> m_buffers;
|
||||||
std::vector<DxvkBufferSliceHandle> m_nextSlices;
|
std::vector<DxvkBufferSliceHandle> m_freeSlices;
|
||||||
|
|
||||||
VkDeviceSize m_physSliceLength = 0;
|
alignas(CACHE_LINE_SIZE)
|
||||||
VkDeviceSize m_physSliceStride = 0;
|
sync::Spinlock m_swapMutex;
|
||||||
VkDeviceSize m_physSliceCount = 1;
|
std::vector<DxvkBufferSliceHandle> m_nextSlices;
|
||||||
VkDeviceSize m_physSliceMaxCount = 1;
|
|
||||||
|
|
||||||
void pushSlice(const DxvkBufferHandle& handle, uint32_t index) {
|
void pushSlice(const DxvkBufferHandle& handle, uint32_t index) {
|
||||||
DxvkBufferSliceHandle slice;
|
DxvkBufferSliceHandle slice;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user