summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_pipeline_cache.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vk_pipeline_cache: Avoid hashing and comparing dynamic state when possibleReinUsesLisp2020-06-271-0/+4
| | | | | | With extended dynamic states, some bytes don't have to be collected from the pipeline key, hence we can avoid hashing and comparing them on lookups.
* fixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_stateReinUsesLisp2020-06-271-2/+2
| | | | | | | This moves dynamic state present in VK_EXT_extended_dynamic_state to a separate structure in FixedPipelineState. This is structure is at the bottom allowing us to hash and memcmp only when the extension is not supported.
* vk_pipeline_cache: Use generic shader cacheReinUsesLisp2020-06-071-21/+12
| | | | Trivial port the generic shader cache to Vulkan.
* vulkan: Remove unnecessary includesLioncash2020-04-291-2/+0
| | | | | | | Reduces some header churn and reduces rebuilds when some header internals change. While we're at it we can also resolve a missing include in buffer_cache.
* Merge pull request #3784 from ReinUsesLisp/shader-memory-utilbunnei2020-04-281-4/+4
|\ | | | | shader/memory_util: Deduplicate code
| * shader/memory_util: Deduplicate codeReinUsesLisp2020-04-261-4/+4
| | | | | | | | | | | | | | | | Deduplicate code shared between vk_pipeline_cache and gl_shader_cache as well as shader decoder code. While we are at it, fix a bug in gl_shader_cache where compute shaders had an start offset of a stage shader.
* | vk_pipeline_cache: Unify pipeline cache keys into a single operationReinUsesLisp2020-04-231-27/+22
|/ | | | | This allows us to call Common::CityHash and std::memcmp only once for GraphicsPipelineCacheKey. While we are at it, do the same for compute.
* ShaderCache/PipelineCache: Cache null shaders.Fernando Sahmkow2020-04-221-0/+3
|
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-3/+3
|
* Shader/Pipeline Cache: Use VAddr instead of physical memory for addressing.Fernando Sahmkow2020-04-061-6/+1
|
* vk_rasterizer: Reimplement clears with vkCmdClearAttachmentsReinUsesLisp2020-03-151-3/+3
|
* vk_shader_decompiler: Use registry for specializationReinUsesLisp2020-03-131-0/+4
|
* video_core: Rename "const buffer locker" to "registry"ReinUsesLisp2020-03-091-2/+2
|
* vk_shader_decompiler: Implement indexed texturesReinUsesLisp2020-02-241-1/+1
| | | | | | | 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).
* vk_pipeline_cache: Initial implementationReinUsesLisp2020-01-071-1/+108
| | | | | Given a pipeline key, this cache returns a pipeline abstraction (for graphics or compute).
* vk_graphics_pipeline: Initial implementationReinUsesLisp2020-01-071-0/+32
| | | | | | | | | This abstractio represents the state of the 3D engine at a given draw. Instead of changing individual bits of the pipeline how it's done in APIs like D3D11, OpenGL and NVN; on Vulkan we are forced to put everything together into a single, immutable object. It takes advantage of the few dynamic states Vulkan offers.
* vk_compute_pipeline: Initial implementationReinUsesLisp2020-01-071-0/+39
| | | | This abstraction represents a Vulkan compute pipeline.
* vk_pipeline_cache: Add file and define descriptor update template fillerReinUsesLisp2020-01-071-0/+22
This function allows us to share code between compute and graphics pipelines compilation.