| Age | Commit message (Collapse) | Author |
|
|
|
|
|
uniform to be able to support animation effects in custom shaders
|
|
shaders in graphics mods
|
|
|
|
|
|
|
|
VideoCommon: fix uint shader compiler error when using d3d
|
|
|
|
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner). Since these are indexed very differently, the old code was hard to follow.
|
|
|
|
output that has been defined as uints
|
|
|
|
Add a post-cache shader UID fixup pass
|
|
Reduce the number of different pipelines needed. Also works around drivers that break when you combine fbfetch with dual source blending
|
|
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
|
|
|
|
VideoCommon: Fix ubershaders on MoltenVK Intel
|
|
VideoCommon: Fix D3D shader compilation warnings
|
|
Initialize alpha_A and alpha_B. They were previously only initialized in
cases where they were used, but D3D isn't able to figure that out.
|
|
generation
|
|
the specialized shader
|
|
|
|
|
|
Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`. Not all Metal backends handle this mess well. In particular, it causes register spills on Intel, losing about 5% in performance.
|
|
|
|
|
|
|
|
Previously we were using this workaround when using framebuffer fetch
to emulate dual source blending, but it seems like we also need to use
it when using framebuffer fetch to emulate logic ops, otherwise some
Adreno devices get a crash when compiling OpenGL ES ubershaders.
Using the workaround in specialized shaders doesn't seem to be
necessary, but I've made the same change there for consistency.
This gets us closer to fixing https://bugs.dolphin-emu.org/issues/12791
but doesn't actually fix it.
|
|
This removes the white box in fortune street again, without causing Mario Kart Wii to regress.
|
|
It doesn't make sense for alpha to add the bias ONLY when dividing by 2, while color doesn't apply the bias for divide by 2 only; hardware testing indicates that alpha should have the bias.
This fixes the menus in Mario Kart Wii (https://bugs.dolphin-emu.org/issues/11909) but reintroduces the white rectangle in Fortune Street.
This reverts commit 5aaa5141ed76acc3fffc70561a6b6e7fe3b9b470 (and several other matching changes elsewhere).
|
|
|
|
VideoCommon: Support shader logic ops on Metal (Apple GPUs) and OpenGL ES
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This was broken in #10012 (specifically by 06579e4d53844e5a45ae18f8eda6c4ee69ebad2c and c3dec343918ff44e90886daf71a6bf0c49033de1).
|
|
|
|
|
|
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
|
|
This fixes NES game graphics when UberShaders are in use.
|
|
This fixes rendering issues in Viewtiful Joe (https://bugs.dolphin-emu.org/issues/12525), but it is not entirely hardware accurate, as hardware testing showed other, more complex behavior in this case. However, it should be good enough for our purposes.
|
|
Hardware testing has confirmed that fb_addprev and wrapping both run even when the indirect stage is disabled.
|
|
Previously we set the texture coordinate to zero, now we set
the texture coordinate *index* to zero. This fixes the ripple
effect of the Mario painting in Luigi's Mansion.
|
|
This change should have no behavioral differences itself, but allows for changing the behavior of out of bounds tex coord indices more easily in the next commit. Without this change, returning tex0 for out of bounds cases and then applying the fixed-point logic would use the wrong tex dimension info (tex0 with I_TEXDIMS[1] or such), which is inaccurate.
|
|
It became unused in f039149198657c1891e1c6462ed30c31ed4b8486.
|
|
|