aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
AgeCommit message (Collapse)Author
2020-03-08vk_reasterizer: fix mistype on SetupGraphicsImagesNguyen Dac Nam
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
2020-03-07Merge pull request #3481 from ReinUsesLisp/abgr5-storagebunnei
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-06maxwell_to_vk: Remove Storage capability for A1B5G5R5UReinUsesLisp
2020-03-05Merge pull request #3463 from ReinUsesLisp/vk-toctoubunnei
vk_swapchain: Silence TOCTOU race condition
2020-03-05Merge pull request #3451 from ReinUsesLisp/indexed-texturesbunnei
vk_shader_decompiler: Implement indexed textures
2020-03-03Merge pull request #3455 from ReinUsesLisp/attr-scaledbunnei
video_core: Implement more scaled attribute formats
2020-02-26vk_swapchain: Silence TOCTOU race conditionReinUsesLisp
It's possible that the window is resized from the moment we ask for its size to the moment a swapchain is created, causing validation issues. To workaround this Vulkan issue request the capabilities again just before creating the swapchain, making the race condition less likely.
2020-02-25frontend: qt: bootmanager: Vulkan: Restore support for VK backend.bunnei
2020-02-25Merge pull request #3417 from ReinUsesLisp/r32ibunnei
texture: Implement R32I
2020-02-24Merge pull request #3425 from ReinUsesLisp/layered-framebufferbunnei
texture_cache: Implement layered framebuffer attachments
2020-02-24vk_shader_decompiler: Implement indexed texturesReinUsesLisp
Implement accessing textures through an index. It uses the same interface as OpenGL, the main difference is that Vulkan bindings are forced to be arrayed (the binding index doesn't change for stacked textures in SPIR-V).
2020-02-24video_core: Implement more scaler attribute formatsReinUsesLisp
While changing this, fix assert in vk_shader_decompiler. We now know scaled formats are expected to be float in shaders attributes.
2020-02-22Merge pull request #3424 from ReinUsesLisp/spirv-layerbunnei
vk_shader_decompiler: Implement Layer output attribute
2020-02-21Merge pull request #3433 from namkazt/patch-1Rodrigo Locatti
renderer_vulkan: Add the rest of case for TryConvertBorderColor
2020-02-21Merge pull request #3434 from namkazt/patch-2Rodrigo Locatti
vk_shader: Implement ImageLoad
2020-02-21Merge pull request #3435 from namkazt/patch-3Rodrigo Locatti
vulkan: add DXT23_SRGB
2020-02-21vk_device: remove left over from other branchNguyen Dac Nam
2020-02-20clang-formatNguyen Dac Nam
2020-02-20shader_decompiler: only add StorageImageReadWithoutFormat when availableNguyen Dac Nam
2020-02-19Merge pull request #3414 from ReinUsesLisp/maxwell-3d-drawbunnei
maxwell_3d: Unify draw methods
2020-02-19shader_decompiler: add check in case of device not support ↵Nguyen Dac Nam
ShaderStorageImageReadWithoutFormat
2020-02-19vk_device: setup shaderStorageImageReadWithoutFormatNguyen Dac Nam
2020-02-19vk_device: add check for shaderStorageImageReadWithoutFormatNguyen Dac Nam
2020-02-18Merge pull request #3410 from ReinUsesLisp/vk-draw-indexbunnei
vk_shader_decompiler: Fix vertex id and instance id
2020-02-19vk_shader: add Capability StorageImageReadWithoutFormatNguyen Dac Nam
2020-02-19vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)Nguyen Dac Nam
Please enter the commit message for your changes. Lines starting
2020-02-19fixups mistake auto commit.Nguyen Dac Nam
2020-02-19Update code structureNguyen Dac Nam
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-02-18add vertex UnsignedInt size RGBANguyen Dac Nam
2020-02-18add eBc2SrgbBlock to formatsNguyen Dac Nam
2020-02-18vulkan: add DXT23_SRGBNguyen Dac Nam
2020-02-18renderer_vulkan: Add the rest of case for TryConvertBorderColorNguyen Dac Nam
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
2020-02-16vk_shader_decompiler: Implement Layer output attributeReinUsesLisp
SPIR-V's Layer is GLSL's gl_Layer. It lets the application choose from a shader stage (vertex, tessellation or geometry) which framebuffer layer write the output fragments to.
2020-02-15texture: Implement R32IReinUsesLisp
2020-02-14maxwell_3d: Unify draw methodsReinUsesLisp
Pass instanced state of a draw invocation as an argument instead of having two separate virtual methods.
2020-02-14vk_query_cache: Implement generic query cache on VulkanReinUsesLisp
2020-02-13vk_shader_decompiler: Fix vertex id and instance idReinUsesLisp
Vulkan's VertexIndex and InstanceIndex don't match with hardware. This is because Nvidia implements gl_VertexID and gl_InstanceID. The math that relates these is: gl_VertexIndex = gl_BaseVertex + gl_VertexID gl_InstanceIndex = gl_InstanceIndex + gl_InstanceID To emulate it using what Vulkan's SPIR-V offers (the *Index variants) this commit substracts gl_Base* from gl_*Index to obtain the OpenGL and hardware's equivalent.
2020-02-04vk_rasterizer: Use noexcept variants of std::bitsetReinUsesLisp
Removes bounds checking from "texceptions" instances.
2020-02-03Merge pull request #3337 from ReinUsesLisp/vulkan-stagedbunnei
yuzu: Implement Vulkan frontend
2020-02-01Merge pull request #3282 from FernandoS27/indexed-samplersbunnei
Partially implement Indexed samplers in general and specific code in GLSL
2020-01-29yuzu: Implement Vulkan frontendReinUsesLisp
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing bits on Vulkan initialization.
2020-01-29settings: Add settings for graphics backendReinUsesLisp
2020-01-26shader/memory: Implement ATOM.ADDReinUsesLisp
ATOM operates atomically on global memory. For now only add ATOM.ADD since that's what was found in commercial games. This asserts for ATOM.ADD.S32 (handling the others as unimplemented), although ATOM.ADD.U32 shouldn't be any different. This change forces us to change the default type on SPIR-V storage buffers from float to uint. We could also alias the buffers, but it's simpler for now to just use uint. While we are at it, abstract the code to avoid repetition.
2020-01-25Shader_IR: Address feedback.Fernando Sahmkow
2020-01-24Shader_IR: Correct Custom Variable assignment.Fernando Sahmkow
2020-01-24Shader_IR: Implement Injectable Custom Variables to the IR.Fernando Sahmkow
2020-01-24vk_shader_decompiler: Disable default values on unwritten render targetsReinUsesLisp
Some games like The Legend of Zelda: Breath of the Wild assign render targets without writing them from the fragment shader. This generates Vulkan validation errors, so silence these I previously introduced a commit to set "vec4(0, 0, 0, 1)" for these attachments. The problem is that this is not what games expect. This commit reverts that change.
2020-01-20Merge pull request #3330 from ReinUsesLisp/vk-blit-screenFernando Sahmkow
vk_blit_screen: Initial implementation
2020-01-20vk_blit_screen: Address feedbackReinUsesLisp