| Age | Commit message (Collapse) | Author |
|
gl_shader_decompiler: Declare predicates on use.
|
|
gl_rasterizer_cache: Use std::vector::assign vs resize() then copy for the non-tiled case
|
|
Implement VertexAttribute::Size::Size_16_16_16_16 and PrimitiveTopology::Points.
|
|
gl_rasterizer: Do not render when no render target is configured.
|
|
- Used by Kirby Star Allies.
|
|
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
|
|
It's generally easier to follow code using conditionals that operate in
terms of the true case followed by the false case (no chance of
overlooking the exclamation mark).
|
|
non-tiled case
resize() causes the vector to expand and zero out the added members to
the vector, however we can avoid this zeroing by using assign().
Given we have the pointer to the data we want to copy, we can calculate
the end pointer and directly copy the range of data without the
need to perform the resize() beforehand.
|
|
- Used by Super Mario Odyssey (in game).
|
|
- Used by Super Mario Odyssey (in game).
|
|
- Used by Super Mario Odyssey (when going in game).
|
|
This is only ever read from, so we can make the data it's pointing to
const.
|
|
gl_shader_decompiler: Stub input attribute Unknown_63.
|
|
- Used by Super Mario Odyssey.
|
|
gl_shader_decompiler: Let OpenGL interpret floats.
|
|
maxwell_3d: Use correct const buffer size and check bounds.
|
|
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
|
|
|
|
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
|
|
|
|
|
|
- Used by Super Mario Odyssey.
|
|
- Accuracy is lost in translation to string, e.g. with NaN.
- Needed for Super Mario Odyssey.
|
|
* Changed the sRGB pixel format return
* Add a message about SRGBA -> RGBA conversion
|
|
|
|
gl_shader_decompiler: Fix TEXS mask and dest.
|
|
video_core: Eliminate the g_renderer global variable
|
|
|
|
|
|
|
|
gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()
|
|
This lets us indent the majority of the code and places the error case
first.
|
|
SetShaderUniformBlockBinding()
Ensures both operands have the same sign in the comparison.
While we're at it, we can get rid of the redundant casting of ub_size to
an int. This type will always be trivial and alias a built-in type (not
doing so would break backwards compatibility at a standard level).
|
|
All calling code assumes that the rasterizer will be in a valid state,
which is a totally fine assumption. The only way the rasterizer wouldn't
be is if initialization is done incorrectly or fails, which is checked
against in System::Init().
|
|
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.
|
|
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
|
|
This variable was being incremented, but we were never actually using
it.
|
|
member function
This function doesn't modify class state, so it can be made const.
|
|
video_core: Make global EmuWindow instance part of the base renderer …
|
|
gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader()
|
|
gl_state: Make texture_units a std::array
|
|
|
|
Gets rid of the use of a raw C array.
|
|
UseProgrammableVertexShader() and UseProgrammableFragmentShader()
Avoids performing unnecessary copies of 65560 byte sized ShaderSetup
instances, considering it's only used as part of lookup and not
modified.
Given the parameters were already const, it's likely taking these
parameters by reference was intended but the ampersand was forgotten.
|
|
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.
This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
|
|
|
|
|
|
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: Use the right texture format for sRGBA framebuffers.
|
|
|