summaryrefslogtreecommitdiffstats
path: root/src/video_core/gpu.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-09-15Implement RenderTargetFormat::BGR5A1_UNORM (Pokken Tournament DX)raven021-0/+1
2018-09-12GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).Subv1-0/+3
This engine writes data from a FIFO register into the configured address.
2018-09-10video_core: Refactor command_processor.Markus Wick1-3/+0
Inline the WriteReg helper as it is called ~20k times per frame.
2018-09-10video_core: Move command buffer loop.Markus Wick1-1/+3
This moves the hot loop into video_core. This refactoring shall reduce the CPU overhead of calling ProcessCommandList.
2018-09-10gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.bunnei1-0/+1
- Used by Octopath Traveler (with multiple render targets).
2018-09-04command_processor: Use std::array for bound_engines.Markus Wick1-2/+2
subchannel is a 3 bit field. So there must not be more than 8 bound engines. And using a hashmap for up to 8 values is a bit overpowered.
2018-08-28gpu: Make memory_manager privateLioncash1-3/+9
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 Marcec1-0/+1
Needed by kirby
2018-08-14renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.bunnei1-0/+1
- Used by Breath of the Wild.
2018-08-13Implement RG32UI and R32UIDavid Marcec1-0/+2
Needed for xenoblade
2018-08-13renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.bunnei1-0/+1
- Used by Breath of the Wild.
2018-08-13renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.bunnei1-0/+1
- Used by Breath of the Wild.
2018-08-12Implement R8_UINT RenderTargetFormat & PixelFormat (#1014)greggameplayer1-0/+1
- Used by Go Vacation
2018-08-12gl_rasterizer: Implement render target format RG8_SNORM.bunnei1-0/+1
- Used by Super Mario Odyssey.
2018-08-12gl_rasterizer: Implement render target format RGBA8_SNORM.bunnei1-0/+1
- Used by Super Mario Odyssey.
2018-08-11Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) (#848)greggameplayer1-0/+7
* 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-11video_core; Get rid of global g_toggle_framelimit_enabled variableLioncash1-9/+1
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-08gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.bunnei1-0/+1
- Used by Super Mario Odyssey.
2018-08-04video_core: Eliminate the g_renderer global variableLioncash1-1/+5
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 RenderTargetFormatUnknown1-0/+1
2018-07-26GPU: Allow using R16F as a render target format.Subv1-0/+1
2018-07-26Implement R16_G16Unknown1-0/+5
correct trailing white spaces Delete tabs correct placement Add RG16F & RG16UI & RG16I & RG16S PixelFormats Return correct data according to changes done previously correct PixelFormat declaration correct coding style error correct coding style error part 2 correct RG16S Declaration error correct alignment
2018-07-25GPU: Implemented the Z32_S8_X24 depth buffer format.Subv1-0/+1
2018-07-25GPU: Allow the usage of R8 as a render target format.Subv1-0/+1
2018-07-24gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT.bunnei1-0/+1
2018-07-24gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM.bunnei1-0/+1
2018-07-21gpu: Rename Get3DEngine() to Maxwell3D()Lioncash1-5/+4
This makes it match its const qualified equivalent.
2018-07-18vi: Partially implement buffer crop parameters.bunnei1-0/+1
2018-07-02GPU: Implemented the Z24S8 depth format and load the depth framebuffer.Subv1-0/+9
2018-06-30GPU: Implemented the RGBA32_UINT rendertarget format.Subv1-0/+1
2018-06-12GPU: Partially implemented the Maxwell DMA engine.Subv1-0/+3
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-06GPU: Implemented the R11FG11FB10F texture and rendertarget formats.Subv1-0/+1
2018-06-06GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.Subv1-0/+1
2018-04-25GPU: Added a function to retrieve the bytes per pixel of the render target formats.Subv1-0/+3
2018-04-25GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.Subv1-7/+0
It doesn't belong in the PFIFO handler.
2018-04-18gpu: Add several framebuffer formats to RenderTargetFormat.bunnei1-0/+3
2018-03-27graphics_surface: Fix merge conflicts.bunnei1-0/+1
2018-03-27maxwell: Add RenderTargetFormat enum.bunnei1-1/+1
2018-03-24Frontend: Updated the surface view debug widget to work with Maxwell surfaces.Subv1-0/+4
2018-03-24Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.Subv1-0/+5
2018-03-23renderer_opengl: Better handling of framebuffer transform flags.bunnei1-1/+4
2018-03-23video_core: Move FramebufferInfo to FramebufferConfig in GPU.bunnei1-0/+29
2018-03-23gpu: Expose Maxwell3D engine.bunnei1-0/+4
2018-03-18GPU: Move the GPU's class constructor and destructors to a cpp file.Subv1-10/+8
This should reduce recompile times when editing the Maxwell3D register structure.
2018-03-18GPU: Store uploaded GPU macros and keep track of the number of method parameters.Subv1-1/+9
2018-03-18GPU: Macros are specific to the Maxwell3D engine, so handle them internally.Subv1-3/+0
2018-03-17GPU: Process command mode 5 (IncreaseOnce) differently from other commands.Subv1-0/+3
Accumulate all arguments before calling the desired method. Note: Maybe we should do the same for the NonIncreasing mode?
2018-02-12GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.Subv1-1/+1
Only QueryMode::Write is supported at the moment.
2018-02-12Make a GPU class in VideoCore to contain the GPU state.Subv1-0/+55
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.