glasm: Implement EmitVertex and EndPrimitive
This commit is contained in:
parent
f79cbbf814
commit
3d0ffc6ad0
|
@ -32,7 +32,7 @@ void EmitWorkgroupMemoryBarrier(EmitContext& ctx);
|
|||
void EmitDeviceMemoryBarrier(EmitContext& ctx);
|
||||
void EmitPrologue(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 EmitGetRegister(EmitContext& ctx);
|
||||
void EmitSetRegister(EmitContext& ctx);
|
||||
|
|
|
@ -72,12 +72,16 @@ void EmitEpilogue(EmitContext& ctx) {
|
|||
// TODO
|
||||
}
|
||||
|
||||
void EmitEmitVertex(EmitContext& ctx, const IR::Value& stream) {
|
||||
NotImplemented();
|
||||
void EmitEmitVertex(EmitContext& ctx, ScalarS32 stream) {
|
||||
ctx.Add("EMITS {};", 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) {
|
||||
|
|
Reference in New Issue