glasm: Implement EmitVertex and EndPrimitive

This commit is contained in:
ReinUsesLisp 2021-05-20 01:49:26 -03:00 committed by ameerj
parent f79cbbf814
commit 3d0ffc6ad0
2 changed files with 8 additions and 4 deletions

View file

@ -32,7 +32,7 @@ void EmitWorkgroupMemoryBarrier(EmitContext& ctx);
void EmitDeviceMemoryBarrier(EmitContext& ctx); void EmitDeviceMemoryBarrier(EmitContext& ctx);
void EmitPrologue(EmitContext& ctx); void EmitPrologue(EmitContext& ctx);
void EmitEpilogue(EmitContext& ctx); void EmitEpilogue(EmitContext& ctx);
void EmitEmitVertex(EmitContext& ctx, const IR::Value& stream); void EmitEmitVertex(EmitContext& ctx, ScalarS32 stream);
void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream); void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream);
void EmitGetRegister(EmitContext& ctx); void EmitGetRegister(EmitContext& ctx);
void EmitSetRegister(EmitContext& ctx); void EmitSetRegister(EmitContext& ctx);

View file

@ -72,12 +72,16 @@ void EmitEpilogue(EmitContext& ctx) {
// TODO // TODO
} }
void EmitEmitVertex(EmitContext& ctx, const IR::Value& stream) { void EmitEmitVertex(EmitContext& ctx, ScalarS32 stream) {
NotImplemented(); ctx.Add("EMITS {};", stream);
} }
void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream) { void EmitEndPrimitive(EmitContext& ctx, const IR::Value& stream) {
NotImplemented(); if (!stream.IsImmediate()) {
// LOG_WARNING not immediate
}
ctx.reg_alloc.Consume(stream);
ctx.Add("ENDPRIM;");
} }
void EmitGetRegister(EmitContext& ctx) { void EmitGetRegister(EmitContext& ctx) {