diff options
| author | 2018-09-01 18:45:14 +1000 | |
|---|---|---|
| committer | 2018-09-01 18:45:14 +1000 | |
| commit | b89fc407d78867119074ffc9c98eb0d0806be6a8 (patch) | |
| tree | 26cb205263355eb0d52a01e3b9a1a0cd8b995b89 /src | |
| parent | Merge pull request #1196 from FearlessTobi/ccache-consistency (diff) | |
| download | yuzu-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.h | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 7 |
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, |