svulc/include/renderingpipeline.h

117 lines
No EOL
2.5 KiB
C

#ifndef __RENDERING_PIPELINE_H__
#define __RENDERING_PIPELINE_H__
#include <vulkan/vulkan_core.h>
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