summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_spirv.cpp
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-03-08 18:31:53 -0300
committerGravatar ameerj2021-07-22 21:51:23 -0400
commitab463712474de5f99eec137a9c6233e55fe184f0 (patch)
tree30d79ac64dd03d5cfafd07c0c42c2baadc82de98 /src/shader_recompiler/backend/spirv/emit_spirv.cpp
parentshader: Implement R2P (diff)
downloadyuzu-ab463712474de5f99eec137a9c6233e55fe184f0.tar.gz
yuzu-ab463712474de5f99eec137a9c6233e55fe184f0.tar.xz
yuzu-ab463712474de5f99eec137a9c6233e55fe184f0.zip
shader: Initial support for textures and TEX
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index 8097fe82d..a94e9cb2d 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -221,6 +221,14 @@ std::vector<u32> EmitSPIRV(const Profile& profile, Environment& env, IR::Program
221 workgroup_size[2]); 221 workgroup_size[2]);
222 222
223 SetupDenormControl(profile, program, ctx, func); 223 SetupDenormControl(profile, program, ctx, func);
224 if (info.uses_sampled_1d) {
225 ctx.AddCapability(spv::Capability::Sampled1D);
226 }
227 if (info.uses_sparse_residency) {
228 ctx.AddCapability(spv::Capability::SparseResidency);
229 }
230 // TODO: Track this usage
231 ctx.AddCapability(spv::Capability::ImageGatherExtended);
224 232
225 return ctx.Assemble(); 233 return ctx.Assemble();
226} 234}
@@ -259,4 +267,8 @@ void EmitGetOverflowFromOp(EmitContext&) {
259 throw LogicError("Unreachable instruction"); 267 throw LogicError("Unreachable instruction");
260} 268}
261 269
270void EmitGetSparseFromOp(EmitContext&) {
271 throw LogicError("Unreachable instruction");
272}
273
262} // namespace Shader::Backend::SPIRV 274} // namespace Shader::Backend::SPIRV