Tony Wasserka
614baa39d1
VideoCore: Remove some unused functions.
2014-12-31 16:32:55 +01:00
Tony Wasserka
d13bd327ba
Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.
2014-12-31 16:32:55 +01:00
Tony Wasserka
195d73a385
Pica/Rasterizer: Clean up long code lines.
2014-12-31 16:32:55 +01:00
Tony Wasserka
40c7200841
Pica/VertexShader: Coding style fixes.
2014-12-31 16:32:55 +01:00
Tony Wasserka
323a56f898
Pica/CommandProcessor: Cleanups.
2014-12-31 16:32:55 +01:00
Tony Wasserka
b2d461020d
Pica/CommandProcessor: Workaround games not setting the input position's w component.
2014-12-31 16:32:55 +01:00
Tony Wasserka
18a5e888bb
GPU: Pseudo-implement horizontal scaling.
...
It's not really known how this actually works. Some testing has shown that this probably performs no filtering, and common usage in games suggests it's not actually resizing the image at all.
However, this patch does seem to fix some homebrew showing quasi-duplicated images while still keeping other applications in a working state.
2014-12-31 16:32:55 +01:00
Tony Wasserka
0f49424022
Pica/Rasterizer: Implement backface culling.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3b78af904e
Pica/Rasterizer: Textures seem to be laid out flipped vertically.
...
Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3da52ead9b
Pica/DebugUtils: Fix a bug in RGBA4 texture decoding.
2014-12-31 16:32:55 +01:00
Tony Wasserka
a7ae0330b1
Pica/Rasterizer: Implement alpha blending.
2014-12-31 16:32:55 +01:00
Tony Wasserka
e229ff8c83
Pica/Rasterizer: Implement depth testing.
2014-12-31 16:32:55 +01:00
bunnei
59bba04628
Merge pull request #375 from lioncash/uops
...
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
2014-12-31 10:14:37 -05:00
Tony Wasserka
77bb58afeb
Pica/Rasterizer: Further enhance Tev support.
2014-12-31 15:35:54 +01:00
Tony Wasserka
36291bc3f6
Pica: Add output merger definitions.
2014-12-31 15:35:54 +01:00
Tony Wasserka
632655e292
Pica: Fix A4, IA4 and IA8 texture formats.
...
Both IA4 and IA8 had their component order mixed up. Additionally, IA4 used the wrong number of nibbles per texel. A4 skipped every second texel.
2014-12-31 15:35:24 +01:00
Tony Wasserka
b7a48c422a
Pica/CommandProcessor: Add support for integer uniforms.
2014-12-31 15:33:09 +01:00
Tony Wasserka
b03a97e0b8
citra-qt: Fix displaying RGBA5551 framebuffers.
...
(not that it matters at the moment, because this code is not used yet)
2014-12-31 15:33:09 +01:00
Tony Wasserka
e1144e364e
citra-qt: Always show pica framebuffers as RGBA8.
...
We actually don't really know yet how the format is encoded. Hence just use what works.
2014-12-31 15:33:09 +01:00
Lioncash
3cc4af99d1
dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX
2014-12-31 06:45:41 -05:00
bunnei
746fcf5a59
Merge pull request #338 from chinhodado/master
...
Add citra icon to executable and window title in Windows
2014-12-31 00:47:06 -05:00
Chin
3aeb5970e5
Add citra icon to Windows executable and title bar
2014-12-31 00:38:03 -05:00
bunnei
631f13e462
dyncom: Massive refactor
2014-12-30 23:56:45 -05:00
bunnei
29da5da951
Merge pull request #369 from darkf/mingw_
...
Fix MinGW build (2)
2014-12-30 23:54:02 -05:00
Lioncash
5894c407c2
vfp: Get rid of a few warnings
2014-12-30 13:08:56 -05:00
Lioncash
6ce4b7b666
vfp: Implement VMOVBRRSS
2014-12-30 11:04:22 -05:00
Lioncash
cc9f458ad3
dyncom: Implement USAT16/SSAT16
2014-12-30 09:43:24 -05:00
darkf
5d10b212ec
Fix MSVC-related #defines and add CMakeLists comment
2014-12-29 20:12:03 -08:00
bunnei
b3240f6455
Merge pull request #368 from purpasmart96/dsp_mem
...
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 23:08:51 -05:00
Subv
545ded954d
APT:A: Some style changes
2014-12-29 22:59:28 -05:00
darkf
8ba9ac0f74
Fix merge conflicts
2014-12-29 19:47:41 -08:00
purpasmart96
d5049cbba5
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 19:35:06 -08:00
Subv
2c89d4d5cd
Archives: Implemented ExtSaveData and SharedExtSaveData
...
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
bunnei
021fb42075
dyncom: Implement USAT/SSAT
2014-12-29 22:15:15 -05: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 -05: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 -05:00
bunnei
dedbdb2dfb
Merge pull request #344 from Yllodra/Qt-Oddities
...
Allow focus on the Qt render widget
2014-12-29 21:52:38 -05:00
bunnei
aa49019afb
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:50:47 -05:00
Tony Wasserka
b7e0b16354
Merge pull request #351 from yuriks/optimize
...
Rasterizer Optimizations
2014-12-30 00:13:48 +01:00
bunnei
2d2aa2c0be
Merge pull request #361 from lioncash/moreqops
...
dyncom/armemu: Implement QADD8/QSUB8.
2014-12-29 14:53:04 -05:00
Lioncash
d08d9f8747
dyncom: Fix SMLALXY's instruction labels
...
They were erroneously labeled as SMLAL.
2014-12-29 12:04:34 -05:00
Tony Wasserka
13699f05e7
Merge pull request #303 from linkmauve/fs-cleanup
...
FileSys cleanup
2014-12-29 12:14:59 +01:00
Lioncash
e412c0fc46
dyncom: Implement QADD8/QSUB8
2014-12-29 00:54:48 -05:00
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
2014-12-29 00:49:10 -05:00
bunnei
472ec0d0cf
Merge pull request #360 from lioncash/dynuxt
...
dyncom: Implement UXTB16/UXTAB16
2014-12-28 23:20:30 -05: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 -02: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 -02: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 -02: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 -02: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 -02: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 -02:00
Lioncash
5c198686ce
dyncom: Implement UXTB16/UXTAB16
2014-12-28 22:45:04 -05:00
bunnei
487a80f9f7
Merge pull request #347 from bunnei/frameskip
...
Frameskip
2014-12-28 22:39:17 -05:00
bunnei
df728cb4c2
Merge pull request #355 from lioncash/simp
...
armemu: Simplify some instructions.
2014-12-28 22:20:49 -05:00
bunnei
3b9d181b8e
GPU: Implement frameskip and remove forced framebuffer swap hack.
2014-12-28 22:14:05 -05: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 -05:00
bunnei
9a403d7dfb
Merge pull request #359 from lioncash/vfp
...
vfp: Actually make the code somewhat readable
2014-12-28 21:54:53 -05:00
bunnei
77363d9590
Merge pull request #331 from yuriks/handle-reform
...
New Handle manager
2014-12-28 21:11:55 -05:00
Lioncash
9c7f2570f7
vfp: Actually make the code somewhat readable
2014-12-28 18:55:01 -05:00
bunnei
bf9b33aa9f
dyncom: Implement PKHBT and PKHTB.
2014-12-28 16:50:08 -05:00
bunnei
58cb62fe7b
armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.
2014-12-28 16:18:52 -05:00
xdec
e6162ed91e
Qt: we don't need to check if model is valid.
2014-12-28 10:11:51 -08:00
Lioncash
7d322b5c6f
dyncom: Implement USAD8/USADA8
2014-12-28 12:40:51 -05:00
Lioncash
6ce2a38ec4
armemu: Simplify SSAT/SSAT16/SXTB/SXTAB
2014-12-28 12:19:31 -05:00
Lioncash
9f5b53f9ff
armemu: Simplify REV/REV16/SXTH/SXTAH
2014-12-28 12:13:13 -05:00
bunnei
762f16c4ad
Merge pull request #354 from lioncash/usaduflow
...
armemu: Fix underflows in USAD8/USADA8
2014-12-28 11:57:25 -05:00
Lioncash
914ecfe04f
armemu: Simplify USAT16/UXTB/UXTAB
2014-12-28 11:57:14 -05:00
Lioncash
5e16216afb
armemu: Simplify REVSH/UXTH/UXTAH
2014-12-28 11:57:09 -05: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 -02:00
Yuri Kunde Schlesner
23f2142009
Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants
2014-12-28 11:52:53 -02:00
Yuri Kunde Schlesner
73fba22c01
Rename ObjectPool to HandleTable
2014-12-28 11:52:52 -02:00
Lioncash
059c65a27a
armemu: Fix underflows in USAD8/USADA8
...
Initially reported by xdec.
2014-12-28 06:09:43 -05:00
xdec
8de09d87ab
Fix crash when the disassembler pause button is pressed while no game is running.
2014-12-28 01:56:07 -08:00
Lioncash
af69b0840b
dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.
2014-12-27 17:24:34 -05:00
Lioncash
60523113a9
armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
2014-12-27 17:06:19 -05:00
Lioncash
52d889d85d
dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
2014-12-27 00:57:32 -05: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 -05:00
Lioncash
84a0438cf5
armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
2014-12-26 23:55:39 -05:00
bunnei
a2005d0657
GPU: Change internal framerate to 30fps.
2014-12-26 21:48:32 -05:00
bunnei
01c675685e
Merge pull request #327 from Apology11/master
...
Fix visual studio ambiguous symbol error
2014-12-26 21:43:59 -05:00
Daniel Lundqvist
7e3f62a367
Remove duplicate work
2014-12-26 20:12:11 +01:00
Daniel Lundqvist
ba4ca041f4
Allow focus only when in popout mode
...
Only allow manually setting focus to the rendering widget when in Single Window mode. Apply this behavior to when changing the mode while an app is running.
2014-12-26 19:42:27 +01:00
bunnei
e5ddbfee02
Merge pull request #339 from bunnei/fixup-gsp-synch
...
Fixup gsp synch
2014-12-25 22:52:40 -05:00
bunnei
5d2ee78d8f
Merge pull request #330 from purpasmart96/new_srv
...
More services & small clean ups
2014-12-25 22:51:38 -05:00
bunnei
5799025ac4
GPU: Further improve synchronization.
2014-12-25 22:46:55 -05:00
bunnei
4783133bbd
ARM: Add a mechanism for faking CPU time elapsed during HLE.
...
- Also a few cleanups.
2014-12-25 22:46:44 -05:00
purpasmart96
9796bc1fa2
More services & small clean ups
2014-12-25 19:08:33 -08:00
bunnei
9c8ec675d9
Merge pull request #343 from lioncash/smmla
...
armemu: Implement SMMUL, SMMLA, and SMMLS.
2014-12-25 21:57:31 -05:00
bunnei
254567056f
Merge pull request #341 from lioncash/moresmops
...
armemu: Implement SMLALD/SMLSLD
2014-12-25 21:46:54 -05:00
Daniel Lundqvist
9d90b26020
Allow focus on the Qt render widget
...
By default widgets are set to the focus policy Qt::NoFocus which disallows manually focusing it. Changing the policy to allow clicking the widget to set focus to it allows for keyboard input when not rendering to a popout window. This commit also sets focus to the widget when showing it.
Fixes issue #158 .
2014-12-26 02:37:52 +01:00
Lioncash
35dbfc7ab0
armemu: Implement SMMUL, SMMLA, and SMMLS.
2014-12-25 13:52:46 -05:00
Lioncash
82c3962b95
armemu: Implement SMLALD/SMLSLD
2014-12-24 09:29:48 -05:00
Lioncash
6b7808e412
armemu: Fix GE/Q flag setting semantics
2014-12-24 07:56:57 -05:00
Emmanuel Gil Peyrot
bbe0bf1332
FileSys: Clean up according to the coding style, and remove redundant namespaced names.
2014-12-24 01:49:48 +00:00
bunnei
2bbbe68399
Merge pull request #328 from archshift/writeable
...
Stubbed IsSdmcWriteable to always return writeable.
2014-12-23 20:41:51 -05:00
archshift
81a538ccc2
Stubbed IsSdmcWriteable to always return writeable.
2014-12-23 22:22:48 -03:00
Lioncash
20fc5f2a35
armemu: Set the Q flag correctly for much of the other ops
...
They were setting the old S flag.
2014-12-23 09:59:37 -05:00
Lioncash
79a7a432c5
armemu: Set the Q flag properly for SMLAD/SMUAD
2014-12-23 09:58:21 -05:00
bunnei
d31a94f06b
Merge pull request #334 from lioncash/cpsr
...
armemu: Fix retrieval of the CPSR in MRS instructions.
2014-12-23 09:44:04 -05:00
bunnei
53447da142
Merge pull request #335 from lioncash/cpsrcreate
...
armemu: Emulate the GE and Q flags.
2014-12-23 09:43:46 -05:00
Lioncash
6446331938
armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation.
2014-12-22 23:52:05 -05:00
Lioncash
f66d356938
armemu: Fix SEL
...
Needs to use the updated state of the CPSR.
2014-12-22 23:52:05 -05:00
Lioncash
8e2accd974
armemu: Fix construction of the CPSR
2014-12-22 23:51:59 -05:00
Lioncash
8c72322422
armemu: Fix retrieval of the CPSR in MRS instructions.
2014-12-22 21:44:03 -05:00
bunnei
949d95659e
Merge pull request #275 from yuriks/cmake-clean
...
Clean up CMake library specification
2014-12-22 11:11:37 -05:00
Lioncash
97f3e884d2
dyncom: Move over QADD16/QASX/QSAX/QSUB16
2014-12-22 01:09:42 -05:00
bunnei
2188af4a65
Merge pull request #322 from chinhodado/master
...
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei
ae76469373
Merge pull request #332 from lioncash/sel
...
dyncom: Move SEL over
2014-12-21 21:49:45 -05:00
bunnei
ec1ddc17e2
Merge pull request #312 from Subv/still_more_savedata_stuff
...
CFG: Implemented the GetConfigInfoBlk2 function.
2014-12-21 21:47:25 -05:00
Lioncash
245276c9cc
dyncom: Move SEL over
2014-12-21 21:19:15 -05:00
bunnei
770b274c86
Merge pull request #324 from lioncash/dync
...
dyncom: Move over SASX/SSAX/SADD16/SSUB16
2014-12-21 20:33:14 -05:00
Lioncash
c6f27055c9
dyncom: Move over SASX/SSAX/SADD16/SSUB16
2014-12-21 19:50:36 -05:00
Subv
2030f9d946
CFG: Fixed some warnings and errors in Clang
2014-12-21 18:25:49 -05:00
Subv
304735fb52
CFG: More style changes
2014-12-21 18:02:27 -05:00
Subv
f080e3ccfa
CFGU: Indentation
2014-12-21 17:54:14 -05:00
Subv
6f304d3b00
CFG: Some indentation
2014-12-21 17:41:35 -05:00
Subv
b3cee19289
CFG: Changed the CreateConfigInfoBlk search loop
2014-12-21 17:26:51 -05:00
Subv
3e94b9054c
CFG: Corrected the licenses in cfg_i.cpp and cfg_u.cpp
2014-12-21 16:45:13 -05:00
Subv
6115f013a9
CFG: Create a new subfolder cfg inside service to handle cfg
...
Moved most of the shared CFG code there, implemented a few CFG:I functions
2014-12-21 16:41:06 -05:00
Subv
9e45240e23
CFGU: Some changes
2014-12-21 16:39:29 -05:00
Subv
cdd78fa01d
CFGU: Addressed some issues.
2014-12-21 16:39:26 -05:00
Subv
718a120754
CFGU: Addressed some comments.
2014-12-21 16:39:23 -05:00
Subv
a1b9b80a55
Style: Addressed some comments
2014-12-21 16:39:20 -05:00
Subv
a7cc7972de
CFG_U: Use Common::make_unique instead of the std version
2014-12-21 16:39:17 -05:00
Subv
9029efd873
CFG:U: Implemented some more blocks
2014-12-21 16:39:14 -05:00
Subv
8b0ee93526
CFG: Implemented block 0x00070001 in the config savefile
2014-12-21 16:39:11 -05:00
Subv
b3d1c8ba6a
CFGU: Use an absolute offset in the config savefile blocks
2014-12-21 16:39:08 -05:00
Subv
95ca6ae1e1
CFG: Load the Config savedata file if it already exists.
2014-12-21 16:39:05 -05:00
Subv
b49bdb6ba7
CFGU: Added block 0x000A0002 to the default savegame file
...
That's the language id block, we're using LANGUAGE_EN for now. This block allows some games to boot further
2014-12-21 16:39:02 -05:00
Subv
4cd21b43c1
CFG: Refactored how the config file works.
...
It is now kept in memory as per 3dbrew, all updates happen on memory, then they can be saved using UpdateConfigNANDSavegame.
2014-12-21 16:38:59 -05:00
Subv
462740278d
CFG:U: Add some data to the 0x00050005 config block.
...
Seems to allow some games to boot further, thanks @Normmatt for sharing this information
2014-12-21 16:38:57 -05:00
Subv
fa3d72ab3e
CFG: Implemented the GetConfigInfoBlk2 function.
...
Added a "config" file to the CFG process service (CFG:U), and added a few default blocks to it.
Implemented GetSystemModel and GetModelNintendo2DS
2014-12-21 16:38:54 -05:00
bunnei
0de6a08d75
Merge pull request #291 from purpasmart96/license
...
License change
2014-12-21 16:05:44 -05:00
Apology11
8d81e23d6e
Fix visual studio ambiguous symbol error
2014-12-21 18:34:20 +01:00
Chin
0199a7d9ef
More warning cleanups
2014-12-21 10:58:55 -05:00
bunnei
572ce043c2
Merge pull request #271 from archshift/createf
...
Added CreateFile to the FS_USER service
2014-12-21 01:45:00 -05:00
archshift
0625dd09ea
Added CreateFile to the FS_USER service
...
Tested with hwtests.
2014-12-21 02:21:49 -03:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
bunnei
0f696037f6
Merge pull request #323 from lioncash/saddsub
...
armemu: Implement SADD8/SSUB8
2014-12-21 00:10:12 -05:00
bunnei
4fcdbed9f6
Thread: Wait current thread on svc_SleepThread
...
- Removed unused VBLANK sleep mode
- Added error log for bad context switch
- Renamed VerifyWait to CheckWaitType to be more clear
2014-12-20 23:20:19 -05:00
Lioncash
855eda6f85
armemu: Implement SADD8/SSUB8
2014-12-20 23:10:35 -05:00
bunnei
2e5869c939
Merge pull request #316 from yuriks/thread-handle
...
Kernel: Implement support for current thread pseudo-handle
2014-12-20 16:36:01 -05:00
bunnei
0e9262885d
Merge pull request #296 from lioncash/dyn
...
dyncom: Implement UMAAL
2014-12-20 16:24:12 -05:00
bunnei
993afd3bf0
Merge pull request #310 from lioncash/ssat16
...
armemu: Fix SSAT16.
2014-12-20 16:23:54 -05:00
Lioncash
2a097f0990
armemu: Should be using labs for USAD8/USADA8
2014-12-20 15:34:14 -05:00
bunnei
7095c4959b
Merge pull request #311 from lioncash/usada
...
armemu: Implement USAD8 and USADA8
2014-12-20 15:21:25 -05:00
bunnei
52bc58283d
Merge pull request #313 from lioncash/smlsd
...
armemu: Implement SMLSD
2014-12-20 15:18:52 -05:00
bunnei
1c50a036dd
Merge pull request #314 from lioncash/qsax-qasx
...
armemu: Implement QASX and QSAX
2014-12-20 15:18:05 -05:00
Tony Wasserka
08f42c2b8c
Pica/VertexShader: Promote a log message to critical status.
2014-12-20 18:06:56 +01:00
Tony Wasserka
17f31de364
Pica/VertexShader: Small optimization.
2014-12-20 18:06:56 +01:00
Tony Wasserka
a664574ecb
Pica/VertexShader: Be robust against invalid inputs.
...
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
2014-12-20 18:06:56 +01:00
Tony Wasserka
ad5db467d7
Pica/VertexShader: Clarify a comment.
2014-12-20 18:06:56 +01:00
Tony Wasserka
871418e62b
Pica/DebugUtils: Further cleanups to LookupTexture.
2014-12-20 18:06:56 +01:00
Tony Wasserka
88e9efe4b8
Pica/DebugUtils: Fix two warnings.
2014-12-20 18:06:56 +01:00
Tony Wasserka
6e275778c9
Pica/DebugUtils: Better document LookupTexture.
2014-12-20 18:06:55 +01:00
Tony Wasserka
e4e9710d18
Pica/Rasterizer: Get rid of C-style casts.
2014-12-20 18:06:55 +01:00
Tony Wasserka
d81370682f
Pica/DebugUtils: Make a number of variables static.
...
Makes for cleaner and faster code.
2014-12-20 18:06:55 +01:00
Tony Wasserka
6bd41de276
Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
22afb9d830
Pica/VertexShader: Run instruction handlers according to the effective opcode.
...
This allows for proper emulation of the different CMP/LRP/MAD instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cd163fb59a
Pica/VertexShader: Implement MAX instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka
aff808b2fd
Pica: Add support for boolean uniforms.
2014-12-20 18:06:55 +01:00
Tony Wasserka
67618a2c55
Pica/VertexShader: Add support for MOVA, CMP and IFC.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cb1804e0ab
Pica/VertexShader: Move code around a bit.
2014-12-20 18:06:55 +01:00
Tony Wasserka
b85524c760
Pica/VertexShader: Some cleanups using std::array.
2014-12-20 18:06:55 +01:00
Tony Wasserka
ce36ad454e
Pica/VertexShader: Support negating src2.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cc5746abfe
Pica/DebugUtils: Replace duplicated SHBIN structures in favor of nihstro's ones.
2014-12-20 18:06:55 +01:00
Tony Wasserka
8ce1d32460
Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones.
2014-12-20 18:06:55 +01:00
Tony Wasserka
79c29243ed
Pica/DebugUtils: Add an event triggered after loading a vertex.
2014-12-20 18:06:55 +01:00
Tony Wasserka
cd322e328e
Pica/PrimitiveAssembly: Implement triangle strips.
2014-12-20 18:06:54 +01:00
Tony Wasserka
346012f29e
Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations.
2014-12-20 18:06:54 +01:00
Tony Wasserka
1e960e9ee2
Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are accessed for different attributes.
2014-12-20 18:06:54 +01:00
Tony Wasserka
1c972ef3b9
Add support for a ridiculous number of texture formats.
2014-12-20 18:06:54 +01:00
Tony Wasserka
40f123b7c0
Pica: Unify ugly address translation hacks.
2014-12-20 18:06:53 +01:00
Tony Wasserka
7e210e0229
Pica: Further improve Tev emulation.
2014-12-20 18:05:53 +01:00
Tony Wasserka
3df88d59b0
Pica: Merge texture lookup logic for DebugUtils and Rasterizer.
...
This effectively adds support for a lot texture formats in the rasterizer.
2014-12-20 18:05:53 +01:00
Tony Wasserka
0fba1d48a6
Pica: Implement texture wrapping.
2014-12-20 18:05:53 +01:00
Tony Wasserka
c81f1a9ebc
Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats.
2014-12-20 18:05:53 +01:00
Tony Wasserka
782592e6d3
citra-qt: Fix invalid memory read upon program startup.
...
This was caused by the framebuffer display widget not checking whether we are actually in a valid emulation state or not.
2014-12-20 18:05:53 +01:00
Tony Wasserka
fd2539121c
Pica: Initial support for multitexturing.
2014-12-20 18:05:53 +01:00
Tony Wasserka
95be6a09b2
BitField: Add an explicit Assign method.
...
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Tony Wasserka
8cd0d9c000
citra-qt: static-constify a map.
2014-12-20 18:05:52 +01:00
bunnei
2b0d7a1d29
Merge pull request #315 from chinhodado/master
...
Clean up some warnings
2014-12-20 11:59:18 -05:00
Chin
e795692614
Clean up some warnings
2014-12-20 10:03:36 -05:00
Yuri Kunde Schlesner
82528ba7df
Common: Add a clone of std::make_unique
2014-12-20 03:45:02 -02:00
Yuri Kunde Schlesner
adee775f44
Kernel: Implement support for current thread pseudo-handle
...
This boots a few (mostly Nintendo 1st party) games further.
2014-12-20 03:27:47 -02:00
bunnei
f1309e6bf0
Merge pull request #306 from Subv/even_more_savedata
...
SaveData: Added some documentation to FormatSaveData
2014-12-19 23:20:31 -05:00
Subv
fc73bef692
FS_U: Added the command to the docs of SaveData functions
2014-12-19 22:45:39 -05:00
bunnei
eb394ac0af
Merge pull request #309 from chinhodado/patch-1
...
Properly erase/remove a DebuggerObserver
2014-12-19 16:47:42 -05:00
bunnei
245abb4125
Merge pull request #294 from lioncash/var
...
armemu: Narrow the scope of some variables in handle_v6_insn
2014-12-19 16:46:56 -05:00
bunnei
dc5d1a9061
Merge pull request #305 from lioncash/paren
...
armemu: Get rid of bitwise parenthesis warnings
2014-12-19 16:46:36 -05:00
chinhodado
d31c23e958
Properly erase/remove an observer
2014-12-19 14:24:44 -05:00
Lioncash
4b506cec01
armemu: Implement QASX and QSAX
2014-12-19 14:09:18 -05:00
Lioncash
0f3a6a161c
armemu: Implement SMLSD
2014-12-19 09:53:54 -05:00
Lioncash
4a646ace1f
dyncom: Implement UMAAL
2014-12-19 04:02:14 -05:00
bunnei
017e6a488e
Merge pull request #302 from purpasmart96/flushshutup
...
GSP_GPU: Shut up FlushDataCache
2014-12-18 23:40:10 -05:00
Lioncash
00e8ec4a9e
armemu: Implement USAD8 and USADA8
2014-12-18 23:38:57 -05:00
Lioncash
92c53fe522
armemu: Fix SSAT16
...
The lower-bound would never be negative like it should
2014-12-18 20:35:14 -05:00
Lioncash
b9fc0b4b80
armemu: Clean up naming and formatting for SSAT16
2014-12-18 20:34:22 -05:00
purpasmart96
b2c64eb5ff
GSP_GPU: Shut up FlushDataCache
2014-12-18 16:39:55 -08:00
bunnei
765dbabdb6
Merge pull request #308 from Subv/more_savedata
...
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:05:03 -05:00
Subv
78e0f36857
SystemSaveData: Fixed a typo that was segfaulting
2014-12-18 18:01:47 -05:00
bunnei
24b5e87279
Merge pull request #304 from lioncash/sflags
...
armemu: Set GE flags properly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 17:46:10 -05:00
bunnei
4959e3b2c0
Merge pull request #307 from lioncash/usat16
...
armemu: Fix USAT16.
2014-12-18 17:45:25 -05:00
bunnei
c71f8840e5
Merge pull request #301 from Subv/more_savedata
...
SaveData: Implemented the SystemSaveData archive.
2014-12-18 17:29:34 -05:00
Subv
f9472eda0a
SystemSaveData: Added a TODO to move it to the NAND.
...
Maybe sometime when we actually implement that
2014-12-18 16:58:42 -05:00
Lioncash
e683f654ce
armemu: Fix lower-bounds clamping for USAT16
2014-12-18 16:54:01 -05:00
Subv
77f0cdfaf4
SaveData: Added some documentation to FormatSaveData
...
We still don't know what the other parameters do, but they appear to be very similar to those of FormatThisUserSaveData.
Most likely FormatThisUserSaveData is just an alias for FormatSaveData with LowPathType Empty
2014-12-18 15:30:28 -05:00
Lioncash
6b632bbe37
armemu: More concise names for USAT16-related variables
2014-12-18 14:25:07 -05:00
Lioncash
eaae0ad502
armemu: Get rid of bitwise parenthesis warnings
2014-12-18 12:07:18 -05:00
Lioncash
4dc8eb40be
armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX.
2014-12-18 11:45:40 -05:00
bunnei
8ac22e7efc
Merge pull request #299 from lioncash/join
...
Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-18 10:04:31 -05:00
Subv
bec527fa24
SaveData: Implemented the SystemSaveData archive.
...
It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
2014-12-17 23:44:32 -05:00
bunnei
797efbde1a
Merge pull request #298 from lioncash/flags
...
armemu: Unset GE flags for UADD8 if results are < 0x100
2014-12-17 22:06:27 -05:00
bunnei
a968adf50e
Merge pull request #295 from lioncash/umaal
...
armemu: Implement UMAAL
2014-12-17 21:44:13 -05:00
Lioncash
85c318078d
armemu: Combine SSUB16, SADD16, SASX, and SSAX.
2014-12-17 21:17:54 -05:00
bunnei
075126247f
Merge pull request #292 from lioncash/backports
...
Backport more skyeye fixes from 3dmoo
2014-12-17 20:58:00 -05:00
bunnei
e00e303275
Merge pull request #297 from lioncash/ssub16
...
armemu: Fix SSUB16
2014-12-17 20:56:37 -05:00
bunnei
7bae450379
Merge pull request #185 from purpasmart96/mem_perm
...
Kernel: Add missing permissions
2014-12-17 20:56:04 -05:00
Subv
ea9ce0fba7
Filesystem/Archives: Implemented the SaveData archive
...
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found
2014-12-17 19:21:38 -05:00
Lioncash
41fee1c940
armemu: Unset GE flags for UADD8 if results are < 0x100
...
Reference manual states these must be set to zero if this case is true.
2014-12-17 17:54:49 -05:00
Lioncash
58dc554733
armemu: Fix SSUB16
...
Broken from the same reason SADD16 was.
The lo part of the result should only be constructed from the lo halfwords of rm and rn.
The hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 15:40:10 -05:00
bunnei
e6f440ea7f
Merge pull request #293 from lioncash/sops
...
armemu: Fix SADD16
2014-12-17 14:54:24 -05:00
bunnei
3e9d4a7917
Merge pull request #287 from lioncash/qaddsub16
...
armemu: Join QADD16/QSUB16 and fix saturation clamping.
2014-12-17 12:34:52 -05:00
Lioncash
5820dba6b7
armemu: Implement UMAAL
2014-12-17 12:21:21 -05:00
Lioncash
2d91164bb9
armemu: Narrow the scope of some variables in handle_v6_insn
...
There's no reason to have these in the outer-most scope.
2014-12-17 10:26:20 -05:00
Lioncash
5289a496a7
armemu: Fix SADD16
...
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17 09:36:25 -05:00
Normmatt
73211dc8fe
armemu: Fix PKHTB
2014-12-17 03:26:12 -05:00
Normmatt
8045df14d2
armemu: Implement REVSH
2014-12-17 03:26:01 -05:00
Normmatt
bc81cc9490
armemu: Fix UXTAB/UXTAH
2014-12-17 03:24:25 -05:00
Normmatt
b5dbd6f2a2
armemu: Fix SXTAB
2014-12-17 03:17:44 -05:00
Normmatt
efebd5589a
armemu: Fix SXTAH
2014-12-17 03:16:40 -05:00
bunnei
fdb4ef5210
Merge pull request #289 from lioncash/smops
...
Join SMUAD, SMUSD, and SMLAD ops. Also fix them as well.
2014-12-17 00:08:43 -05:00
bunnei
ec9ac2f51a
Merge pull request #290 from lioncash/vsub
...
armemu: Backport some VFP fixes from 3dmoo.
2014-12-16 23:22:58 -05:00
Normmatt
9c127f4a01
armemu: Fix FTOUI NaN sign.
2014-12-16 05:56:06 -05:00
Normmatt
2ed03c10e0
armemu: Fix FSUBS bug where NaN shouldn't be negated
2014-12-16 05:54:00 -05:00
Lioncash
d5bcddb77c
armemu: Fix SMUAD, SMUSD, and SMLAD
...
Wrong values were being multiplied together.
2014-12-16 03:13:06 -05:00
Lioncash
0f9e3baf39
armemu: Join SMUAD, SMUSD, and SMLAD
2014-12-16 03:11:50 -05:00
Lioncash
4c53799229
armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.
2014-12-16 00:11:51 -05:00
Lioncash
49817e89d9
armemu: Join QADD16 and QSUB16 together.
...
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
2014-12-16 00:11:19 -05:00
bunnei
cdfa7157eb
Merge pull request #286 from yuriks/msvc-fix
...
Comment out empty arrays causing compile errors in MSVC
2014-12-15 22:52:35 -05:00
Yuri Kunde Schlesner
082bf803ab
Comment out empty arrays causing compile errors in MSVC
2014-12-16 01:37:13 -02:00
bunnei
a8098187aa
Merge pull request #285 from lioncash/uxtab16
...
armemu: Implement UXTAB16
2014-12-15 22:29:12 -05:00
bunnei
cd2a31eaf4
Merge pull request #283 from yuriks/archive-refactor
...
Archive refactor
2014-12-15 22:15:08 -05:00
Yuri Kunde Schlesner
666f6deb47
Work around libstdc++'s lack of support for std::hash on enums
2014-12-16 01:09:21 -02:00
Yuri Kunde Schlesner
83e6e4ffec
FS.Archive: Clean up treatment of archives and their handles
...
- Refactor FS::Archive internals to make Archive creation and lifetime
management clearer.
- Remove the "Archive as a File" hack.
- Implement 64-bit Archive handles.
2014-12-16 01:08:44 -02:00
Yuri Kunde Schlesner
0931a42af0
Service.FS: Rename FileSys::File to FileBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
d51afab0bc
Service.FS: Rename FileSys::Directory to DirectoryBackend
2014-12-16 01:08:43 -02:00
Yuri Kunde Schlesner
82fe821e87
Service.FS: Rename FileSys::Archive to ArchiveBackend
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
f6153679b0
Service.FS: Do archive registration using IdCode instead of name
2014-12-16 01:08:42 -02:00
Yuri Kunde Schlesner
ca67bb7945
HLE: Rename namespaces to match move & fix initialization order
2014-12-16 01:08:38 -02:00
Yuri Kunde Schlesner
c72ccfa6db
HLE: Move kernel/archive.* to service/fs/
2014-12-16 01:08:14 -02:00
Lioncash
1c7f77334c
armemu: Implement UXTAB16
2014-12-15 20:47:27 -05:00
bunnei
5df176425b
Merge pull request #282 from archshift/services
...
Added stubs for ldr:ro, cecd:u, nim:aoc, and am:app services
2014-12-15 19:28:13 -05:00
bunnei
0fd731ee63
Merge pull request #281 from lioncash/uxtb16
...
armemu: Fix UXTB16
2014-12-15 18:56:02 -05:00
archshift
89eef9eb6d
Added stub for nim:aoc service...
2014-12-15 15:32:42 -08:00
archshift
1356a6b313
Added stub for cecd:u service...
...
I couldn't find any information about this service...
2014-12-15 15:32:42 -08:00
archshift
6117fad036
Added stub for ldr:ro service...
2014-12-15 15:32:42 -08:00
archshift
6b51683bb1
Added am:app service stub.
...
Apparently nothing at all is known about this service...
2014-12-15 15:32:41 -08:00
Yuri Kunde Schlesner
06f31e8b47
Clean up CMake library specification
...
The X11 libraries don't need to be specified when doing dynamic linking
2014-12-15 19:34:17 -02:00
Yuri Kunde Schlesner
e321decf98
Remove SyncRequest from K::Object and create a new K::Session type
...
This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
2014-12-15 18:26:17 -02:00
Lioncash
2b0acd36e1
armemu: Fix UXTB16
...
Rotation bits are 10 and 11, not 9 and 10.
2014-12-14 23:00:31 -05:00
bunnei
1ee740898a
Merge pull request #276 from lioncash/decrappify
...
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
bunnei
17b4d6747a
Merge pull request #246 from Subv/cbranch_1
...
SVC: Implemented Semaphores
2014-12-14 22:03:28 -05:00
bunnei
2cac148ff3
Merge pull request #273 from bunnei/more-skyeye-fixes
...
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:58:05 -05:00
bunnei
d26b7146ce
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:51:46 -05:00
Lioncash
f6cb8c1927
Clean up armdefs.h
2014-12-14 02:00:42 -05:00
Yuri Kunde Schlesner
ac87c3b0d0
Restore the original console color after logging a message.
...
Fixes #277
2014-12-14 02:10:41 -02:00
purpasmart96
23ae8aa4d3
MemMap: Added AXI_WRAM & SHARED_PAGE along with other stuff
...
Got rid of I/O address's since the I/O addresses range's overlap with other
address's types such as vram, these I/O addresses need to be done in an different
way.
2014-12-13 18:29:57 -08:00
Subv
1051795c32
Kernel/Semaphores: Fixed build
2014-12-13 13:43:01 -05:00
Subv
ea95876431
Kernel/Semaphore: Small style change
2014-12-13 13:40:19 -05:00
Subv
effb181888
Kernel/Semaphores: Invert the available count checking.
...
Same semantics, idea by @yuriks
2014-12-13 13:40:18 -05:00
Subv
5e25986235
Kernel/Semaphores: Addressed some issues.
2014-12-13 13:40:16 -05:00
Subv
cc81a510e3
Semaphore: Removed an unneeded function
2014-12-13 13:40:15 -05:00
Subv
61434651d8
Semaphores: Addressed some style issues
2014-12-13 13:40:13 -05:00
Subv
abff4a7ee2
Semaphore: Implemented the initial_count parameter.
2014-12-13 13:40:12 -05:00
Subv
49b31badba
SVC: Implemented ReleaseSemaphore.
...
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13 13:40:10 -05:00
Subv
82c84883a5
SVC: Implemented svcCreateSemaphore
...
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
Lioncash
cfc0ee9c60
kernel: Remove unused log arguments
2014-12-13 10:15:58 -05:00
Yuri Kunde Schlesner
4d2a6f8b9b
Remove old logging system
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0e0a007a25
Add configurable per-class log filtering
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner
6390c66e95
Implement text path trimming for shorter paths.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
6b0fb62c47
Re-add coloring to the console logging output.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
616d874443
New logging system
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
04b1f2936c
Add SCOPE_EXIT macro to conveniently execute cleanup actions
2014-12-13 01:59:51 -02:00
Yuri Kunde Schlesner
eda30c36ee
Added missing include in common_funcs.h
2014-12-13 01:59:50 -02:00
Yuri Kunde Schlesner
8a681cdf3d
Remove redundant include from common_funcs.h
2014-12-13 01:59:50 -02:00
bunnei
a6791e4fc7
Merge pull request #267 from bunnei/apt-shared-font
...
APT shared font loading
2014-12-12 22:12:12 -05:00
bunnei
6fe61d3deb
APT_U: Added GetSharedFont service function.
2014-12-12 22:06:10 -05:00
Tony Wasserka
33e61ef514
Merge pull request #261 from neobrain/boost
...
Add Boost as a submodule and add some minor cleanups using Boost.Range
2014-12-12 17:32:57 +01:00
bunnei
988998cca5
DSP: Added stub for ReadPipeIfPossible.
2014-12-12 00:53:51 -05:00
bunnei
5bac72282a
Common: Add "sysdata" to GetUserPath and cleanup.
2014-12-12 00:15:47 -05:00
bunnei
4cb7a44d4e
MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.
...
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-12 00:15:47 -05:00
bunnei
3a75c8069e
Merge pull request #256 from Subv/mutex
...
Kernel/Mutex: Properly lock the mutex when a thread enters it
2014-12-10 22:52:55 -05:00
Emmanuel Gil Peyrot
5a3b1b5f44
CFG:U: Store country codes as u16 instead of char pointers, and return the correct error in GetCountryCodeID.
2014-12-10 22:33:23 +00:00
bunnei
ae3c6e82f7
Merge pull request #243 from bunnei/fix-gsp-synch
...
Fix gsp synch
2014-12-10 09:20:05 -05:00
archshift
4763fca9f8
Explicitly specify LE strings to iconv, fixes paths in Steel Diver
2014-12-09 22:07:28 -08:00
bunnei
f94d8f9603
GSP: Trigger GPU interrupts at more accurate locations.
2014-12-09 19:07:14 -05:00
bunnei
e90b37b935
GSP: Updated TriggerCmdReqQueue to return success code.
2014-12-09 19:07:14 -05:00
bunnei
3e1654eaa8
GSP: Updated RegisterInterruptRelayQueue to return expected magic number.
2014-12-09 19:07:14 -05:00