summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/backend/spirv/emit_context.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-03-26 20:46:07 +0100
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:24 +0200
commitd9c5bd9509e82fcde72c18663989931f97ed6518 (patch)
treed6575e66d66a8abc8ee8776c1c2536c052424787 /src/shader_recompiler/backend/spirv/emit_context.cpp
parentshader: Add IR opcode for ImageFetch (diff)
downloadyuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar.gz
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar.bz2
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar.lz
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar.xz
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.tar.zst
yuzu-d9c5bd9509e82fcde72c18663989931f97ed6518.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/emit_context.cpp
index 7d8b938d1..50793b5bf 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_context.cpp
@@ -169,7 +169,6 @@ void EmitContext::DefineCommonTypes(const Info& info) {
AddCapability(spv::Capability::Float64);
F64.Define(*this, TypeFloat(64), "f64");
}
- array_U32x2 = Name(TypeArray(U32[2], Constant(U32[1], 4U)), "array-u32x2");
}
void EmitContext::DefineCommonConstants() {
@@ -352,20 +351,19 @@ void EmitContext::DefineOutputs(const Info& info) {
}
}
if (stage == Stage::Fragment) {
- for (size_t i = 0; i < 8; ++i) {
- if (!info.stores_frag_color[i]) {
+ for (u32 index = 0; index < 8; ++index) {
+ if (!info.stores_frag_color[index]) {
continue;
}
- frag_color[i] = DefineOutput(*this, F32[4]);
- Decorate(frag_color[i], spv::Decoration::Location, static_cast<u32>(i));
- Name(frag_color[i], fmt::format("frag_color{}", i));
+ frag_color[index] = DefineOutput(*this, F32[4]);
+ Decorate(frag_color[index], spv::Decoration::Location, index);
+ Name(frag_color[index], fmt::format("frag_color{}", index));
}
- if (!info.stores_frag_depth) {
- return;
+ if (info.stores_frag_depth) {
+ frag_depth = DefineOutput(*this, F32[1]);
+ Decorate(frag_depth, spv::Decoration::BuiltIn, spv::BuiltIn::FragDepth);
+ Name(frag_depth, "frag_depth");
}
- frag_depth = DefineOutput(*this, F32[1]);
- Decorate(frag_depth, spv::Decoration::BuiltIn, static_cast<u32>(spv::BuiltIn::FragDepth));
- Name(frag_depth, "frag_depth");
}
}