VkPipelineInputAssemblyStateCreateInfo.
VkPipelineViewportStateCreateInfo.
VkPipelineRasterizationStateCreateInfo.
VkPipelineMultisampleStateCreateInfo.
VkPipelineColorBlendStateCreateInfo.
VkPipelineDepthStencilStateCreateInfo.
VkDynamicState.
VkVertexInputBindingDescription.
VkVertexInputAttributeDescription.
VkPipelineInputAssemblyStateCreateInfo.
VkPipelineViewportStateCreateInfo.
VkPipelineRasterizationStateCreateInfo.
VkPipelineMultisampleStateCreateInfo.
VkPipelineColorBlendStateCreateInfo.
VkPipelineDepthStencilStateCreateInfo.
VkDynamicState.
VkVertexInputBindingDescription.
VkVertexInputAttributeDescription.
117 {
119
123 configInfo.inputAssemblyInfo = VkPipelineInputAssemblyStateCreateInfo{};
124 configInfo.inputAssemblyInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
125 configInfo.inputAssemblyInfo.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
126 configInfo.inputAssemblyInfo.primitiveRestartEnable = VK_FALSE;
127
131 configInfo.viewportInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
132 configInfo.viewportInfo.viewportCount = 1;
133 configInfo.viewportInfo.pViewports = &configInfo.viewport;
134 configInfo.viewportInfo.scissorCount = 1;
135 configInfo.viewportInfo.pScissors = &configInfo.scissor;
136
140 configInfo.rasterizationInfo = VkPipelineRasterizationStateCreateInfo{};
141 configInfo.rasterizationInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
142 configInfo.rasterizationInfo.depthClampEnable = VK_FALSE;
143 configInfo.rasterizationInfo.rasterizerDiscardEnable = VK_FALSE;
144 configInfo.rasterizationInfo.polygonMode = VK_POLYGON_MODE_FILL;
145 configInfo.rasterizationInfo.lineWidth = 1.0f;
146 configInfo.rasterizationInfo.cullMode = VK_CULL_MODE_BACK_BIT;
147 configInfo.rasterizationInfo.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE;
148 configInfo.rasterizationInfo.depthBiasEnable = VK_FALSE;
149 configInfo.rasterizationInfo.depthBiasConstantFactor = 0.0f;
150 configInfo.rasterizationInfo.depthBiasClamp = 0.0f;
151 configInfo.rasterizationInfo.depthBiasSlopeFactor = 0.0f;
152
156 configInfo.multisampleInfo = VkPipelineMultisampleStateCreateInfo{};
157 configInfo.multisampleInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
158 configInfo.multisampleInfo.sampleShadingEnable = VK_FALSE;
159 configInfo.multisampleInfo.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT;
160 configInfo.multisampleInfo.minSampleShading = 1.0f;
161 configInfo.multisampleInfo.pSampleMask = nullptr;
162 configInfo.multisampleInfo.alphaToCoverageEnable = VK_FALSE;
163 configInfo.multisampleInfo.alphaToOneEnable = VK_FALSE;
164
168 configInfo.colorBlendInfo = VkPipelineColorBlendStateCreateInfo{};
169 configInfo.colorBlendInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
170 configInfo.colorBlendInfo.logicOpEnable = VK_FALSE;
171 configInfo.colorBlendInfo.logicOp = VK_LOGIC_OP_COPY;
172
173 configInfo.colorBlendInfo.attachmentCount = 0;
174 configInfo.colorBlendInfo.pAttachments = nullptr;
175 configInfo.colorBlendInfo.blendConstants[0] = 0.0f;
176 configInfo.colorBlendInfo.blendConstants[1] = 0.0f;
177 configInfo.colorBlendInfo.blendConstants[2] = 0.0f;
178 configInfo.colorBlendInfo.blendConstants[3] = 0.0f;
179
183 configInfo.depthStencilInfo = VkPipelineDepthStencilStateCreateInfo{};
184 configInfo.depthStencilInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
185 configInfo.depthStencilInfo.depthTestEnable = VK_TRUE;
186 configInfo.depthStencilInfo.depthWriteEnable = VK_TRUE;
187 configInfo.depthStencilInfo.depthCompareOp = VK_COMPARE_OP_GREATER_OR_EQUAL;
188 configInfo.depthStencilInfo.depthBoundsTestEnable = VK_FALSE;
189 configInfo.depthStencilInfo.minDepthBounds = 0.0f;
190 configInfo.depthStencilInfo.maxDepthBounds = 1.0f;
191 configInfo.depthStencilInfo.stencilTestEnable = VK_FALSE;
192 configInfo.depthStencilInfo.front = {};
193 configInfo.depthStencilInfo.back = {};
194
198 configInfo.dynamicStateEnables = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR };
199 configInfo.dynamicStateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
200 configInfo.dynamicStateInfo.pDynamicStates = configInfo.dynamicStateEnables.data();
201 configInfo.dynamicStateInfo.dynamicStateCount = static_cast<uint32_t>(configInfo.dynamicStateEnables.size());
202 configInfo.dynamicStateInfo.flags = 0;
203
208
213 }
#define SPICES_PROFILE_ZONE