From 80880ec857a97cd48a78e1e3375f8f76c9c33ee9 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Thu, 1 Feb 2018 21:45:36 +0100 Subject: [PATCH] (slang) slang_process.cpp: enforce the binding of the uniform and push constant blocks. --- gfx/drivers_shader/slang_process.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gfx/drivers_shader/slang_process.cpp b/gfx/drivers_shader/slang_process.cpp index 552b1fae05..2323078935 100644 --- a/gfx/drivers_shader/slang_process.cpp +++ b/gfx/drivers_shader/slang_process.cpp @@ -351,6 +351,16 @@ bool slang_process( vs_resources = vs_compiler->get_shader_resources(); ps_resources = ps_compiler->get_shader_resources(); + if(!vs_resources.uniform_buffers.empty()) + vs_compiler->set_decoration(vs_resources.uniform_buffers[0].id, spv::DecorationBinding, 0); + if(!ps_resources.uniform_buffers.empty()) + ps_compiler->set_decoration(ps_resources.uniform_buffers[0].id, spv::DecorationBinding, 0); + + if(!vs_resources.push_constant_buffers.empty()) + vs_compiler->set_decoration(vs_resources.push_constant_buffers[0].id, spv::DecorationBinding, 1); + if(!ps_resources.push_constant_buffers.empty()) + ps_compiler->set_decoration(ps_resources.push_constant_buffers[0].id, spv::DecorationBinding, 1); + if (dst_type == RARCH_SHADER_HLSL || dst_type == RARCH_SHADER_CG) { CompilerHLSL::Options options;