| Age | Commit message (Collapse) | Author |
|
|
|
Avoids potential invalid junk data from being read.
|
|
The components' sizes were mismatched. This corrects that.
|
|
Previously this was mutable even though it shouldn't be.
|
|
Two variables can be references, while two others can be std::moved.
Makes for 4 less atomic reference count increments and decrements.
|
|
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
|
|
Texture Cache: Read current data when flushing a 3D segment.
|
|
shader/memory: Implement RED.E.ADD and minor changes to ATOM
|
|
It's undefined behavior to pass a null pointer to std::fread and
std::fwrite, even if the length passed in is zero, so we must perform
the precondition checking ourselves.
A common case where this can occur is when passing in the data of an
empty std::vector and size, as an empty vector will typically have a
null internal buffer.
While we're at it, we can move the implementation out of line and add
debug checks against passing in nullptr to std::fread and std::fwrite.
|
|
CMakeLists: Make -Wreorder a compile-time error
|
|
This can result in silent logic bugs within code, and given the amount
of times these kind of warnings are caused, they should be flagged at
compile-time so no new code is submitted with them.
|
|
|
|
gl_rasterizer: Implement constant vertex attributes
|
|
This PR corrects flushing of 3D segments when data of other segments is
mixed, this aims to preserve the data in place.
|
|
maxwell_to_vk: Add uint16 vertex formats
|
|
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
|
|
gl_texture_cache: Fix layered texture attachment base level
|
|
shader/arithmetic: Add FCMP_CR variant
|
|
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
|
|
vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo
|
|
|
|
Avoid invalid fallbacks.
|
|
When the dynamic state is specified, pViewports and pScissors are
ignored, quoting the specification:
pViewports is a pointer to an array of VkViewport structures, defining
the viewport transforms. If the viewport state is dynamic, this member
is ignored.
That said, AMD's proprietary driver itself seem to read it regardless of
what the specification says.
|
|
vk_rasterizer: Default to 1 viewports with a size of 0
|
|
This is a simple optimization as Buffer Copies are mostly used for texture recycling. They are, however, useful when games abuse undefined behavior but most 3D APIs forbid it.
|
|
- Used by Animal Crossing: New Horizons.
|
|
This reverts commit 05cf27083608bebd3ee4c38f2f948c8f2030f881.
Apparently the first approach using floats instead of bitfieldInert
worked better for Fire Emblem: Three Houses. Reverting to get that
behavior back.
|
|
Adds another variant of FCMP.
|
|
service: friend: Stub IFriendService::GetBlockedUserListIds.
|
|
file_sys: patch_manager: Return early when there are no layers to apply.
|
|
Credits go to gdkchan from Ryujinx for finding constant attributes are
used in retail games.
|
|
|
|
- This is safe to stub, as there should be no adverse consequences from reporting no blocked users.
|
|
Silence validation layer errors.
|
|
From my testing on a Splatoon 2 shader that takes 3800ms on average to
compile changing to FullDecompile reduces it to 900ms on average.
The shader decoder will automatically fallback to a more naive method if
it can't use full decompile.
|
|
Adds optional support for Nsight Aftermath. It is enabled through
ENABLE_NSIGHT_AFTERMATH in cmake. A path to the SDK has to be provided
by the environment variable NSIGHT_AFTERMATH_SDK.
Nsight Aftermath allows an application to generate "minidumps" of the
GPU state when a device loss happens. By analysing these on Nsight we
can know what a game was doing and why it triggered a device loss.
The dump is generated inside %APPDATA%\yuzu\log\gpucrash and this
directory is deleted every time a new instance is initialized with
Nsight enabled.
To enable it on yuzu there has a to be a driver and device capable of
running Nsight Aftermath on Vulkan. That means only Turing based GPUs
on the latest stable driver, beta drivers won't work for now.
It is manually enabled in Configuration>Debug>Enable Graphics Debugging
because when using all debugging capabilities there is a runtime cost.
|
|
Makes popup texts more compact and clear and also links our quickstart guide now.
Also removes OnMenuSelectEmulatedDirectory from the File dropdown, as the action already exists in the Filesystem tab and provides better visual feedback there.
|
|
The base level is already included in the texture view. If we specify
the base level in the texture again, this will end up in the incorrect
level and potentially out of bounds.
|
|
|
|
|
|
renderer_vulkan: Drop Vulkan-Hpp
|
|
gl_rasterizer: Implement line widths and smooth lines
|
|
texture_cache: Remove preserve_contents
|
|
texture/astc: More small ASTC optimizations
|
|
shader/conversion: Implement I2I sign extension, saturation and selection
|
|
gl_texture_cache: Attach view instead of base texture for layered attchments
|
|
gl_shader_decompiler: Improve generated code in HMergeH*
|
|
shader/texture: Remove type mismatches management from shader decoder
|
|
Implements "legacy" features from OpenGL present on hardware such as
smooth lines and line width.
|
|
This also fixes Turing issues but it avoids doing more bitcasts. This
should improve the generated code while also avoiding more points where
compilers can flush floats.
|