Commit Graph

59 Commits

Author SHA1 Message Date
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
fincs
556fbe1d82 Ensure DVLEs are word aligned 2015-08-15 13:03:11 +02:00
fincs
04d3edce72 Proper argument parsing, reenable header file generation 2015-08-13 23:54:04 +02:00
fincs
e152f4e626 WIP multi-shader support, see details:
- picasso now accepts several input files, which are each compiled
  into DVLE objects inside the .shbin
- Uniform allocation is shared amongst all DVLEs.
- Constant allocation is private to each DVLE.
- Header file generation is temporarily disabled.
- New directives:
  .nodvle
    Disables the generation of a DVLE object for the current input file.
    This allows sharing code amongst shaders.
  .entry entryName
    Specifies the name of the entrypoint procedure of the current DVLE.
    By default it's 'main'.
2015-08-13 21:46:08 +02:00
fincs
b250513be0 Fix invalid string management [thanks to mtheall for pointing this out] 2015-03-06 21:16:00 +01:00
fincs
6e176f33c5 Geoshader support! 2015-03-04 22:42:34 +01:00
fincs
01104710fd Actually output whole opdesc 2015-03-02 18:07:06 +01:00
fincs
35e187eb27 Fix condition field 2015-03-02 17:52:50 +01:00
fincs
28c07f3363 Add more output types & correct number of integer uniforms 2015-03-02 17:37:46 +01:00
fincs
8437350b4b LRP -> MADI 2015-03-02 17:36:47 +01:00
fincs
19f705076a Add support for BREAKC/CALLC/IFC/JMPC 2014-12-15 22:59:06 +01:00
fincs
af4f62dab0 Rename ARL to MOVA 2014-12-14 13:31:47 +01:00
fincs
091795c102 Add FOR/CALLU/IFU/JMPU (format 3 instructions) 2014-12-12 00:14:46 +01:00
fincs
1d71ea12e7 Add CALL 2014-12-11 23:23:13 +01:00
fincs
3cedc996fc Add CMP src1, cmpx, cmpy, src2 2014-12-11 22:11:51 +01:00
fincs
ded7491f19 Add DPHI/SGEI/SLTI 2014-12-11 21:41:24 +01:00
fincs
efa5faabd6 Fix .h header generation to support ivec and bool uniforms 2014-12-11 21:18:54 +01:00
fincs
694a07a8a1 Add support for integer vector uniforms/constants and boolean uniforms 2014-12-11 17:23:29 +01:00
fincs
4b1f834e01 __BYTE_ORDER__ not supported on GCC 4.0 2014-12-11 00:38:25 +01:00
fincs
d6485ea332 Correct uniform handling value [pointed out by smea] 2014-12-11 00:04:31 +01:00
fincs
c06de444da Use strcasecmp on non-Windows 2014-12-10 23:14:19 +01:00
fincs
b2e0b2b96e Downgrade to C++03 due to OSX's GCC being **MASSIVELY** out of date (4.0) 2014-12-10 22:29:42 +01:00