summaryrefslogtreecommitdiffstats
path: root/tools/render-test/shader-renderer-util.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-03-10 10:58:15 -0800
committerGitHub <noreply@github.com>2021-03-10 10:58:15 -0800
commit6ef4054f8a8aea4ec61481057fa7e16aaecde6d7 (patch)
tree66edcae112faff7276c2595865463698bde277fd /tools/render-test/shader-renderer-util.cpp
parent2765861cdc104e6104a31cf9e20800b8d1dfae26 (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.cpp50
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;