| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Trivial port the generic shader cache to Vulkan.
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
shader/memory_util: Deduplicate code
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
| |
This allows us to call Common::CityHash and std::memcmp only once for
GraphicsPipelineCacheKey. While we are at it, do the same for compute.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
Given a pipeline key, this cache returns a pipeline abstraction (for
graphics or compute).
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This abstraction represents a Vulkan compute pipeline.
|
|
This function allows us to share code between compute and graphics
pipelines compilation.
|