|
Toast Engine
|
Public Attributes | |
| PipelineType | pipeline_type = PipelineType::graphics |
| std::string | debug_name |
| vk::Format | color_format = vk::Format::eUndefined |
| std::optional< vk::Format > | depth_format |
| vk::Extent2D | extent |
| std::vector< vk::Format > | extra_color_formats |
| bool | write_extra_color = false |
| bool | write_color_alpha = false |
| color_format keeps its destination alpha unless set | |
| bool | depth_only = false |
| bool | depth_fragment = false |
| With depth_only keeps the fragment stage for shaders that write SV_Depth. | |
| uint32_t | view_mask = 0 |
| Must equal every RenderingInfo viewMask. 0 is not multiview and leaves SV_ViewID undefined. | |
| std::vector< std::byte > | shader_spirv |
| std::string | vertex_entry = "vertexMain" |
| std::string | mesh_entry |
| Set for a task and mesh pipeline which has no vertex stage or vertex input. | |
| std::string | task_entry |
| Only with mesh_entry. | |
| std::vector< std::byte > | task_spirv |
| std::string | fragment_entry = "fragmentMain" |
| std::string | compute_entry = "computeMain" |
| vk::PipelineLayout | pipeline_layout = nullptr |
| std::vector< vk::VertexInputBindingDescription > | vertex_bindings |
| std::vector< vk::VertexInputAttributeDescription > | vertex_attributes |
| vk::PrimitiveTopology | topology = vk::PrimitiveTopology::eTriangleList |
| vk::CullModeFlags | cull_mode = vk::CullModeFlagBits::eBack |
| vk::FrontFace | front_face = vk::FrontFace::eCounterClockwise |
| bool | depth_test = true |
| bool | depth_write = true |
| vk::CompareOp | depth_compare = depth::k_closer |
| Scene convention. Shadow maps set eLess and far plane draws need depth::k_closer_or_equal. | |
| float | depth_bias_constant = 0.0f |
| float | depth_bias_slope = 0.0f |
| bool | blend_enable = false |
| BlendPreset | blend_preset = BlendPreset::none |
| std::vector<std::byte> renderer::VulkanPipeline::Config::task_spirv |
Task stage module since Slang gives task and mesh entry points of one module separate payload variables that NVIDIA drivers mishandle (shader-slang/slang#10123)