Lioncash
d08d9f8747
dyncom: Fix SMLALXY's instruction labels
They were erroneously labeled as SMLAL.
11 years ago
Lioncash
e412c0fc46
dyncom: Implement QADD8/QSUB8
11 years ago
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
11 years ago
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.
11 years ago
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.
11 years ago
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.
11 years ago
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.
11 years ago
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.
11 years ago
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.
11 years ago
Lioncash
5c198686ce
dyncom: Implement UXTB16/UXTAB16
11 years ago
bunnei
3b9d181b8e
GPU: Implement frameskip and remove forced framebuffer swap hack.
11 years ago
Lioncash
9c7f2570f7
vfp: Actually make the code somewhat readable
11 years ago
bunnei
bf9b33aa9f
dyncom: Implement PKHBT and PKHTB.
11 years ago
bunnei
58cb62fe7b
armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.
11 years ago
xdec
e6162ed91e
Qt: we don't need to check if model is valid.
11 years ago
Lioncash
7d322b5c6f
dyncom: Implement USAD8/USADA8
11 years ago
Lioncash
6ce2a38ec4
armemu: Simplify SSAT/SSAT16/SXTB/SXTAB
11 years ago
Lioncash
9f5b53f9ff
armemu: Simplify REV/REV16/SXTH/SXTAH
11 years ago
Lioncash
914ecfe04f
armemu: Simplify USAT16/UXTB/UXTAB
11 years ago
Lioncash
5e16216afb
armemu: Simplify REVSH/UXTH/UXTAH
11 years ago
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.
11 years ago
Yuri Kunde Schlesner
23f2142009
Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants
11 years ago
Yuri Kunde Schlesner
73fba22c01
Rename ObjectPool to HandleTable
11 years ago
Lioncash
059c65a27a
armemu: Fix underflows in USAD8/USADA8
Initially reported by xdec.
11 years ago
xdec
8de09d87ab
Fix crash when the disassembler pause button is pressed while no game is running.
11 years ago
Lioncash
af69b0840b
dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.
11 years ago
Lioncash
60523113a9
armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
11 years ago
Lioncash
52d889d85d
dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
11 years ago
Lioncash
84a0438cf5
armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
11 years ago
bunnei
a2005d0657
GPU: Change internal framerate to 30fps.
11 years ago
bunnei
5799025ac4
GPU: Further improve synchronization.
11 years ago
bunnei
4783133bbd
ARM: Add a mechanism for faking CPU time elapsed during HLE.
- Also a few cleanups.
11 years ago
purpasmart96
9796bc1fa2
More services & small clean ups
11 years ago
Lioncash
35dbfc7ab0
armemu: Implement SMMUL, SMMLA, and SMMLS.
11 years ago
Lioncash
82c3962b95
armemu: Implement SMLALD/SMLSLD
11 years ago
Lioncash
6b7808e412
armemu: Fix GE/Q flag setting semantics
11 years ago
Emmanuel Gil Peyrot
bbe0bf1332
FileSys: Clean up according to the coding style, and remove redundant namespaced names.
11 years ago
archshift
81a538ccc2
Stubbed IsSdmcWriteable to always return writeable.
11 years ago
Lioncash
20fc5f2a35
armemu: Set the Q flag correctly for much of the other ops
They were setting the old S flag.
11 years ago
Lioncash
79a7a432c5
armemu: Set the Q flag properly for SMLAD/SMUAD
11 years ago
Lioncash
6446331938
armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation.
11 years ago
Lioncash
f66d356938
armemu: Fix SEL
Needs to use the updated state of the CPSR.
11 years ago
Lioncash
8e2accd974
armemu: Fix construction of the CPSR
11 years ago
Lioncash
8c72322422
armemu: Fix retrieval of the CPSR in MRS instructions.
11 years ago
Lioncash
97f3e884d2
dyncom: Move over QADD16/QASX/QSAX/QSUB16
11 years ago
Lioncash
245276c9cc
dyncom: Move SEL over
11 years ago
Lioncash
c6f27055c9
dyncom: Move over SASX/SSAX/SADD16/SSUB16
11 years ago
Subv
2030f9d946
CFG: Fixed some warnings and errors in Clang
11 years ago
Subv
304735fb52
CFG: More style changes
11 years ago
Subv
f080e3ccfa
CFGU: Indentation
11 years ago