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 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);
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Reference in New Issue