#include "dawn/native/vulkan/RenderPipelineVk.h"
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "dawn/native/CreatePipelineAsyncEvent.h"
#include "dawn/native/vulkan/DeviceVk.h"
#include "dawn/native/vulkan/FencedDeleter.h"
#include "dawn/native/vulkan/PipelineCacheVk.h"
#include "dawn/native/vulkan/PipelineLayoutVk.h"
#include "dawn/native/vulkan/RenderPassCache.h"
#include "dawn/native/vulkan/ShaderModuleVk.h"
#include "dawn/native/vulkan/TextureVk.h"
#include "dawn/native/vulkan/UtilsVulkan.h"
#include "dawn/native/vulkan/VulkanError.h"
#include "dawn/platform/metrics/HistogramMacros.h"
namespace dawn::native::vulkan {
namespace {
VkVertexInputRate VulkanInputRate(wgpu::VertexStepMode stepMode) { … }
VkFormat VulkanVertexFormat(wgpu::VertexFormat format) { … }
VkPrimitiveTopology VulkanPrimitiveTopology(wgpu::PrimitiveTopology topology) { … }
bool ShouldEnablePrimitiveRestart(wgpu::PrimitiveTopology topology) { … }
VkFrontFace VulkanFrontFace(wgpu::FrontFace face) { … }
VkCullModeFlagBits VulkanCullMode(wgpu::CullMode mode) { … }
VkBlendFactor VulkanBlendFactor(wgpu::BlendFactor factor) { … }
VkBlendOp VulkanBlendOperation(wgpu::BlendOperation operation) { … }
VkColorComponentFlags VulkanColorWriteMask(wgpu::ColorWriteMask mask,
bool isDeclaredInFragmentShader) { … }
VkPipelineColorBlendAttachmentState ComputeColorDesc(const ColorTargetState* state,
bool isDeclaredInFragmentShader) { … }
VkStencilOp VulkanStencilOp(wgpu::StencilOperation op) { … }
}
Ref<RenderPipeline> RenderPipeline::CreateUninitialized(
Device* device,
const UnpackedPtr<RenderPipelineDescriptor>& descriptor) { … }
MaybeError RenderPipeline::InitializeImpl() { … }
void RenderPipeline::SetLabelImpl() { … }
VkPipelineVertexInputStateCreateInfo RenderPipeline::ComputeVertexInputDesc(
PipelineVertexInputStateCreateInfoTemporaryAllocations* tempAllocations) { … }
VkPipelineDepthStencilStateCreateInfo RenderPipeline::ComputeDepthStencilDesc() { … }
RenderPipeline::~RenderPipeline() = default;
void RenderPipeline::DestroyImpl() { … }
VkPipeline RenderPipeline::GetHandle() const { … }
}