diff options
| author | Yong He <yonghe@outlook.com> | 2021-03-10 10:58:15 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-10 10:58:15 -0800 |
| commit | 6ef4054f8a8aea4ec61481057fa7e16aaecde6d7 (patch) | |
| tree | 66edcae112faff7276c2595865463698bde277fd /tools/render-test/shader-renderer-util.cpp | |
| parent | 2765861cdc104e6104a31cf9e20800b8d1dfae26 (diff) | |
Swapchain resize and rename to `IDevice` (#1741)
* Swapchain resize
* Fix.
Diffstat (limited to 'tools/render-test/shader-renderer-util.cpp')
| -rw-r--r-- | tools/render-test/shader-renderer-util.cpp | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/tools/render-test/shader-renderer-util.cpp b/tools/render-test/shader-renderer-util.cpp index d42c5c7ef..57187fc44 100644 --- a/tools/render-test/shader-renderer-util.cpp +++ b/tools/render-test/shader-renderer-util.cpp @@ -34,19 +34,19 @@ void BindingStateImpl::apply(ICommandEncoder* encoder, PipelineType pipelineType /* static */ Result ShaderRendererUtil::generateTextureResource( const InputTextureDesc& inputDesc, int bindFlags, - IRenderer* renderer, + IDevice* device, ComPtr<ITextureResource>& textureOut) { TextureData texData; generateTextureData(texData, inputDesc); - return createTextureResource(inputDesc, texData, bindFlags, renderer, textureOut); + return createTextureResource(inputDesc, texData, bindFlags, device, textureOut); } /* static */ Result ShaderRendererUtil::createTextureResource( const InputTextureDesc& inputDesc, const TextureData& texData, int bindFlags, - IRenderer* renderer, + IDevice* device, ComPtr<ITextureResource>& textureOut) { ITextureResource::Desc textureResourceDesc; @@ -118,7 +118,7 @@ void BindingStateImpl::apply(ICommandEncoder* encoder, PipelineType pipelineType initData.numSubResources = numSubResources; initData.subResources = subResources.getBuffer(); - textureOut = renderer->createTextureResource(IResource::Usage::GenericRead, textureResourceDesc, &initData); + textureOut = device->createTextureResource(IResource::Usage::GenericRead, textureResourceDesc, &initData); return textureOut ? SLANG_OK : SLANG_FAIL; } @@ -128,7 +128,7 @@ void BindingStateImpl::apply(ICommandEncoder* encoder, PipelineType pipelineType bool isOutput, size_t bufferSize, const void* initData, - IRenderer* renderer, + IDevice* device, Slang::ComPtr<IBufferResource>& bufferOut) { IResource::Usage initialUsage = IResource::Usage::GenericRead; @@ -158,7 +158,8 @@ void BindingStateImpl::apply(ICommandEncoder* encoder, PipelineType pipelineType srcDesc.bindFlags = bindFlags; - ComPtr<IBufferResource> bufferResource = renderer->createBufferResource(initialUsage, srcDesc, initData); + ComPtr<IBufferResource> bufferResource = + device->createBufferResource(initialUsage, srcDesc, initData); if (!bufferResource) { return SLANG_FAIL; @@ -179,15 +180,15 @@ static ISamplerState::Desc _calcSamplerDesc(const InputSamplerDesc& srcDesc) return dstDesc; } -ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, +ComPtr<ISamplerState> _createSamplerState(IDevice* device, const InputSamplerDesc& srcDesc) { - return renderer->createSamplerState(_calcSamplerDesc(srcDesc)); + return device->createSamplerState(_calcSamplerDesc(srcDesc)); } /* static */ Result ShaderRendererUtil::createBindingState( const ShaderInputLayout& layout, - IRenderer* renderer, + IDevice* device, IBufferResource* addedConstantBuffer, BindingStateImpl** outBindingState) { @@ -284,7 +285,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, descriptorSetLayoutDesc.slotRangeCount = slotRangeDescs.getCount(); descriptorSetLayoutDesc.slotRanges = slotRangeDescs.getBuffer(); - auto descriptorSetLayout = renderer->createDescriptorSetLayout(descriptorSetLayoutDesc); + auto descriptorSetLayout = device->createDescriptorSetLayout(descriptorSetLayoutDesc); if(!descriptorSetLayout) return SLANG_FAIL; List<IPipelineLayout::DescriptorSetDesc> pipelineDescriptorSets; @@ -295,10 +296,11 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, pipelineLayoutDesc.descriptorSetCount = pipelineDescriptorSets.getCount(); pipelineLayoutDesc.descriptorSets = pipelineDescriptorSets.getBuffer(); - auto pipelineLayout = renderer->createPipelineLayout(pipelineLayoutDesc); + auto pipelineLayout = device->createPipelineLayout(pipelineLayoutDesc); if(!pipelineLayout) return SLANG_FAIL; - auto descriptorSet = renderer->createDescriptorSet(descriptorSetLayout, IDescriptorSet::Flag::Transient); + auto descriptorSet = + device->createDescriptorSet(descriptorSetLayout, IDescriptorSet::Flag::Transient); if(!descriptorSet) return SLANG_FAIL; List<BindingStateImpl::OutputBinding> outputBindings; @@ -335,7 +337,13 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, } ComPtr<IBufferResource> bufferResource; - SLANG_RETURN_ON_FAIL(createBufferResource(srcEntry.bufferDesc, srcEntry.isOutput, bufferSize, srcEntry.bufferData.getBuffer(), renderer, bufferResource)); + SLANG_RETURN_ON_FAIL(createBufferResource( + srcEntry.bufferDesc, + srcEntry.isOutput, + bufferSize, + srcEntry.bufferData.getBuffer(), + device, + bufferResource)); switch(srcBuffer.type) { @@ -348,7 +356,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, IResourceView::Desc viewDesc; viewDesc.type = IResourceView::Type::UnorderedAccess; viewDesc.format = srcBuffer.format; - auto bufferView = renderer->createBufferView( + auto bufferView = device->createBufferView( bufferResource, viewDesc); descriptorSet->setResource(rangeIndex, 0, bufferView); @@ -369,13 +377,14 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, case ShaderInputType::CombinedTextureSampler: { ComPtr<ITextureResource> texture; - SLANG_RETURN_ON_FAIL(generateTextureResource(srcEntry.textureDesc, textureBindFlags, renderer, texture)); + SLANG_RETURN_ON_FAIL(generateTextureResource( + srcEntry.textureDesc, textureBindFlags, device, texture)); - auto sampler = _createSamplerState(renderer, srcEntry.samplerDesc); + auto sampler = _createSamplerState(device, srcEntry.samplerDesc); IResourceView::Desc viewDesc; viewDesc.type = IResourceView::Type::ShaderResource; - auto textureView = renderer->createTextureView( + auto textureView = device->createTextureView( texture, viewDesc); @@ -394,13 +403,14 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, case ShaderInputType::Texture: { ComPtr<ITextureResource> texture; - SLANG_RETURN_ON_FAIL(generateTextureResource(srcEntry.textureDesc, textureBindFlags, renderer, texture)); + SLANG_RETURN_ON_FAIL(generateTextureResource( + srcEntry.textureDesc, textureBindFlags, device, texture)); // TODO: support UAV textures... IResourceView::Desc viewDesc; viewDesc.type = IResourceView::Type::ShaderResource; - auto textureView = renderer->createTextureView( + auto textureView = device->createTextureView( texture, viewDesc); @@ -423,7 +433,7 @@ ComPtr<ISamplerState> _createSamplerState(IRenderer* renderer, case ShaderInputType::Sampler: { - auto sampler = _createSamplerState(renderer, srcEntry.samplerDesc); + auto sampler = _createSamplerState(device, srcEntry.samplerDesc); descriptorSet->setSampler(rangeIndex, 0, sampler); } break; |
