Markus Wick
ca64dbd6fe
command_processor: Use std::array for bound_engines.
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.
7 years ago
Lioncash
b4a81f9bca
gpu: Make memory_manager private
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.
7 years ago
David Marcec
4d26be905a
Implemented RGBA8_UINT
Needed by kirby
7 years ago
bunnei
9b9cf62587
renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM.
- Used by Breath of the Wild.
7 years ago
David Marcec
5c1a4ab132
Implement RG32UI and R32UI
Needed for xenoblade
7 years ago
bunnei
1d2fdc5a0d
renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT.
- Used by Breath of the Wild.
7 years ago
bunnei
ad6b0268eb
renderer_opengl: Implement RenderTargetFormat::RG8_UNORM.
- Used by Breath of the Wild.
7 years ago
greggameplayer
974a959892
Implement R8_UINT RenderTargetFormat & PixelFormat ( #1014 )
- Used by Go Vacation
7 years ago
bunnei
8cb27339a2
gl_rasterizer: Implement render target format RG8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
bunnei
e8a695064b
gl_rasterizer: Implement render target format RGBA8_SNORM.
- Used by Super Mario Odyssey.
7 years ago
greggameplayer
3aa4040888
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
38049444da
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
5381a038ca
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
- Used by Super Mario Odyssey.
7 years ago
Lioncash
49dc22f84e
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
6b77105b3d
Implement R32_FLOAT RenderTargetFormat
8 years ago
Subv
b994374b5c
GPU: Allow using R16F as a render target format.
8 years ago
Unknown
aad2bf10a8
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
8 years ago
Subv
b4ae8432b4
GPU: Implemented the Z32_S8_X24 depth buffer format.
8 years ago
Subv
1930980a26
GPU: Allow the usage of R8 as a render target format.
8 years ago
bunnei
889da74c9d
gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT.
8 years ago
bunnei
e1ffcc6817
gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM.
8 years ago
Lioncash
d923d8f50c
gpu: Rename Get3DEngine() to Maxwell3D()
This makes it match its const qualified equivalent.
8 years ago
bunnei
42b866afc5
vi: Partially implement buffer crop parameters.
8 years ago
Subv
62068f723a
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
8 years ago
Subv
8bfac40a92
GPU: Implemented the RGBA32_UINT rendertarget format.
8 years ago
Subv
df214db493
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.
8 years ago
Subv
1ab5441d54
GPU: Implemented the R11FG11FB10F texture and rendertarget formats.
8 years ago
Subv
f13edfd80b
GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine.
8 years ago
Subv
284aad1420
GPU: Added a function to retrieve the bytes per pixel of the render target formats.
8 years ago
Subv
219b5d34e7
GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor.
It doesn't belong in the PFIFO handler.
8 years ago
bunnei
848ade06d5
gpu: Add several framebuffer formats to RenderTargetFormat.
8 years ago
bunnei
74c4739713
graphics_surface: Fix merge conflicts.
8 years ago
bunnei
bf282aa01f
maxwell: Add RenderTargetFormat enum.
8 years ago
Subv
0892143af9
Frontend: Updated the surface view debug widget to work with Maxwell surfaces.
8 years ago
Subv
19bf501723
Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.
8 years ago
bunnei
c2a48352ad
renderer_opengl: Better handling of framebuffer transform flags.
8 years ago
bunnei
6babc57354
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
8 years ago
bunnei
8286b237cc
gpu: Expose Maxwell3D engine.
8 years ago
Subv
46bbeeb54a
GPU: Move the GPU's class constructor and destructors to a cpp file.
This should reduce recompile times when editing the Maxwell3D register structure.
8 years ago
Subv
a8cb6ba213
GPU: Store uploaded GPU macros and keep track of the number of method parameters.
8 years ago
Subv
29c026fae1
GPU: Macros are specific to the Maxwell3D engine, so handle them internally.
8 years ago
Subv
6796e37911
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?
8 years ago
Subv
9cf3a6cc00
GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine.
Only QueryMode::Write is supported at the moment.
8 years ago
Subv
0088b3128b
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.
8 years ago