From e56d825165ca177bede4a4fbd7b8ee89583b4149 Mon Sep 17 00:00:00 2001 From: Bob Brown Date: Wed, 7 Sep 2016 15:27:57 -0700 Subject: [PATCH] Fixes for incorrect root signature 1.1 usage --- Samples/Desktop/D3D12Bundles/src/D3D12Bundles.cpp | 4 ++-- .../Desktop/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp | 4 ++-- Samples/Desktop/D3D12Fullscreen/src/D3D12Fullscreen.cpp | 2 +- .../D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp | 2 +- .../src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp | 2 +- .../Desktop/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp | 2 +- .../Desktop/D3D12Multithreading/src/D3D12Multithreading.cpp | 2 +- .../D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp | 4 ++-- .../D3D12ReservedResources/src/D3D12ReservedResources.cpp | 2 +- Samples/UWP/D3D12Bundles/src/D3D12Bundles.cpp | 4 ++-- Samples/UWP/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp | 4 ++-- Samples/UWP/D3D12Fullscreen/src/D3D12Fullscreen.cpp | 2 +- .../UWP/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp | 2 +- .../src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp | 2 +- Samples/UWP/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp | 2 +- .../D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp | 4 ++-- .../UWP/D3D12ReservedResources/src/D3D12ReservedResources.cpp | 2 +- 17 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Samples/Desktop/D3D12Bundles/src/D3D12Bundles.cpp b/Samples/Desktop/D3D12Bundles/src/D3D12Bundles.cpp index 94d3124ed..4e1a95aca 100644 --- a/Samples/Desktop/D3D12Bundles/src/D3D12Bundles.cpp +++ b/Samples/Desktop/D3D12Bundles/src/D3D12Bundles.cpp @@ -434,8 +434,6 @@ void D3D12Bundles::LoadAssets() m_device->CreateDepthStencilView(m_depthStencil.Get(), &depthStencilDesc, m_dsvHeap->GetCPUDescriptorHandleForHeapStart()); } - CreateFrameResources(); - // Close the command list and execute it to begin the initial GPU setup. ThrowIfFailed(m_commandList->Close()); ID3D12CommandList* ppCommandLists[] = { m_commandList.Get() }; @@ -466,6 +464,8 @@ void D3D12Bundles::LoadAssets() ThrowIfFailed(m_fence->SetEventOnCompletion(fenceToWaitFor, m_fenceEvent)); WaitForSingleObject(m_fenceEvent, INFINITE); } + + CreateFrameResources(); } // Update frame-based values. diff --git a/Samples/Desktop/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp b/Samples/Desktop/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp index 89805ac66..fff210b0c 100644 --- a/Samples/Desktop/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp +++ b/Samples/Desktop/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp @@ -532,8 +532,6 @@ void D3D12DynamicIndexing::LoadAssets() m_device->CreateDepthStencilView(m_depthStencil.Get(), &depthStencilDesc, m_dsvHeap->GetCPUDescriptorHandleForHeapStart()); } - CreateFrameResources(); - // Close the command list and execute it to begin the initial GPU setup. ThrowIfFailed(m_commandList->Close()); ID3D12CommandList* ppCommandLists[] = { m_commandList.Get() }; @@ -564,6 +562,8 @@ void D3D12DynamicIndexing::LoadAssets() ThrowIfFailed(m_fence->SetEventOnCompletion(fenceToWaitFor, m_fenceEvent)); WaitForSingleObject(m_fenceEvent, INFINITE); } + + CreateFrameResources(); } // Update frame-based values. diff --git a/Samples/Desktop/D3D12Fullscreen/src/D3D12Fullscreen.cpp b/Samples/Desktop/D3D12Fullscreen/src/D3D12Fullscreen.cpp index 985285e24..0102a885d 100644 --- a/Samples/Desktop/D3D12Fullscreen/src/D3D12Fullscreen.cpp +++ b/Samples/Desktop/D3D12Fullscreen/src/D3D12Fullscreen.cpp @@ -211,7 +211,7 @@ void D3D12Fullscreen::LoadAssets() CD3DX12_DESCRIPTOR_RANGE1 ranges[1]; CD3DX12_ROOT_PARAMETER1 rootParameters[1]; - ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); rootParameters[0].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL); // Allow input layout and pixel shader access and deny uneccessary access to certain pipeline stages. diff --git a/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp b/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp index 158179678..54d1c255f 100644 --- a/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp +++ b/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp @@ -134,7 +134,7 @@ void CrossNodeResources::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp b/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp index ad122377b..bb605619a 100644 --- a/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp +++ b/Samples/Desktop/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp @@ -220,7 +220,7 @@ void D3D12LinkedGpusAffinity::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/Desktop/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp b/Samples/Desktop/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp index 44b38cbc4..53063db33 100644 --- a/Samples/Desktop/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp +++ b/Samples/Desktop/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp @@ -215,7 +215,7 @@ void D3D12SingleGpu::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/Desktop/D3D12Multithreading/src/D3D12Multithreading.cpp b/Samples/Desktop/D3D12Multithreading/src/D3D12Multithreading.cpp index 3091ad350..b14156bca 100644 --- a/Samples/Desktop/D3D12Multithreading/src/D3D12Multithreading.cpp +++ b/Samples/Desktop/D3D12Multithreading/src/D3D12Multithreading.cpp @@ -191,7 +191,7 @@ void D3D12Multithreading::LoadAssets() CD3DX12_DESCRIPTOR_RANGE1 ranges[4]; // Perfomance TIP: Order from most frequent to least frequent. ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 2, 1, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); // 2 frequently changed diffuse + normal textures - using registers t1 and t2. ranges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_CBV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); // 1 frequently changed constant buffer. - ranges[2].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); // 1 infrequently changed shadow texture - starting in register t0. + ranges[2].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE);// 1 infrequently changed shadow texture - starting in register t0. ranges[3].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 2, 0); // 2 static samplers. CD3DX12_ROOT_PARAMETER1 rootParameters[4]; diff --git a/Samples/Desktop/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp b/Samples/Desktop/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp index 5752c4f1a..e70947ffe 100644 --- a/Samples/Desktop/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp +++ b/Samples/Desktop/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp @@ -210,12 +210,12 @@ void D3D12PipelineStateCache::LoadAssets() } CD3DX12_DESCRIPTOR_RANGE1 ranges[RootParametersCount]; - ranges[RootParameterSRV].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[RootParameterSRV].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); CD3DX12_ROOT_PARAMETER1 rootParameters[RootParametersCount]; rootParameters[RootParameterUberShaderCB].InitAsConstantBufferView(0, 0, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC, D3D12_SHADER_VISIBILITY_ALL); rootParameters[RootParameterCB].InitAsConstantBufferView(1, 0, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC, D3D12_SHADER_VISIBILITY_ALL); - rootParameters[RootParameterSRV].InitAsDescriptorTable(1, &ranges[RootParameterSRV]); + rootParameters[RootParameterSRV].InitAsDescriptorTable(1, &ranges[RootParameterSRV], D3D12_SHADER_VISIBILITY_PIXEL); D3D12_STATIC_SAMPLER_DESC sampler = {}; sampler.Filter = D3D12_FILTER_MIN_MAG_MIP_POINT; diff --git a/Samples/Desktop/D3D12ReservedResources/src/D3D12ReservedResources.cpp b/Samples/Desktop/D3D12ReservedResources/src/D3D12ReservedResources.cpp index 39204a78e..93bb3c8f6 100644 --- a/Samples/Desktop/D3D12ReservedResources/src/D3D12ReservedResources.cpp +++ b/Samples/Desktop/D3D12ReservedResources/src/D3D12ReservedResources.cpp @@ -191,7 +191,7 @@ void D3D12ReservedResources::LoadAssets() } CD3DX12_DESCRIPTOR_RANGE1 ranges[1]; - ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); CD3DX12_ROOT_PARAMETER1 rootParameters[2]; rootParameters[0].InitAsConstants(1, 0, 0, D3D12_SHADER_VISIBILITY_PIXEL); diff --git a/Samples/UWP/D3D12Bundles/src/D3D12Bundles.cpp b/Samples/UWP/D3D12Bundles/src/D3D12Bundles.cpp index 9802f61df..cc9763eae 100644 --- a/Samples/UWP/D3D12Bundles/src/D3D12Bundles.cpp +++ b/Samples/UWP/D3D12Bundles/src/D3D12Bundles.cpp @@ -430,8 +430,6 @@ void D3D12Bundles::LoadAssets() m_device->CreateDepthStencilView(m_depthStencil.Get(), &depthStencilDesc, m_dsvHeap->GetCPUDescriptorHandleForHeapStart()); } - CreateFrameResources(); - // Close the command list and execute it to begin the initial GPU setup. ThrowIfFailed(m_commandList->Close()); ID3D12CommandList* ppCommandLists[] = { m_commandList.Get() }; @@ -462,6 +460,8 @@ void D3D12Bundles::LoadAssets() ThrowIfFailed(m_fence->SetEventOnCompletion(fenceToWaitFor, m_fenceEvent)); WaitForSingleObject(m_fenceEvent, INFINITE); } + + CreateFrameResources(); } // Update frame-based values. diff --git a/Samples/UWP/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp b/Samples/UWP/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp index 185bd9a1b..718448689 100644 --- a/Samples/UWP/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp +++ b/Samples/UWP/D3D12DynamicIndexing/src/D3D12DynamicIndexing.cpp @@ -528,8 +528,6 @@ void D3D12DynamicIndexing::LoadAssets() m_device->CreateDepthStencilView(m_depthStencil.Get(), &depthStencilDesc, m_dsvHeap->GetCPUDescriptorHandleForHeapStart()); } - CreateFrameResources(); - // Close the command list and execute it to begin the initial GPU setup. ThrowIfFailed(m_commandList->Close()); ID3D12CommandList* ppCommandLists[] = { m_commandList.Get() }; @@ -560,6 +558,8 @@ void D3D12DynamicIndexing::LoadAssets() ThrowIfFailed(m_fence->SetEventOnCompletion(fenceToWaitFor, m_fenceEvent)); WaitForSingleObject(m_fenceEvent, INFINITE); } + + CreateFrameResources(); } // Update frame-based values. diff --git a/Samples/UWP/D3D12Fullscreen/src/D3D12Fullscreen.cpp b/Samples/UWP/D3D12Fullscreen/src/D3D12Fullscreen.cpp index 647a8698c..67d50e273 100644 --- a/Samples/UWP/D3D12Fullscreen/src/D3D12Fullscreen.cpp +++ b/Samples/UWP/D3D12Fullscreen/src/D3D12Fullscreen.cpp @@ -203,7 +203,7 @@ void D3D12Fullscreen::LoadAssets() CD3DX12_DESCRIPTOR_RANGE1 ranges[1]; CD3DX12_ROOT_PARAMETER1 rootParameters[1]; - ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); rootParameters[0].InitAsDescriptorTable(1, &ranges[0], D3D12_SHADER_VISIBILITY_PIXEL); // Allow input layout and pixel shader access and deny uneccessary access to certain pipeline stages. diff --git a/Samples/UWP/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp b/Samples/UWP/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp index 5672ed6bc..dfe958fbb 100644 --- a/Samples/UWP/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp +++ b/Samples/UWP/D3D12LinkedGpus/src/LinkedGpus/CrossNodeResources.cpp @@ -125,7 +125,7 @@ void CrossNodeResources::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/UWP/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp b/Samples/UWP/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp index a5e60a58e..87620240d 100644 --- a/Samples/UWP/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp +++ b/Samples/UWP/D3D12LinkedGpus/src/LinkedGpusAffinity/D3D12LinkedGpusAffinity.cpp @@ -214,7 +214,7 @@ void D3D12LinkedGpusAffinity::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/UWP/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp b/Samples/UWP/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp index c6ca812cf..7b19593f3 100644 --- a/Samples/UWP/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp +++ b/Samples/UWP/D3D12LinkedGpus/src/SingleGpu/D3D12SingleGpu.cpp @@ -209,7 +209,7 @@ void D3D12SingleGpu::LoadAssets() // Create a root signature for the post-process pass. { CD3DX12_DESCRIPTOR_RANGE1 postRanges[2]; - postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + postRanges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, Settings::SceneHistoryCount, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); postRanges[1].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER, 1, 0); CD3DX12_ROOT_PARAMETER1 postRootParameters[3]; diff --git a/Samples/UWP/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp b/Samples/UWP/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp index 507976ec5..8d9b12e6c 100644 --- a/Samples/UWP/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp +++ b/Samples/UWP/D3D12PipelineStateCache/src/D3D12PipelineStateCache.cpp @@ -206,12 +206,12 @@ void D3D12PipelineStateCache::LoadAssets() } CD3DX12_DESCRIPTOR_RANGE1 ranges[RootParametersCount]; - ranges[RootParameterSRV].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[RootParameterSRV].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); CD3DX12_ROOT_PARAMETER1 rootParameters[RootParametersCount]; rootParameters[RootParameterUberShaderCB].InitAsConstantBufferView(0, 0, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC, D3D12_SHADER_VISIBILITY_ALL); rootParameters[RootParameterCB].InitAsConstantBufferView(1, 0, D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC, D3D12_SHADER_VISIBILITY_ALL); - rootParameters[RootParameterSRV].InitAsDescriptorTable(1, &ranges[RootParameterSRV]); + rootParameters[RootParameterSRV].InitAsDescriptorTable(1, &ranges[RootParameterSRV], D3D12_SHADER_VISIBILITY_PIXEL); D3D12_STATIC_SAMPLER_DESC sampler = {}; sampler.Filter = D3D12_FILTER_MIN_MAG_MIP_POINT; diff --git a/Samples/UWP/D3D12ReservedResources/src/D3D12ReservedResources.cpp b/Samples/UWP/D3D12ReservedResources/src/D3D12ReservedResources.cpp index 87b835dc3..f7c41f61a 100644 --- a/Samples/UWP/D3D12ReservedResources/src/D3D12ReservedResources.cpp +++ b/Samples/UWP/D3D12ReservedResources/src/D3D12ReservedResources.cpp @@ -190,7 +190,7 @@ void D3D12ReservedResources::LoadAssets() } CD3DX12_DESCRIPTOR_RANGE1 ranges[1]; - ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC); + ranges[0].Init(D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 1, 0, 0, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE); CD3DX12_ROOT_PARAMETER1 rootParameters[2]; rootParameters[0].InitAsConstants(1, 0, 0, D3D12_SHADER_VISIBILITY_PIXEL);