aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/gpu.h
AgeCommit message (Collapse)Author
2020-07-13video_core: Implement RGBA32_SINT render targetReinUsesLisp
2020-07-13video_core: Implement RGBA16_SINT render targetReinUsesLisp
2020-07-13video_core: Implement RGBA8_SINT render targetReinUsesLisp
2020-07-13video_core: Implement RG32_SINT render targetReinUsesLisp
2020-07-13video_core: Implement RG8_SINT render target and fix RG8_UINTReinUsesLisp
2020-07-13video_core: Implement R8_SINT render targetReinUsesLisp
2020-07-13video_core: Implement R8_SNORM render targetReinUsesLisp
2020-06-27General: Correct rebase, sync gpu and context management.Fernando Sahmkow
2020-04-30texture: Implement R8G8UIMorph
- Used by The Walking Dead: The Final Season
2020-04-23Clang Format.Fernando Sahmkow
2020-04-23DMAPusher: Propagate multimethod writes into the engines.Fernando Sahmkow
2020-04-22Address Feedback.Fernando Sahmkow
2020-04-22GPU: Implement Flush Requests for Async mode.Fernando Sahmkow
2020-04-22OpenGL: Implement Fencing backend.Fernando Sahmkow
2020-04-22GPU: Delay Fences.Fernando Sahmkow
2020-04-22GPU: Refactor synchronization on Async GPUFernando Sahmkow
2020-04-06GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddrFernando Sahmkow
2020-03-24Frontend/GPU: Refactor context managementJames Rowe
Changes the GraphicsContext to be managed by the GPU core. This eliminates the need for the frontends to fool around with tricky MakeCurrent/DoneCurrent calls that are dependent on the settings (such as async gpu option). This also refactors out the need to use QWidget::fromWindowContainer as that caused issues with focus and input handling. Now we use a regular QWidget and just access the native windowHandle() directly. Another change is removing the debug tool setting in FrameMailbox. Instead of trying to block the frontend until a new frame is ready, the core will now take over presentation and draw directly to the window if the renderer detects that its hooked by NSight or RenderDoc Lastly, since it was in the way, I removed ScopeAcquireWindowContext and replaced it with a simple subclass in GraphicsContext that achieves the same result
2020-03-12video_core: Implement RGBA16_SNORMReinUsesLisp
Implement RGBA16_SNORM with the current API. Nothing special here.
2020-02-25Merge pull request #3461 from ReinUsesLisp/r32i-rtMat M
video_core/surface: Add R32_SINT render target format
2020-02-25video_core/surface: Add R32_SINT render target formatReinUsesLisp
2020-02-25video_core/gpu: Remove unused functionsReinUsesLisp
2020-02-10GPU: Implement GPU Clock correctly.Fernando Sahmkow
2019-12-30video_core: Block in WaitFence.Markus Wick
This function is called rarely and blocks quite often for a long time. So don't waste power and let the CPU sleep. This might also increase the performance as the other cores might be allowed to clock higher.
2019-11-03common_func: Use std::array for INSERT_PADDING_* macros.bunnei
- Zero initialization here is useful for determinism.
2019-10-04Core: Wait for GPU to be idle before shutting down.Fernando Sahmkow
2019-10-04GPU_Async: Correct fences, display events and more.Fernando Sahmkow
This commit uses guest fences on vSync event instead of an articial fake fence we had. It also corrects to keep signaling display events while loading the game as the OS is suppose to send buffers to vSync during that time.
2019-09-22video_core: Implement RGBX16F PixelFormatFearlessTobi
2019-09-03Merge pull request #2793 from ReinUsesLisp/bgr565bunnei
renderer_opengl: Implement RGB565 framebuffer format
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti
* texture_cache/surface_params: Remove unused local variable * rasterizer_interface: Add missing documentation commentary * maxwell_dma: Remove unused rasterizer reference * video_core/gpu: Sort member declaration order to silent -Wreorder warning * fermi_2d: Remove unused MemoryManager reference * video_core: Silent unused variable warnings * buffer_cache: Silent -Wreorder warnings * kepler_memory: Remove unused MemoryManager reference * gl_texture_cache: Add missing override * buffer_cache: Add missing include * shader/decode: Remove unused variables
2019-08-21Video_Core: Implement a new Buffer CacheFernando Sahmkow
2019-08-21renderer_opengl: Implement RGB565 framebuffer formatReinUsesLisp
2019-08-21renderer_opengl: Use VideoCore pixel formatReinUsesLisp
2019-08-21gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfigReinUsesLisp
2019-07-26GPU: Flush commands on every dma pusher step.Fernando Sahmkow
This commit ensures that the host gpu is constantly fed with commands to work with, while the guest gpu keeps producing the rest of the commands. This reduces syncing time between host and guest gpu.
2019-07-26Merge pull request #2592 from FernandoS27/sync1bunnei
Implement GPU Synchronization Mechanisms & Correct NVFlinger
2019-07-25Merge pull request #2743 from FernandoS27/surpress-assertbunnei
Downgrade and suppress a series of GPU asserts and debug messages.
2019-07-18GPU: Add missing puller methods.Fernando Sahmkow
This adds some missing puller methods. We don't assert them as these are nop operations for us.
2019-07-15gl_rasterizer: Implement compute shadersReinUsesLisp
2019-07-05NVServices: Styling, define constructors as explicit and correctionsFernando Sahmkow
2019-07-05NVServices: Make NVEvents Automatic according to documentation.Fernando Sahmkow
2019-07-05GPU: Correct Interrupts to interrupt on syncpt/value instead of event, ↵Fernando Sahmkow
mirroring hardware
2019-07-05nv_host_ctrl: Make Sync GPU variant always return synced result.Fernando Sahmkow
2019-07-05Gpu: use an std mutex instead of a spin_lock to guard syncpointsFernando Sahmkow
2019-07-05Gpu: Mark areas as protected.Fernando Sahmkow
2019-07-05nv_services: Stub CtrlEventSignalFernando Sahmkow
2019-07-05Gpu: Implement Hardware Interrupt Manager and manage GPU interruptsFernando Sahmkow
2019-07-05video_core: Implement GPU side SyncpointsFernando Sahmkow
2019-04-11video_core/gpu: Create threads separately from initializationLioncash
Like with CPU emulation, we generally don't want to fire off the threads immediately after the relevant classes are initialized, we want to do this after all necessary data is done loading first. This splits the thread creation into its own interface member function to allow controlling when these threads in particular get created.
2019-03-27video_core/gpu: Amend typo in GPU member variable nameLioncash
smaphore -> semaphore