Commit graph

1745 commits

Author SHA1 Message Date
archshift e011acaa84 Removed swap code redundancy and moved common swap code to swap.h 2015-03-05 22:46:45 -08:00
archshift 47010fea31 Implement SetLcdForceBlack, move register enum to hw.h 2015-03-05 19:38:23 -08:00
bunnei 8e4e28aacb Merge pull request #615 from Subv/services
Services: Moved the PTM and APT services to their own folder
2015-03-04 21:27:24 -05:00
Subv 83a8975cb8 Services: Moved the PTM and APT services to their own folder
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.

Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-03-03 21:48:08 -05:00
bunnei 8fc8c51118 Merge pull request #625 from lioncash/warn
vfp: Get rid of warnings
2015-03-03 19:15:32 -05:00
Lioncash 4b89cf9e43 vfp: Get rid of warnings 2015-03-03 19:13:01 -05:00
bunnei 34c31db14a GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
Yuri Kunde Schlesner 44f46254dc Merge pull request #622 from Subv/titles
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
2015-03-02 10:26:56 -03:00
Subv 9a72fb79fc Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
They will always return 0 titles for every media type for now.
This is needed to boot Home Menu further
2015-03-02 08:12:04 -05:00
bunnei d175f2b7f3 Merge pull request #623 from Subv/card
Services/FS: Stubbed CardSlotIsInserted to always return false
2015-03-01 22:49:29 -05:00
bunnei 9a47eb117c Merge pull request #618 from lioncash/ref
result: Make comparison operators take references
2015-03-01 22:27:28 -05:00
bunnei 5d0e557689 Merge pull request #621 from Subv/power
Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
2015-03-01 22:21:08 -05:00
Yuri Kunde Schlesner dc8a3f8bc8 Profiler: Implement QPCClock to get better precision on Win32
MSVC 2013 (at least) doesn't use QueryPerformanceCounter to implement
std::chrono::high_resolution_clock, so it has bad precision. Manually
implementing our own clock type using it works around this for now.
2015-03-01 21:47:14 -03:00
Yuri Kunde Schlesner cd1fbfcf1b Add profiling infrastructure and widget 2015-03-01 21:47:13 -03:00
Subv db1a5d4222 Services/FS: Stubbed CardSlotIsInserted to always return false
We won't be emulating this for the foreseeable future and it is needed for Home Menu to boot further
2015-02-28 23:00:46 -05:00
Subv c36778e602 Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
This allows the Home Menu to boot further
2015-02-28 19:51:13 -05:00
archshift c1d29ac202 Merge pull request #616 from archshift/5551
Added RGBA5551 compatibility in the rasterizer
2015-02-28 13:52:47 -08:00
bunnei d362eb2669 Merge pull request #620 from lioncash/bkpt
arm_disasm: Show conditional code for BKPT instructions.
2015-02-27 22:53:33 -05:00
archshift 7f9ee69a2b Added RGBA5551 compatibility in the rasterizer
This allows Virtual Console games to display properly.
2015-02-27 19:15:08 -08:00
Lioncash 9ed3488925 arm_disasm: Show conditional code for BKPT instructions.
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
2015-02-27 21:59:30 -05:00
Lioncash 1a70782cda arm_disasm: Remove unused variable
Also declared an array as static, as it's only used in this translation unit.
2015-02-27 21:31:36 -05:00
Lioncash 99ff8bbb0c result: Make comparison operators take references
It's unnecessary to make copies for simple comparisons like this.
2015-02-27 21:16:21 -05:00
bunnei c9ef377afa Merge pull request #599 from Subv/morton
GPU: Implemented bits 3 and 1 from the display transfer flags.
2015-02-26 22:40:27 -05:00
Subv c564c21668 GPU: Implemented bits 3 and 1 from the display transfer flags.
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA.
Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-26 21:17:14 -05:00
Lioncash 8812d2fbdb arm: The CP15 Main ID register is not writeable 2015-02-26 09:28:31 -05:00
Yuri Kunde Schlesner ea3c99f3a2 Video core: Fix A4 texture decoding
It was trying to take the LSB from `coarse_x`, which would always be 0
and thus would always return the same texel from each byte. To add
insult to the injury, the conditional was actually the wrong way around
too.

