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