Commit Graph

1697 Commits (89495fc888a6bba998311f5fef2d65320b49d4d8)

Author SHA1 Message Date
Kevin Hartman 05c098a9e7 Cleaned up unaligned access. 2015-02-21 17:25:31 +07: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 +07: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 +07:00
Emmanuel Gil Peyrot 54d6f6c82b Common: Change names containing “Dolphin” or “PPSSPP” to something more generic. 2015-02-20 16:54:10 +07:00
bunnei 5f9939070e Merge pull request #588 from archshift/somebranch
Sweeping cleanup of Common
2015-02-20 11:41:30 +07:00
archshift 4fb75d220a Misc cleanup of common and related functions 2015-02-19 22:26:25 +07:00
archshift 302f0b32f5 Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h 2015-02-19 22:26:25 +07: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 +07:00
archshift 49f94b82b4 Remove "super lame/broken" file_search compilation unit that was leftover from Dolphin 2015-02-18 23:23:18 +07:00
archshift 961f65d1fe Remove redundant utf8 compilation unit that was leftover from Dolphin 2015-02-18 22:34:32 +07:00
archshift 9f7f1a2272 Remove useless extended_trace compilation unit that was leftover from Dolphin 2015-02-18 22:30:31 +07:00
archshift 5efd149ad5 Remove the useless msg_handler compilation unit that was left over from Dolphin 2015-02-18 22:26:22 +07:00
archshift 3c48697ea3 Convert a few C stdlib asserts to Citra's own asserts 2015-02-18 21:52:36 +07: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 +07: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 +07:00
Tony Wasserka 2eee3a87f9 Pica/Rasterizer: Replace exit() calls with UNIMPLEMENTED(). 2015-02-18 14:52:27 +07:00
Tony Wasserka 6e5a903286 Pica/Rasterizer: Make some local lambdas static. 2015-02-18 14:50:28 +07:00
Tony Wasserka 1561204342 Pica/BlendUnit: Implement separate color/alpha blend equations. 2015-02-18 14:50:28 +07:00
Tony Wasserka 81ebb4d682 Pica/TextureEnvironment: Add a note. 2015-02-18 14:50:28 +07: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 +07: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 +07:00
Tony Wasserka 087edcfbec Pica/OutputMerger: Fix flipped framebuffers. 2015-02-18 14:50:28 +07:00
Tony Wasserka 6ca752ccbc Pica/TextureUnit: Implement mirrored repeating texture wrapping. 2015-02-18 14:50:28 +07:00
Tony Wasserka 8bd7a896ea Pica: Fix a bug in the register definitions, relating to texture wrapping. 2015-02-18 14:50:28 +07:00
Tony Wasserka aaf30ca4ee Pica/OutputMerger: Implement color format checking. 2015-02-18 14:50:28 +07:00
Tony Wasserka 3b5710bae6 Pica/Rasterizer: Rasterize actual pixel centers instead of pixel corners. 2015-02-18 14:50:28 +07:00
Tony Wasserka 3cb22d31a7 Pica/Rasterizer: Fix garbage pixels at triangle borders. 2015-02-18 14:50:28 +07:00
Tony Wasserka 638b370fb5 Pica/Rasterizer: Clean up and fix backface culling. 2015-02-18 14:50:28 +07: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 +07:00
Tony Wasserka 70a764d992 Pica/VertexShader: Implement the LOOP instruction. 2015-02-18 14:02:59 +07:00
Tony Wasserka 6c26ec72a5 Pica/CommandProcessor: Properly implement shader load destination offset registers. 2015-02-18 14:02:59 +07:00
Tony Wasserka 67120270f2 Pica/CommandProcessor: Work around initialized vertex attributes some more. 2015-02-18 14:02:59 +07:00
Tony Wasserka 0da6a7e234 GPU: Properly implement memory fills. 2015-02-18 14:02:58 +07: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 +07:00
bunnei 8e731b129d Merge pull request #582 from lioncash/warnings
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 23:57:54 +07:00
bunnei 60f9cd6a4a Merge pull request #579 from lioncash/bkpt
dyncom: Support conditional BKPT instructions
2015-02-17 23:54:01 +07:00
Lioncash 4f910bb1a1 vfpinstr: Fix trivial signed/unsigned mismatch warnings 2015-02-17 18:53:50 +07:00
Lioncash 5d2366e1e9 core/video_core: Use in-place construction where possible 2015-02-17 17:57:23 +07:00
Lioncash a7120662e6 dyncom: Support conditional BKPT instructions 2015-02-17 01:37:22 +07: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 +07: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 +07: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 +07: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 +07:00
bunnei 2b2b343ce0 Merge pull request #574 from lioncash/warn
vfpdouble: Use %p for printing pointer addresses.
2015-02-16 09:45:43 +07:00
Lioncash 012d1e32ad dyncom: Actually set the destination register for USAD8/USADA8.
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-16 01:03:01 +07:00
Lioncash f0c4bd629c vfpdouble: Use %p for printing pointer addresses. 2015-02-15 17:11:02 +07:00
bunnei 20dc07721c Merge pull request #539 from linkmauve/framebuffer-formats
Framebuffer formats
2015-02-15 10:00:48 +07:00
Emmanuel Gil Peyrot c439b3074d video_core: Implement the remaining framebuffer formats in the OpenGL renderer. 2015-02-15 14:08:12 +07: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 +07:00
bunnei 12181c8a64 Merge pull request #529 from Subv/master
Build: Fixed some warnings
2015-02-14 15:50:26 +07:00
Lioncash 0c6434c379 core: Apply static to local functions 2015-02-13 10:48:32 +07: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 +07:00
bunnei 9b69079c83 Merge pull request #569 from lioncash/modeswitch
Dyncom: Correctly set the ARM modes on dyncom initialization.
2015-02-12 23:18:40 +07:00
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 2015-02-12 21:54:28 +07:00
Lioncash c3211c9c80 dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12 21:50:51 +07:00
Lioncash 3c474a7d31 backend: Add logging subentry for ldr
Fixes an assertion upon executing citra in debug mode.
2015-02-12 20:46:13 +07:00
bunnei befa556b78 Merge pull request #567 from lioncash/warn
dyncom: Remove warning for SXTAH
2015-02-12 20:14:10 +07:00
Lioncash df9e0c0f81 dyncom: Remove warning for SXTAH
This is tested to work correctly.
2015-02-12 20:11:20 +07:00
bunnei f7cde47911 Merge pull request #561 from Alegend45/master
Fix Min and Max blend equations
2015-02-12 19:59:10 +07:00
Lioncash e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 +07:00
Subv 8e2b248e05 Build: Fixed some warnings 2015-02-12 09:25:35 +07:00
Lioncash f48b0100a6 armdefs: Remove unnecessary extern C 2015-02-12 08:29:57 +07:00
Darius Goad 5db62cc758 Fix Min and Max blend equations 2015-02-11 15:33:44 +07:00
Tony Wasserka f990728ad4 Merge pull request #384 from neobrain/vertex_shader_debugger
Vertex shader debugger
2015-02-11 22:17:46 +07:00
Kevin Hartman a56f3f290e Implemented WriteHWRegsWithMask for GSP. 2015-02-11 11:03:17 +07:00
Lioncash 49a22acd02 arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 +07:00
bunnei c51b23b052 Merge pull request #559 from lioncash/clean
arm: Some cleanup. Also fixed the initial ARM mode that is emulated.
2015-02-11 12:02:35 +07:00
Lioncash c94c41f95a arm: Get rid of some magic constants. Specify proper ARM mode.
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11 10:49:55 +07:00
Lioncash 93cd199633 arm: Change some more constants into enums 2015-02-11 10:14:20 +07:00
Tony Wasserka 12a5cd1d65 citra-qt: Add a vertex shader debugger. 2015-02-11 15:40:45 +07:00
Tony Wasserka 3f649dc9b8 Pica/DebugUtils: Factor out BreakPointObserverDock into its own file. 2015-02-11 15:40:04 +07:00
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 +07:00
bunnei 168eb27aee GSP: Fixed typo in SignalInterrupt 2015-02-10 19:57:48 +07:00
bunnei 76e7d41f88 Merge pull request #552 from bunnei/setbufferswap-fix
GSP SetBufferSwap fix
2015-02-10 19:21:48 +07:00
bunnei 9eae2400c0 GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. 2015-02-10 19:05:56 +07:00
bunnei ca22ee3239 Merge pull request #526 from purpasmart96/citra_stubs
Services: Stub some functions
2015-02-10 18:39:37 +07:00
bunnei 5b735bdeea Merge pull request #556 from lioncash/clean
arm: Remove TRUE/FALSE defines
2015-02-10 18:28:30 +07:00
bunnei 8f35772bd7 Merge pull request #555 from lioncash/lut
arm_dyncom_thumb: Make lookup tables static
2015-02-10 18:27:47 +07:00
Lioncash 088fab743f arm: Remove TRUE/FALSE defines
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
2015-02-10 13:09:41 +07:00
Subv 0d2b6dd656 PTM: Fixed a problem with the gamecoin PTM file. 2015-02-10 13:43:46 +07:00
Subv 1bbf0567b1 Archives: Made the Format function more generic. 2015-02-10 13:43:46 +07:00
Subv 071663e074 Archives: Expose the File and Directory classes to HLE 2015-02-10 13:43:45 +07:00
Subv ca1a87ef7d ResultVal: Fixed compilation when reassigning a ResultVal. 2015-02-10 13:43:44 +07:00
Yuri Kunde Schlesner 3f1a3952d7 FS: Allow multiple instances of the same archive type to be open at once 2015-02-10 13:43:44 +07:00
Yuri Kunde Schlesner 4468625080 FS: Get rid of completely useless Archive class 2015-02-10 13:43:43 +07:00
Lioncash 8d2fb3bb2b arm_dyncom_thumb: Make lookup tables static
These don't need to be recreated all the time.
2015-02-10 10:42:09 +07:00
bunnei 67db6aa4ce Merge pull request #553 from lioncash/denorm
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 10:09:45 +07:00
Lioncash 3eccc66abf dyncom: Add more regs to MCR/MRC
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 +07:00
Lioncash a86d5e2752 vfp: Normalize accumulator for multiply accumulate instructions 2015-02-10 08:16:26 +07:00
Tony Wasserka eb83ac48aa Merge pull request #543 from Alegend45/master
Add more blend equations from 3dbrew
2015-02-10 13:30:29 +07:00
Kevin Hartman 5fcbfc06eb Scheduler refactor Pt. 1
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.

Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09 21:47:12 +07:00
bunnei 848795f383 Merge pull request #551 from bunnei/mutex-fixes
Mutex/synch fixes
2015-02-09 22:17:20 +07:00
bunnei 1b0bf00cbc Mutex: Locks should be recursive. 2015-02-09 22:06:09 +07:00
bunnei caa58acc84 WaitSynch: Always reschedule (verified behavior on hw). 2015-02-09 22:05:39 +07:00
Darius Goad 536958fb29 Add more blend equations from 3dbrew 2015-02-09 20:41:06 +07:00
Lioncash 53fa04f326 vfpdouble: Fix the FTOUI NaN sign setting
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 +07:00
Lioncash a734e9fdca Throw more unused/unnecessary VFP code out 2015-02-09 11:54:39 +07:00
Lioncash ca7babe062 vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff 2015-02-09 09:53:17 +07:00
Lioncash d832c48864 vfp_helper: Normalize tabs to spaces 2015-02-09 09:32:56 +07:00
purpasmart96 60ce36f721 Services: Stub some functions 2015-02-07 17:34:59 +07:00