Commit Graph

93 Commits (ef9b31783d2c6af6ec21e5a8a4a9de4e340295c7)

Author SHA1 Message Date
David Marcec 45cc022ea9 Implement RG32UI and R32UI
Needed for xenoblade
7 years ago
bunnei bdf17fe0cc renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
- Used by Breath of the Wild.
7 years ago
bunnei c56a0e3c34 renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
- Used by Breath of the Wild.
7 years ago
greggameplayer 224071a652 Implement R8_UINT RenderTargetFormat & PixelFormat (#1014)
- Used by Go Vacation
7 years ago
bunnei 88ffa422d4 gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
bunnei 0471976b48 gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
bunnei d64303d185
Merge pull request #1016 from lioncash/video
video_core: Get rid of global variable g_toggle_framelimit_enabled
7 years ago
greggameplayer dfcde52f39 Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (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
7 years ago
Lioncash 20c2928c2b video_core; Get rid of global g_toggle_framelimit_enabled variable
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.
7 years ago
bunnei aaf8d9ac2f gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
- Used by Super Mario Odyssey.
7 years ago
Lioncash 6030c5ce41 video_core: Eliminate the g_renderer global variable
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.
7 years ago
Unknown 0d8fcab136 Implement R32_FLOAT RenderTargetFormat 7 years ago
Subv f85cff0f48 GPU: Allow using R16F as a render target format. 7 years ago
Unknown 4672a01cbf Implement R16_G16
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
7 years ago
bunnei 0686183c3e
Merge pull request #816 from Subv/z32_s8
GPU: Implemented the Z32_S8_X24 depth buffer format.
7 years ago
Subv daf2504d31 GPU: Implemented the Z32_S8_X24 depth buffer format. 7 years ago
Subv 4f574201ea GPU: Allow the usage of R8 as a render target format. 7 years ago
bunnei a27c0099ed gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT. 7 years ago
bunnei bcc184acfa gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM. 7 years ago
Lioncash 863579736c gpu: Rename Get3DEngine() to Maxwell3D()
This makes it match its const qualified equivalent.
7 years ago
bunnei c3dd456d51 vi: Partially implement buffer crop parameters. 7 years ago
Subv 0f929762b3 GPU: Implemented the Z24S8 depth format and load the depth framebuffer. 7 years ago
Subv c0e2d52758 GPU: Implemented the RGBA32_UINT rendertarget format. 7 years ago
Subv 987a170665 GPU: Partially implemented the Maxwell DMA engine.
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
7 years ago
bunnei 9a85277d83
Merge pull request #527 from Subv/rgba32f_texcopy
GPU: Allow the usage of RGBA32_FLOAT and RGBA16_FLOAT in the texture copy engine.
7 years ago
Subv c531a92eda GPU: Implemented the R11FG11FB10F texture and rendertarget formats. 7 years ago
Subv 8d70d1ea45 GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine. 7 years ago
Subv a6da2b93c1 GPU: Added a function to retrieve the bytes per pixel of the render target formats. 7 years ago
Subv a994446b6e GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
It doesn't belong in the PFIFO handler.
7 years ago
bunnei 3ed8a1cac7 gpu: Add several framebuffer formats to RenderTargetFormat. 7 years ago
bunnei 666d53299c graphics_surface: Fix merge conflicts. 7 years ago
bunnei 94c70693f9 maxwell: Add RenderTargetFormat enum. 7 years ago
Subv 39e60cfeb1 Frontend: Updated the surface view debug widget to work with Maxwell surfaces. 7 years ago
Subv 77fd0d47e7 Frontend: Ported the GPU breakpoints and surface viewer widgets from citra. 7 years ago
bunnei ec4e1a3685 renderer_opengl: Better handling of framebuffer transform flags. 7 years ago
bunnei bfe45774f1 video_core: Move FramebufferInfo to FramebufferConfig in GPU. 7 years ago
bunnei 7c3a263839 gpu: Expose Maxwell3D engine. 7 years ago
Subv a64b936cbe GPU: Move the GPU's class constructor and destructors to a cpp file.
This should reduce recompile times when editing the Maxwell3D register structure.
7 years ago
Subv aa586fa268 GPU: Store uploaded GPU macros and keep track of the number of method parameters. 7 years ago
Subv 7ac8657432 GPU: Macros are specific to the Maxwell3D engine, so handle them internally. 7 years ago
Subv 29feece4b8 GPU: Process command mode 5 (IncreaseOnce) differently from other commands.
Accumulate all arguments before calling the desired method.

Note: Maybe we should do the same for the NonIncreasing mode?
7 years ago
Subv ac61a7d1e6 GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.
Only QueryMode::Write is supported at the moment.
7 years ago
Subv 6cddf9d88e Make a GPU class in VideoCore to contain the GPU state.
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
7 years ago