summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/gsp_gpu.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueuemailwl2016-06-011-15/+21
|
* GSP_GPU: Remove use of Memory::GetPointerMerryMage2016-05-281-33/+50
|
* Kernel/SharedMemory: Properly implemented shared memory support.Subv2016-05-131-2/+3
| | | | | | | Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object. Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock. Removed the APT Shared Font hack as it is no longer needed.
* Merge pull request #1699 from mailwl/gpu-rightsbunnei2016-04-301-2/+38
|\ | | | | gsp::Gpu: implement AcquireRight, ReleaseRight functions
| * return checks if event and memory createdmailwl2016-04-231-1/+8
| |
| * gsp::Gpu: implement AcquireRight, ReleaseRight functionsmailwl2016-04-221-8/+37
| |
* | Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-1/+0
|/ | | | This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI.
* HWRasterizer: Texture forwardingtfarley2016-04-211-17/+14
|
* Merge pull request #1390 from purpasmart96/citra_gsp_error_codesbunnei2016-04-011-79/+95
|\ | | | | GSP: Return proper error codes for register writes
| * GSP: Return proper error codes for register writespurpasmart962016-03-311-79/+95
| |
* | Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueuemailwl2016-03-311-6/+41
|/
* gsp_gpu: Change 0 literal to nullptrLioncash2016-03-121-1/+1
|
* renderer_base: Don't directly expose the rasterizer unique_ptrLioncash2016-03-091-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 operatorMerryMage2016-02-121-3/+3
|
* VideoCore: Unify interface to OpenGL and SW rasterizersYuri Kunde Schlesner2015-12-081-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 confusingYuri Kunde Schlesner2015-12-071-4/+4
|
* GSP: Implement command 0x05, used for flushing cachesYuri Kunde Schlesner2015-09-141-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 libraryYuri Kunde Schlesner2015-08-251-0/+5
| | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* Merge pull request #1025 from yuriks/heap-managementYuri Kunde Schlesner2015-08-221-1/+0
|\ | | | | Kernel: Correct(er) handling of Heap and Linear Heap allocations
| * Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner2015-08-161-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 transfersYuri Kunde Schlesner2015-08-161-10/+15
|/ | | | Fixes glitchy garbage in Fire Emblem 3D scenes.
* Merge pull request #983 from yuriks/null-memory-fillYuri Kunde Schlesner2015-07-241-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 0Yuri Kunde Schlesner2015-07-241-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:Subv2015-07-231-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 shutdownYuri Kunde Schlesner2015-07-171-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 Wasserka2015-07-131-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.Subv2015-07-121-2/+2
|
* CitraQt: Cleanup includes.Emmanuel Gil Peyrot2015-06-281-1/+3
|
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-12/+12
|
* Service/GSP: Implemented ImportDisplayCaptureInfo.Subv2015-05-261-1/+47
|
* OpenGL renderertfarley2015-05-231-0/+9
|
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-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 initializationYuri Kunde Schlesner2015-05-111-1/+1
|
* GSP: Small tweaks to shared memory initializationYuri Kunde Schlesner2015-05-111-9/+11
|
* Kernel: Capture SharedMemory attributes at creation, not when mappingYuri Kunde Schlesner2015-05-111-7/+9
|
* Clean-up mem_map constants and fix framebuffer translation errorsYuri Kunde Schlesner2015-04-061-4/+6
|
* Services: Stubs and minor changespurpasmart962015-04-031-0/+3
|
* Added LCD registers, and implementation for color filling in OGL code.archshift2015-03-091-17/+15
|
* Implement SetLcdForceBlack, move register enum to hw.harchshift2015-03-061-5/+39
|
* GPU: Properly implement memory fills.Tony Wasserka2015-02-181-17/+17
|
* Build: Fixed some warningsSubv2015-02-121-31/+47
|
* Implemented WriteHWRegsWithMask for GSP.Kevin Hartman2015-02-111-6/+91
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-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 SignalInterruptbunnei2015-02-111-1/+1
|
* 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