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