Commit Graph

2822 Commits

Author SHA1 Message Date
d8ef20c856 Shader JIT: Tiny micro-optimization in DPH 2015-08-24 01:48:37 -03:00
630a850d4d Shaders: Fix multiplications between 0.0 and inf
The PICA200 semantics for multiplication are so that when multiplying
inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by
IEEE. This is relied upon by games.

Fixes #1024 (missing OoT interface items)
2015-08-24 01:48:15 -03:00
082b74fa24 Shaders: Explicitly conform to PICA semantics in MAX/MIN 2015-08-24 01:46:58 -03:00
76247170df Shader JIT: Add name to second scratch register (XMM4) 2015-08-24 01:46:10 -03:00
455147ee95 Shader JIT: Fix CMP NaN behavior to match hardware 2015-08-24 01:29:40 -03:00
83c214f6d8 Merge pull request #1062 from aroulin/shader-rcp-rsq
Shader: RCP and RSQ computes only the 1st component
2015-08-23 17:56:35 -04:00
387bd3a1e4 Merge pull request #1057 from aroulin/shader-dph-dphi
Shader: Implement DPH and DPHI in interpreter/JIT
2015-08-23 17:47:09 -04:00
03c5cfead4 Shader: Use std::sqrt for float instead of sqrt 2015-08-23 22:03:07 +02:00
fa552f11ef Shader: RCP and RSQ computes only the 1st component 2015-08-23 22:01:17 +02:00
16f39aa452 x64-emitter: add RCPSS SSE instruction 2015-08-23 15:42:58 +02:00
250d474280 Merge pull request #1058 from lioncash/ptr
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
78735e2ada Fix broken boot introduced by last-minute change in #1025 2015-08-22 18:12:23 -03:00
3efb205a68 Merge pull request #1025 from yuriks/heap-management
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
2f1514b904 Shader: implement DPH/DPHI in JIT 2015-08-22 11:09:53 +02:00
2e7cf2f6cf Shader: implement DPH/DPHI in interpreter
Tests revealed that the component with w=1 is
SRC1 and not SRC2, it is now fixed on 3dbrew.
2015-08-22 11:09:53 +02:00
78e7c77ff5 emitter: Remove pointer casts
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
d8908aef63 Merge pull request #1056 from lioncash/emitter
emitter: Minor cleanup
2015-08-20 18:48:09 -04:00
e85c5dbb54 emitter: Remove unnecessary defines 2015-08-20 04:45:32 -04:00
a796149c42 emitter: Remove unnecessary else keywords 2015-08-20 04:45:31 -04:00
e88dc7fc6d emitter: Remove unused code 2015-08-20 04:45:30 -04:00
8738963bce emitter: Remove unimplemented JMP prototype 2015-08-20 04:45:29 -04:00
55461125ba emitter: Pass OpArg by reference where possible 2015-08-20 04:45:28 -04:00
0609b89f74 emitter: Remove unnecessary inline specifiers
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00
21ba05e5f1 Merge pull request #1035 from darkf/mingw-fix
Fix building under MinGW
2015-08-19 20:40:31 -04:00
a575399fbc Merge pull request #1055 from aroulin/shader-sge-sgei-slt
Shader: Implement SGE, SGEI and SLT in interpreter/JIT
2015-08-19 19:58:49 -04:00
08325e51e5 Merge pull request #1045 from LittleWhite-tb/qt-recent-files
Improvements for MRU
2015-08-19 13:04:03 -07:00
adee93d784 Improvements for MRU
avoid duplicates
always put the last file loaded to top of the list
2015-08-19 21:33:34 +02:00
f3e8f42718 Shader: implement SGE, SGEI and SLT in JIT 2015-08-19 14:29:39 +02:00
863730f6a7 Shader: implement SGE, SGEI in interpreter 2015-08-19 14:29:39 +02:00
a9fc659809 Merge pull request #996 from yuriks/texture-copy
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
3c5ff418ca Merge pull request #1047 from aroulin/shader-ex2-lg2
Shader: Save caller-saved registers in JIT before a CALL
2015-08-18 22:02:25 -04:00
2f9eb98f03 Shader: Save caller-saved registers in JIT before a CALL 2015-08-19 03:40:07 +02:00
026379ed55 Merge pull request #1037 from aroulin/shader-ex2-lg2
Shader: Implement EX2 and LG2 in interpreter/JIT
2015-08-18 19:42:32 -04:00
e053d30bf7 Fix building under MinGW 2015-08-17 22:21:14 -07:00
ef7eb8bc4c Merge pull request #1038 from LittleWhite-tb/contributing-include
Add coding style about includes
2015-08-17 09:15:46 -04:00
1f18c9f8dd Merge pull request #1034 from yuriks/rg8-textures
videocore: Added RG8 texture support
2015-08-16 22:17:12 -04:00
734f4b7041 Merge pull request #1043 from yuriks/boost-v1_59
Update boost external to v1.59.0
2015-08-16 17:32:09 -07:00
3007d0c651 Update boost external to v1.59.0 2015-08-16 21:20:48 -03:00
7d3a6016d6 Shader: implement EX2 and LG2 in JIT 2015-08-17 01:12:34 +02:00
44ef68fb48 Add coding style about includes 2015-08-16 21:20:04 +02:00
b3e64813f5 Merge pull request #1036 from LittleWhite-tb/fix-compilation-memset
Fix Linux GCC 4.9 build (complaining about undeclared memset)
2015-08-16 10:54:27 -07:00
9d6748fa94 Fix Linux GCC 4.9 build (complaining about undeclared memset) 2015-08-16 17:21:08 +02:00
638e47c04d Shader: implement EX2 and LG2 in interpreter 2015-08-16 15:54:30 +02:00
96820ae42a Build fix for Debug configurations. 2015-08-16 15:14:54 +02:00
f5144e6c10 Merge pull request #997 from Lectem/cmdlist_full_debug
citra-qt: Improve pica command list widget (add mask, fix some issues)
2015-08-16 13:34:45 +02:00
7312894a6a Merge pull request #933 from neobrain/shader_debugger
Shader debugger improvements
2015-08-16 13:18:56 +02:00
32592364b8 citra-qt/VertexShader: Minor UI improvements.
Renamed "Iteration index" to the (hopefully) more intuitive "Cycle Index".
Added flexible space at the bottom of the widget.
2015-08-16 14:12:12 +02:00
493c432d1e citra-qt: Fix comment style. 2015-08-16 14:12:11 +02:00
33ba604fd9 Introduce a shader tracer to allow inspection of input/output values for each processed instruction. 2015-08-16 14:12:11 +02:00
2e3601f415 Pica/DebugUtils: Include uniform information into shader dumps. 2015-08-16 13:22:01 +02:00