aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/service/gsp_gpu.cpp
Commit message (Collapse)AuthorAge
* Merge pull request #983 from yuriks/null-memory-fillGravatar Yuri Kunde Schlesner2015-07-23
|\ | | | | 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 0Gravatar Yuri Kunde Schlesner2015-07-23
| | | | | | | | | | 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:Gravatar Subv2015-07-23
|/ | | | | | * 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 shutdownGravatar Yuri Kunde Schlesner2015-07-17
| | | | | | | | 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.Gravatar Tony Wasserka2015-07-13
| | | | | | 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 ↵Gravatar Subv2015-07-11
| | | | Applets.
* CitraQt: Cleanup includes.Gravatar Emmanuel Gil Peyrot2015-06-28
|
* Remove every trailing whitespace from the project (but externals).Gravatar Emmanuel Gil Peyrot2015-05-29
|
* Service/GSP: Implemented ImportDisplayCaptureInfo.Gravatar Subv2015-05-25
|
* OpenGL rendererGravatar tfarley2015-05-22
|
* Memmap: Re-organize memory function in two filesGravatar Yuri Kunde Schlesner2015-05-15
| | | | | | | 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 initializationGravatar Yuri Kunde Schlesner2015-05-10
|
* GSP: Small tweaks to shared memory initializationGravatar Yuri Kunde Schlesner2015-05-10
|
* Kernel: Capture SharedMemory attributes at creation, not when mappingGravatar Yuri Kunde Schlesner2015-05-10
|
* Clean-up mem_map constants and fix framebuffer translation errorsGravatar Yuri Kunde Schlesner2015-04-05
|
* Services: Stubs and minor changesGravatar purpasmart962015-04-02
|
* Added LCD registers, and implementation for color filling in OGL code.Gravatar archshift2015-03-09
|
* Implement SetLcdForceBlack, move register enum to hw.hGravatar archshift2015-03-05
|
* GPU: Properly implement memory fills.Gravatar Tony Wasserka2015-02-18
|
* Build: Fixed some warningsGravatar Subv2015-02-12
|
* Implemented WriteHWRegsWithMask for GSP.Gravatar Kevin Hartman2015-02-11
|
* Asserts: break/crash program, fit to style guide; log.h->assert.hGravatar archshift2015-02-10
| | | | | | | 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 SignalInterruptGravatar bunnei2015-02-10
|
* GSP: Call SetBufferSwap for each screen on corresponding signal interrupt.Gravatar bunnei2015-02-10
|
* Kernel: Stop creating useless Handles during object creationGravatar Yuri Kunde Schlesner2015-02-02
| | | | | They're finally unnecessary, and will stop cluttering the application's handle table.
* Service: Clean-up InterfaceGravatar Yuri Kunde Schlesner2015-02-02
|
* Kernel: Convert Event to not use HandlesGravatar Yuri Kunde Schlesner2015-01-30
|
* Kernel: Convert SharedMemory to not use HandlesGravatar Yuri Kunde Schlesner2015-01-30
|
* GSP: Fix appending of interrupts to the shared memory bufferGravatar Yuri Kunde Schlesner2015-01-14
| | | | | 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 interruptsGravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | 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.Gravatar Yuri Kunde Schlesner2015-01-14
| | | | | | | | | | | | 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 ↵Gravatar archshift2015-01-10
| | | | trace logs under release for performance.
* GSP: Toggle active framebuffer each frameGravatar bunnei2015-01-07
|
* More services & small clean upsGravatar purpasmart962014-12-25
|
* Merge pull request #291 from purpasmart96/licenseGravatar bunnei2014-12-21
|\ | | | | License change
| * License changeGravatar purpasmart962014-12-20
| |
* | GSP_GPU: Shut up FlushDataCacheGravatar purpasmart962014-12-18
|/
* Remove SyncRequest from K::Object and create a new K::Session typeGravatar Yuri Kunde Schlesner2014-12-15
| | | | | | | 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 macrosGravatar Yuri Kunde Schlesner2014-12-13
|
* GSP: Trigger GPU interrupts at more accurate locations.Gravatar bunnei2014-12-09
|
* GSP: Updated TriggerCmdReqQueue to return success code.Gravatar bunnei2014-12-09
|
* GSP: Updated RegisterInterruptRelayQueue to return expected magic number.Gravatar bunnei2014-12-09
|
* GPU: Fixed bug in command list size decoding.Gravatar bunnei2014-12-09
|
* HLE: Revamp error handling throrough the HLE codeGravatar Yuri Kunde Schlesner2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 staticGravatar Lioncash2014-11-17
| | | | 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 namesGravatar Gareth Poole2014-10-29