Lines Matching refs:vk

64 										Buffer			(const vk::DeviceInterface&		vk,
65 const vk::VkDevice device,
66 vk::Allocator& allocator,
67 const vk::VkBufferCreateInfo& bufferCreateInfo,
68 const vk::MemoryRequirement memoryRequirement)
69 : m_buffer (createBuffer(vk, device, &bufferCreateInfo))
70 , m_allocation (allocator.allocate(getBufferMemoryRequirements(vk, device, *m_buffer), memoryRequirement))
72 VK_CHECK(vk.bindBufferMemory(device, *m_buffer, m_allocation->getMemory(), m_allocation->getOffset()));
75 Buffer (vk::Move<vk::VkBuffer> buffer,
76 de::MovePtr<vk::Allocation> allocation)
82 const vk::VkBuffer& get (void) const { return *m_buffer; }
83 const vk::VkBuffer& operator* (void) const { return get(); }
84 vk::Allocation& getAllocation (void) const { return *m_allocation; }
87 const vk::Unique<vk::VkBuffer> m_buffer;
88 const de::UniquePtr<vk::Allocation> m_allocation;
98 Image (const vk::DeviceInterface& vk,
99 const vk::VkDevice device,
100 vk::Allocator& allocator,
101 const vk::VkImageCreateInfo& imageCreateInfo,
102 const vk::MemoryRequirement memoryRequirement)
103 : m_image (createImage(vk, device, &imageCreateInfo))
104 , m_allocation (allocator.allocate(getImageMemoryRequirements(vk, device, *m_image), memoryRequirement))
106 VK_CHECK(vk.bindImageMemory(device, *m_image, m_allocation->getMemory(), m_allocation->getOffset()));
108 Image (vk::Move<vk::VkImage>& image,
109 de::MovePtr<vk::Allocation>& allocation)
115 const vk::VkImage& get (void) const { return *m_image; }
116 const vk::VkImage& operator* (void) const { return get(); }
117 vk::Allocation& getAllocation (void) const { return *m_allocation; }
120 const vk::Unique<vk::VkImage> m_image;
121 const de::UniquePtr<vk::Allocation> m_allocation;
134 vk::Move<vk::VkPipelineCache> createPipelineCache (const vk::DeviceInterface& vk, const vk::VkDevice device, de::SharedPtr<vk::ResourceInterface> resourceInterface) const;
135 void setFromPipelineCache (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkPipelineCache pipelineCache);
147 , m_cullModeFlags (vk::VK_CULL_MODE_NONE)
148 , m_frontFace (vk::VK_FRONT_FACE_COUNTER_CLOCKWISE)
151 , m_primitiveTopology (vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST) {}
154 GraphicsPipelineBuilder& setShader (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkShaderStageFlagBits stage, const vk::ProgramBinary& binary, const vk::VkSpecializationInfo* specInfo);
156 GraphicsPipelineBuilder& setCullModeFlags (const vk::VkCullModeFlags cullModeFlags) { m_cullModeFlags = cullModeFlags; return *this; }
157 GraphicsPipelineBuilder& setFrontFace (const vk::VkFrontFace frontFace) { m_frontFace = frontFace; return *this; }
161 GraphicsPipelineBuilder& setPrimitiveTopology (const vk::VkPrimitiveTopology topology) { m_primitiveTopology = topology; return *this; }
163 GraphicsPipelineBuilder& addVertexBinding (const vk::VkVertexInputBindingDescription vertexBinding) { m_vertexInputBindings.push_back(vertexBinding); return *this; }
164 GraphicsPipelineBuilder& addVertexAttribute (const vk::VkVertexInputAttributeDescription vertexAttribute) { m_vertexInputAttributes.push_back(vertexAttribute); return *this; }
167 GraphicsPipelineBuilder& setVertexInputSingleAttribute (const vk::VkFormat vertexFormat, const deUint32 stride);
169 vk::Move<vk::VkPipeline> build(const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkPipelineLayout pipelineLayout, const vk::VkRenderPass renderPass, PipelineCacheData& pipelineCacheData, de::SharedPtr<vk::ResourceInterface> resourceInterface);
173 vk::Move<vk::VkShaderModule> m_vertexShaderModule;
174 vk::Move<vk::VkShaderModule> m_fragmentShaderModule;
175 vk::Move<vk::VkShaderModule> m_geometryShaderModule;
176 vk::Move<vk::VkShaderModule> m_tessControlShaderModule;
177 vk::Move<vk::VkShaderModule> m_tessEvaluationShaderModule;
178 std::vector<vk::VkPipelineShaderStageCreateInfo> m_shaderStages;
179 std::vector<vk::VkVertexInputBindingDescription> m_vertexInputBindings;
180 std::vector<vk::VkVertexInputAttributeDescription> m_vertexInputAttributes;
181 vk::VkShaderStageFlags m_shaderStageFlags;
182 vk::VkCullModeFlags m_cullModeFlags;
183 vk::VkFrontFace m_frontFace;
186 vk::VkPrimitiveTopology m_primitiveTopology;
199 SynchronizationWrapperBase(const vk::DeviceInterface& vk)
200 : m_vk(vk)
206 const vk::VkSemaphoreSubmitInfo* pWaitSemaphoreInfos,
208 const vk::VkCommandBufferSubmitInfo* pCommandBufferInfos,
210 const vk::VkSemaphoreSubmitInfo* pSignalSemaphoreInfos,
214 virtual void cmdPipelineBarrier (vk::VkCommandBuffer commandBuffer,
215 const vk::VkDependencyInfo* pDependencyInfo) const = 0;
217 virtual void cmdSetEvent (vk::VkCommandBuffer commandBuffer,
218 vk::VkEvent event,
219 const vk::VkDependencyInfo* pDependencyInfo) const = 0;
220 virtual void cmdResetEvent (vk::VkCommandBuffer commandBuffer,
221 vk::VkEvent event,
222 vk::VkPipelineStageFlags2 flag) const = 0;
223 virtual void cmdWaitEvents (vk::VkCommandBuffer commandBuffer,
225 const vk::VkEvent* pEvents,
226 const vk::VkDependencyInfo* pDependencyInfo) const = 0;
228 virtual vk::VkResult queueSubmit (vk::VkQueue queue,
229 vk::VkFence fence) = 0;
232 const vk::DeviceInterface& m_vk;
269 vk::VkImageType imageType;
270 vk::VkFormat imageFormat;
271 vk::VkImageAspectFlags imageAspect;
272 vk::VkSampleCountFlagBits imageSamples;
277 BufferResource (vk::VkBuffer handle_, vk::VkDeviceSize offset_, vk::VkDeviceSize size_)
281 vk::VkBuffer handle;
282 vk::VkDeviceSize offset;
283 vk::VkDeviceSize size;
289 vk::VkImage handle_,
290 vk::VkExtent3D extent_,
291 vk::VkImageType imageType_,
292 vk::VkFormat format_,
293 vk::VkImageSubresourceRange subresourceRange_,
294 vk::VkImageSubresourceLayers subresourceLayers_,
295 vk::VkImageTiling tiling_)
305 vk::VkImage handle;
306 vk::VkExtent3D extent;
307 vk::VkImageType imageType;
308 vk::VkFormat format;
309 vk::VkImageSubresourceRange subresourceRange;
310 vk::VkImageSubresourceLayers subresourceLayers;
311 vk::VkImageTiling tiling;
316 const vk::DeviceInterface& vk,
320 const vk::DeviceInterface& vk,
321 const vk::VkDevice device,
322 const vk::VkQueue queue,
323 const vk::VkCommandBuffer cmdBuffer);
324 vk::VkImageCreateInfo makeImageCreateInfo (const vk::VkImageType imageType,
325 const vk::VkExtent3D& extent,
326 const vk::VkFormat format,
327 const vk::VkImageUsageFlags usage,
328 const vk::VkSampleCountFlagBits samples,
329 const vk::VkImageTiling tiling);
330 vk::Move<vk::VkCommandBuffer> makeCommandBuffer (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkCommandPool commandPool);
331 vk::Move<vk::VkPipeline> makeComputePipeline (const vk::DeviceInterface& vk, const vk::VkDevice device, const vk::VkPipelineLayout pipelineLayout, const vk::VkShaderModule shaderModule, const vk::VkSpecializationInfo* specInfo, PipelineCacheData& pipelineCacheData, de::SharedPtr<vk::ResourceInterface> resourceInterface);
332 void beginRenderPassWithRasterizationDisabled (const vk::DeviceInterface& vk, const vk::VkCommandBuffer commandBuffer, const vk::VkRenderPass renderPass, const vk::VkFramebuffer framebuffer);
333 void requireFeatures (const vk::InstanceInterface& vki, const vk::VkPhysicalDevice physDevice, const FeatureFlags flags);
334 void requireStorageImageSupport (const vk::InstanceInterface& vki, const vk::VkPhysicalDevice physDevice, const vk::VkFormat fmt, const vk::VkImageTiling tiling);
337 vk::VkCommandBufferSubmitInfoKHR makeCommonCommandBufferSubmitInfo (const vk::VkCommandBuffer cmdBuf);
338 vk::VkSemaphoreSubmitInfoKHR makeCommonSemaphoreSubmitInfo (vk::VkSemaphore semaphore, deUint64 value, vk::VkPipelineStageFlags2KHR stageMask);
339 vk::VkDependencyInfoKHR makeCommonDependencyInfo (const vk::VkMemoryBarrier2KHR* pMemoryBarrier = DE_NULL, const vk::VkBufferMemoryBarrier2KHR* pBufferMemoryBarrier = DE_NULL, const vk::VkImageMemoryBarrier2KHR* pImageMemoryBarrier = DE_NULL, bool eventDependency = DE_FALSE);
341 vk::VkDevice getSyncDevice (de::MovePtr<VideoDevice>& device, Context& context);
342 const vk::DeviceInterface& getSyncDeviceInterface (de::MovePtr<VideoDevice>& device, Context& context);
344 vk::VkQueue getSyncQueue (de::MovePtr<VideoDevice>& device, Context& context);