summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/gsp_gpu.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* GSP: Call SetBufferSwap for each screen on corresponding signal interrupt.bunnei2015-02-111-4/+3
|
* Kernel: Stop creating useless Handles during object creationYuri Kunde Schlesner2015-02-021-1/+1
| | | | | They're finally unnecessary, and will stop cluttering the application's handle table.
* Service: Clean-up InterfaceYuri Kunde Schlesner2015-02-021-1/+1
|
* Kernel: Convert Event to not use HandlesYuri Kunde Schlesner2015-01-301-8/+11
|
* Kernel: Convert SharedMemory to not use HandlesYuri Kunde Schlesner2015-01-301-7/+9
|
* GSP: Fix appending of interrupts to the shared memory bufferYuri Kunde Schlesner2015-01-141-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 interruptsYuri Kunde Schlesner2015-01-141-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 Schlesner2015-01-141-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.archshift2015-01-101-3/+0
|
* GSP: Toggle active framebuffer each framebunnei2015-01-081-1/+4
|
* More services & small clean upspurpasmart962014-12-261-3/+0
|
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\ | | | | License change
| * License changepurpasmart962014-12-211-1/+1
| |
* | GSP_GPU: Shut up FlushDataCachepurpasmart962014-12-191-1/+25
|/
* Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner2014-12-151-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 macrosYuri Kunde Schlesner2014-12-131-9/+9
|
* GSP: Trigger GPU interrupts at more accurate locations.bunnei2014-12-101-7/+6
|
* GSP: Updated TriggerCmdReqQueue to return success code.bunnei2014-12-101-0/+3
|
* GSP: Updated RegisterInterruptRelayQueue to return expected magic number.bunnei2014-12-101-1/+4
|
* GPU: Fixed bug in command list size decoding.bunnei2014-12-101-1/+1
|
* HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-241-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 staticLioncash2014-11-181-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 namesGareth Poole2014-10-291-0/+378