graphics: emit PS5 register object and primitive IDs to RT7

This commit is contained in:
nmzik committed 2026-10-15 22:28:01 +02:00
1 parent d172ab75ca
commit f7226ca7dc
15 files changed
+291 -101

No files matched your search

@@ -85,6 +85,14 @@ void StoreDispatcherPhiEdge(ValueEmitContext& ctx, const DispatcherFunctionState
void EmitReturn(ValueEmitContext& ctx) {
EmitKillIfPixelValidMaskInactive(ctx.state);
if (ctx.state.object_primitive_id_variable != 0) {
auto& state = ctx.state;
const auto primitive = EmitGetBuiltin(
ctx, IR::Value {static_cast<uint32_t>(IR::StageInputKind::PrimitiveId)}, IR::Value {0u});
const auto object = EmitPushDataLoad(state, ConstantU32(state, 0));
state.builder.AddFunction(spv::OpStore, state.object_primitive_id_variable,
EmitAddU32(state, object, primitive));
}
ctx.state.builder.AddFunction(spv::OpReturn);
}