aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
AgeCommit message (Collapse)Author
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
2020-04-05Merge pull request #3592 from ReinUsesLisp/ipaFernando Sahmkow
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
2020-04-02Merge pull request #3552 from jroweboy/single-contextRodrigo Locatti
Refactor Context management (Fixes renderdoc on opengl issues)
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-01vk_device: Add missing ASTC queriesReinUsesLisp
2020-04-01video_core: Use native ASTC when availableReinUsesLisp
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 #3506 from namkazt/patch-9Rodrigo Locatti
shader_decode: Implement partial ATOM/ATOMS instr
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-30vk_decompiler: add atomic op and handler function.Nguyen Dac Nam
2020-03-28renderer_vulkan/wrapper: Address feedbackReinUsesLisp
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.
2020-03-27maxwell_to_vk: implement signedscaled vertex formatsDan
2020-03-24Frontend/GPU: Refactor context managementJames Rowe
Changes the GraphicsContext to be managed by the GPU core. This eliminates the need for the frontends to fool around with tricky MakeCurrent/DoneCurrent calls that are dependent on the settings (such as async gpu option). This also refactors out the need to use QWidget::fromWindowContainer as that caused issues with focus and input handling. Now we use a regular QWidget and just access the native windowHandle() directly. Another change is removing the debug tool setting in FrameMailbox. Instead of trying to block the frontend until a new frame is ready, the core will now take over presentation and draw directly to the window if the renderer detects that its hooked by NSight or RenderDoc Lastly, since it was in the way, I removed ScopeAcquireWindowContext and replaced it with a simple subclass in GraphicsContext that achieves the same result
2020-03-18vk_texture_cache: Silence misc warningsReinUsesLisp
2020-03-18vk_staging_buffer_pool: Silence unused constant warningReinUsesLisp
2020-03-18vk_rasterizer: Remove unused variableReinUsesLisp
2020-03-18vk_pipeline_cache: Remove unused variableReinUsesLisp
2020-03-18maxwell_to_vk: Sielence -Wswitch warningReinUsesLisp
2020-03-17Merge pull request #3510 from FernandoS27/dirty-writeMat M
DirtyFlags: relax need to set render_targets as dirty
2020-03-17Merge pull request #3518 from ReinUsesLisp/scissor-clearsMat M
vk_rasterizer: Implement scissor clears and layered clears
2020-03-17Merge pull request #3519 from ReinUsesLisp/int-formatsMat M
maxwell_to_vk: Implement RG32 and RGB32 integer vertex formats
2020-03-15Merge pull request #3515 from ReinUsesLisp/vertex-vk-assertRodrigo Locatti
vk_rasterizer: Fix vertex range assert
2020-03-15Merge pull request #3501 from ReinUsesLisp/rgba16-snormRodrigo Locatti
video_core: Implement RGBA16_SNORM
2020-03-15Merge pull request #3503 from makigumo/patch-2Rodrigo Locatti
maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32
2020-03-15maxwell_to_vk: Implement RG32 and RGB32 integer vertex formatsReinUsesLisp
2020-03-15vk_rasterizer: Implement layered clearsReinUsesLisp
2020-03-15vk_shader_decompiler: fix linux buildmakigumo
2020-03-15vk_rasterizer: Fix vertex range assertReinUsesLisp
End can be equal to start in CalculateVertexArraysSize. This is quite common when the vertex size is zero.
2020-03-15vk_rasterizer: Reimplement clears with vkCmdClearAttachmentsReinUsesLisp