aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-15decode/image: Fix typo in assert in GetComponentSize()Lioncash
2020-04-15gl_query_cache: Resolve use-after-move in CachedQuery move assignment operatorLioncash
Avoids potential invalid junk data from being read.
2020-04-15decoder/image: Fix incorrect G24R8 component sizes in GetComponentSize()Lioncash
The components' sizes were mismatched. This corrects that.
2020-04-15gl_device: Mark stage_swizzle as constexprLioncash
Previously this was mutable even though it shouldn't be.
2020-04-15track: Eliminate redundant copiesLioncash
Two variables can be references, while two others can be std::moved. Makes for 4 less atomic reference count increments and decrements.
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
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.
2020-04-15Merge pull request #3649 from FernandoS27/3d-fixRodrigo Locatti
Texture Cache: Read current data when flushing a 3D segment.
2020-04-15Merge pull request #3612 from ReinUsesLisp/redFernando Sahmkow
shader/memory: Implement RED.E.ADD and minor changes to ATOM
2020-04-15file_util: Early-exit in WriteArray and ReadArray if specified lengths are zeroLioncash
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.
2020-04-15Merge pull request #3670 from lioncash/reorderMat M
CMakeLists: Make -Wreorder a compile-time error
2020-04-15CMakeLists: Make -Wreorder a compile-time errorLioncash
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.
2020-04-15kernel/thread: Resolve -Wswitch warningsLioncash
2020-04-15Merge pull request #3662 from ReinUsesLisp/constant-attrsMat M
gl_rasterizer: Implement constant vertex attributes
2020-04-15Texture Cache: Read current data when flushing a 3D segment.Fernando Sahmkow
This PR corrects flushing of 3D segments when data of other segments is mixed, this aims to preserve the data in place.
2020-04-15Merge pull request #3668 from ReinUsesLisp/vtx-format-16uiMat M
maxwell_to_vk: Add uint16 vertex formats
2020-04-15Merge pull request #3656 from ReinUsesLisp/glsl-full-decompileMat M
gl_shader_cache: Use CompileDepth::FullDecompile on GLSL
2020-04-15Merge pull request #3654 from ReinUsesLisp/fix-fb-attachMat M
gl_texture_cache: Fix layered texture attachment base level
2020-04-15Merge pull request #3663 from ReinUsesLisp/fcmp-rcMat M
shader/arithmetic: Add FCMP_CR variant
2020-04-15Merge pull request #3664 from ReinUsesLisp/fe3h-black-squaresMat M
Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"
2020-04-15Merge pull request #3667 from ReinUsesLisp/viewport-trashMat M
vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo
2020-04-15maxwell_to_vk: Add uint16 vertex formatsReinUsesLisp
2020-04-15maxwell_to_vk: Add missing breaksReinUsesLisp
Avoid invalid fallbacks.
2020-04-15vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfoReinUsesLisp
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.
2020-04-15Merge pull request #3657 from ReinUsesLisp/viewport-zeroRodrigo Locatti
vk_rasterizer: Default to 1 viewports with a size of 0
2020-04-14Texture Cache: Only do buffer copies on accurate GPU. (#3634)Fernando Sahmkow
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.
2020-04-14service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.bunnei
- Used by Animal Crossing: New Horizons.
2020-04-14Revert "gl_shader_decompiler: Implement merges with bitfieldInsert"ReinUsesLisp
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.
2020-04-14shader/arithmetic: Add FCMP_CR variantReinUsesLisp
Adds another variant of FCMP.
2020-04-14Merge pull request #3660 from bunnei/friend-blocked-usersZach Hilman
service: friend: Stub IFriendService::GetBlockedUserListIds.
2020-04-14Merge pull request #3661 from bunnei/patch-manager-fixZach Hilman
file_sys: patch_manager: Return early when there are no layers to apply.
2020-04-14gl_rasterizer: Implement constant vertex attributesReinUsesLisp
Credits go to gdkchan from Ryujinx for finding constant attributes are used in retail games.
2020-04-14file_sys: patch_manager: Return early when there are no layers to apply.bunnei
2020-04-14service: friend: Stub IFriendService::GetBlockedUserListIds.bunnei
- This is safe to stub, as there should be no adverse consequences from reporting no blocked users.
2020-04-14vk_rasterizer: Default to 1 viewports with a size of 0ReinUsesLisp
Silence validation layer errors.
2020-04-14gl_shader_cache: Use CompileDepth::FullDecompile on GLSLReinUsesLisp
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.
2020-04-14renderer_vulkan: Integrate Nvidia Nsight Aftermath on WindowsReinUsesLisp
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.
2020-04-14yuzu/main: Add better popup texts and remove duplicated actionsFearlessTobi
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.
2020-04-13gl_texture_cache: Fix layered texture attachment base levelReinUsesLisp
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.
2020-04-13renderer_vulkan: Remove Nvidia checkpointsReinUsesLisp
2020-04-13renderer_vulkan: Catch device losses in more placesReinUsesLisp
2020-04-13Merge pull request #3636 from ReinUsesLisp/drop-vk-hppRodrigo Locatti
renderer_vulkan: Drop Vulkan-Hpp
2020-04-13Merge pull request #3651 from ReinUsesLisp/line-widthsMat M
gl_rasterizer: Implement line widths and smooth lines
2020-04-13Merge pull request #3638 from ReinUsesLisp/remove-preserve-contentsMat M
texture_cache: Remove preserve_contents
2020-04-13Merge pull request #3631 from ReinUsesLisp/more-astcMat M
texture/astc: More small ASTC optimizations
2020-04-13Merge pull request #3619 from ReinUsesLisp/i2iMat M
shader/conversion: Implement I2I sign extension, saturation and selection
2020-04-13Merge pull request #3627 from ReinUsesLisp/layered-viewMat M
gl_texture_cache: Attach view instead of base texture for layered attchments
2020-04-13Merge pull request #3646 from ReinUsesLisp/fix-glsl-turingMat M
gl_shader_decompiler: Improve generated code in HMergeH*
2020-04-13Merge pull request #3633 from ReinUsesLisp/clean-texdecMat M
shader/texture: Remove type mismatches management from shader decoder
2020-04-13gl_rasterizer: Implement line widths and smooth linesReinUsesLisp
Implements "legacy" features from OpenGL present on hardware such as smooth lines and line width.
2020-04-12gl_shader_decompiler: Implement merges with bitfieldInsertReinUsesLisp
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.