summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar FernandoS272021-04-01 07:52:36 +0200
committerGravatar ameerj2021-07-22 21:51:25 -0400
commit5ed8f2438498d3281c2ce8621869995de3908413 (patch)
treebe8c944e46c0ce84def6e38cee63324915ac83a4 /src
parentshader: Fold composite extract (diff)
downloadyuzu-5ed8f2438498d3281c2ce8621869995de3908413.tar.gz
yuzu-5ed8f2438498d3281c2ce8621869995de3908413.tar.xz
yuzu-5ed8f2438498d3281c2ce8621869995de3908413.zip
shader: Stub VOTE.VTG
Diffstat (limited to 'src')
-rw-r--r--src/shader_recompiler/frontend/ir/ir_emitter.cpp7
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/move_special_register.cpp4
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp4
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/vote.cpp4
4 files changed, 15 insertions, 4 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
index edf8c05d4..5258ede09 100644
--- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp
+++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
@@ -256,6 +256,13 @@ static U1 GetFlowTest(IREmitter& ir, FlowTest flow_test) {
256 return ir.LogicalOr(ir.GetSFlag(), ir.GetZFlag()); 256 return ir.LogicalOr(ir.GetSFlag(), ir.GetZFlag());
257 case FlowTest::RGT: 257 case FlowTest::RGT:
258 return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag())); 258 return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag()));
259 case FlowTest::CSM_TA:
260 case FlowTest::CSM_TR:
261 case FlowTest::CSM_MX:
262 case FlowTest::FCSM_TA:
263 case FlowTest::FCSM_TR:
264 case FlowTest::FCSM_MX:
265 return ir.Imm1(false);
259 default: 266 default:
260 throw NotImplementedException("Flow test {}", flow_test); 267 throw NotImplementedException("Flow test {}", flow_test);
261 } 268 }
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/move_special_register.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/move_special_register.cpp
index 93cea302a..a295f4c5e 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/move_special_register.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/move_special_register.cpp
@@ -95,6 +95,10 @@ enum class SpecialRegister : u64 {
95 return ir.WorkgroupIdY(); 95 return ir.WorkgroupIdY();
96 case SpecialRegister::SR_CTAID_Z: 96 case SpecialRegister::SR_CTAID_Z:
97 return ir.WorkgroupIdZ(); 97 return ir.WorkgroupIdZ();
98 case SpecialRegister::SR_WSCALEFACTOR_XY:
99 return ir.Imm32(Common::BitCast<u32>(1.0f));
100 case SpecialRegister::SR_WSCALEFACTOR_Z:
101 return ir.Imm32(Common::BitCast<u32>(1.0f));
98 default: 102 default:
99 throw NotImplementedException("S2R special register {}", special_register); 103 throw NotImplementedException("S2R special register {}", special_register);
100 } 104 }
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
index ba526817a..83ed0c0fd 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
@@ -329,10 +329,6 @@ void TranslatorVisitor::VADD(u64) {
329 ThrowNotImplemented(Opcode::VADD); 329 ThrowNotImplemented(Opcode::VADD);
330} 330}
331 331
332void TranslatorVisitor::VOTE_vtg(u64) {
333 ThrowNotImplemented(Opcode::VOTE_vtg);
334}
335
336void TranslatorVisitor::VSET(u64) { 332void TranslatorVisitor::VSET(u64) {
337 ThrowNotImplemented(Opcode::VSET); 333 ThrowNotImplemented(Opcode::VSET);
338} 334}
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/vote.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/vote.cpp
index a88894a7e..391520a18 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/vote.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/vote.cpp
@@ -49,4 +49,8 @@ void TranslatorVisitor::VOTE(u64 insn) {
49 Vote(*this, insn); 49 Vote(*this, insn);
50} 50}
51 51
52void TranslatorVisitor::VOTE_vtg(u64) {
53 // Stub
54}
55
52} // namespace Shader::Maxwell 56} // namespace Shader::Maxwell