| Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
video_core: Remove unimplemented Start() function prototype
|
|
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
|
|
Given this has no definition, we can just remove it entirely.
|
|
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.
|
|
|
|
Corrected a few error cases detected by asan/ubsan
|
|
The branch target is signed, so multiply by 4 instead of left shifting by 2
|
|
video_core/memory_manager: Avoid repeated unnecessary page slot lookups
|
|
|
|
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.
|
|
|
|
|
|
GPU: Implemented the Z32_S8_X24 depth buffer format.
|
|
GPU: Allow using Z32 as a texture format.
|
|
GPU: Allow the usage of R8 as a render target format.
|
|
gl_rasterizer: Minor cleanup
|
|
GPU: Remove the assert that required the CODE_ADDRESS to be 0.
|
|
|
|
|
|
|
|
Games usually just leave it at 0 but nouveau sets it to something else. This already works fine, the assert is useless.
|
|
|
|
This is just the named constant that OpenGL provides, so we can use that
instead of using a literal -1
|
|
extensions
We can avoid heap allocations here by just using a std::string_view
instead of performing unnecessary copying of the string data.
|
|
We can just assign to the members directly in these cases.
|
|
in PageSlot()
We already have a function that does what this code was doing, so let's
use that instead.
|
|
We don't need to keep calling the same function over and over again in a
loop, especially when the behavior is slightly non-trivial. We can just
keep a reference to the looked up location and do all the checking and
assignments based off it instead.
|
|
GPU: Implement texture format R32F.
|
|
maxwell_to_gl: Implement VertexAttribute::Type::UnsignedInt.
|