Add forward shadow receiving support
This commit is contained in:
@@ -175,6 +175,25 @@ D3D12_GPU_DESCRIPTOR_HANDLE D3D12DescriptorSet::GetGPUHandleForBinding(uint32_t
|
||||
return GetGPUHandle(descriptorIndex);
|
||||
}
|
||||
|
||||
D3D12_CPU_DESCRIPTOR_HANDLE D3D12DescriptorSet::GetCPUHandleForBinding(uint32_t binding) const {
|
||||
const uint32_t descriptorIndex = GetDescriptorIndexForBinding(binding);
|
||||
if (descriptorIndex == UINT32_MAX || m_heap == nullptr) {
|
||||
return D3D12_CPU_DESCRIPTOR_HANDLE{0};
|
||||
}
|
||||
|
||||
const CPUDescriptorHandle handle = m_heap->GetCPUDescriptorHandle(m_offset + descriptorIndex);
|
||||
return D3D12_CPU_DESCRIPTOR_HANDLE{handle.ptr};
|
||||
}
|
||||
|
||||
uint32_t D3D12DescriptorSet::GetDescriptorCountForBinding(uint32_t binding) const {
|
||||
const BindingRecord* bindingRecord = FindBindingRecord(binding);
|
||||
if (bindingRecord == nullptr) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return bindingRecord->layout.count > 0 ? bindingRecord->layout.count : 1u;
|
||||
}
|
||||
|
||||
void D3D12DescriptorSet::WriteConstant(uint32_t binding, const void* data, size_t size, size_t offset) {
|
||||
BindingRecord* bindingRecord = FindBindingRecord(binding);
|
||||
if (bindingRecord == nullptr ||
|
||||
|
||||
Reference in New Issue
Block a user