Commit Graph

80 Commits

Author SHA1 Message Date
98c8639bd5
Merge branch 'devkitPro:master' into master 2024-10-12 18:29:36 +02:00
oreo639
d522455ea5 Print warning when attempting to use swizzling in outmask 2023-10-11 21:32:43 +02:00
4019766d8d Update for better comp 2022-12-25 11:30:26 +01:00
6a6c3ed1cf Fix a Big Mistake 2022-12-25 02:56:46 +01:00
=
b614217a82 File Support 2022-12-23 05:05:50 +01:00
=
6c76004761 DONT USE THIS LIBRARY IF YOU DON'T KNOW HOW TO USE 2022-12-23 04:59:41 +01:00
Tillmann Karras
03193c0838 Remove unnecessary function call 2022-09-14 17:42:15 +02:00
Tillmann Karras
5219cd6501 Fix segfault on empty .proc (#25) 2022-09-14 17:42:15 +02:00
Tillmann Karras
9e161a5fc1 Fix segfault on invalid input register (#25) 2022-09-14 17:42:15 +02:00
Tillmann Karras
6e0063ea00 Fix missed error on invalid index register (#24) 2022-09-14 17:42:15 +02:00
Lioncash
bbfbf4c6fd picasso: Mark member functions of DVLEData as const
These only query state about the data, they don't modify it
2017-12-29 01:29:01 +01:00
Lioncash
fbc3f381f3 picasso_assembler: Silence a -Wmissing-prototypes warning
This is only used in this translation unit.
2017-12-29 01:28:50 +01:00
fincs
e74836bffc Fix compilation error after d1a1c0a0 2017-12-28 13:31:39 +01:00
Lioncash
d1a1c0a011 picasso_frontend: Get rid of undefined behavior
Type-punning via a union is well-defined in C (specifically C99 and onwards), but not C++
2017-12-28 13:29:28 +01:00
Lioncash
299c35d6fc picasso_assembler: Silence a -Wlogical-op-parenthesis warning 2017-12-28 03:06:58 +01:00
Lioncash
708ce762e0 picasso_assembler: Correct ending square-bracket check in parseReg
Signed-off-by: Lioncash <mathew1800@gmail.com>
2017-12-28 02:27:09 +01:00
fincs
97814558db lcnt -> aL 2017-12-27 18:43:54 +01:00
fincs
625b28e36a Rename a0/a1 index regs to a0.x/a0.y to match D3D naming convention 2017-12-27 18:06:10 +01:00
fincs
9aac60a683 Index regs can only be used with uniform regs (discovered by @Tilka) 2017-12-27 14:44:20 +01:00
fincs
d19c7b7cd0 Minor simplification 2017-12-27 14:38:59 +01:00
Tillmann Karras
eeda288b29 Add break
Don't use this instruction unless you know what you're doing. It does
*not* touch the if/call stacks, so the following code will behave in an
unexpected way (and cannot be fixed by inserting nops):

```
ifu true
    for ...
        ifu true
            break
        .end
    .end
.else
    ; will be executed since the inner if is still on the stack
.end
```

breakc has the same problem but does not require a separate condition.
2017-12-17 18:23:00 +01:00
Tillmann Karras
89deb50e23 Add litp
This instruction prepares a vector for vs_3_0-style lighting by clamping
to certain bounds.
2017-12-17 17:22:54 +01:00
Tillmann Karras
0629de23e0 Add dst/dsti 2017-12-17 17:22:54 +01:00
Tillmann Karras
6dd682dbd5 Fix off-by-one error in max shader size check 2017-12-17 17:04:51 +01:00
fincs
4464084525 Fix some compilation warnings/errors 2017-06-10 13:36:30 +02:00
fincs
346f761609 Fix mad opdesc allocation errors by swapping out lower opdescs 2017-03-18 20:40:29 +01:00
fincs
9721aac006 Add .in directive for explicit input regs in DVLE uniform table 2017-03-18 00:47:02 +01:00
fincs
0d03822d0a Support (dummy) o7-o15 output registers in vertex shaders 2017-03-18 00:46:37 +01:00
fincs
4c7129925d Support '$' in identifier names (translated to '.' in DVLE) 2017-03-18 00:45:58 +01:00
fincs
73e8119a43 Overhauled geoshader/outmap support, see details:
- GSH DVLEs now have each an independent uniform space.
- .gsh directive now accepts parameters to configure GSH mode.
- .out supports explicit outreg, outmasks are also now fixed.
- Added dummy attribute, removed 7 attribute.
- Back-compat mode is used for old code.
2016-07-20 17:20:48 +02:00
fincs
05d9e79095 Add auto-NOP insertion to work around flow-of-control PICA errata 2016-07-20 17:16:12 +02:00
fincs
d7a3af7c52 Add rgba/stpq component names 2016-07-20 17:13:53 +02:00
fincs
ed10f00333 Add error message for invalid input register usage (e.g. add r0,v1,v2) 2016-07-20 17:13:26 +02:00
fincs
d4714a5441 Optimize opdesc allocation to take into account unused operands 2016-07-20 17:11:59 +02:00
fincs
3e44d48f38 Correct MAD instruction encoding yet again & other miscellaneous fixes 2016-07-20 17:10:18 +02:00
fincs
08e77dad03 Add command line flag for retrieving the picasso version (fix #11) 2016-03-26 14:03:02 +01:00
fincs
e5e8127a5d Correct MAD instruction encoding 2016-03-26 14:02:02 +01:00
fincs
5a597fb870 Add .constfa for creating floating-point vector constant arrays. 2016-02-20 00:24:34 +01:00
fincs
d822bd4e26 Add support for inverting the condition in JMPU (addresses #9) 2016-01-25 12:52:35 +01:00
fincs
956a328a6f Add proper support for the MOVA instruction 2016-01-24 11:58:16 +01:00
Yuri Kunde Schlesner
02c0cd4b08 Return correct value for a2/lcnt index register 2016-01-21 23:18:05 -08:00
fincs
36fa1cd15a Fix compilation with GCC 4.7 2015-10-25 19:33:29 +01:00
fincs
e462d199da Fix #5 2015-09-05 11:42:22 +02:00
fincs
7ae2c49768 Fix #4 2015-09-04 23:45:25 +02:00
fincs
cefa910b58 Implement .gsh directive 2015-08-22 23:21:49 +02:00
fincs
8366ecf660 Add changelog 2015-08-22 13:46:22 +02:00
fincs
011668baef Implement .setf/.seti/.setb with documentation 2015-08-22 13:30:33 +02:00
fincs
ae2f31ab01 Merge branch 'master' of github.com:fincs/picasso 2015-08-21 12:41:57 +02:00
fincs
3eba3a0701 Autodetect between inverted and non-inverted versions of opcodes 2015-08-21 12:41:35 +02:00
Luke Street
c3c94c6574 Use built-in byte swap functions on LLVM 2015-08-17 11:36:46 -04:00