summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-20 06:49:26 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:32 +0200
commit3d0ffc6ad077174e2af9f3923fd99ced6f5e373b (patch)
treeb7a50656b63f5207c61f52bd6e655634dd9d7c1d
parentglasm: Implement ImageGradient (diff)
downloadyuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar.gz
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar.bz2
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar.lz
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar.xz
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.tar.zst
yuzu-3d0ffc6ad077174e2af9f3923fd99ced6f5e373b.zip
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_instructions.h2
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp10
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) {