diff options
| author | 2024-02-19 00:34:00 -0500 | |
|---|---|---|
| committer | 2024-02-19 00:34:00 -0500 | |
| commit | f46dc31683737fabbb9b89ba85ca74242cdc405f (patch) | |
| tree | 828305f28a073f8a190d9828c1935758d1f788d0 /src/shader_recompiler/backend/spirv/emit_spirv.cpp | |
| parent | Merge pull request #13070 from liamwhite/offset (diff) | |
| download | yuzu-f46dc31683737fabbb9b89ba85ca74242cdc405f.tar.gz yuzu-f46dc31683737fabbb9b89ba85ca74242cdc405f.tar.xz yuzu-f46dc31683737fabbb9b89ba85ca74242cdc405f.zip | |
shader_recompiler: throw on missing geometry streams in geometry shaders
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp index 0031fa5fb..3f9698d6b 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp | |||
| @@ -261,7 +261,9 @@ void DefineEntryPoint(const IR::Program& program, EmitContext& ctx, Id main) { | |||
| 261 | case Stage::Geometry: | 261 | case Stage::Geometry: |
| 262 | execution_model = spv::ExecutionModel::Geometry; | 262 | execution_model = spv::ExecutionModel::Geometry; |
| 263 | ctx.AddCapability(spv::Capability::Geometry); | 263 | ctx.AddCapability(spv::Capability::Geometry); |
| 264 | ctx.AddCapability(spv::Capability::GeometryStreams); | 264 | if (ctx.profile.support_geometry_streams) { |
| 265 | ctx.AddCapability(spv::Capability::GeometryStreams); | ||
| 266 | } | ||
| 265 | switch (ctx.runtime_info.input_topology) { | 267 | switch (ctx.runtime_info.input_topology) { |
| 266 | case InputTopology::Points: | 268 | case InputTopology::Points: |
| 267 | ctx.AddExecutionMode(main, spv::ExecutionMode::InputPoints); | 269 | ctx.AddExecutionMode(main, spv::ExecutionMode::InputPoints); |