aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
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
2020-04-07video_core/texture: Use a LUT to convert sRGB texture bordersReinUsesLisp
This is a reversed look up table extracted from https://gist.github.com/rygorous/2203834#file-gistfile1-cpp-L41-L62 that is used in https://github.com/devkitPro/deko3d/blob/04d4e9e587fa3dc5447b43d273bc45f440226e41/source/maxwell/tsc_generate.cpp#L38 Games usually bind 0xFD expecting a float texture border of 1.0f. The conversion previous to this commit was multiplying the uint8 sRGB texture border color by 255. This is close to 1.0f but when that difference matters, some graphical glitches appear. This look up table is manually changed in the edges, clamping towards 0.0f and 1.0f. While we are at it, move this logic to its own translation unit.
2020-04-07Merge pull request #3599 from ReinUsesLisp/revert-3499bunnei
Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array"
2020-04-07yuzu: Drop SDL2 and Qt frontend Vulkan requirementsReinUsesLisp
Create Vulkan instances and surfaces from the Vulkan backend.
2020-04-07Merge pull request #3489 from namkazt/patch-2Rodrigo Locatti
shader: implement SULD.D bits32/64
2020-04-07address nit.Nguyen Dac Nam
2020-04-07renderer_vulkan: Query device names from the backendReinUsesLisp
2020-04-07shader/conversion: Implement I2I sign extension, saturation and selectionReinUsesLisp
Reimplements I2I adding sign extension, saturation (clamp source value to the destination), selection and destination sizes that are not 32 bits wide. It doesn't implement CC yet.
2020-04-07Apply suggestions from code reviewNguyen Dac Nam
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2020-04-06Clang Format.Fernando Sahmkow
2020-04-06Shader/Pipeline Cache: Use VAddr instead of physical memory for addressing.Fernando Sahmkow
2020-04-06Query Cache: Use VAddr instead of physical memory for adressing.Fernando Sahmkow
2020-04-06Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow
2020-04-06Texture Cache: Use vAddr instead of physical memory for caching.Fernando Sahmkow
2020-04-06GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddrFernando Sahmkow
2020-04-06Merge pull request #3513 from ReinUsesLisp/native-astcFernando Sahmkow
video_core: Use native ASTC when available