summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/StateTracker.cpp
AgeCommit message (Collapse)Author
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2025-10-18VideoBackends:Vulkan: Prevent hazards when restarting render passesTellowKrinkle
2025-08-17VideoBackends: allow custom pixel uniforms to be passed to the vertex shader ↵iwubcode
as well
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2023-12-15VideoBackends / VideoCommon: add type enum to dictate whether a texture is a ↵iwubcode
2D texture, a texture array, or a cube map; support 2D texture type across backends Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-10-06VideoCommon: avoid Vulkan validation errors when custom shader ubo isn't set upiwubcode
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-06-28VideoBackends: support multiple compute images for some backends (D3D, OGL, ↵iwubcode
Vulkan)
2023-02-10VideoCommon: add constant value to set the allowed maximum number of pixel ↵iwubcode
samplers
2023-01-31Implement AbstractGfx for VulkanScott Mansell
2022-10-22VideoBackends:Vulkan: Add support for vertex shader point and line expansionTellowKrinkle
2022-10-16VideoBackends:Vulkan: Allocate descriptor pools as neededRobin Kertels
2022-09-19VideoBackends:Vulkan: Make dynamic vertex loader optionalTellowKrinkle
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19VideoBackends:Vulkan: Dynamic vertex loader supportTellowKrinkle
2022-09-19VideoCommon: Add separate pipeline usage for UberShadersTellowKrinkle
2021-08-30VideoBackends / VideoCommon: allow the ability to set debug names for ↵iwubcode
shaders / textures. These names are visible in applications like RenderDoc
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-01-27normalize common filenames in VideoBackends/VulkanShawn Hoffman
2020-11-20Vulkan: fix validation error in bSupportsGeometryShaders=false caseJonathan Marek
In CreateDescriptorSetLayouts(), one less dynamic binding is created when bSupportsGeometryShaders=false. Reduce the dynamicOffsetCount argument by one in that case. Avoids this validation error: Attempting to bind 3 descriptorSets with 2 dynamic descriptors, but dynamicOffsetCount is 3. It should exactly match the number of dynamic descriptors. The Vulkan spec states: dynamicOffsetCount must be equal to the total number of dynamic descriptors in pDescriptorSets Signed-off-by: Jonathan Marek <jonathan@marek.ca> [Applied clang-format] Signed-off-by: Léo Lam <leo@leolam.fr>
2020-11-09Vulkan: Migrate logging over to fmtLioncash
Migrates the vulkan backend over to the fmt-capable logger.
2019-03-29Vulkan: Fix validation layer error for unbound texture layoutsStenzek
2019-02-19Move most backend functionality to VideoCommonStenzek
2019-01-25Vulkan: Don't bind last descriptor set if bounding box is unsupportedStenzek
Fixes crash on a4xx/Vulkan.
2018-12-04Use main buffers for utility drawsStenzek
2018-11-07Vulkan: Submit fewer command buffers in deferred EFB copies modeStenzek
2018-03-14Assert: Uppercase assertion macrosLioncash
Macros should be all upper-cased. This is also kind of a wart that's been sticking out for quite a while now (we avoid prefixing underscores).
2018-03-10Move shader caches to VideoCommonStenzek
2018-03-02VideoCommon: Add support for Abstract FramebuffersStenzek
2018-02-22VideoBackends: Add AbstractShader and AbstractPipeline classesStenzek
2017-09-11Renderer: Move cull mode to a rasterization state objectStenzek
Also moves logic for primitive handling to VideoCommon.
2017-09-11Renderer: Move depth state to VideoCommon and seperate from bpmemStenzek
2017-09-05VideoBackends: Clear uid bits that are unused for the current backendStenzek
Currently, this is only the logic op bit, but this will be extended to the framebuffer fetch/blend modes. In the future, when/if we move to VideoCommon pipelines, this state will be part of the pipeline UID anyway, and we can mask it out in the backend by using a two-level map, so the shaders/programs are shared.
2017-08-23Fix vulkan crash on drivers without atomic load/store supportJonathan Hamilton
This would not allocate a SSBO buffer, but still try to update the descriptor said with a NULL buffer. Which naturally crashed.
2017-07-31VideoConfig: Drop force vertex/pixel ubershader settingsStenzek
This was mainly included for debugging, but could end up being confusing for users, as well as polluting the GL program cache with a mix of uber and specialized shaders if the option was changed.
2017-07-30Ubershaders: Support per-pixel lightingStenzek
2017-07-30Vulkan: Multithreaded creation of UID pipeline cachesStenzek
Should give a decent speedup to boot time.
2017-07-30Vulkan: Uber shader supportStenzek
2017-07-30Vulkan: Move shader/pipeline-related methods to ShaderCacheStenzek
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-07-20VideoCommon: Move shader cache filename generation to commonStenzek
2017-07-20Vulkan: Don't save/load pipeline UID cache when shader cache is disabledStenzek
2017-07-20Vulkan: Reload pipeline cache when relevant host config changesStenzek
2017-04-18Vulkan: Use BlendingState from VideoCommonStenzek
Remove the internal BlendState union. Also fixes Kirby's Return to Dreamland shadows.
2017-01-04VideoCommon: Make dst_alpha state implicit.degasus
2016-12-19Vulkan: Fix crash where a potentially deleted buffer is referencedStenzek
This happened when the geometry shader was disabled, and the uniform buffer was grown to a larger size. The update would be skipped, leaving the old buffer to be included in the descriptor set.
2016-12-06Common: Add alignment headerLéo Lam
Gets rid of duplicated alignment code.
2016-12-04Vulkan: Fix incorrect logic in readback preemptionStenzek
This could have been causing a large number of command buffer submissions per frame, depending on when the readbacks occured.
2016-12-04Vulkan: Use an enumeration to index pipeline layoutsStenzek
2016-12-04Vulkan: Differentiate between descriptor set layouts and bind pointsStenzek
This also moves the pipeline and descriptor set layouts used for texture conversion (texel buffers) to ObjectCache, and shares a binding location with the SSBO set.
2016-12-02Vulkan: Fix assertion triggering when geometry shaders are unsupportedStenzek
Happened when loading the pipeline UID cache.
2016-11-30Vulkan: Allow re-use of uniform buffers when doing per-stage uploadsStenzek
This is safe now because we invalidate the pointers after submitting a command buffer.