bunnei
021fb42075
dyncom: Implement USAT/SSAT
2014-12-29 22:15:15 +07:00
bunnei
78bb86293f
Merge pull request #253 from purpasmart96/mem_map
...
MemMap: Removed I/O address's and added more stuff
2014-12-29 21:57:04 +07:00
bunnei
c2f41f0404
Merge pull request #362 from bunnei/dyncom-cleanup
...
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:53:49 +07:00
bunnei
dedbdb2dfb
Merge pull request #344 from Yllodra/Qt-Oddities
...
Allow focus on the Qt render widget
2014-12-29 21:52:38 +07:00
bunnei
aa49019afb
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:50:47 +07:00
Tony Wasserka
b7e0b16354
Merge pull request #351 from yuriks/optimize
...
Rasterizer Optimizations
2014-12-30 00:13:48 +07:00
bunnei
2d2aa2c0be
Merge pull request #361 from lioncash/moreqops
...
dyncom/armemu: Implement QADD8/QSUB8.
2014-12-29 14:53:04 +07:00
bunnei
a7a486bbef
Merge pull request #363 from lioncash/label
...
dyncom: Fix SMLALXY's instruction labels
2014-12-29 12:13:00 +07:00
Lioncash
d08d9f8747
dyncom: Fix SMLALXY's instruction labels
...
They were erroneously labeled as SMLAL.
2014-12-29 12:04:34 +07:00
Tony Wasserka
13699f05e7
Merge pull request #303 from linkmauve/fs-cleanup
...
FileSys cleanup
2014-12-29 12:14:59 +07:00
Lioncash
e412c0fc46
dyncom: Implement QADD8/QSUB8
2014-12-29 00:54:48 +07:00
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
2014-12-29 00:49:10 +07:00
bunnei
472ec0d0cf
Merge pull request #360 from lioncash/dynuxt
...
dyncom: Implement UXTB16/UXTAB16
2014-12-28 23:20:30 +07:00
Yuri Kunde Schlesner
8369ee5803
Rasterizer: Pre-divide vertex attributes by W
...
Execute the division-by-W for perspective-correct interpolation of
values in the clipper, moving them out of the rasterization inner loop.
2014-12-29 02:08:11 +07:00
Yuri Kunde Schlesner
fe186d3a59
GPU: Bitwise texture swizzling
...
Replace the loop-based texture address swizzling code by a bit-twiddling
implementation, providing a very small speed up. Also simplify
addressing code.
2014-12-29 02:08:11 +07:00
Yuri Kunde Schlesner
2012e1420f
Rasterizer: Common sub-expression elimination
...
Move the computation of some values out of loops so that they're not
constantly recalculated even when they don't change.
2014-12-29 02:08:10 +07:00
Yuri Kunde Schlesner
7e9bc85cc8
Clipper: Compact buffers on each clipping pass
...
Use a new buffer management scheme in the clipper that allows using a
bounded minimal amount of buffer space. Even though it copies more data
it is still slightly faster likely due to using less cache.
2014-12-29 02:08:10 +07:00
Yuri Kunde Schlesner
da04976437
CMake: Require Boost 1.57.0 (fixes Travis OS X)
2014-12-29 02:08:10 +07:00
Yuri Kunde Schlesner
a320d1a5b4
Clipper: Avoid dynamic allocations
...
The triangle clipper was allocating its temporary input, output and work
buffers using a std::vector. Since this is a hot path, it's desirable to
use stack allocation instead.
2014-12-29 02:08:09 +07:00
Yuri Kunde Schlesner
d151d797b1
Vertex Shader: Zero OutputVertex to avoid denormals
...
Unused OutputVertex attributes were being left un-initialized. The
leftover garbage sometimes decoded as floating-point denormalized
values, causing fallbacks to microcode and massive slowdowns in the rest
of the rasterization pipeline even though the results were unused. By
zeroing the structure we ensure these attributes only contain harmless
zeros.
2014-12-29 02:08:09 +07:00
Lioncash
5c198686ce
dyncom: Implement UXTB16/UXTAB16
2014-12-28 22:45:04 +07:00
bunnei
487a80f9f7
Merge pull request #347 from bunnei/frameskip
...
Frameskip
2014-12-28 22:39:17 +07:00
bunnei
df728cb4c2
Merge pull request #355 from lioncash/simp
...
armemu: Simplify some instructions.
2014-12-28 22:20:49 +07:00
bunnei
3b9d181b8e
GPU: Implement frameskip and remove forced framebuffer swap hack.
2014-12-28 22:14:05 +07:00
bunnei
5763d40319
Merge pull request #352 from xdec/PR_XDEC_172
...
Qt: Citra crashes if disassembler pause button is pressed while no game is running. #172
2014-12-28 22:00:47 +07:00
bunnei
9a403d7dfb
Merge pull request #359 from lioncash/vfp
...
vfp: Actually make the code somewhat readable
2014-12-28 21:54:53 +07:00
bunnei
77363d9590
Merge pull request #331 from yuriks/handle-reform
...
New Handle manager
2014-12-28 21:11:55 +07:00
Lioncash
9c7f2570f7
vfp: Actually make the code somewhat readable
2014-12-28 18:55:01 +07:00
bunnei
4bf803579f
Merge pull request #357 from bunnei/dyncom-pkhbt-pkhtb
...
Implement PKHBT and PKHTB on dyncom, fix on armemu
2014-12-28 16:57:16 +07:00
bunnei
bf9b33aa9f
dyncom: Implement PKHBT and PKHTB.
2014-12-28 16:50:08 +07:00
bunnei
58cb62fe7b
armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.
2014-12-28 16:18:52 +07:00
bunnei
082f5b2311
Merge pull request #356 from lioncash/dynusad
...
dyncom: Implement USAD8/USADA8
2014-12-28 13:40:22 +07:00
xdec
e6162ed91e
Qt: we don't need to check if model is valid.
2014-12-28 10:11:51 +07:00
Lioncash
7d322b5c6f
dyncom: Implement USAD8/USADA8
2014-12-28 12:40:51 +07:00
Lioncash
6ce2a38ec4
armemu: Simplify SSAT/SSAT16/SXTB/SXTAB
2014-12-28 12:19:31 +07:00
Lioncash
9f5b53f9ff
armemu: Simplify REV/REV16/SXTH/SXTAH
2014-12-28 12:13:13 +07:00
bunnei
762f16c4ad
Merge pull request #354 from lioncash/usaduflow
...
armemu: Fix underflows in USAD8/USADA8
2014-12-28 11:57:25 +07:00
Lioncash
914ecfe04f
armemu: Simplify USAT16/UXTB/UXTAB
2014-12-28 11:57:14 +07:00
Lioncash
5e16216afb
armemu: Simplify REVSH/UXTH/UXTAH
2014-12-28 11:57:09 +07:00
Yuri Kunde Schlesner
7e2903cb74
Kernel: New handle manager
...
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.
Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
2014-12-28 11:52:55 +07:00
Yuri Kunde Schlesner
23f2142009
Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants
2014-12-28 11:52:53 +07:00
Yuri Kunde Schlesner
73fba22c01
Rename ObjectPool to HandleTable
2014-12-28 11:52:52 +07:00
Lioncash
059c65a27a
armemu: Fix underflows in USAD8/USADA8
...
Initially reported by xdec.
2014-12-28 06:09:43 +07:00
xdec
8de09d87ab
Fix crash when the disassembler pause button is pressed while no game is running.
2014-12-28 01:56:07 +07:00
bunnei
3422d81f05
Merge pull request #350 from lioncash/qops
...
Implement the rest of the UQ* ops.
2014-12-27 21:15:13 +07:00
Lioncash
af69b0840b
dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.
2014-12-27 17:24:34 +07:00
Lioncash
60523113a9
armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
2014-12-27 17:06:19 +07:00
bunnei
28e64806cd
Merge pull request #349 from lioncash/uhdync
...
dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
2014-12-27 01:04:18 +07:00
Lioncash
52d889d85d
dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
2014-12-27 00:57:32 +07:00
bunnei
b48ca7878b
Merge pull request #348 from lioncash/uhops
...
armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
2014-12-27 00:34:39 +07:00