summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar David Marcec2018-09-01 18:45:14 +1000
committerGravatar David Marcec2018-09-01 18:45:14 +1000
commitb89fc407d78867119074ffc9c98eb0d0806be6a8 (patch)
tree26cb205263355eb0d52a01e3b9a1a0cd8b995b89 /src
parentMerge pull request #1196 from FearlessTobi/ccache-consistency (diff)
downloadyuzu-b89fc407d78867119074ffc9c98eb0d0806be6a8.tar.gz
yuzu-b89fc407d78867119074ffc9c98eb0d0806be6a8.tar.xz
yuzu-b89fc407d78867119074ffc9c98eb0d0806be6a8.zip
Added FFMA asserts
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/shader_bytecode.h4
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp7
2 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 3e4efbe0c..f17a24843 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -399,8 +399,12 @@ union Instruction {
399 } flow; 399 } flow;
400 400
401 union { 401 union {
402 BitField<47, 1, u64> cc;
402 BitField<48, 1, u64> negate_b; 403 BitField<48, 1, u64> negate_b;
403 BitField<49, 1, u64> negate_c; 404 BitField<49, 1, u64> negate_c;
405 BitField<50, 1, u64> saturate;
406 BitField<51, 2, u64> tab5980_1;
407 BitField<53, 2, u64> tab5980_0;
404 } ffma; 408 } ffma;
405 409
406 union { 410 union {
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 391c92d47..88b4e4324 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1436,6 +1436,13 @@ private:
1436 std::string op_b = instr.ffma.negate_b ? "-" : ""; 1436 std::string op_b = instr.ffma.negate_b ? "-" : "";
1437 std::string op_c = instr.ffma.negate_c ? "-" : ""; 1437 std::string op_c = instr.ffma.negate_c ? "-" : "";
1438 1438
1439 ASSERT_MSG(instr.ffma.saturate == 0, "FFMA Saturate not implemented");
1440 ASSERT_MSG(instr.ffma.cc == 0, "FFMA cc not implemented");
1441 ASSERT_MSG(instr.ffma.tab5980_0 == 0, "FFMA tab5980_0({}) not implemented",
1442 instr.ffma.tab5980_0.Value());
1443 ASSERT_MSG(instr.ffma.tab5980_1 == 0, "FFMA tab5980_1({}) not implemented",
1444 instr.ffma.tab5980_1.Value());
1445
1439 switch (opcode->GetId()) { 1446 switch (opcode->GetId()) {
1440 case OpCode::Id::FFMA_CR: { 1447 case OpCode::Id::FFMA_CR: {
1441 op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset, 1448 op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset,