0
0
mirror of https://notabug.org/litucks/torzu.git synced 2025-04-28 09:35:26 +00:00

feat(shader): implement geometry shader invocation info

- Update EmitInvocationInfo in SPIRV backend to handle geometry shader stage

ref: 1266fad681 (diff-4cbf73a98ed4ad649a4a6f38b569bc31fcf68cf7)
This commit is contained in:
EmulationEnjoyer 2024-11-12 21:21:24 +00:00 committed by spectranator
parent 56f062ac4d
commit 154aab7c4b

View File

@ -547,10 +547,9 @@ Id EmitInvocationInfo(EmitContext& ctx) {
switch (ctx.stage) { switch (ctx.stage) {
case Stage::TessellationControl: case Stage::TessellationControl:
case Stage::TessellationEval: case Stage::TessellationEval:
return ctx.OpShiftLeftLogical(ctx.U32[1], ctx.OpLoad(ctx.U32[1], ctx.patch_vertices_in), return ctx.OpShiftLeftLogical(ctx.U32[1], ctx.OpLoad(ctx.U32[1], ctx.patch_vertices_in), ctx.Const(16u));
ctx.Const(16u));
case Stage::Geometry: case Stage::Geometry:
return ctx.Const(InputTopologyVertices::vertices(ctx.runtime_info.input_topology) << 16); return ctx.OpShiftLeftLogical(ctx.U32[1], ctx.Const(InputTopologyVertices::vertices(ctx.runtime_info.input_topology)), ctx.Const(16u));
default: default:
LOG_WARNING(Shader, "(STUBBED) called"); LOG_WARNING(Shader, "(STUBBED) called");
return ctx.Const(0x00ff0000u); return ctx.Const(0x00ff0000u);