diff options
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.cpp | 12 |
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 | ||
| 270 | void EmitGetSparseFromOp(EmitContext&) { | ||
| 271 | throw LogicError("Unreachable instruction"); | ||
| 272 | } | ||
| 273 | |||
| 262 | } // namespace Shader::Backend::SPIRV | 274 | } // namespace Shader::Backend::SPIRV |