| Age | Commit message (Collapse) | Author |
|
Yellow squiggly lines begone!
Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes.
If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed.
The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports.
Not everything is removed, but the cleanup should be substantial enough.
Because this done on Linux, code that isn't used on it is mostly untouched.
(Hopefully no open PR is depending on these imports...)
|
|
as well
|
|
|
|
|
|
|
|
devices."
This reverts commit 79648e1c24eac81f54365bbcb6dbc49ad6b16b1c.
|
|
It was reported that some games (Zelda Wind Waker and Zelda Twilight Princess but others may also exhibit the issue) have graphical issues with the max pixel samplers set to 16 on some Android devices (ex: Pixel6); since this was increased for a performance heavy feature (custom shaders) just disable it for now. In the future, this could be handled more elegantly
|
|
this allows us to support more samplers than the native Wii/GC
|
|
materials (slot 3, geometry shader buffer moves to slot 4 if available)
|
|
Vulkan)
|
|
|
|
Gets the interface out of the global namespace.
|
|
samplers
|
|
|
|
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
|
|
|
|
The benefit to exposing this over the raw BP state is that adjustments Dolphin makes, such as LOD biases from arbitrary mipmap detection, will work properly.
|
|
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.
|
|
|
|
Converts lingering panic alert calls over to the fmt-capable ones.
|
|
Migrates the vulkan backend over to the fmt-capable logger.
|
|
File::IOFile is better suited to this type of task.
Split out from a future PR.
|
|
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.
We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.
One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.
Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
|
|
Since C++17, non-member std::size() is present in the standard library
which also operates on regular C arrays. Given that, we can just replace
usages of ArraySize with that where applicable.
In many cases, we can just change the actual C array ArraySize() was
called on into a std::array and just use its .size() member function
instead.
In some other cases, we can collapse the loops they were used in, into a
ranged-for loop, eliminating the need for en explicit bounds query.
|
|
|
|
|
|
|
|
|
|
|
|
IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient.
|
|
|
|
Fixes a crash on some NVIDIA drivers. Apparently calling
vkCmdClearColorImage on an image with linear tiling causes the
GPU/driver to lock up.
|
|
|
|
|
|
Also moves the host config checks to common.
|
|
|
|
|
|
We still create a pipeline cache object, since that speeds up driver's
creation of pipelines at runtime. However, we should not save it.
|
|
No new features, just parity with OpenGL.
|
|
Remove the internal BlendState union. Also fixes Kirby's Return to
Dreamland shadows.
|
|
|
|
The existing code from ConfigManager, ES and MIOS is merged
into a new set of functions called SetRunningGameMetadata.
|
|
Makes it easier to disable the cache while working on the shaders.
|
|
|
|
|
|
|
|
This also moves the pipeline and descriptor set layouts used for texture
conversion (texel buffers) to ObjectCache, and shares a binding location
with the SSBO set.
|
|
This ensures that if a user changes adapters or vendors we're not passing
invalid data to the driver.
|
|
The user could switch back again, and this would mean this data would be
lost. Disk space is cheap, and it's not going to be much.
|
|
This stores enough information to recreate the pipeline, including the
shader UIDs, blend/depth/rasterization state, primitive and vertex format.
|