diff options
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_instructions.h | 2 | ||||
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp | 10 | 
2 files changed, 8 insertions, 4 deletions
| diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h index 7ccba4c6f..0ce00db67 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h +++ b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h @@ -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); diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp index f7fec0545..9b962427c 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp @@ -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) { | 
