Commit graph

9099 commits

Author SHA1 Message Date
Yuri Kunde Schlesner 12390eb155 Kernel: Fix assertion failure when ControlMemory is called with size=0 2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner 687d973980 Core: Improve APT Shared Font hack
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
bunnei 32e279c0ca Merge pull request #1074 from lioncash/bool
dyncom: Minor changes to CondPassed
2015-08-26 18:44:52 -04:00
bunnei de6a2bed32 Merge pull request #1078 from archshift/arm-build-fix
Shader JIT: ifdef out reference to ifdef'd out shader_map
2015-08-26 18:39:43 -04:00
archshift dd0e1061ef Shader JIT: ifdef out reference to ifdef'd out shader_map
shader_map was only defined on x86 architectures, but was cleared on shutdown
with no ifdef protection. Ifdef this out so non-x86 architectures can be built.
2015-08-26 22:28:19 +00:00
Lioncash dc1b024b80 dyncom: Simplify some comparisons in CondPassed 2015-08-26 00:10:23 -04:00
Lioncash 01dd833ffa dyncom: Change return type of CondPassed to bool 2015-08-25 23:59:01 -04:00
archshift 4ad86a6f78 Merge pull request #1073 from lioncash/guard
citra-qt: Add a missing header guard to util.h
2015-08-25 20:12:59 -07:00
Lioncash e7ebb9d36c citra-qt: Add a missing header guard to util.h 2015-08-25 23:07:33 -04:00
Yuri Kunde Schlesner ac0104b8b0 Merge pull request #1048 from yuriks/microprofile
Integrate the MicroProfile profiling library
2015-08-24 18:30:11 -07:00
Yuri Kunde Schlesner 0fcabd2b11 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner c7745408f7 citra-qt: Add helper function to get a monospace QFont 2015-08-24 22:16:28 -03:00
bunnei afd45d1d7f Merge pull request #1063 from Subv/hw_renderer_debug_fb
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint
2015-08-24 13:02:44 -04:00
Subv 583d777b1a HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Yuri Kunde Schlesner d6a5a00c24 Merge pull request #1064 from lioncash/matr
shader_jit: Replace two MDisp usages with MatR
2015-08-23 22:43:57 -07:00
Yuri Kunde Schlesner eff10959de fixup! Shaders: Fix multiplications between 0.0 and inf 2015-08-24 02:10:11 -03:00
Yuri Kunde Schlesner d8ef20c856 Shader JIT: Tiny micro-optimization in DPH 2015-08-24 01:48:37 -03:00
Yuri Kunde Schlesner 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
Yuri Kunde Schlesner 082b74fa24 Shaders: Explicitly conform to PICA semantics in MAX/MIN 2015-08-24 01:46:58 -03:00
Yuri Kunde Schlesner 76247170df Shader JIT: Add name to second scratch register (XMM4) 2015-08-24 01:46:10 -03:00
Lioncash fa5076eb9b shader_jit: Replace two MDisp usages with MatR 2015-08-24 00:39:50 -04:00
Yuri Kunde Schlesner 455147ee95 Shader JIT: Fix CMP NaN behavior to match hardware 2015-08-24 01:29:40 -03:00
bunnei 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
bunnei 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
Subv d1b9383d86 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 03c5cfead4 Shader: Use std::sqrt for float instead of sqrt 2015-08-23 22:03:07 +02:00
aroulin fa552f11ef Shader: RCP and RSQ computes only the 1st component 2015-08-23 22:01:17 +02:00
aroulin 16f39aa452 x64-emitter: add RCPSS SSE instruction 2015-08-23 15:42:58 +02:00
Lioncash 250d474280 Merge pull request #1058 from lioncash/ptr
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
Yuri Kunde Schlesner 78735e2ada Fix broken boot introduced by last-minute change in #1025 2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner 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
aroulin 2f1514b904 Shader: implement DPH/DPHI in JIT 2015-08-22 11:09:53 +02:00
aroulin 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
Lioncash 78e7c77ff5 emitter: Remove pointer casts
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
Subv 0c7da9b815 HWRasterizer: Implemented stencil ops 6 and 7. 2015-08-21 11:05:56 -05:00
Subv 7c1f84a92b SWRasterizer: Implemented stencil ops 6 and 7.
IncrementWrap and DecrementWrap, verified with hwtests.
2015-08-21 11:01:42 -05:00
Subv e43eb130d4 HWRasterizer: Implemented stencil op 1 (GL_ZERO) 2015-08-21 10:59:49 -05:00
Subv fef1462371 SWRasterizer: Implemented stencil action 1 (GL_ZERO).
Verified with hwtests.
2015-08-21 10:35:25 -05:00
Subv b3e530d005 SWRasterizer: Removed a todo. Verified with hwtests. 2015-08-21 10:09:15 -05:00
Subv 8e6336d96b 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 e74825e3d0 Rasterizer: Abstract duplicated stencil code into a lambda. 2015-08-21 09:45:36 -05:00
bunnei d8908aef63 Merge pull request #1056 from lioncash/emitter
emitter: Minor cleanup
2015-08-20 18:48:09 -04:00
Subv 46f660a789 GLRasterizer: Implemented stencil testing in the hw renderer. 2015-08-20 10:11:09 -05:00
Subv 186873420f GPU/Rasterizer: Corrected the stencil implementation.
Verified the behavior with hardware tests.
2015-08-20 10:10:35 -05:00
Lioncash e85c5dbb54 emitter: Remove unnecessary defines 2015-08-20 04:45:32 -04:00
Lioncash a796149c42 emitter: Remove unnecessary else keywords 2015-08-20 04:45:31 -04:00
Lioncash e88dc7fc6d emitter: Remove unused code 2015-08-20 04:45:30 -04:00
Lioncash 8738963bce emitter: Remove unimplemented JMP prototype 2015-08-20 04:45:29 -04:00
Lioncash 55461125ba emitter: Pass OpArg by reference where possible 2015-08-20 04:45:28 -04:00
Lioncash 0609b89f74 emitter: Remove unnecessary inline specifiers
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00