| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Because of the recent separation of GPU functionality into sync/async
variants, we need to mark the destructor virtual to provide proper
destruction behavior, given we use the base class within the System
class.
Prior to this, it was undefined behavior whether or not the destructor
in the derived classes would ever execute.
|
|
|
|
|
|
|
|
|
|
These types are within the common library, so they should be within the
Common namespace.
|
|
Avoids the use of the global accessor in favor of explicitly making the
system a dependency within the interface.
|
|
Implement BGRA8 framebuffer format
|
|
When I originally added the compute assert I used the wrong
documentation. This addresses that.
The dispatch register was tested with homebrew against hardware and is
triggered by some games (e.g. Super Mario Odyssey). What exactly is
missing to get a valid program bound by this engine requires more
investigation.
|
|
|
|
* 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
|
|
- More accurate impl., fixes Undertale (among other games).
|
|
Implement RenderTargetFormat::BGR5A1_UNORM
|
|
|
|
This engine writes data from a FIFO register into the configured address.
|
|
gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.
|
|
Inline the WriteReg helper as it is called ~20k times per frame.
|
|
This moves the hot loop into video_core. This refactoring shall reduce the CPU overhead of calling ProcessCommandList.
|
|
- Used by Octopath Traveler (with multiple render targets).
|
|
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.
|
|
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.
|
|
Needed by kirby
|
|
- Used by Breath of the Wild.
|
|
Needed for xenoblade
|
|
- Used by Breath of the Wild.
|
|
- Used by Breath of the Wild.
|
|
- Used by Go Vacation
|
|
- Used by Super Mario Odyssey.
|
|
- Used by Super Mario Odyssey.
|
|
video_core: Get rid of global variable g_toggle_framelimit_enabled
|
|
(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
|
|
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.
|
|
- Used by Super Mario Odyssey.
|
|
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.
|
|
|
|
|
|
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
|
|
GPU: Implemented the Z32_S8_X24 depth buffer format.
|
|
|
|
|
|
|
|
|
|
This makes it match its const qualified equivalent.
|
|
|
|
|
|
|
|
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
|
|
GPU: Allow the usage of RGBA32_FLOAT and RGBA16_FLOAT in the texture copy engine.
|