mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Reformat all the things. Have fun with merge conflicts.
This commit is contained in:
@ -11,62 +11,67 @@
|
||||
|
||||
namespace DX12
|
||||
{
|
||||
|
||||
// This class provides an abstraction for D3D12 descriptor heaps.
|
||||
class D3DDescriptorHeapManager
|
||||
{
|
||||
public:
|
||||
D3DDescriptorHeapManager(D3D12_DESCRIPTOR_HEAP_DESC* desc, ID3D12Device* device,
|
||||
unsigned int temporarySlots = 0);
|
||||
~D3DDescriptorHeapManager();
|
||||
|
||||
D3DDescriptorHeapManager(D3D12_DESCRIPTOR_HEAP_DESC* desc, ID3D12Device* device, unsigned int temporarySlots = 0);
|
||||
~D3DDescriptorHeapManager();
|
||||
bool Allocate(D3D12_CPU_DESCRIPTOR_HANDLE* cpu_handle,
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE* gpu_handle = nullptr,
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE* gpu_handle_cpu_shadow = nullptr,
|
||||
bool temporary = false);
|
||||
bool AllocateGroup(D3D12_CPU_DESCRIPTOR_HANDLE* cpu_handles, unsigned int num_handles,
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE* gpu_handles = nullptr,
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE* gpu_handle_cpu_shadows = nullptr,
|
||||
bool temporary = false);
|
||||
|
||||
bool Allocate(D3D12_CPU_DESCRIPTOR_HANDLE* cpu_handle, D3D12_GPU_DESCRIPTOR_HANDLE* gpu_handle = nullptr, D3D12_CPU_DESCRIPTOR_HANDLE* gpu_handle_cpu_shadow = nullptr, bool temporary = false);
|
||||
bool AllocateGroup(D3D12_CPU_DESCRIPTOR_HANDLE* cpu_handles, unsigned int num_handles, D3D12_GPU_DESCRIPTOR_HANDLE* gpu_handles = nullptr, D3D12_CPU_DESCRIPTOR_HANDLE* gpu_handle_cpu_shadows = nullptr, bool temporary = false);
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE GetHandleForSamplerGroup(SamplerState* sampler_state,
|
||||
unsigned int num_sampler_samples);
|
||||
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE GetHandleForSamplerGroup(SamplerState* sampler_state, unsigned int num_sampler_samples);
|
||||
ID3D12DescriptorHeap* GetDescriptorHeap() const;
|
||||
|
||||
ID3D12DescriptorHeap* GetDescriptorHeap() const;
|
||||
|
||||
struct SamplerStateSet
|
||||
{
|
||||
SamplerState desc0;
|
||||
SamplerState desc1;
|
||||
SamplerState desc2;
|
||||
SamplerState desc3;
|
||||
SamplerState desc4;
|
||||
SamplerState desc5;
|
||||
SamplerState desc6;
|
||||
SamplerState desc7;
|
||||
};
|
||||
struct SamplerStateSet
|
||||
{
|
||||
SamplerState desc0;
|
||||
SamplerState desc1;
|
||||
SamplerState desc2;
|
||||
SamplerState desc3;
|
||||
SamplerState desc4;
|
||||
SamplerState desc5;
|
||||
SamplerState desc6;
|
||||
SamplerState desc7;
|
||||
};
|
||||
|
||||
private:
|
||||
ID3D12Device* m_device = nullptr;
|
||||
ID3D12DescriptorHeap* m_descriptor_heap = nullptr;
|
||||
ID3D12DescriptorHeap* m_descriptor_heap_cpu_shadow = nullptr;
|
||||
|
||||
ID3D12Device* m_device = nullptr;
|
||||
ID3D12DescriptorHeap* m_descriptor_heap = nullptr;
|
||||
ID3D12DescriptorHeap* m_descriptor_heap_cpu_shadow = nullptr;
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE m_heap_base_cpu;
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE m_heap_base_gpu;
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE m_heap_base_gpu_cpu_shadow;
|
||||
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE m_heap_base_cpu;
|
||||
D3D12_GPU_DESCRIPTOR_HANDLE m_heap_base_gpu;
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE m_heap_base_gpu_cpu_shadow;
|
||||
struct hash_sampler_desc
|
||||
{
|
||||
size_t operator()(const SamplerStateSet sampler_state_set) const
|
||||
{
|
||||
return sampler_state_set.desc0.hex;
|
||||
}
|
||||
};
|
||||
|
||||
struct hash_sampler_desc
|
||||
{
|
||||
size_t operator()(const SamplerStateSet sampler_state_set) const
|
||||
{
|
||||
return sampler_state_set.desc0.hex;
|
||||
}
|
||||
};
|
||||
std::unordered_map<SamplerStateSet, D3D12_GPU_DESCRIPTOR_HANDLE, hash_sampler_desc> m_sampler_map;
|
||||
|
||||
std::unordered_map<SamplerStateSet, D3D12_GPU_DESCRIPTOR_HANDLE, hash_sampler_desc> m_sampler_map;
|
||||
unsigned int m_current_temporary_offset_in_heap = 0;
|
||||
unsigned int m_current_permanent_offset_in_heap = 0;
|
||||
|
||||
unsigned int m_current_temporary_offset_in_heap = 0;
|
||||
unsigned int m_current_permanent_offset_in_heap = 0;
|
||||
unsigned int m_descriptor_increment_size;
|
||||
unsigned int m_descriptor_heap_size;
|
||||
bool m_gpu_visible;
|
||||
|
||||
unsigned int m_descriptor_increment_size;
|
||||
unsigned int m_descriptor_heap_size;
|
||||
bool m_gpu_visible;
|
||||
|
||||
unsigned int m_first_temporary_slot_in_heap;
|
||||
unsigned int m_first_temporary_slot_in_heap;
|
||||
};
|
||||
|
||||
} // namespace
|
Reference in New Issue
Block a user