glasm: Implement EmitVertex and EndPrimitive
This commit is contained in:
		| @@ -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
	
	Block a user