@@ -521,11 +521,6 @@ HRESULT STDMETHODCALLTYPE D3D12Device::CreateDescriptorHeap(const D3D12_DESCRIPT
521521}
522522UINT STDMETHODCALLTYPE D3D12Device::GetDescriptorHandleIncrementSize (D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType)
523523{
524- #if RESHADE_ADDON && !RESHADE_ADDON_LITE
525- if (DescriptorHeapType <= D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER)
526- return 0x1 ; // See 'D3D12DescriptorHeap::initialize_descriptor_base_handle'
527- #endif
528-
529524 return _orig->GetDescriptorHandleIncrementSize (DescriptorHeapType);
530525}
531526HRESULT STDMETHODCALLTYPE D3D12Device::CreateRootSignature (UINT nodeMask, const void *pBlobWithRootSignature, SIZE_T blobLengthInBytes, REFIID riid, void **ppvRootSignature)
@@ -708,13 +703,9 @@ HRESULT STDMETHODCALLTYPE D3D12Device::CreateRootSignature(UINT nodeMask, const
708703}
709704void STDMETHODCALLTYPE D3D12Device::CreateConstantBufferView (const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
710705{
711- #if RESHADE_ADDON
706+ #if RESHADE_ADDON && !RESHADE_ADDON_LITE
712707 _orig->CreateConstantBufferView (pDesc, convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV));
713- #else
714- _orig->CreateConstantBufferView (pDesc, DestDescriptor);
715- #endif
716708
717- #if RESHADE_ADDON && !RESHADE_ADDON_LITE
718709 if (!reshade::has_addon_event<reshade::addon_event::update_descriptor_sets>())
719710 return ;
720711
@@ -724,14 +715,16 @@ void STDMETHODCALLTYPE D3D12Device::CreateConstantBufferView(const D3D12_CONS
724715 buffer_range.size = pDesc->SizeInBytes ;
725716
726717 reshade::api::descriptor_set_update update;
727- update.set = { DestDescriptor. ptr } ;
718+ update.set = convert_to_descriptor_set ( DestDescriptor) ;
728719 update.binding = 0 ;
729720 update.array_offset = 0 ;
730721 update.type = reshade::api::descriptor_type::constant_buffer;
731722 update.count = 1 ;
732723 update.descriptors = &buffer_range;
733724
734725 reshade::invoke_addon_event<reshade::addon_event::update_descriptor_sets>(this , 1 , &update);
726+ #else
727+ _orig->CreateConstantBufferView (pDesc, DestDescriptor);
735728#endif
736729}
737730void STDMETHODCALLTYPE D3D12Device::CreateShaderResourceView (ID3D12Resource *pResource, const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
@@ -748,7 +741,11 @@ void STDMETHODCALLTYPE D3D12Device::CreateShaderResourceView(ID3D12Resource *
748741 pDesc = &internal_desc;
749742 }
750743
744+ #if RESHADE_ADDON && !RESHADE_ADDON_LITE
751745 const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
746+ #else
747+ const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = DestDescriptor;
748+ #endif
752749 _orig->CreateShaderResourceView (pResource, pDesc, original_descriptor_handle);
753750
754751 const reshade::api::resource_view descriptor_value = to_handle (original_descriptor_handle);
@@ -764,7 +761,7 @@ void STDMETHODCALLTYPE D3D12Device::CreateShaderResourceView(ID3D12Resource *
764761 return ;
765762
766763 reshade::api::descriptor_set_update update;
767- update.set = { DestDescriptor. ptr } ;
764+ update.set = convert_to_descriptor_set ( DestDescriptor) ;
768765 update.binding = 0 ;
769766 update.array_offset = 0 ;
770767 update.type = reshade::api::descriptor_type::shader_resource_view;
@@ -788,8 +785,12 @@ void STDMETHODCALLTYPE D3D12Device::CreateUnorderedAccessView(ID3D12Resource
788785 pDesc = &internal_desc;
789786 }
790787
788+ #if RESHADE_ADDON && !RESHADE_ADDON_LITE
791789 const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV);
792- _orig->CreateUnorderedAccessView (pResource, pCounterResource, pDesc, convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV));
790+ #else
791+ const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = DestDescriptor;
792+ #endif
793+ _orig->CreateUnorderedAccessView (pResource, pCounterResource, pDesc, original_descriptor_handle);
793794
794795 const reshade::api::resource_view descriptor_value = to_handle (original_descriptor_handle);
795796
@@ -804,7 +805,7 @@ void STDMETHODCALLTYPE D3D12Device::CreateUnorderedAccessView(ID3D12Resource
804805 return ;
805806
806807 reshade::api::descriptor_set_update update;
807- update.set = { DestDescriptor. ptr } ;
808+ update.set = convert_to_descriptor_set ( DestDescriptor) ;
808809 update.binding = 0 ;
809810 update.array_offset = 0 ;
810811 update.type = reshade::api::descriptor_type::unordered_access_view;
@@ -873,7 +874,11 @@ void STDMETHODCALLTYPE D3D12Device::CreateSampler(const D3D12_SAMPLER_DESC *p
873874 pDesc = &internal_desc;
874875 }
875876
877+ #if RESHADE_ADDON && !RESHADE_ADDON_LITE
876878 const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER);
879+ #else
880+ const D3D12_CPU_DESCRIPTOR_HANDLE original_descriptor_handle = DestDescriptor;
881+ #endif
877882 _orig->CreateSampler (pDesc, original_descriptor_handle);
878883
879884 const reshade::api::sampler descriptor_value = { original_descriptor_handle.ptr };
@@ -888,7 +893,7 @@ void STDMETHODCALLTYPE D3D12Device::CreateSampler(const D3D12_SAMPLER_DESC *p
888893 return ;
889894
890895 reshade::api::descriptor_set_update update;
891- update.set = { DestDescriptor. ptr } ;
896+ update.set = convert_to_descriptor_set ( DestDescriptor) ;
892897 update.binding = 0 ;
893898 update.array_offset = 0 ;
894899 update.type = reshade::api::descriptor_type::sampler;
@@ -920,10 +925,10 @@ void STDMETHODCALLTYPE D3D12Device::CopyDescriptors(UINT NumDestDescriptorRan
920925 {
921926 const UINT src_count = (pSrcDescriptorRangeSizes != nullptr ? pSrcDescriptorRangeSizes[src_range] : 1 );
922927
923- copies[num_copies].dest_set = { pDestDescriptorRangeStarts[dst_range]. ptr } ;
928+ copies[num_copies].dest_set = convert_to_descriptor_set ( pDestDescriptorRangeStarts[dst_range]) ;
924929 copies[num_copies].dest_binding = 0 ;
925930 copies[num_copies].dest_array_offset = 0 ;
926- copies[num_copies].source_set = { pSrcDescriptorRangeStarts[src_range]. ptr } ;
931+ copies[num_copies].source_set = convert_to_descriptor_set ( pSrcDescriptorRangeStarts[src_range]) ;
927932 copies[num_copies].source_binding = 0 ;
928933 copies[num_copies].source_array_offset = 0 ;
929934
@@ -975,8 +980,8 @@ void STDMETHODCALLTYPE D3D12Device::CopyDescriptorsSimple(UINT NumDescriptors
975980 reshade::has_addon_event<reshade::addon_event::copy_descriptor_sets>())
976981 {
977982 reshade::api::descriptor_set_copy copy;
978- copy.dest_set = { DestDescriptorRangeStart. ptr } ;
979- copy.source_set = { SrcDescriptorRangeStart. ptr } ;
983+ copy.dest_set = convert_to_descriptor_set ( DestDescriptorRangeStart) ;
984+ copy.source_set = convert_to_descriptor_set ( SrcDescriptorRangeStart) ;
980985 copy.count = NumDescriptors;
981986
982987 if (reshade::invoke_addon_event<reshade::addon_event::copy_descriptor_sets>(this , 1 , ©))
@@ -1872,7 +1877,7 @@ HRESULT STDMETHODCALLTYPE D3D12Device::CreatePlacedResource1(ID3D12Heap *pHeap,
18721877void STDMETHODCALLTYPE D3D12Device::CreateSamplerFeedbackUnorderedAccessView (ID3D12Resource *pTargetedResource, ID3D12Resource *pFeedbackResource, D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor)
18731878{
18741879 assert (_interface_version >= 8 );
1875- #if RESHADE_ADDON
1880+ #if RESHADE_ADDON && !RESHADE_ADDON_LITE
18761881 static_cast <ID3D12Device8 *>(_orig)->CreateSamplerFeedbackUnorderedAccessView (pTargetedResource, pFeedbackResource, convert_to_original_cpu_descriptor_handle (DestDescriptor, D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV));
18771882#else
18781883 static_cast <ID3D12Device8 *>(_orig)->CreateSamplerFeedbackUnorderedAccessView (pTargetedResource, pFeedbackResource, DestDescriptor);
0 commit comments