Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2016-03-31 | Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue | mailwl | 1 | -6/+41 | |
2016-03-31 | GSP: Return proper error codes for register writes | purpasmart96 | 1 | -79/+95 | |
2016-03-12 | gsp_gpu: Change 0 literal to nullptr | Lioncash | 1 | -1/+1 | |
2016-03-09 | renderer_base: Don't directly expose the rasterizer unique_ptr | Lioncash | 1 | -4/+4 | |
There's no reason to allow direct access to the unique_ptr instance. Only its contained pointer. | |||||
2016-02-12 | BitField: Make trivially copyable and remove assignment operator | MerryMage | 1 | -3/+3 | |
2015-12-08 | VideoCore: Unify interface to OpenGL and SW rasterizers | Yuri Kunde Schlesner | 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. | |||||
2015-12-07 | VideoCore: Rename HWRasterizer methods to be less confusing | Yuri Kunde Schlesner | 1 | -4/+4 | |
2015-09-14 | GSP: Implement command 0x05, used for flushing caches | Yuri Kunde Schlesner | 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.) | |||||
2015-08-25 | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 1 | -0/+5 | |
This brings goodies such as a configurable user interface and multi-threaded timeline view. | |||||
2015-08-16 | GPU: Implement TextureCopy-mode display transfers | Yuri Kunde Schlesner | 1 | -10/+15 | |
Fixes glitchy garbage in Fire Emblem 3D scenes. | |||||
2015-08-16 | Memory: Move address type conversion routines to memory.cpp/h | Yuri Kunde Schlesner | 1 | -1/+0 | |
These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next. | |||||
2015-07-24 | GSP: Don't try to write memory fill registers if start address is 0 | Yuri Kunde Schlesner | 1 | -13/+18 | |
Verified to be what GSP does via REing. Fixes invalid virt->phys translation error spam in some games. | |||||
2015-07-23 | Qt/GPU Breakpoints: Added three more breakpoint types: | Subv | 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 | |||||
2015-07-17 | Ensure all kernel objects are released during shutdown | Yuri Kunde Schlesner | 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. | |||||
2015-07-13 | Add CiTrace recording support. | Tony Wasserka | 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). | |||||
2015-07-12 | Applets: Add infrastructure to allow custom drawing and input handling in Applets. | Subv | 1 | -2/+2 | |
2015-06-28 | CitraQt: Cleanup includes. | Emmanuel Gil Peyrot | 1 | -1/+3 | |
2015-05-29 | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 1 | -12/+12 | |
2015-05-26 | Service/GSP: Implemented ImportDisplayCaptureInfo. | Subv | 1 | -1/+47 | |
2015-05-23 | OpenGL renderer | tfarley | 1 | -0/+9 | |
2015-05-15 | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 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. | |||||
2015-05-11 | fixup! GSP: Small tweaks to shared memory initialization | Yuri Kunde Schlesner | 1 | -1/+1 | |
2015-05-11 | GSP: Small tweaks to shared memory initialization | Yuri Kunde Schlesner | 1 | -9/+11 | |
2015-05-11 | Kernel: Capture SharedMemory attributes at creation, not when mapping | Yuri Kunde Schlesner | 1 | -7/+9 | |
2015-04-06 | Clean-up mem_map constants and fix framebuffer translation errors | Yuri Kunde Schlesner | 1 | -4/+6 | |
2015-04-03 | Services: Stubs and minor changes | purpasmart96 | 1 | -0/+3 | |
2015-03-09 | Added LCD registers, and implementation for color filling in OGL code. | archshift | 1 | -17/+15 | |
2015-03-06 | Implement SetLcdForceBlack, move register enum to hw.h | archshift | 1 | -5/+39 | |
2015-02-18 | GPU: Properly implement memory fills. | Tony Wasserka | 1 | -17/+17 | |
2015-02-12 | Build: Fixed some warnings | Subv | 1 | -31/+47 | |
2015-02-11 | Implemented WriteHWRegsWithMask for GSP. | Kevin Hartman | 1 | -6/+91 | |
2015-02-11 | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 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. | |||||
2015-02-11 | GSP: Fixed typo in SignalInterrupt | bunnei | 1 | -1/+1 | |
2015-02-11 | GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. | bunnei | 1 | -4/+3 | |
2015-02-02 | Kernel: Stop creating useless Handles during object creation | Yuri Kunde Schlesner | 1 | -1/+1 | |
They're finally unnecessary, and will stop cluttering the application's handle table. | |||||
2015-02-02 | Service: Clean-up Interface | Yuri Kunde Schlesner | 1 | -1/+1 | |
2015-01-30 | Kernel: Convert Event to not use Handles | Yuri Kunde Schlesner | 1 | -8/+11 | |
2015-01-30 | Kernel: Convert SharedMemory to not use Handles | Yuri Kunde Schlesner | 1 | -7/+9 | |
2015-01-14 | GSP: Fix appending of interrupts to the shared memory buffer | Yuri Kunde Schlesner | 1 | -2/+2 | |
The code was previously appending the interrupt to after the end of the buffer, instead of at the end. | |||||
2015-01-14 | GSP: Update framebuffer info on all interrupts | Yuri Kunde Schlesner | 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. | |||||
2015-01-14 | GPU: Fire GPU interrupts at the correct places. | Yuri Kunde Schlesner | 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. | |||||
2015-01-10 | Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance. | archshift | 1 | -3/+0 | |
2015-01-08 | GSP: Toggle active framebuffer each frame | bunnei | 1 | -1/+4 | |
2014-12-26 | More services & small clean ups | purpasmart96 | 1 | -3/+0 | |
2014-12-21 | License change | purpasmart96 | 1 | -1/+1 | |
2014-12-19 | GSP_GPU: Shut up FlushDataCache | purpasmart96 | 1 | -1/+25 | |
2014-12-15 | Remove SyncRequest from K::Object and create a new K::Session type | Yuri Kunde Schlesner | 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.) | |||||
2014-12-13 | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 1 | -9/+9 | |
2014-12-10 | GSP: Trigger GPU interrupts at more accurate locations. | bunnei | 1 | -7/+6 | |
2014-12-10 | GSP: Updated TriggerCmdReqQueue to return success code. | bunnei | 1 | -0/+3 | |
2014-12-10 | GSP: Updated RegisterInterruptRelayQueue to return expected magic number. | bunnei | 1 | -1/+4 | |
2014-12-10 | GPU: Fixed bug in command list size decoding. | bunnei | 1 | -1/+1 | |
2014-11-24 | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 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. | |||||
2014-11-18 | core: Mark some hle functions as static | Lioncash | 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. | |||||
2014-10-29 | Renamed souce files of services to match port names | Gareth Poole | 1 | -1/+1 | |
2014-09-30 | added "StoreDataCache" to the function table | purpasmart96 | 1 | -0/+1 | |
seems simple enough | |||||
2014-09-09 | core: Prune redundant includes | archshift | 1 | -1/+0 | |
2014-08-25 | Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated. | Tony Wasserka | 1 | -5/+0 | |
2014-08-25 | GSP: Update framebuffer information when necessary. | Tony Wasserka | 1 | -2/+23 | |
2014-08-25 | GSP: Implement SetBufferSwap. | Tony Wasserka | 1 | -1/+35 | |
2014-08-25 | GSP: Add a helper function for convenience. | Tony Wasserka | 1 | -17/+22 | |
2014-08-12 | Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones. | Tony Wasserka | 1 | -9/+9 | |
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though. | |||||
2014-08-12 | GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore. | Tony Wasserka | 1 | -4/+13 | |
2014-08-12 | Remove the fancy RegisterSet class introduced in 4c2bff61e. | Tony Wasserka | 1 | -18/+18 | |
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use. | |||||
2014-08-07 | GSP: Cleaned up command buffer decoding. | bunnei | 1 | -42/+42 | |
GSP: Cleaned up code and added additional comments. GSP: Removed unnecessary TODO comment. GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned. | |||||
2014-08-06 | GSP: Added reinitialization of other state objects. | bunnei | 1 | -0/+3 | |
2014-08-06 | GSP: Removed dumb GX prefixes to functions/structs in GSP namespace. | bunnei | 1 | -64/+24 | |
- Various other cleanups. | |||||
2014-08-06 | GSP: Removed unnecessary GX_FinishCommand function. | bunnei | 1 | -13/+5 | |
2014-08-06 | GSP: Implements preliminary command synchronization via GPU interrupts. | bunnei | 1 | -18/+93 | |
Core: Added a comment to explain the logic for the RunLoop iterations. | |||||
2014-07-23 | GSP: Add a few comments. | Tony Wasserka | 1 | -1/+7 | |
2014-07-23 | GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32. | Tony Wasserka | 1 | -26/+38 | |
Anonymous structs are not standard C++, hence don't use them. | |||||
2014-07-23 | GPU: Make use of RegisterSet. | Tony Wasserka | 1 | -21/+28 | |
2014-07-23 | GPU: Emulate memory fills. | Tony Wasserka | 1 | -0/+8 | |
2014-07-23 | GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY. | Tony Wasserka | 1 | -2/+9 | |
2014-07-23 | GSP: Implement ReadHWRegs and WriteHWRegs properly. | Tony Wasserka | 1 | -27/+46 | |
2014-07-05 | GSP: Fixed to use real shared memory object, various cleanups. | bunnei | 1 | -25/+34 | |
- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew) GSP: Added name for shared memory. GSP: Cleaned up assertion message. | |||||
2014-06-13 | HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) | bunnei | 1 | -28/+28 | |
2014-06-13 | HLE: Updated various handle debug assertions to be more clear. | bunnei | 1 | -1/+1 | |
2014-06-12 | GPU debugger: Add functionality to inspect command lists. | Tony Wasserka | 1 | -0/+4 | |
2014-06-12 | GPU: Cleanup register definitions. | Tony Wasserka | 1 | -3/+3 | |
2014-06-12 | Rename LCD to GPU. | Tony Wasserka | 1 | -8/+8 | |
2014-06-12 | Add initial graphics debugger interface. | Tony Wasserka | 1 | -0/+6 | |
2014-06-12 | GSP: Define more GX commands. | Tony Wasserka | 1 | -14/+37 | |
2014-06-01 | gsp: always pass through synchronization barrier for commands | bunnei | 1 | -1/+16 | |
2014-05-30 | hle: cleaned up log messages | bunnei | 1 | -2/+2 | |
2014-05-19 | - renamed NewHandle to CreateHandle | bunnei | 1 | -3/+1 | |
- updated CreateHandle/DeleteHandle to use KernelObject's | |||||
2014-05-08 | removed unknown fields from GX_CmdBufferHeader | bunnei | 1 | -5/+0 | |
2014-05-08 | - removed HLE mem "hack" and replaced with kernel mem region | bunnei | 1 | -5/+71 | |
- added a helper function for getting command buffer for services - fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue) | |||||
2014-04-27 | hackish but working way to set the framebuffer location to VRAM (used in ARM11 demos tested thus far, e.g. yeti3DS) | bunnei | 1 | -3/+9 | |
2014-04-26 | added simple GSP GPU ReadHWRegs function to support returning the framebuffer address | bunnei | 1 | -1/+37 | |
2014-04-25 | added GSP::RegisterInterruptRelayQueue function | bunnei | 1 | -31/+40 | |
2014-04-17 | updated service comments | bunnei | 1 | -0/+3 | |
2014-04-16 | - added stubbed out GSP::Gpu service interface | bunnei | 1 | -0/+56 | |
- various cleanups/refactors to HLE services |