Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | HWRasterizer: Texture forwarding | tfarley | 2016-04-21 | 1 | -17/+14 |
| | |||||
* | Merge pull request #1390 from purpasmart96/citra_gsp_error_codes | bunnei | 2016-04-01 | 1 | -79/+95 |
|\ | | | | | GSP: Return proper error codes for register writes | ||||
| * | GSP: Return proper error codes for register writes | purpasmart96 | 2016-03-31 | 1 | -79/+95 |
| | | |||||
* | | Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue | mailwl | 2016-03-31 | 1 | -6/+41 |
|/ | |||||
* | gsp_gpu: Change 0 literal to nullptr | Lioncash | 2016-03-12 | 1 | -1/+1 |
| | |||||
* | renderer_base: Don't directly expose the rasterizer unique_ptr | Lioncash | 2016-03-09 | 1 | -4/+4 |
| | | | | | There's no reason to allow direct access to the unique_ptr instance. Only its contained pointer. | ||||
* | BitField: Make trivially copyable and remove assignment operator | MerryMage | 2016-02-12 | 1 | -3/+3 |
| | |||||
* | VideoCore: Unify interface to OpenGL and SW rasterizers | Yuri Kunde Schlesner | 2015-12-08 | 1 | -4/+4 |
| | | | | | | This removes explicit checks sprinkled all over the codebase to instead just have the SW rasterizer expose an implementation with no-ops for most operations. | ||||
* | VideoCore: Rename HWRasterizer methods to be less confusing | Yuri Kunde Schlesner | 2015-12-07 | 1 | -4/+4 |
| | |||||
* | GSP: Implement command 0x05, used for flushing caches | Yuri Kunde Schlesner | 2015-09-14 | 1 | -9/+19 |
| | | | | | | May fix additional texture caching issues. (Though mostly in homebrew, I haven't seen any commercial software use this to flush anything but command lists.) | ||||
* | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 2015-08-25 | 1 | -0/+5 |
| | | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view. | ||||
* | Merge pull request #1025 from yuriks/heap-management | Yuri Kunde Schlesner | 2015-08-22 | 1 | -1/+0 |
|\ | | | | | Kernel: Correct(er) handling of Heap and Linear Heap allocations | ||||
| * | Memory: Move address type conversion routines to memory.cpp/h | Yuri Kunde Schlesner | 2015-08-16 | 1 | -1/+0 |
| | | | | | | | | | | These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next. | ||||
* | | GPU: Implement TextureCopy-mode display transfers | Yuri Kunde Schlesner | 2015-08-16 | 1 | -10/+15 |
|/ | | | | Fixes glitchy garbage in Fire Emblem 3D scenes. | ||||
* | Merge pull request #983 from yuriks/null-memory-fill | Yuri Kunde Schlesner | 2015-07-24 | 1 | -13/+18 |
|\ | | | | | GSP: Don't try to write memory fill registers if start address is 0 | ||||
| * | GSP: Don't try to write memory fill registers if start address is 0 | Yuri Kunde Schlesner | 2015-07-24 | 1 | -13/+18 |
| | | | | | | | | | | Verified to be what GSP does via REing. Fixes invalid virt->phys translation error spam in some games. | ||||
* | | Qt/GPU Breakpoints: Added three more breakpoint types: | Subv | 2015-07-23 | 1 | -0/+7 |
|/ | | | | | | * IncomingDisplayTransfer: Triggered just before a display transfer is performed. * GSPCommandProcessed: Triggered right after a GSP command is processed. * BufferSwapped: Triggered when the frames flip | ||||
* | Ensure all kernel objects are released during shutdown | Yuri Kunde Schlesner | 2015-07-17 | 1 | -1/+6 |
| | | | | | | | | This commit fixes several kernel object leaks. The most severe of them was threads not being removed from the private handle table used for CoreTiming events. This resulted in Threads never being released, which in turn held references to Process, causing CodeSets to never be freed when loading other applications. | ||||
* | Add CiTrace recording support. | Tony Wasserka | 2015-07-13 | 1 | -1/+1 |
| | | | | | | This is exposed in the GUI as a new "CiTrace Recording" widget. Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still). | ||||
* | Applets: Add infrastructure to allow custom drawing and input handling in Applets. | Subv | 2015-07-12 | 1 | -2/+2 |
| | |||||
* | CitraQt: Cleanup includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -1/+3 |
| | |||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -12/+12 |
| | |||||
* | Service/GSP: Implemented ImportDisplayCaptureInfo. | Subv | 2015-05-26 | 1 | -1/+47 |
| | |||||
* | OpenGL renderer | tfarley | 2015-05-23 | 1 | -0/+9 |
| | |||||
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -0/+1 |
| | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | fixup! GSP: Small tweaks to shared memory initialization | Yuri Kunde Schlesner | 2015-05-11 | 1 | -1/+1 |
| | |||||
* | GSP: Small tweaks to shared memory initialization | Yuri Kunde Schlesner | 2015-05-11 | 1 | -9/+11 |
| | |||||
* | Kernel: Capture SharedMemory attributes at creation, not when mapping | Yuri Kunde Schlesner | 2015-05-11 | 1 | -7/+9 |
| | |||||
* | Clean-up mem_map constants and fix framebuffer translation errors | Yuri Kunde Schlesner | 2015-04-06 | 1 | -4/+6 |
| | |||||
* | Services: Stubs and minor changes | purpasmart96 | 2015-04-03 | 1 | -0/+3 |
| | |||||
* | Added LCD registers, and implementation for color filling in OGL code. | archshift | 2015-03-09 | 1 | -17/+15 |
| | |||||
* | Implement SetLcdForceBlack, move register enum to hw.h | archshift | 2015-03-06 | 1 | -5/+39 |
| | |||||
* | GPU: Properly implement memory fills. | Tony Wasserka | 2015-02-18 | 1 | -17/+17 |
| | |||||
* | Build: Fixed some warnings | Subv | 2015-02-12 | 1 | -31/+47 |
| | |||||
* | Implemented WriteHWRegsWithMask for GSP. | Kevin Hartman | 2015-02-11 | 1 | -6/+91 |
| | |||||
* | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 2015-02-11 | 1 | -4/+2 |
| | | | | | | | 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. | ||||
* | GSP: Fixed typo in SignalInterrupt | bunnei | 2015-02-11 | 1 | -1/+1 |
| | |||||
* | GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. | bunnei | 2015-02-11 | 1 | -4/+3 |
| | |||||
* | Kernel: Stop creating useless Handles during object creation | Yuri Kunde Schlesner | 2015-02-02 | 1 | -1/+1 |
| | | | | | They're finally unnecessary, and will stop cluttering the application's handle table. | ||||
* | Service: Clean-up Interface | Yuri Kunde Schlesner | 2015-02-02 | 1 | -1/+1 |
| | |||||
* | Kernel: Convert Event to not use Handles | Yuri Kunde Schlesner | 2015-01-30 | 1 | -8/+11 |
| | |||||
* | Kernel: Convert SharedMemory to not use Handles | Yuri Kunde Schlesner | 2015-01-30 | 1 | -7/+9 |
| | |||||
* | GSP: Fix appending of interrupts to the shared memory buffer | Yuri Kunde Schlesner | 2015-01-14 | 1 | -2/+2 |
| | | | | | The code was previously appending the interrupt to after the end of the buffer, instead of at the end. | ||||
* | GSP: Update framebuffer info on all interrupts | Yuri Kunde Schlesner | 2015-01-14 | 1 | -12/+13 |
| | | | | | | | | | | Hardware testing determined that the GSP processes shared memory framebuffer update info even when no memory transfer or filling GX commands are used. They are now updated on every interrupt, which isn't confirmed correct but matches hardware behaviour more closely. This also reverts the hack introduced in #404. It made a few games behave better, but I believe it's incorrect and also breaks other games. | ||||
* | GPU: Fire GPU interrupts at the correct places. | Yuri Kunde Schlesner | 2015-01-14 | 1 | -6/+0 |
| | | | | | | | | | | | | PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a HBlank interrupt and fired many more times than it should. They now both fire together at 60 Hz. This puzzlingly *improves* apparent framerate on many applications. A few other interrupts were being fired inside the GSP command processing instead of on the actual GPU register writes, so they were moved there, which should cover direct writes tho those registers not going through the GX command queue. | ||||
* | Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance. | archshift | 2015-01-10 | 1 | -3/+0 |
| | |||||
* | GSP: Toggle active framebuffer each frame | bunnei | 2015-01-08 | 1 | -1/+4 |
| | |||||
* | More services & small clean ups | purpasmart96 | 2014-12-26 | 1 | -3/+0 |
| | |||||
* | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 1 | -1/+1 |
|\ | | | | | License change | ||||
| * | License change | purpasmart96 | 2014-12-21 | 1 | -1/+1 |
| | | |||||
* | | GSP_GPU: Shut up FlushDataCache | purpasmart96 | 2014-12-19 | 1 | -1/+25 |
|/ | |||||
* | Remove SyncRequest from K::Object and create a new K::Session type | Yuri Kunde Schlesner | 2014-12-15 | 1 | -5/+5 |
| | | | | | | | 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.) | ||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -9/+9 |
| | |||||
* | GSP: Trigger GPU interrupts at more accurate locations. | bunnei | 2014-12-10 | 1 | -7/+6 |
| | |||||
* | GSP: Updated TriggerCmdReqQueue to return success code. | bunnei | 2014-12-10 | 1 | -0/+3 |
| | |||||
* | GSP: Updated RegisterInterruptRelayQueue to return expected magic number. | bunnei | 2014-12-10 | 1 | -1/+4 |
| | |||||
* | GPU: Fixed bug in command list size decoding. | bunnei | 2014-12-10 | 1 | -1/+1 |
| | |||||
* | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 2014-11-24 | 1 | -11/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | All service calls in the CTR OS return result codes indicating the success or failure of the call. Previous to this commit, Citra's HLE emulation of services and the kernel universally either ignored errors or returned dummy -1 error codes. This commit makes an initial effort to provide an infrastructure for error reporting and propagation which can be use going forward to make HLE calls accurately return errors as the original system. A few parts of the code have been updated to use the new system where applicable. One part of this effort is the definition of the `ResultCode` type, which provides facilities for constructing and parsing error codes in the structured format used by the CTR. The `ResultVal` type builds on `ResultCode` by providing a container for values returned by function that can report errors. It enforces that correct error checking will be done on function returns by preventing the use of the return value if the function returned an error code. Currently this change is mostly internal since errors are still suppressed on the ARM<->HLE border, as a temporary compatibility hack. As functionality is implemented and tested this hack can be eventually removed. | ||||
* | core: Mark some hle functions as static | Lioncash | 2014-11-18 | 1 | -8/+8 |
| | | | | These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static. | ||||
* | Renamed souce files of services to match port names | Gareth Poole | 2014-10-29 | 1 | -0/+378 |