aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
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-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-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-14gl_rasterizer: Implement constant vertex attributesReinUsesLisp
Credits go to gdkchan from Ryujinx for finding constant attributes are used in retail games.
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-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.
2020-04-12Merge pull request #3578 from ReinUsesLisp/vmnmxFernando Sahmkow
shader/video: Partially implement VMNMX
2020-04-12gl_shader_decompiler: Improve generated code in HMergeH*ReinUsesLisp
Avoiding bitwise expressions, this fixes Turing issues in shaders using half float merges that affected several games.
2020-04-12shader/video: Partially implement VMNMXReinUsesLisp
Implements the common usages for VMNMX. Inputs with a different size than 32 bits are not supported and sign mismatches aren't supported either. VMNMX works as follows: It grabs Ra and Rb and applies a maximum/minimum on them (this is defined by .MX), having in mind the input sign. This result can then be saturated. After the intermediate result is calculated, it applies another operation on it using Rc. These operations are merges, accumulations or another min/max pass. This instruction allows to implement with a more flexible approach GCN's min3 and max3 instructions (for instance).
2020-04-12video_core: Add MSAA registers in 3D engine and TICReinUsesLisp
This adds the registers used for multisampling. It doesn't implement anything for now.
2020-04-11texture_cache: Remove preserve_contentsReinUsesLisp
preserve_contents was always true. We can't assume we don't have to preserve clears because scissored and color masked clears exist. This removes preserve_contents and assumes it as true at all times.
2020-04-10renderer_vulkan: Drop Vulkan-HppReinUsesLisp
2020-04-10Merge pull request #3594 from ReinUsesLisp/vk-instancebunnei
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
2020-04-10shader/texture: Remove type mismatches management from shader decoderReinUsesLisp
Since commit e22816a5bb we handle type mismatches from the CPU. We don't need to hack our shader decoder due to game bugs anymore. Removed in this commit.
2020-04-09Merge pull request #3622 from ReinUsesLisp/srgb-texture-borderFernando Sahmkow
video_core/texture: Use a LUT to convert sRGB texture borders
2020-04-09astc: Hard code bit depth changes to 8 and use fast replicateReinUsesLisp
2020-04-09Merge pull request #3610 from FernandoS27/gpu-cachesRodrigo Locatti
Refactor all the GPU Caches to use VAddr for cache addressing
2020-04-09astc: Use boost's static_vector to avoid heap allocationsReinUsesLisp
2020-04-09astc: Implement a fast precompiled alternative for ReplicateReinUsesLisp
2020-04-09astc: Move Replicate to a constexpr LUT when possibleReinUsesLisp
2020-04-09astc: Make InputBitStream constexprReinUsesLisp
2020-04-09astc: OutputBitStream style changes and make it constexprReinUsesLisp
2020-04-09Merge pull request #3601 from ReinUsesLisp/some-shader-encodingsbunnei
video_core/shader: Add some instruction and S2R encodings
2020-04-08gl_texture_cache: Attach view instead of base texture for layered attachmentsReinUsesLisp
This way we are not ignoring the base layer of the current texture.
2020-04-08VkRasterizer: Eliminate Legacy code.Fernando Sahmkow
2020-04-08Memory: Correct GCC errors.Fernando Sahmkow
2020-04-08Memory: Address Feedback.Fernando Sahmkow
2020-04-08GPUMemoryManager: Improve safety of memory reads.Fernando Sahmkow
2020-04-07video_core/textures: Move GetMaxAnisotropy to cpp fileReinUsesLisp