Lines Matching defs:const
55 void checkPipelineConstructionRequirements (const InstanceInterface& vki,
63 PipelineCompileRequiredError (const std::string& msg)
83 ConstPointerWrapper(const T* p0) : ptr(p0) {}
84 const T* ptr;
109 PipelineLayoutWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, const VkDescriptorSetLayout descriptorSetLayout = DE_NULL, const VkPushConstantRange* pushConstantRange = DE_NULL);
110 PipelineLayoutWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, const std::vector<vk::Move<VkDescriptorSetLayout>>& descriptorSetLayout);
111 PipelineLayoutWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, deUint32 setLayoutCount, const VkDescriptorSetLayout* descriptorSetLayout);
112 PipelineLayoutWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* = DE_NULL);
113 PipelineLayoutWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, const VkDevice device, const deUint32 setLayoutCount, const VkDescriptorSetLayout* descriptorSetLayout, const deUint32 pushConstantRangeCount, const VkPushConstantRange* pPushConstantRanges, const VkPipelineLayoutCreateFlags flags = (VkPipelineLayoutCreateFlags)0u);
114 PipelineLayoutWrapper (const PipelineLayoutWrapper& rhs) = delete;
117 const VkPipelineLayout operator* (void) const { return *m_pipelineLayout; }
118 const VkPipelineLayout get (void) const { return *m_pipelineLayout; }
122 deUint32 getSetLayoutCount (void) const { return m_setLayoutCount; }
123 const VkDescriptorSetLayout* getSetLayouts (void) const { return m_setLayouts.data(); }
125 deUint32 getPushConstantRangeCount (void) const { return m_pushConstantRangeCount; }
126 const VkPushConstantRange* getPushConstantRanges (void) const { return m_pushConstantRanges.data(); }
128 void bindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const;
131 const DeviceInterface* m_vk;
145 RenderPassWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo);
146 RenderPassWrapper (PipelineConstructionType pipelineConstructionType, const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo);
148 const DeviceInterface& vk,
149 const VkDevice device,
150 const VkFormat colorFormat = VK_FORMAT_UNDEFINED,
151 const VkFormat depthStencilFormat = VK_FORMAT_UNDEFINED,
152 const VkAttachmentLoadOp loadOperation = VK_ATTACHMENT_LOAD_OP_CLEAR,
153 const VkImageLayout finalLayoutColor = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
154 const VkImageLayout finalLayoutDepthStencil = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
155 const VkImageLayout subpassLayoutColor = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
156 const VkImageLayout subpassLayoutDepthStencil = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
157 const VkAllocationCallbacks* const allocationCallbacks = DE_NULL);
164 const VkRenderPass operator* (void) const { return *m_renderPass; }
165 const VkRenderPass get (void) const { return *m_renderPass; }
166 const VkFramebuffer getFramebuffer (void) const { return m_framebuffer ? *m_framebuffer : VK_NULL_HANDLE; }
168 void begin (const DeviceInterface& vk,
169 const VkCommandBuffer commandBuffer,
170 const VkRect2D& renderArea,
171 const deUint32 clearValueCount,
172 const VkClearValue* clearValues,
173 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE,
174 const void* pNext = DE_NULL) const;
175 void begin (const DeviceInterface& vk,
176 const VkCommandBuffer commandBuffer,
177 const VkRect2D& renderArea,
178 const VkClearValue& clearValue,
179 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE) const;
180 void begin (const DeviceInterface& vk,
181 const VkCommandBuffer commandBuffer,
182 const VkRect2D& renderArea,
183 const tcu::Vec4& clearColor,
184 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE) const;
185 void begin (const DeviceInterface& vk,
186 const VkCommandBuffer commandBuffer,
187 const VkRect2D& renderArea,
188 const tcu::Vec4& clearColor,
189 const float clearDepth,
190 const deUint32 clearStencil,
191 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE) const;
192 void begin (const DeviceInterface& vk,
193 const VkCommandBuffer commandBuffer,
194 const VkRect2D& renderArea,
195 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE) const;
196 void begin (const DeviceInterface& vk,
197 const VkCommandBuffer commandBuffer,
198 const VkRect2D& renderArea,
199 const tcu::UVec4& clearColor,
200 const VkSubpassContents contents = VK_SUBPASS_CONTENTS_INLINE) const;
202 void end (const DeviceInterface& vk, const VkCommandBuffer commandBuffer) const;
203 void nextSubpass (const DeviceInterface& vk, const VkCommandBuffer commandBuffer, const VkSubpassContents contents) const;
205 void createFramebuffer (const DeviceInterface& vk, const VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const std::vector<vk::VkImage>& images);
206 void createFramebuffer (const DeviceInterface& vk, const VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, vk::VkImage colorImage, vk::VkImage depthStencilImage = VK_NULL_HANDLE);
207 void createFramebuffer (const DeviceInterface& vk, const VkDevice device, const VkImage colorImage, const VkImageView colorAttachment, const deUint32 width, const deUint32 height, const deUint32 layers = 1u);
208 void createFramebuffer (const DeviceInterface& vk, const VkDevice device, const deUint32 attachmentCount, const VkImage* imagesArray, const VkImageView* attachmentsArray, const deUint32 width, const deUint32 height, const deUint32 layers = 1u);
211 void beginRendering (const DeviceInterface& vk, const VkCommandBuffer commandBuffer) const;
235 SubpassDependency (const VkSubpassDependency& dependency);
236 SubpassDependency (const VkSubpassDependency2& dependency);
260 void clearAttachments (const DeviceInterface& vk, const VkCommandBuffer commandBuffer) const;
261 void updateLayout (VkImage updatedImage, VkImageLayout newLayout) const;
262 void transitionLayouts (const DeviceInterface& vk, const VkCommandBuffer commandBuffer, const Subpass& subpass, bool renderPassBegin) const;
263 void insertDependencies (const DeviceInterface& vk, const VkCommandBuffer commandBuffer, uint32_t subpassIdx) const;
266 void fillInheritanceRenderingInfo (deUint32 subpassIndex, std::vector<vk::VkFormat>* colorFormats, vk::VkCommandBufferInheritanceRenderingInfo* inheritanceRenderingInfo) const;
277 ShaderWrapper (const DeviceInterface& vk,
279 const vk::ProgramBinary& binary,
280 const vk::VkShaderModuleCreateFlags createFlags = 0u);
282 ShaderWrapper (const ShaderWrapper& rhs) noexcept;
286 ShaderWrapper& operator= (const ShaderWrapper& rhs) noexcept;
288 bool isSet (void) const { return m_binary != DE_NULL; }
290 vk::VkShaderModule getModule (void) const;
292 size_t getCodeSize (void) const;
293 void* getBinary (void) const;
296 void setLayoutAndSpecialization (const PipelineLayoutWrapper* layout, const VkSpecializationInfo* specializationInfo);
298 const PipelineLayoutWrapper* getPipelineLayout (void) const { return m_layout; }
299 const VkSpecializationInfo* getSpecializationInfo (void) const { return m_specializationInfo; }
302 vk::VkShaderEXT getShader (void) const { return m_shader ? *m_shader : VK_NULL_HANDLE; }
305 void addFlags (const VkShaderCreateFlagsEXT flags)
315 const DeviceInterface* m_vk;
317 const vk::ProgramBinary* m_binary;
320 const PipelineLayoutWrapper* m_layout;
321 const VkSpecializationInfo* m_specializationInfo;
337 GraphicsPipelineWrapper (const InstanceInterface& vki,
338 const DeviceInterface& vk,
341 const std::vector<std::string>& deviceExtensions,
342 const PipelineConstructionType pipelineConstructionType,
343 const VkPipelineCreateFlags flags = 0u);
353 GraphicsPipelineWrapper& setMonolithicPipelineLayout (const PipelineLayoutWrapper& layout);
357 GraphicsPipelineWrapper& setDynamicState (const VkPipelineDynamicStateCreateInfo* dynamicState);
369 GraphicsPipelineWrapper& setDefaultTopology (const VkPrimitiveTopology topology);
375 GraphicsPipelineWrapper& setDefaultPatchControlPoints (const deUint32 patchControlPoints);
378 GraphicsPipelineWrapper& setDefaultTessellationDomainOrigin (const VkTessellationDomainOrigin domainOrigin, bool forceExtStruct = false);
382 GraphicsPipelineWrapper& setDefaultRasterizerDiscardEnable (const deBool rasterizerDiscardEnable = DE_TRUE);
390 GraphicsPipelineWrapper& setDefaultVertexInputState (const deBool useDefaultVertexInputState);
399 GraphicsPipelineWrapper& setViewportStatePnext (const void* pNext);
407 GraphicsPipelineWrapper& disableViewportState (const bool disable = true);
411 GraphicsPipelineWrapper& setupVertexInputState (const VkPipelineVertexInputStateCreateInfo* vertexInputState = nullptr,
412 const VkPipelineInputAssemblyStateCreateInfo* inputAssemblyState = nullptr,
413 const VkPipelineCache partPipelineCache = DE_NULL,
415 const bool useNullPtrs = false);
418 GraphicsPipelineWrapper& setupPreRasterizationShaderState (const std::vector<VkViewport>& viewports,
419 const std::vector<VkRect2D>& scissors,
420 const PipelineLayoutWrapper& layout,
421 const VkRenderPass renderPass,
422 const deUint32 subpass,
423 const ShaderWrapper vertexShaderModule,
424 const VkPipelineRasterizationStateCreateInfo* rasterizationState = DE_NULL,
425 const ShaderWrapper tessellationControlShader = ShaderWrapper(),
426 const ShaderWrapper tessellationEvalShader = ShaderWrapper(),
427 const ShaderWrapper geometryShader = ShaderWrapper(),
428 const VkSpecializationInfo* specializationInfo = DE_NULL,
431 const VkPipelineCache partPipelineCache = DE_NULL,
434 GraphicsPipelineWrapper& setupPreRasterizationShaderState2 (const std::vector<VkViewport>& viewports,
435 const std::vector<VkRect2D>& scissors,
436 const PipelineLayoutWrapper& layout,
437 const VkRenderPass renderPass,
438 const deUint32 subpass,
439 const ShaderWrapper vertexShaderModule,
440 const VkPipelineRasterizationStateCreateInfo* rasterizationState = nullptr,
441 const ShaderWrapper tessellationControlShader = ShaderWrapper(),
442 const ShaderWrapper tessellationEvalShader = ShaderWrapper(),
443 const ShaderWrapper geometryShader = ShaderWrapper(),
444 const VkSpecializationInfo* vertSpecializationInfo = nullptr,
445 const VkSpecializationInfo* tescSpecializationInfo = nullptr,
446 const VkSpecializationInfo* teseSpecializationInfo = nullptr,
447 const VkSpecializationInfo* geomSpecializationInfo = nullptr,
450 const VkPipelineCache partPipelineCache = DE_NULL,
454 GraphicsPipelineWrapper& setupPreRasterizationShaderState3 (const std::vector<VkViewport>& viewports,
455 const std::vector<VkRect2D>& scissors,
456 const PipelineLayoutWrapper& layout,
457 const VkRenderPass renderPass,
458 const deUint32 subpass,
459 const ShaderWrapper vertexShaderModule,
461 const VkPipelineRasterizationStateCreateInfo* rasterizationState = nullptr,
462 const ShaderWrapper tessellationControlShader = ShaderWrapper(),
464 const ShaderWrapper tessellationEvalShader = ShaderWrapper(),
466 const ShaderWrapper geometryShader = ShaderWrapper(),
468 const VkSpecializationInfo* vertSpecializationInfo = nullptr,
469 const VkSpecializationInfo* tescSpecializationInfo = nullptr,
470 const VkSpecializationInfo* teseSpecializationInfo = nullptr,
471 const VkSpecializationInfo* geomSpecializationInfo = nullptr,
474 const VkPipelineCache partPipelineCache = DE_NULL,
479 GraphicsPipelineWrapper& setupPreRasterizationMeshShaderState(const std::vector<VkViewport>& viewports,
480 const std::vector<VkRect2D>& scissors,
481 const PipelineLayoutWrapper& layout,
482 const VkRenderPass renderPass,
483 const deUint32 subpass,
484 const ShaderWrapper taskShader,
485 const ShaderWrapper meshShader,
486 const VkPipelineRasterizationStateCreateInfo* rasterizationState = nullptr,
487 const VkSpecializationInfo* taskSpecializationInfo = nullptr,
488 const VkSpecializationInfo* meshSpecializationInfo = nullptr,
491 const VkPipelineCache partPipelineCache = DE_NULL,
496 GraphicsPipelineWrapper& setupFragmentShaderState (const PipelineLayoutWrapper& layout,
497 const VkRenderPass renderPass,
498 const deUint32 subpass,
499 const ShaderWrapper fragmentShaderModule,
500 const VkPipelineDepthStencilStateCreateInfo* depthStencilState = DE_NULL,
501 const VkPipelineMultisampleStateCreateInfo* multisampleState = DE_NULL,
502 const VkSpecializationInfo* specializationInfo = DE_NULL,
503 const VkPipelineCache partPipelineCache = DE_NULL,
507 GraphicsPipelineWrapper& setupFragmentShaderState2 (const PipelineLayoutWrapper& layout,
508 const VkRenderPass renderPass,
509 const deUint32 subpass,
510 const ShaderWrapper fragmentShaderModule,
512 const VkPipelineDepthStencilStateCreateInfo* depthStencilState = nullptr,
513 const VkPipelineMultisampleStateCreateInfo* multisampleState = nullptr,
514 const VkSpecializationInfo* specializationInfo = nullptr,
515 const VkPipelineCache partPipelineCache = DE_NULL,
519 GraphicsPipelineWrapper& setupFragmentOutputState (const VkRenderPass renderPass,
520 const deUint32 subpass = 0u,
521 const VkPipelineColorBlendStateCreateInfo* colorBlendState = DE_NULL,
522 const VkPipelineMultisampleStateCreateInfo* multisampleState = DE_NULL,
523 const VkPipelineCache partPipelineCache = DE_NULL,
527 void buildPipeline (const VkPipelineCache pipelineCache = DE_NULL,
528 const VkPipeline basePipelineHandle = DE_NULL,
529 const deInt32 basePipelineIndex = 0,
540 void bind (vk::VkCommandBuffer cmdBuffer) const;
543 deBool wasBuild (void) const;
545 deBool wasPipelineOrShaderObjectBuild (void) const;
548 vk::VkPipeline getPipeline (void) const;
559 bool isShaderObjectDynamic (vk::VkDynamicState dynamicState) const;
560 void setShaderObjectDynamicStates (vk::VkCommandBuffer cmdBuffer) const;