summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar Subv2018-07-04 15:15:03 -0500
committerGravatar Subv2018-07-04 15:15:03 -0500
commit53a55bd751f6f89ac6c9d9eac9d3e9a8bd28c552 (patch)
tree8f549f2dbadb1e37c26fb7259ddc1a4ca5fdb5d4 /src/video_core/engines
parentMerge pull request #618 from Subv/clear_used_buffers (diff)
downloadyuzu-53a55bd751f6f89ac6c9d9eac9d3e9a8bd28c552.tar.gz
yuzu-53a55bd751f6f89ac6c9d9eac9d3e9a8bd28c552.tar.xz
yuzu-53a55bd751f6f89ac6c9d9eac9d3e9a8bd28c552.zip
GPU: Implemented the PSETP shader instruction.
It's similar to the isetp and fsetp instructions but it works on predicates instead.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index c1226a649..95b7d46ec 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -329,6 +329,19 @@ union Instruction {
329 } isetp; 329 } isetp;
330 330
331 union { 331 union {
332 BitField<0, 3, u64> pred0;
333 BitField<3, 3, u64> pred3;
334 BitField<12, 3, u64> pred12;
335 BitField<15, 1, u64> neg_pred12;
336 BitField<24, 2, PredOperation> cond;
337 BitField<29, 3, u64> pred29;
338 BitField<32, 1, u64> neg_pred29;
339 BitField<39, 3, u64> pred39;
340 BitField<42, 1, u64> neg_pred39;
341 BitField<45, 2, PredOperation> op;
342 } psetp;
343
344 union {
332 BitField<39, 3, u64> pred39; 345 BitField<39, 3, u64> pred39;
333 BitField<42, 1, u64> neg_pred; 346 BitField<42, 1, u64> neg_pred;
334 BitField<43, 1, u64> neg_a; 347 BitField<43, 1, u64> neg_a;