| Age | Commit message (Collapse) | Author |
|
|
|
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
common: Make use of [[nodiscard]] where applicable
|
|
maxwell_3d: Resolve -Wextra-semi warning
|
|
Seems like all compilers don't support std::span yet.
|
|
lz4_compression/zstd_compression: Make use of std::span in interfaces
|
|
textures/decoders: Fix block linear to pitch copies
|
|
We need to provide a message for this variant of the macro, so we can
simply log out the type being used.
|
|
This was assigning the field to itself, which is a no-op. The size
doesn't change between its initial assignment and this one, so this is a
safe change to make.
|
|
Given this is implicitly creating a std::optional, we can move the
vector into it.
|
|
Allows the compiler to avoid unnecessarily zeroing out the internal
buffer of std::optional on some implementations.
|
|
Prevents pessimization of the move constructor (which thankfully didn't
actually happen in practice here, given std::thread isn't copyable).
|
|
Semicolons after a function definition aren't necessary.
|
|
gl_shader_cache: Use std::max() for determining num_workers
|
|
|
|
Does not allocate more threads than available in the host system for boot-time shader compilation and always allocates at least 1 thread if hardware_concurrency() returns 0.
|
|
There were two issues with block linear copies. First the swizzling was
wrong and this commit reimplements them.
The other issue was that these copies are generally used to download
render targets from the GPU and yuzu was not downloading them from
host GPU memory unless the extreme GPU accuracy setting was selected.
This commit enables cached memory reads for all accuracy levels.
- Fixes level thumbnails in Super Mario Maker 2.
|
|
video_core: Remove redundant pixel format type
|
|
hle: nvdrv: Rewrite of GPU memory management.
|
|
renderer_opengl: Use 1/4 of all threads for async shader compilation
|
|
vk_texture_cache: Silence -Wmissing-field-initializer warnings
|
|
|
|
C++20 deprecates capturing the this pointer via the '=' capture.
Instead, we replace it or extend the capture specification.
|
|
compatible_formats: Add missing header guard
|
|
surface_params: Replace questionable usages of the comma operator with semicolons
|
|
|
|
vulkan: Resolve -Wmissing-field-initializer warnings
|
|
The puller register array is made up of u32s however the `NUM_REGS` value is the size in bytes, so switch it to avoid making the struct unnecessary large. Also fix a small typo in a comment.
|
|
|
|
|
|
Allows condensing the data and size parameters into a single argument.
|
|
vk_rasterizer: Remove unused variable in Clear()
|
|
buffer_cache: Eliminate redundant map lookup in MarkRegionAsWritten()
|
|
video_core: Allow copy elision to take place where applicable
|
|
video_core: Remove unused variables
|
|
renderer_{opengl,vulkan}: Clamp shared memory to host's limit
|
|
gl_arb_decompiler: Execute BAR even when inside control flow
|
|
decode/other: Implement S2R.LaneId
|
|
Provides a convenient way to avoid unnecessary zero initializing.
|
|
This is a redundant assignment that can be removed.
|
|
semicolons
These are bugs waiting to happen.
|
|
Silences several compiler warnings about unused variables.
|
|
The relevant values are already assigned further down in the lambda, so
this can be removed entirely.
|
|
Prevents potential inclusion issues from occurring.
|
|
Removes const from some variables that are returned from functions, as
this allows the move assignment/constructors to execute for them.
|
|
video_core: Fix, add and rename pixel formats
|
|
We already get the format type before converting shadow formats and during shadow formats.
|
|
We can make use of emplace()'s return value to determine whether or not
we need to perform an increment.
emplace() performs no insertion if an element already exist, so this can
eliminate a find() call.
|
|
NV_shader_buffer_{load,store} is a 2010 extension that allows GL applications
to use what in Vulkan is known as physical pointers, this is basically C
pointers. On GLASM these is exposed through the LOAD/STORE/ATOM
instructions.
Up until now, assembly shaders were using NV_shader_storage_buffer_object.
These work fine, but have a (probably unintended) limitation that forces
us to have the limit of a single stage for all shader stages. In contrast,
with NV_shader_buffer_{load,store} we can pass GPU addresses to the
shader through local parameters (GLASM equivalent uniform constants, or
push constants on Vulkan). Local parameters have the advantage of being
per stage, allowing us to generate code without worrying about binding
overlaps.
|
|
video_core: Add asynchronous shader decompilation and compilation
|