Commit Graph

9584 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner 08e13a10f7 fixup! Shaders: Fix multiplications between 0.0 and inf 2015-08-24 02:10:11 -03:00
Yuri Kunde Schlesner 9023d7a1d4 Shader JIT: Tiny micro-optimization in DPH 2015-08-24 01:48:37 -03:00
Yuri Kunde Schlesner 9a4a0cc8e0 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
Yuri Kunde Schlesner 8b0a7e7afe Shaders: Explicitly conform to PICA semantics in MAX/MIN 2015-08-24 01:46:58 -03:00
Yuri Kunde Schlesner c0959ca635 Shader JIT: Add name to second scratch register (XMM4) 2015-08-24 01:46:10 -03:00
Lioncash 33955e171b shader_jit: Replace two MDisp usages with MatR 2015-08-24 00:39:50 -04:00
Yuri Kunde Schlesner f02539e59d Shader JIT: Fix CMP NaN behavior to match hardware 2015-08-24 01:29:40 -03:00
bunnei 986b526e83 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
bunnei ff54784aac 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
Subv ebb0e78d80 HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint. 2015-08-23 15:26:17 -05:00
aroulin 8367db5dcd Shader: Use std::sqrt for float instead of sqrt 2015-08-23 22:03:07 +02:00
aroulin 2bcee80587 Shader: RCP and RSQ computes only the 1st component 2015-08-23 22:01:17 +02:00
aroulin 5429dbf738 x64-emitter: add RCPSS SSE instruction 2015-08-23 15:42:58 +02:00
Lioncash 3a56bd4a9e Merge pull request #1058 from lioncash/ptr
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
Yuri Kunde Schlesner 91fcf7f484 Fix broken boot introduced by last-minute change in #1025 2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner e3936a67b7 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
aroulin fd789c6858 Shader: implement DPH/DPHI in JIT 2015-08-22 11:09:53 +02:00
aroulin 677a97c8bf 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
Lioncash b150e1d68f emitter: Remove pointer casts
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
Subv c0ddc0df52 HWRasterizer: Implemented stencil ops 6 and 7. 2015-08-21 11:05:56 -05:00
Subv aee8f01e0a SWRasterizer: Implemented stencil ops 6 and 7.
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv 2caf213ae0 HWRasterizer: Implemented stencil op 1 (GL_ZERO) 2015-08-21 10:59:49 -05:00
Subv 9a3d5a11f3 SWRasterizer: Implemented stencil action 1 (GL_ZERO).
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv cbf5ed0c78 SWRasterizer: Removed a todo. Verified with hwtests. 2015-08-21 10:09:15 -05:00
Subv 97b1a10560 SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
The HW renderer already did this.
2015-08-21 09:48:43 -05:00
Subv be58cead12 Rasterizer: Abstract duplicated stencil code into a lambda. 2015-08-21 09:45:36 -05:00
bunnei 02946a3de1 Merge pull request #1056 from lioncash/emitter
emitter: Minor cleanup
2015-08-20 18:48:09 -04:00
Subv 9c8f4fdd75 GLRasterizer: Implemented stencil testing in the hw renderer. 2015-08-20 10:11:09 -05:00
Subv 7d816d5168 GPU/Rasterizer: Corrected the stencil implementation.
Verified the behavior with hardware tests.
2015-08-20 10:10:35 -05:00
Lioncash 70ca886a39 emitter: Remove unnecessary defines 2015-08-20 04:45:32 -04:00
Lioncash fdd90321ea emitter: Remove unnecessary else keywords 2015-08-20 04:45:31 -04:00
Lioncash 911d072bf6 emitter: Remove unused code 2015-08-20 04:45:30 -04:00
Lioncash 3bcd976780 emitter: Remove unimplemented JMP prototype 2015-08-20 04:45:29 -04:00
Lioncash c46738bebc emitter: Pass OpArg by reference where possible 2015-08-20 04:45:28 -04:00
Lioncash 62626196cb emitter: Remove unnecessary inline specifiers
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00
bunnei cbcf9e8eaf Merge pull request #1035 from darkf/mingw-fix
Fix building under MinGW
2015-08-19 20:40:31 -04:00
bunnei addc2ed6fe 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
Yuri Kunde Schlesner d7230928d6 Merge pull request #1045 from LittleWhite-tb/qt-recent-files
Improvements for MRU
2015-08-19 13:04:03 -07:00
LittleWhite 02b4412e66 Improvements for MRU
avoid duplicates
always put the last file loaded to top of the list
2015-08-19 21:33:34 +02:00
aroulin d1c8dcd844 Shader: implement SGE, SGEI and SLT in JIT 2015-08-19 14:29:39 +02:00
aroulin 76afa48b0c Shader: implement SGE, SGEI in interpreter 2015-08-19 14:29:39 +02:00
Yuri Kunde Schlesner 8220a201eb Merge pull request #996 from yuriks/texture-copy
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
bunnei 4b36548b41 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
aroulin 12e2cb045f Shader: Save caller-saved registers in JIT before a CALL 2015-08-19 03:40:07 +02:00
bunnei b358d3e07a 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
darkf 8d212ff881 Fix building under MinGW 2015-08-17 22:21:14 -07:00
bunnei 5fb9c48f7e Merge pull request #1038 from LittleWhite-tb/contributing-include
Add coding style about includes
2015-08-17 09:15:46 -04:00
bunnei 21029bea74 Merge pull request #1034 from yuriks/rg8-textures
videocore: Added RG8 texture support
2015-08-16 22:17:12 -04:00
Yuri Kunde Schlesner c06a94b43f Merge pull request #1043 from yuriks/boost-v1_59
Update boost external to v1.59.0
2015-08-16 17:32:09 -07:00
Yuri Kunde Schlesner 83296bcbb9 Update boost external to v1.59.0 2015-08-16 21:20:48 -03:00