From e53fa383117702c493037577a843d6369e480ae7 Mon Sep 17 00:00:00 2001 From: Andrew Richards Date: Sun, 6 Jun 2021 10:32:17 +0100 Subject: [PATCH] Better handling of input attachments when compiling SPIR-V. --- MIRU_SHADER_COMPILER/shaders/includes/msc_common.h | 2 +- MIRU_SHADER_COMPILER/src/BuildSPV.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MIRU_SHADER_COMPILER/shaders/includes/msc_common.h b/MIRU_SHADER_COMPILER/shaders/includes/msc_common.h index dd6742a..d13cff2 100644 --- a/MIRU_SHADER_COMPILER/shaders/includes/msc_common.h +++ b/MIRU_SHADER_COMPILER/shaders/includes/msc_common.h @@ -63,7 +63,7 @@ #define MIRU_COMBINED_IMAGE_SAMPLER_ARRAY(image_type, set_num, bind_num, type, name, count) image_type(set_num, bind_num, type, name##_ImageCIS[count]); MIRU_SAMPLER(set_num, bind_num, name##_SamplerCIS[count]) //Subpass Input Attachments -#if defined MIRU_VULKAN +#if defined MIRU_VULKAN && defined MIRU_FRAGMENT_SHADER #define MIRU_SUBPASS_INPUT(set_num, bind_num, idx_num, type, name) [[vk::binding(bind_num, set_num)]][[vk::input_attachment_index(idx_num)]] SubpassInput name #define MIRU_SUBPASS_INPUT_MS(set_num, bind_num, idx_num, type, name) [[vk::binding(bind_num, set_num)]][[vk::input_attachment_index(idx_num)]] SubpassInputMS name #define MIRU_SUBPASS_LOAD(name, sv_pos) name.SubpassLoad() diff --git a/MIRU_SHADER_COMPILER/src/BuildSPV.h b/MIRU_SHADER_COMPILER/src/BuildSPV.h index c4cfeeb..8331bf0 100644 --- a/MIRU_SHADER_COMPILER/src/BuildSPV.h +++ b/MIRU_SHADER_COMPILER/src/BuildSPV.h @@ -215,6 +215,8 @@ namespace shader_compiler for (auto& includeDirectory : includeDirectories) command += " -I" + includeDirectory; command += " -DMIRU_VULKAN " + additionCommandlineArgs; + if (shaderStage.find("frag") != std::string::npos) + command += " -DMIRU_FRAGMENT_SHADER"; //Run glslangValidator MIRU_SHADER_COMPILER_PRINTF("MIRU_SHADER_COMPILER: HLSL -> SPV using GLSLANGVALIDATOR\n");