aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_context.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-03-26 16:46:07 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:24 -0400
commitd9c5bd9509e82fcde72c18663989931f97ed6518 (patch)
treed6575e66d66a8abc8ee8776c1c2536c052424787 /src/shader_recompiler/backend/spirv/emit_context.cpp
parentb5db38f50e9f81964bf0cc946e4ed5b00fe564d0 (diff)
shader: Refactor PTP and other minor changes
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.cpp')
-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 7d8b938d18..50793b5bfa 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");
}
}