8 case PointList:
return vk::PrimitiveTopology::ePointList;
9 case LineList:
return vk::PrimitiveTopology::eLineList;
10 case TriangleStrip:
return vk::PrimitiveTopology::eTriangleStrip;
13 return vk::PrimitiveTopology::eTriangleList;
21 return vk::PolygonMode::ePoint;
31 return vk::CullModeFlagBits::eBack;
40 return vk::FrontFace::eClockwise;
47 case Zero:
return vk::BlendFactor::eZero;
48 case One:
return vk::BlendFactor::eOne;
49 case SrcColor:
return vk::BlendFactor::eSrcColor;
50 case OneMinusSrcColor:
return vk::BlendFactor::eOneMinusSrcColor;
51 case DstColor:
return vk::BlendFactor::eDstColor;
52 case OneMinusDstColor:
return vk::BlendFactor::eOneMinusDstColor;
53 case SrcAlpha:
return vk::BlendFactor::eSrcAlpha;
54 case OneMinusSrcAlpha:
return vk::BlendFactor::eOneMinusSrcAlpha;
55 case DstAlpha:
return vk::BlendFactor::eDstAlpha;
56 case OneMinusDstAlpha:
58 return vk::BlendFactor::eOneMinusDstAlpha;
65 case Add:
return vk::BlendOp::eAdd;
66 case Subtract:
return vk::BlendOp::eSubtract;
69 return vk::BlendOp::eReverseSubtract;
78 vk::raii::PipelineCache
mCache{
nullptr};
92 vk::StridedDeviceAddressRegionKHR
raygen{};
93 vk::StridedDeviceAddressRegionKHR
miss{};
94 vk::StridedDeviceAddressRegionKHR
hit{};
Definition PipelineState.hpp:43
Definition PipelineState.hpp:60
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:85
Definition Device.hpp:122
Definition PipelineState.hpp:75
RHIPipelineStateCacheImportStatus GetImportStatus() const override
Definition PipelineState.hpp:85
void DebugSetObjectName(const char *name) override
Definition PipelineState.cpp:147
size_t WriteSerializedData(Span< unsigned char > dstBuffer) const override
Definition PipelineState.cpp:123
size_t GetSerializedDataSize() const override
Definition PipelineState.cpp:116
const VulkanDevice & mDevice
Definition PipelineState.hpp:76
RHIPipelineStateCacheImportStatus mImportStatus
Definition PipelineState.hpp:79
auto const & GetVkPipelineCache() const
Definition PipelineState.hpp:83
vk::raii::PipelineCache mCache
Definition PipelineState.hpp:78
Definition PipelineState.hpp:97
auto const & GetVkPipelineLayout() const
Definition PipelineState.hpp:113
vk::raii::Pipeline mPipeline
Definition PipelineState.hpp:100
VulkanDevice & mDevice
Definition PipelineState.hpp:98
void InitializeCompute()
Definition PipelineState.cpp:338
vk::raii::PipelineLayout mPipelineLayout
Definition PipelineState.hpp:101
void InitializePipelineLayout()
Definition PipelineState.cpp:155
auto const & GetVkPipeline() const
Definition PipelineState.hpp:112
VulkanPipelineRayTracingSBT mSBT
Definition PipelineState.hpp:108
RHIDeviceScopedHandle< RHIBuffer > mSBTBuffer
Definition PipelineState.hpp:107
VulkanPipelineRayTracingSBT const & GetVkSBT() const
Definition PipelineState.hpp:114
void DebugSetObjectName(const char *name) override
Definition PipelineState.cpp:593
void InitializeRayTracing()
Definition PipelineState.cpp:376
void InitializeGraphics()
Definition PipelineState.cpp:180
std::span< T > Span
Alias for std::span
Definition Container.hpp:62
Low-level Rendering Hardware Interface (RHI) abstractions.
Definition Application.hpp:3
vk::PolygonMode GetVulkanPolygonModeFromDesc(RHIPipelineState::PipelineStateDesc::Rasterizer::FillMode mode)
Definition PipelineState.hpp:16
vk::CullModeFlags GetVulkanCullModeFromDesc(RHIPipelineState::PipelineStateDesc::Rasterizer::CullMode mode)
Definition PipelineState.hpp:25
vk::PrimitiveTopology GetVulkanPrimitiveTopologyFromDesc(RHIPipelineState::PipelineStateDesc::Topology topology)
Definition PipelineState.hpp:5
RHIPipelineStateCacheImportStatus
Definition PipelineState.hpp:23
vk::FrontFace GetVulkanFrontFaceFromDesc(RHIPipelineState::PipelineStateDesc::Rasterizer::FrontFace face)
Definition PipelineState.hpp:35
vk::BlendOp GetVulkanBlendOpFromDesc(RHIPipelineState::PipelineStateDesc::Attachment::Blending::BlendOp op)
Definition PipelineState.hpp:62
vk::BlendFactor GetVulkanBlendFactorFromDesc(RHIPipelineState::PipelineStateDesc::Attachment::Blending::BlendFactor factor)
Definition PipelineState.hpp:44
BlendFactor
Definition PipelineState.hpp:136
BlendOp
Definition PipelineState.hpp:148
CullMode
Definition PipelineState.hpp:98
@ CullNone
Definition PipelineState.hpp:99
@ CullFront
Definition PipelineState.hpp:100
FillMode
Definition PipelineState.hpp:94
@ FillWireframe
Definition PipelineState.hpp:95
enum Foundation::RHI::RHIPipelineState::PipelineStateDesc::Rasterizer::FrontFace FFCounterClockwise
enum Foundation::RHI::RHIPipelineState::PipelineStateDesc::Rasterizer::FillMode FillSolid
enum Foundation::RHI::RHIPipelineState::PipelineStateDesc::Rasterizer::CullMode CullBack
FrontFace
Definition PipelineState.hpp:103
@ FFClockwise
Definition PipelineState.hpp:105
Definition PipelineState.hpp:64
Topology
Definition PipelineState.hpp:77
Definition PipelineState.hpp:91
vk::StridedDeviceAddressRegionKHR callable
Definition PipelineState.hpp:95
vk::StridedDeviceAddressRegionKHR miss
Definition PipelineState.hpp:93
vk::StridedDeviceAddressRegionKHR hit
Definition PipelineState.hpp:94
vk::StridedDeviceAddressRegionKHR raygen
Definition PipelineState.hpp:92