From e4a8251749cf1fbf005b045e26e25f3ef7cccb8b Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 10 Dec 2020 09:43:09 -0800 Subject: Move ShaderObject to be under renderer interface. (#1633) * Move ShaderObject to be under renderer interface. * Make `create*PipelineState` take `const PipelineStateDesc&`. * Move ShaderCursor implementation to a cpp file --- tools/gfx/d3d12/render-d3d12.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tools/gfx/d3d12/render-d3d12.cpp') diff --git a/tools/gfx/d3d12/render-d3d12.cpp b/tools/gfx/d3d12/render-d3d12.cpp index 886754f0e..d3f030b88 100644 --- a/tools/gfx/d3d12/render-d3d12.cpp +++ b/tools/gfx/d3d12/render-d3d12.cpp @@ -5,6 +5,7 @@ //WORKING:#include "options.h" #include "../render.h" +#include "../render-graphics-common.h" #include "../surface.h" @@ -61,7 +62,7 @@ struct ID3D12GraphicsCommandList1 {}; namespace gfx { using namespace Slang; -class D3D12Renderer : public Renderer +class D3D12Renderer : public GraphicsAPIRenderer { public: // Renderer implementation @@ -3520,8 +3521,11 @@ Result D3D12Renderer::createDescriptorSet(DescriptorSetLayout* layout, Descripto return SLANG_OK; } -Result D3D12Renderer::createGraphicsPipelineState(const GraphicsPipelineStateDesc& desc, PipelineState** outState) +Result D3D12Renderer::createGraphicsPipelineState(const GraphicsPipelineStateDesc& inDesc, PipelineState** outState) { + GraphicsPipelineStateDesc desc = inDesc; + preparePipelineDesc(desc); + auto pipelineLayoutImpl = (PipelineLayoutImpl*) desc.pipelineLayout; auto programImpl = (ShaderProgramImpl*) desc.program; auto inputLayoutImpl = (InputLayoutImpl*) desc.inputLayout; @@ -3618,8 +3622,11 @@ Result D3D12Renderer::createGraphicsPipelineState(const GraphicsPipelineStateDes return SLANG_OK; } -Result D3D12Renderer::createComputePipelineState(const ComputePipelineStateDesc& desc, PipelineState** outState) +Result D3D12Renderer::createComputePipelineState(const ComputePipelineStateDesc& inDesc, PipelineState** outState) { + ComputePipelineStateDesc desc = inDesc; + preparePipelineDesc(desc); + auto pipelineLayoutImpl = (PipelineLayoutImpl*) desc.pipelineLayout; auto programImpl = (ShaderProgramImpl*) desc.program; -- cgit v1.2.3