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/render-graphics-common.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 tools/gfx/render-graphics-common.h (limited to 'tools/gfx/render-graphics-common.h') diff --git a/tools/gfx/render-graphics-common.h b/tools/gfx/render-graphics-common.h new file mode 100644 index 000000000..5bb4cb59e --- /dev/null +++ b/tools/gfx/render-graphics-common.h @@ -0,0 +1,22 @@ +#pragma once + +#include "tools/gfx/render.h" + +namespace gfx +{ + +class GraphicsAPIRenderer : public Renderer +{ +public: + virtual Result createShaderObjectLayout( + slang::TypeLayoutReflection* typeLayout, ShaderObjectLayout** outLayout) SLANG_OVERRIDE; + virtual Result createRootShaderObjectLayout( + slang::ProgramLayout* programLayout, ShaderObjectLayout** outLayout) SLANG_OVERRIDE; + virtual Result createShaderObject(ShaderObjectLayout* layout, ShaderObject** outObject) SLANG_OVERRIDE; + virtual Result createRootShaderObject(ShaderObjectLayout* rootLayout, ShaderObject** outObject) SLANG_OVERRIDE; + virtual Result bindRootShaderObject(PipelineType pipelineType, ShaderObject* object) SLANG_OVERRIDE; + void preparePipelineDesc(GraphicsPipelineStateDesc& desc); + void preparePipelineDesc(ComputePipelineStateDesc& desc); +}; + +} -- cgit v1.2.3