MLIR  21.0.0git
Classes | Typedefs | Enumerations
VulkanRuntime.h File Reference
#include "mlir/Support/LLVM.h"
#include <unordered_map>
#include <vector>
#include <vulkan/vulkan.h>

Go to the source code of this file.

Classes

struct  VulkanDeviceMemoryBuffer
 Struct containing information regarding to a device memory buffer. More...
 
struct  VulkanHostMemoryBuffer
 Struct containing information regarding to a host memory buffer. More...
 
struct  NumWorkGroups
 Struct containing the number of local workgroups to dispatch for each dimension. More...
 
struct  DescriptorSetInfo
 Struct containing information regarding a descriptor set. More...
 
class  VulkanRuntime
 Vulkan runtime. More...
 

Typedefs

using DescriptorSetIndex = uint32_t
 
using BindingIndex = uint32_t
 
using ResourceData = std::unordered_map< DescriptorSetIndex, std::unordered_map< BindingIndex, VulkanHostMemoryBuffer > >
 VulkanHostMemoryBuffer mapped into a descriptor set and a binding. More...
 
using ResourceStorageClassBindingMap = std::unordered_map< DescriptorSetIndex, std::unordered_map< BindingIndex, SPIRVStorageClass > >
 StorageClass mapped into a descriptor set and a binding. More...
 

Enumerations

enum class  SPIRVStorageClass { Uniform = 2 , StorageBuffer = 12 }
 SPIR-V storage classes. More...
 

Typedef Documentation

◆ BindingIndex

using BindingIndex = uint32_t

Definition at line 25 of file VulkanRuntime.h.

◆ DescriptorSetIndex

using DescriptorSetIndex = uint32_t

Definition at line 24 of file VulkanRuntime.h.

◆ ResourceData

using ResourceData = std::unordered_map< DescriptorSetIndex, std::unordered_map<BindingIndex, VulkanHostMemoryBuffer> >

VulkanHostMemoryBuffer mapped into a descriptor set and a binding.

Definition at line 66 of file VulkanRuntime.h.

◆ ResourceStorageClassBindingMap

using ResourceStorageClassBindingMap = std::unordered_map<DescriptorSetIndex, std::unordered_map<BindingIndex, SPIRVStorageClass> >

StorageClass mapped into a descriptor set and a binding.

Definition at line 80 of file VulkanRuntime.h.

Enumeration Type Documentation

◆ SPIRVStorageClass

enum SPIRVStorageClass
strong

SPIR-V storage classes.

Note that this duplicates spirv::StorageClass but it keeps the Vulkan runtime library detached from SPIR-V dialect, so we can avoid pick up lots of dependencies.

Enumerator
Uniform 
StorageBuffer 

Definition at line 74 of file VulkanRuntime.h.