ReinUsesLisp
d373f13b8a
shader_decode: Implement I2F
2019-01-15 17:54:51 -03:00
ReinUsesLisp
e456e2c1f3
shader_decode: Implement F2F
2019-01-15 17:54:50 -03:00
ReinUsesLisp
d72735028d
shader_decode: Stub DEPBAR
2019-01-15 17:54:50 -03:00
ReinUsesLisp
6f10bfaa08
shader_decode: Implement SSY and SYNC
2019-01-15 17:54:50 -03:00
ReinUsesLisp
fc0b3219fd
shader_decode: Implement PSETP
2019-01-15 17:54:50 -03:00
ReinUsesLisp
839abe1408
shader_decode: Implement TMML
2019-01-15 17:54:50 -03:00
ReinUsesLisp
0425f475d5
shader_decode: Implement TEX and TXQ
2019-01-15 17:54:50 -03:00
ReinUsesLisp
c8d0937ae5
shader_decode: Implement TEXS (F32)
2019-01-15 17:54:50 -03:00
ReinUsesLisp
ec28320c14
shader_decode: Implement FSETP
2019-01-15 17:54:50 -03:00
ReinUsesLisp
3aa53e3c01
shader_decode: Partially implement BRA
2019-01-15 17:54:50 -03:00
ReinUsesLisp
0398f7d0a4
shader_decode: Implement IPA
2019-01-15 17:54:50 -03:00
ReinUsesLisp
bc5992fccb
shader_decode: Implement EXIT
2019-01-15 17:54:50 -03:00
ReinUsesLisp
efda47fa37
shader_decode: Implement ST_A
2019-01-15 17:54:50 -03:00
ReinUsesLisp
0673f11907
shader_decode: Implement LD_A
2019-01-15 17:54:50 -03:00
ReinUsesLisp
b7b08104e5
shader_decode: Implement FADD32I
2019-01-15 17:54:50 -03:00
ReinUsesLisp
0b08169b9d
shader_decode: Implement FMUL32_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
4e1582eed1
shader_decode: Implement MOV32_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
b558235ec6
shader_decode: Stub RRO_C, RRO_R and RRO_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
cb19ed0316
shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
12d5281eff
shader_decode: Implement MUFU
2019-01-15 17:54:50 -03:00
ReinUsesLisp
bdafb25d16
shader_decode: Implement FADD_C, FADD_R and FADD_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
aa64616724
shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMM
2019-01-15 17:54:50 -03:00
ReinUsesLisp
42b7053aa4
shader_decode: Implement MOV_C and MOV_R
2019-01-15 17:54:50 -03:00
ReinUsesLisp
5678498dfd
glsl_decompiler: Implementation
2019-01-15 17:54:50 -03:00
ReinUsesLisp
74ee18de5e
shader_ir: Add condition code helper
2019-01-15 17:54:50 -03:00
ReinUsesLisp
283dd9fb61
shader_ir: Add predicate combiner helper
2019-01-15 17:54:49 -03:00
ReinUsesLisp
d28033adca
shader_ir: Add comparison helpers
2019-01-15 17:54:49 -03:00
ReinUsesLisp
c0d053482c
shader_ir: Add half float helpers
2019-01-15 17:54:49 -03:00
ReinUsesLisp
e46dd3ce5f
shader_ir: Add integer helpers
2019-01-15 17:54:49 -03:00
ReinUsesLisp
b91929bf10
shader_ir: Add float helpers
2019-01-15 17:54:49 -03:00
ReinUsesLisp
83e750c9ae
shader_ir: Add setters
2019-01-15 17:54:49 -03:00
ReinUsesLisp
394f906044
shader_ir: Add local memory getters
2019-01-15 17:54:49 -03:00
ReinUsesLisp
311d1af657
shader_ir: Add internal flag getters
2019-01-15 17:54:49 -03:00
ReinUsesLisp
a66682374f
shader_ir: Add attribute getters
2019-01-15 17:54:49 -03:00
ReinUsesLisp
9d5d96500c
shader_ir: Add constant buffer getters
2019-01-15 17:54:49 -03:00
ReinUsesLisp
7f89f99c60
shader_ir: Add register getter
2019-01-15 17:54:49 -03:00
ReinUsesLisp
f43041efe1
shader_ir: Add immediate node constructors
2019-01-15 17:54:49 -03:00
ReinUsesLisp
25f868d8be
shader_ir: Initial implementation
2019-01-15 17:54:49 -03:00
James Rowe
a5b9cd4d18
Remove references to PICA and rasterizers in video_core
2018-01-12 19:11:03 -07:00
Huw Pascoe
1089bdda80
Improved performance of FromAttributeBuffer
...
Ternary operator is optimized by the compiler
whereas std::min() is meant to return a value.
I've noticed a 5%-10% emulation speed increase.
2017-09-17 15:56:36 +01:00
wwylele
6d51febdc4
pica/shader/jit: implement SETEMIT and EMIT
2017-08-19 10:13:20 +03:00
wwylele
4283f4b244
correct constness
2017-08-19 10:13:20 +03:00
wwylele
4d4dbc83a7
pica/shader/interpreter: implement SETEMIT and EMIT
2017-08-19 10:13:20 +03:00
wwylele
2599928707
pica/shader: extend UnitState for GS
...
Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
2017-08-19 10:13:20 +03:00
wwylele
dc6f41bcc5
pica/shader_interpreter: fix off-by-one in LOOP
2017-07-27 13:48:27 +03:00
Yuri Kunde Schlesner
ccdeacf149
Stop using reserved operator names (and/or/xor) with Xbyak
...
Also has the Dynarmic upgrade with the same change
2017-06-17 12:20:22 -07:00
Jannik Vogel
b9cc8596a2
Pica: Set program code / swizzle data limit to 4096
...
One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.
The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```
New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX ) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX ) (12 bit = [0; 4095]).
2017-05-11 15:01:27 +02:00
Mat M
dc1927a9d1
Doxygen: Amend minor issues ( #2593 )
...
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner
653723399c
video_core/shader: Document sanitized MUL operation
2017-02-12 13:29:14 -08:00
Yuri Kunde Schlesner
84f423dea6
Merge pull request #2550 from yuriks/pica-refactor2
...
Small VideoCore cleanups
2017-02-12 12:33:26 -08:00