aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp
AgeCommit message (Collapse)Author
2019-01-29video_core/GPU Implemented the GPU PFIFO puller semaphore operations. (#1908)Kevin
* Implemented the puller semaphore operations. * Nit: Fix 2 style issues * Nit: Add Break to default case. * Fix style. * Update for comments. Added ReferenceCount method * Forgot to remove GpuSmaphoreAddress union. * Fix the clang-format issues. * More clang formatting. * two more white spaces for the Clang formatting. * Move puller members into the regs union * Updated to use Memory::WriteBlock instead of Memory::Write* * Fix clang style issues * White space clang error * Removing unused funcitons and other pr comment * Removing unused funcitons and other pr comment * More union magic for setting regs value. * union magic refcnt as well * Remove local var * Set up the regs and regs_assert_positions up properly * Fix clang error
2018-12-19Fixed uninitialized memory due to missing returns in canaryDavid Marcec
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
2018-12-03GPU: Don't try to route PFIFO methods (0-0x40) to the other engines.Subv
2018-12-01Fix debug buildLioncash
A non-existent parameter was left in some formatting calls (the logging macro for which only does anything meaningful on debug builds)
2018-11-27gpu: Move command list profiling to DmaPusher::DispatchCalls.bunnei
2018-11-26gpu: Rewrite GPU command list processing with DmaPusher class.bunnei
- More accurate impl., fixes Undertale (among other games).
2018-11-21Use default values for unknown framebuffer pixel formatFernandoS27
2018-10-18GPU: Improved implementation of maxwell DMA (Subv).bunnei
2018-10-18GPU: Invalidate destination address of kepler_memory writes.bunnei
2018-10-06fermi_2d: Implement simple copies with AccelerateSurfaceCopy.bunnei
2018-09-12GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).Subv
This engine writes data from a FIFO register into the configured address.
2018-09-10gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.bunnei
- Used by Octopath Traveler (with multiple render targets).
2018-08-28gpu: Make memory_manager privateLioncash
Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
2018-08-20Implemented RGBA8_UINTDavid Marcec
Needed by kirby
2018-08-13renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.bunnei
- Used by Breath of the Wild.
2018-08-13Implement RG32UI and R32UIDavid Marcec
Needed for xenoblade
2018-08-13renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.bunnei
- Used by Breath of the Wild.
2018-08-12renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.bunnei
- Used by Breath of the Wild.
2018-08-11Implement R8_UINT RenderTargetFormat & PixelFormat (#1014)greggameplayer
- Used by Go Vacation
2018-08-11gl_rasterizer: Implement render target format RG8_SNORM.bunnei
- Used by Super Mario Odyssey.
2018-08-11gl_rasterizer: Implement render target format RGBA8_SNORM.bunnei
- Used by Super Mario Odyssey.
2018-08-11Merge pull request #1016 from lioncash/videobunnei
video_core: Get rid of global variable g_toggle_framelimit_enabled
2018-08-11Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more ↵greggameplayer
(R16_UNORM needed by Fate Extella) (#848) * Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats Do a separate function in order to get Bytes Per Pixel of DepthFormat Apply the new function in gpu.h delete unneeded white space * correct merging error
2018-08-10video_core; Get rid of global g_toggle_framelimit_enabled variableLioncash
Instead, we make a struct for renderer settings and allow the renderer to update all of these settings, getting rid of the need for global-scoped variables. This also uncovered a few indirect inclusions for certain headers, which this commit also fixes.
2018-08-08gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.bunnei
- Used by Super Mario Odyssey.
2018-08-04video_core: Eliminate the g_renderer global variableLioncash
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
2018-08-01Implement R32_FLOAT RenderTargetFormatUnknown
2018-07-23gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT.bunnei
2018-07-23gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM.bunnei
2018-07-20gpu: Rename Get3DEngine() to Maxwell3D()Lioncash
This makes it match its const qualified equivalent.
2018-06-12GPU: Partially implemented the Maxwell DMA engine.Subv
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
2018-06-05GPU: Allow the usage of RGBA16_FLOAT in the texture copy engine.Subv
2018-06-05GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.Subv
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash
2018-04-25GPU: Added a function to retrieve the bytes per pixel of the render target ↵Subv
formats.
2018-04-25GPU: Added boilerplate code for the Fermi2D engineSubv
2018-03-24Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.Subv
2018-03-18GPU: Move the GPU's class constructor and destructors to a cpp file.Subv
This should reduce recompile times when editing the Maxwell3D register structure.