dawn-cmake/src/dawn/native/vulkan
shrekshao 4313dba514 Pipeline cache D3D12 backend impl
Add D3D12 pipeline caching impl: store cachedPSO blob in cached blob.
Record root signature ID3DBlob in cache key together with
D3D_SHADER_BYTECODE, D3D12_GRAPHICS_PIPELINE_STATE_DESC or
D3D12_COMPUTE_PIPELINE_STATE_DESC.

Shader caching is not added.

Add some pipeline caching negative tests.

Bug: dawn:549
Change-Id: Id1cb560b49f1cf495860e2e0bcf92d8d988c5379
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91180
Auto-Submit: Shrek Shao <shrekshao@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-06-02 15:16:20 +00:00
..
external_memory Remove stride in ExternalImageDescriptorDmaBuf 2022-06-02 00:34:30 +00:00
external_semaphore Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
AdapterVk.cpp dawn/native: Add support for feature "indirect-first-instance" 2022-06-01 06:14:07 +00:00
AdapterVk.h [chromium-style] Adding/moving constructors and destructors. 2022-05-09 22:22:18 +00:00
BackendVk.cpp Vulkan: Remove deprecated VK_MAKE_VERSION 2022-05-27 16:35:16 +00:00
BackendVk.h [chromium-style] Fixup a few chromium-style issues. 2022-05-09 16:26:44 +00:00
BindGroupLayoutVk.cpp Adds pipeline cache and implementation for Vulkan backend. 2022-05-03 00:33:33 +00:00
BindGroupLayoutVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
BindGroupVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
BindGroupVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
BufferVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
BufferVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
CacheKeyVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
CacheKeyVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
CommandBufferVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
CommandBufferVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
CommandRecordingContext.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
ComputePipelineVk.cpp Adds pipeline cache and implementation for Vulkan backend. 2022-05-03 00:33:33 +00:00
ComputePipelineVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
DescriptorSetAllocation.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
DescriptorSetAllocator.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
DescriptorSetAllocator.h [chromium-style] Fixup a few chromium-style issues. 2022-05-09 16:26:44 +00:00
DeviceVk.cpp Vulkan: Support feature chromium_experimental_dp4a 2022-05-27 00:38:55 +00:00
DeviceVk.h dawn: Add shader module validation for WGSL extension 2022-05-06 08:51:12 +00:00
ExternalHandle.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
FencedDeleter.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
FencedDeleter.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
Forward.h Adds pipeline cache and implementation for Vulkan backend. 2022-05-03 00:33:33 +00:00
NativeSwapChainImplVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
NativeSwapChainImplVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
PipelineCacheVk.cpp Pipeline cache D3D12 backend impl 2022-06-02 15:16:20 +00:00
PipelineCacheVk.h Pipeline cache D3D12 backend impl 2022-06-02 15:16:20 +00:00
PipelineLayoutVk.cpp Adds pipeline cache and implementation for Vulkan backend. 2022-05-03 00:33:33 +00:00
PipelineLayoutVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
QuerySetVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
QuerySetVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
QueueVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
QueueVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
RenderPassCache.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
RenderPassCache.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
RenderPipelineVk.cpp Record zero-attribute vertex buffer when creating render pipeline 2022-05-26 01:26:34 +00:00
RenderPipelineVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
ResourceHeapVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
ResourceHeapVk.h [chromium-style] Fixup a few chromium-style issues. 2022-05-09 16:26:44 +00:00
ResourceMemoryAllocatorVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
ResourceMemoryAllocatorVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
SamplerVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
SamplerVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
ShaderModuleVk.cpp Vk: Run SingleEntryPoint before BindingRemapper. 2022-05-10 03:33:34 +00:00
ShaderModuleVk.h dawn: Add shader module validation for WGSL extension 2022-05-06 08:51:12 +00:00
StagingBufferVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
StagingBufferVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
SwapChainVk.cpp Add support for SurfaceDescriptorFromWaylandSurface 2022-06-01 09:30:50 +00:00
SwapChainVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
TextureVk.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
TextureVk.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
UtilsVulkan.cpp Surface Vulkan validation messages in errors 2022-05-05 22:14:20 +00:00
UtilsVulkan.h Surface Vulkan validation messages in errors 2022-05-05 22:14:20 +00:00
VulkanBackend.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
VulkanError.cpp Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
VulkanError.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
VulkanExtensions.cpp Vulkan: Remove deprecated VK_MAKE_VERSION 2022-05-27 16:35:16 +00:00
VulkanExtensions.h Vulkan: Remove deprecated VK_MAKE_VERSION 2022-05-27 16:35:16 +00:00
VulkanFunctions.cpp Add support for SurfaceDescriptorFromWaylandSurface 2022-06-01 09:30:50 +00:00
VulkanFunctions.h Add support for SurfaceDescriptorFromWaylandSurface 2022-06-01 09:30:50 +00:00
VulkanInfo.cpp Vulkan: Remove deprecated VK_MAKE_VERSION 2022-05-27 16:35:16 +00:00
VulkanInfo.h Vulkan: Support feature chromium_experimental_dp4a 2022-05-27 00:38:55 +00:00