aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-04-01shader_decompiler: Remove FragCoord.w hack and change IPA implementationReinUsesLisp
Credits go to gdkchan and Ryujinx. The pull request used for this can be found here: https://github.com/Ryujinx/Ryujinx/pull/1082 yuzu was already using the header for interpolation, but it was missing the FragCoord.w multiplication described in the linked pull request. This commit finally removes the FragCoord.w == 1.0f hack from the shader decompiler. While we are at it, this commit renames some enumerations to match Nvidia's documentation (linked below) and fixes component declaration order in the shader program header (z and w were swapped). https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html
2020-04-01gl_texture_cache: Fix software ASTC fallbackReinUsesLisp
2020-04-01vk_device: Add missing ASTC queriesReinUsesLisp
2020-04-01video_core: Use native ASTC when availableReinUsesLisp
2020-04-01gl_device: Detect if ASTC is reported and expose itReinUsesLisp
2020-03-31Merge pull request #3591 from ReinUsesLisp/vk-wrapper-part2Rodrigo Locatti
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 2 of 2)
2020-03-31renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapperReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add command buffer handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add physical device handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add device handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add swapchain handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add fence handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add device memory handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add pool handlesReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add buffer and image handlesReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add queue handleReinUsesLisp
2020-03-31renderer_vulkan/wrapper: Add instance handleReinUsesLisp
2020-03-31Merge pull request #3561 from ReinUsesLisp/f2f-conversionFernando Sahmkow
shader/conversion: Fix F2F rounding operations with different sizes
2020-03-31Merge pull request #3577 from ReinUsesLisp/leaFernando Sahmkow
shader/lea: Fix LEA implementation
2020-03-31gl_rasterizer: Mark cleared textures as dirtyReinUsesLisp
Fixes a potential edge case where cleared textures read from the CPU were not flushed.
2020-03-31Merge pull request #3506 from namkazt/patch-9Rodrigo Locatti
shader_decode: Implement partial ATOM/ATOMS instr
2020-03-31clang-formatNguyen Dac Nam
2020-03-31shader_decode: fix by suggestionNguyen Dac Nam
2020-03-30Merge pull request #3566 from ReinUsesLisp/vk-wrapper-part1Rodrigo Locatti
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 1 of 2)
2020-03-30Merge pull request #3560 from ReinUsesLisp/fix-stencilbunnei
gl_rasterizer: Synchronize stencil testing on clears
2020-03-30clang-formatnamkazy
2020-03-30gl_decompiler: min/max op not implement yetnamkazy
2020-03-30shader_decode: ATOM/ATOMS: add function to avoid code repetitionnamkazy
2020-03-30shader_decode: merge GlobalAtomicOp to AtomicOpnamkazy
2020-03-30shader_decode: implement ATOM operation for S32 and U32Nguyen Dac Nam
2020-03-30clang-formatnamkazy
2020-03-30shader_decode: implement ATOMS instr partial.Nguyen Dac Nam
2020-03-30vk_decompiler: add atomic op and handler function.Nguyen Dac Nam
2020-03-30gl_decompiler: add atomic opNguyen Dac Nam
2020-03-30shader: node - update correct commentNguyen Dac Nam
2020-03-30shader_decode: add Atomic op for common usageNguyen Dac Nam
2020-03-28shader_bytecode: Fix I2I_IMM encodingReinUsesLisp
2020-03-28renderer_vulkan/wrapper: Address feedbackReinUsesLisp
2020-03-28shader/lea: Simplify generated LEA codeReinUsesLisp
2020-03-27shader/lea: Fix op_a and op_b usagesReinUsesLisp
They were swapped.
2020-03-27shader/lea: Remove const and use move when possibleReinUsesLisp
2020-03-27Merge pull request #3565 from ReinUsesLisp/image-formatFernando Sahmkow
engines/const_buffer_engine_interface: Store image format and types
2020-03-27renderer_vulkan/wrapper: Add owning handlesReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add pool allocations owning templated classReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add owning handle templated classReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add destroy and free overload setReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add dispatch table and loadersReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add exception classReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add ToString function for VkResultReinUsesLisp
2020-03-27renderer_vulkan/wrapper: Add Vulakn wrapper and a span helperReinUsesLisp
The intention behind a Vulkan wrapper is to drop Vulkan-Hpp. The issues with Vulkan-Hpp are: - Regular breaks of the API. - Copy constructors that do the same as the aggregates (fixed recently) - External dynamic dispatch that is hard to remove - Alias KHR handles with non-KHR handles making it impossible to use smart handles on Vulkan 1.0 instances with extensions that were included on Vulkan 1.1. - Dynamic dispatchers silently change size depending on preprocessor definitions. Different files will have different dispatch definitions, generating all kinds of hard to debug memory issues. In other words, Vulkan-Hpp is not "production ready" for our needs and this wrapper aims to replace it without losing RAII and exception safety.