Fixes blocky text in OoT.
2015-02-25 23:05:14 -03:00
Yuri Kunde Schlesner 1b5ee96797 Merge pull request #604 from Subv/arc_ssd
Archives: Properly implemented the SystemSaveData archive.
2015-02-25 22:35:55 -03:00
Yuri Kunde Schlesner 3c50da6fc0 Video core: Fix pixelation/blockiness in textures.
This was caused during morton decoding by me not masking the bits of
each coordinate before merging them, so the bits from x could set bits
in y if it was >255.
2015-02-25 22:16:01 -03:00
Subv 9db5c9b6dc Archives: Properly implemented the SystemSaveData archive.
Ported to the new factory pattern we have for archives.
2015-02-25 19:37:10 -05:00
bunnei f7c3193fec Merge pull request #575 from linkmauve/xdg
Switch to the XDG Base Directory Specification for directory selection
2015-02-25 13:58:25 -05:00
Lioncash 1bb400be1b arm: Remove unnecessary booleans
We don't care about any of these.
2015-02-25 10:55:50 -05:00
Emmanuel Gil Peyrot 129ad721c1 Common: Switch to the XDG Base Directory Specification for directory selection.
This allows for easily movable and independent configuration and data directories, using standardized paths.
2015-02-25 05:27:13 +01:00
bunnei 40d1f9045a Merge pull request #601 from Subv/y2r
Services: Implemented Y2R_U::GetTransferEndEvent
2015-02-24 22:35:05 -05:00
bunnei ed255ebaec Rasterizer: Add support for RGBA4 framebuffer format. 2015-02-24 19:58:33 -05:00
Subv ef66feaeba Services: Implemented Y2R_U::GetTransferEndEvent
Aero Porter was throwing an "Invalid Handle" fatal error without this.
2015-02-24 08:28:36 -05:00
bunnei 3700263f71 Merge pull request #595 from linkmauve/new-3ds-input
Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
2015-02-23 21:13:29 -05:00
bunnei 50a0c4f14f Merge pull request #581 from archshift/tfe
Added information reporting from ThrowFatalError
2015-02-23 01:23:15 -05:00
Subv b1284222f2 GPU: Fixed RGBA8 as output format in a display transfer.
Verified with hwtests
2015-02-22 15:22:14 -05:00
archshift 0420a4d1de Added information reporting from ThrowFatalError
This was RE'd from the errdisp applet.
2015-02-22 12:19:30 -08:00
Emmanuel Gil Peyrot aa64f69af0 Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one. 2015-02-22 21:09:08 +01:00
bunnei 89a71eb6a4 Merge pull request #471 from archshift/pp3ports3
GPU: Add support for more framebuffer formats in display transfers.
2015-02-22 14:54:56 -05:00
Tony Wasserka 23c6764b2b GPU: Add support for more framebuffer formats in display transfers. 2015-02-22 11:48:02 -08:00
bunnei 733c19ddd3 Rasterize with the correct color component order.
- Fixes a regression with #594.
2015-02-22 13:57:24 -05:00
bunnei dfe807b2cd Merge pull request #596 from kevinhartman/unaligned-cleanup
Clean up unaligned 32-bit memory reads
2015-02-22 12:48:28 -05:00
bunnei d120757f32 Merge pull request #594 from Subv/display_transfer
GPU: Fixed the RGBA8 input format and RGB8 output format
2015-02-22 12:44:57 -05:00
Tony Wasserka 34f21334ad Merge pull request #593 from Subv/search_problem
Pica/VertexShader: Fixed LOOP with more than one iteration.
2015-02-22 15:51:12 +01:00
Kevin Hartman 05c098a9e7 Cleaned up unaligned access. 2015-02-21 17:25:31 -08:00
Subv fbbfb52a2c GPU: Fixed the RGBA8 input format and RGB8 output format
in Display Transfers, tested with hwtests.
2015-02-21 18:43:53 -05:00
Subv 9a03e9c61d Pica/VertexShader: Fixed LOOP with more than one iteration.
Previously it wouldn't jump back to the start of the loop code once it reached the end of the block.
Fixes the texture problems in a lot of games.
2015-02-21 12:52:21 -05:00
Kevin Hartman a6fdb8f217 Fix error message for bad config block request. 2015-02-20 21:47:58 -08:00
Emmanuel Gil Peyrot 54d6f6c82b Common: Change names containing “Dolphin” or “PPSSPP” to something more generic. 2015-02-20 16:54:10 +00:00
bunnei 5f9939070e Merge pull request #588 from archshift/somebranch
Sweeping cleanup of Common
2015-02-20 11:41:30 -05:00
archshift 4fb75d220a Misc cleanup of common and related functions 2015-02-19 22:26:25 -08:00
archshift 302f0b32f5 Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h 2015-02-19 22:26:25 -08:00
bunnei c7d1480ece Merge pull request #587 from archshift/assert
Convert a few C stdlib asserts to Citra's own asserts
2015-02-19 13:45:58 -05:00
archshift 49f94b82b4 Remove "super lame/broken" file_search compilation unit that was leftover from Dolphin 2015-02-18 23:23:18 -08:00
archshift 961f65d1fe Remove redundant utf8 compilation unit that was leftover from Dolphin 2015-02-18 22:34:32 -08:00
archshift 9f7f1a2272 Remove useless extended_trace compilation unit that was leftover from Dolphin 2015-02-18 22:30:31 -08:00
archshift 5efd149ad5 Remove the useless msg_handler compilation unit that was left over from Dolphin 2015-02-18 22:26:22 -08:00
archshift 3c48697ea3 Convert a few C stdlib asserts to Citra's own asserts 2015-02-18 21:52:36 -08:00
Subv 5410367ebf Rasterizer: Fixed a warning in GetWrappedTexCoord.
Redeclaring the variable inside the switch was causing weird behavior.
2015-02-18 23:52:47 -05:00
bunnei ec8f2210e3 Merge pull request #580 from lioncash/emplace
core/video_core: Use in-place construction where possible
2015-02-18 17:36:34 -05:00
Tony Wasserka 2eee3a87f9 Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED(). 2015-02-18 14:52:27 +01:00
Tony Wasserka 6e5a903286 Pica/Rasterizer: Make some local lambdas static. 2015-02-18 14:50:28 +01:00
Tony Wasserka 1561204342 Pica/BlendUnit: Implement separate color/alpha blend equations. 2015-02-18 14:50:28 +01:00
Tony Wasserka 81ebb4d682 Pica/TextureEnvironment: Add a note. 2015-02-18 14:50:28 +01:00
Tony Wasserka e11fb96408 Pica/TextureEnvironment: Treat texture combiner source 1 as the PrimaryColor.
Not really sure where the difference is, but some applications seem to use this 1:1 the same way...
2015-02-18 14:50:28 +01:00
Tony Wasserka 04cd06d5c2 Pica/TextureEnvironment: Add support for the MAD-like texture combiners and clean up texture environment logic. 2015-02-18 14:50:28 +01:00
Tony Wasserka 087edcfbec Pica/OutputMerger: Fix flipped framebuffers. 2015-02-18 14:50:28 +01:00
Tony Wasserka 6ca752ccbc Pica/TextureUnit: Implement mirrored repeating texture wrapping. 2015-02-18 14:50:28 +01:00
Tony Wasserka 8bd7a896ea Pica: Fix a bug in the register definitions, relating to texture wrapping. 2015-02-18 14:50:28 +01:00
Tony Wasserka aaf30ca4ee Pica/OutputMerger: Implement color format checking. 2015-02-18 14:50:28 +01:00
Tony Wasserka 3b5710bae6 Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners. 2015-02-18 14:50:28 +01:00
Tony Wasserka 3cb22d31a7 Pica/Rasterizer: Fix garbage pixels at triangle borders. 2015-02-18 14:50:28 +01:00
Tony Wasserka 638b370fb5 Pica/Rasterizer: Clean up and fix backface culling. 2015-02-18 14:50:28 +01:00
Tony Wasserka 365236fa4c Pica: Cleanup clipping code and change screenspace z to range from -1..0.
The change in depth range seems to reflect better to what applications are expecting, and makes for cleaner code overall (hence is more likely to reflect hardware behavior).
2015-02-18 14:50:03 +01:00
Tony Wasserka 70a764d992 Pica/VertexShader: Implement the LOOP instruction. 2015-02-18 14:02:59 +01:00
Tony Wasserka 6c26ec72a5 Pica/CommandProcessor: Properly implement shader load destination offset registers. 2015-02-18 14:02:59 +01:00
Tony Wasserka 67120270f2 Pica/CommandProcessor: Work around initialized vertex attributes some more. 2015-02-18 14:02:59 +01:00
Tony Wasserka 0da6a7e234 GPU: Properly implement memory fills. 2015-02-18 14:02:58 +01:00
bunnei 745b42d236 Merge pull request #570 from purpasmart96/config_mem
ConfigMem: Clean up the Config memory to be more like the shared page
2015-02-18 00:12:37 -05:00
bunnei 8e731b129d Merge pull request #582 from lioncash/warnings
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 23:57:54 -05:00
bunnei 60f9cd6a4a Merge pull request #579 from lioncash/bkpt
dyncom: Support conditional BKPT instructions
2015-02-17 23:54:01 -05:00
Yuri Kunde Schlesner 714d507938 Asserts: Use lambdas to keep assertion code away from the main code path 2015-02-18 02:19:30 -02:00
Lioncash 4f910bb1a1 vfpinstr: Fix trivial signed/unsigned mismatch warnings 2015-02-17 18:53:50 -05:00
Lioncash 5d2366e1e9 core/video_core: Use in-place construction where possible 2015-02-17 17:57:23 -05:00
Lioncash a7120662e6 dyncom: Support conditional BKPT instructions 2015-02-17 01:37:22 -05:00
Tony Wasserka a78b8b1bc4 Merge pull request #578 from linkmauve/math-typo
VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead
2015-02-17 00:30:22 +01:00
purpasmart96 c3c309f33d ConfigMem: Clean up the Config memory to be more like the shared page and moved
the helper macro for padding to common_funcs.h
2015-02-16 15:12:05 -08:00
Emmanuel Gil Peyrot 8a1c08a0af VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead. 2015-02-16 21:51:37 +00:00
Subv cb3d254517 Services: Fixed "Tried to connect to named port err:f".
err:f is a named port, not a service
2015-02-16 15:24:15 -05:00
bunnei 2b2b343ce0 Merge pull request #574 from lioncash/warn
vfpdouble: Use %p for printing pointer addresses.
2015-02-16 09:45:43 -05:00
Lioncash 012d1e32ad dyncom: Actually set the destination register for USAD8/USADA8.
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-16 01:03:01 -05:00
Lioncash f0c4bd629c vfpdouble: Use %p for printing pointer addresses. 2015-02-15 17:11:02 -05:00
bunnei 20dc07721c Merge pull request #539 from linkmauve/framebuffer-formats
Framebuffer formats
2015-02-15 10:00:48 -05:00
Emmanuel Gil Peyrot c439b3074d video_core: Implement the remaining framebuffer formats in the OpenGL renderer. 2015-02-15 14:08:12 +00:00
Lioncash 473afa4530 arm: Set the A bit on reset.
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
2015-02-15 00:35:50 -05:00
bunnei 12181c8a64 Merge pull request #529 from Subv/master
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
Lioncash 0c6434c379 core: Apply static to local functions 2015-02-13 10:48:32 -05:00
Lioncash a75e1ff6e6 arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00