Subv
12a11472f1
GPU: Implemented register 0x22A.
...
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.
Register 0x22A doesn't affect indexed rendering.
2015-08-30 15:46:22 +07:00
bunnei
5906d8b01c
Merge pull request #1085 from Subv/fs_stat
...
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
2015-08-30 11:44:39 +07:00
Yuri Kunde Schlesner
68eb197494
Increase required OpenGL version to 3.3
...
This gives us several niceties such as Sampler Objects, shader attribute
locations and Timer Queries.
2015-08-30 08:45:57 +07:00
Yuri Kunde Schlesner
a1a5570e97
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 +07:00
Yuri Kunde Schlesner
18c1c39d5e
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
...
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 +07:00
bunnei
58e9f78844
Merge pull request #1049 from Subv/stencil
...
Rasterizer: Corrected the stencil implementation.
2015-08-29 20:06:25 +07:00
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
2015-08-28 22:01:03 +07:00
Yuri Kunde Schlesner
656d824b20
Common: Fix MicroProfile compilation in MSVC2015
2015-08-28 06:12:12 +07:00
Yuri Kunde Schlesner
bac1a6b140
Merge pull request #1080 from yuriks/linear-heap-base-typo
...
Kernel: Fix wrong linear heap base on titles using newer kernels
2015-08-27 20:09:43 +07:00
Yuri Kunde Schlesner
0ee3e2c25e
Kernel: Fix wrong linear heap base on titles using newer kernels
...
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 +07:00
bunnei
2978b5fbc8
Merge pull request #1075 from yuriks/ControlMem-fixes
...
Fix heap-management regressions
2015-08-27 19:43:55 +07:00
Yuri Kunde Schlesner
c5a4025b65
Merge pull request #1065 from yuriks/shader-fp
...
Shader FP compliance fixes
2015-08-27 16:34:13 +07:00
bunnei
5831fe6a60
Merge pull request #1068 from bunnei/gl-hash-textures
...
gl_rasterizer_cache: Cache textures based on hash in addition to address.
2015-08-27 19:13:33 +07:00
bunnei
f3cef178e3
gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.
2015-08-27 19:07:53 +07:00
bunnei
f1ad4332ad
Merge pull request #1079 from aroulin/albw-jit-bug
...
Shader JIT: Fix float to integer rounding in MOVA
2015-08-27 10:41:19 +07:00
aroulin
f52d8c1a9b
Shader JIT: Fix float to integer rounding in MOVA
...
MOVA converts new address register values from floats to integers using truncation
2015-08-27 15:26:41 +07:00
Yuri Kunde Schlesner
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 +07: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 +07:00
bunnei
32e279c0ca
Merge pull request #1074 from lioncash/bool
...
dyncom: Minor changes to CondPassed
2015-08-26 18:44:52 +07: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 +07: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 +07:00
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 +07:00
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 +07: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 +07: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 +07:00
Yuri Kunde Schlesner
c7745408f7
citra-qt: Add helper function to get a monospace QFont
2015-08-24 22:16:28 +07: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 +07: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 +07: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 +07:00
Yuri Kunde Schlesner
d8ef20c856
Shader JIT: Tiny micro-optimization in DPH
2015-08-24 01:48:37 +07: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 +07:00
Yuri Kunde Schlesner
082b74fa24
Shaders: Explicitly conform to PICA semantics in MAX/MIN
2015-08-24 01:46:58 +07:00
Yuri Kunde Schlesner
76247170df
Shader JIT: Add name to second scratch register (XMM4)
2015-08-24 01:46:10 +07:00
Lioncash
fa5076eb9b
shader_jit: Replace two MDisp usages with MatR
2015-08-24 00:39:50 +07:00
Yuri Kunde Schlesner
455147ee95
Shader JIT: Fix CMP NaN behavior to match hardware
2015-08-24 01:29:40 +07: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 +07: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 +07: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 +07:00
aroulin
03c5cfead4
Shader: Use std::sqrt for float instead of sqrt
2015-08-23 22:03:07 +07:00
aroulin
fa552f11ef
Shader: RCP and RSQ computes only the 1st component
2015-08-23 22:01:17 +07:00
aroulin
16f39aa452
x64-emitter: add RCPSS SSE instruction
2015-08-23 15:42:58 +07:00
Lioncash
250d474280
Merge pull request #1058 from lioncash/ptr
...
emitter: Remove pointer casts
2015-08-22 18:42:47 +07:00
Yuri Kunde Schlesner
78735e2ada
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 +07: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 +07: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 +07:00
Lioncash
78e7c77ff5
emitter: Remove pointer casts
...
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 +07:00