#ifndef __RENDERING_PIPELINE_H__ #define __RENDERING_PIPELINE_H__ #include const VkPipelineShaderStageCreateInfo svlk_vertexShaderTemplate = { VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL, 0, VK_SHADER_STAGE_VERTEX_BIT, NULL, // must be changed by user "main", NULL }; const VkPipelineShaderStageCreateInfo svlk_fragmentShaderTemplate = { VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL, 0, VK_SHADER_STAGE_FRAGMENT_BIT, NULL, // must be changed by user "main", NULL }; const VkPipelineMultisampleStateCreateInfo svlk_noMultisample = { VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, NULL, 0, VK_SAMPLE_COUNT_1_BIT, VK_FALSE, 1.0f, NULL, VK_FALSE, VK_FALSE }; const VkPipelineVertexInputStateCreateInfo svlk_noVertexData = { VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, NULL, 0, 0, NULL, 0, NULL }; const VkPipelineInputAssemblyStateCreateInfo svlk_inputAssemblyTemplate = { VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, NULL, 0, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, VK_FALSE }; const VkViewport svlk_viewportTemplate = { 0.0f, 0.0f, 0.0f, // width and height must be set by user 0.0f, // width and height must be set by user 0.0f, 1.0f }; const VkPipelineRasterizationStateCreateInfo svlk_rasterizationTemplate = { VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, NULL, 0, VK_FALSE, VK_FALSE, VK_POLYGON_MODE_FILL, VK_CULL_MODE_BACK_BIT, VK_FRONT_FACE_CLOCKWISE, VK_FALSE, 0.0f, 0.0f, 0.0f, 1.0f }; const VkPipelineColorBlendAttachmentState svlk_colorBlendTemplate = { VK_FALSE, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ZERO, VK_BLEND_OP_ADD, VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_ZERO, VK_BLEND_OP_ADD, VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT }; const VkPipelineColorBlendStateCreateInfo svlk_colorBlendCreateInfoTemplate = { VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, NULL, 0, VK_FALSE, VK_LOGIC_OP_COPY, 0, // must be set by user NULL, // must be set by user 0.f, 0.f, 0.f, 0.f }; const VkPipelineLayoutCreateInfo svlk_pipelineLayoutCreateInfoTemplate = { VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, NULL, 0, 0, NULL, 0, NULL }; #endif