summaryrefslogtreecommitdiffstats
path: root/tools/gfx/vulkan/render-vk.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-12-10 09:43:09 -0800
committerGitHub <noreply@github.com>2020-12-10 09:43:09 -0800
commite4a8251749cf1fbf005b045e26e25f3ef7cccb8b (patch)
tree209bb9617acb91c9cc1a9cc14f9aab5e92ca9871 /tools/gfx/vulkan/render-vk.cpp
parentb8e1f62fb9cc66481b35231149448e47f096d257 (diff)
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
Diffstat (limited to 'tools/gfx/vulkan/render-vk.cpp')
-rw-r--r--tools/gfx/vulkan/render-vk.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/gfx/vulkan/render-vk.cpp b/tools/gfx/vulkan/render-vk.cpp
index 6f2411f24..0f6e3cdaa 100644
--- a/tools/gfx/vulkan/render-vk.cpp
+++ b/tools/gfx/vulkan/render-vk.cpp
@@ -3,6 +3,7 @@
//WORKING:#include "options.h"
#include "../render.h"
+#include "../render-graphics-common.h"
#include "../../source/core/slang-smart-pointer.h"
@@ -29,7 +30,7 @@
namespace gfx {
using namespace Slang;
-class VKRenderer : public Renderer
+class VKRenderer : public GraphicsAPIRenderer
{
public:
enum
@@ -2721,8 +2722,11 @@ Result VKRenderer::createProgram(const ShaderProgram::Desc& desc, ShaderProgram*
return SLANG_OK;
}
-Result VKRenderer::createGraphicsPipelineState(const GraphicsPipelineStateDesc& desc, PipelineState** outState)
+Result VKRenderer::createGraphicsPipelineState(const GraphicsPipelineStateDesc& inDesc, PipelineState** outState)
{
+ GraphicsPipelineStateDesc desc = inDesc;
+ preparePipelineDesc(desc);
+
VkPipelineCache pipelineCache = VK_NULL_HANDLE;
auto programImpl = (ShaderProgramImpl*) desc.program;
@@ -2849,8 +2853,11 @@ Result VKRenderer::createGraphicsPipelineState(const GraphicsPipelineStateDesc&
return SLANG_OK;
}
-Result VKRenderer::createComputePipelineState(const ComputePipelineStateDesc& desc, PipelineState** outState)
+Result VKRenderer::createComputePipelineState(const ComputePipelineStateDesc& inDesc, PipelineState** outState)
{
+ ComputePipelineStateDesc desc = inDesc;
+ preparePipelineDesc(desc);
+
VkPipelineCache pipelineCache = VK_NULL_HANDLE;
auto programImpl = (ShaderProgramImpl*) desc.program;