PVRVk Structs#
ComputePipelinePopulate#
Defined in PopulateCreateInfoVk.h
Struct Documentation#
-
struct ComputePipelinePopulate#
Contains everything needed to define a VkComputePipelineCreateInfo, with provision for all memory required.
Public Functions
-
inline VkComputePipelineCreateInfo &operator*()#
Dereference operator - returns the underlying vulkan object.
- Returns:
The vulkan object
-
inline void init(const ComputePipelineCreateInfo &cpcp)#
Initialize this compute pipeline.
- Parameters:
cpcp – A framework compute pipeline create param to be generated from
- Returns:
Returns return if success
Public Members
-
VkComputePipelineCreateInfo createInfo#
After construction, will contain the ready-to-use create info.
-
VkPipelineShaderStageCreateInfo _shader#
The pipeline shader stage creation information.
-
VkSpecializationInfo specializationInfos#
The specialization creation information.
-
unsigned char specializationInfoData[FrameworkCaps::MaxSpecialisationInfoDataSize]#
Specialization data.
-
std::vector<VkSpecializationMapEntry> specilizationEntries#
Specialization entry mappings.
-
inline VkComputePipelineCreateInfo &operator*()#
Device_::QueueFamily#
Defined in DeviceVk.h
Nested Relationships#
This struct is a nested type of Device_.
Struct Documentation#
-
struct QueueFamily#
GraphicsPipelinePopulate#
Defined in PopulateCreateInfoVk.h
Struct Documentation#
-
struct GraphicsPipelinePopulate#
Contains everything needed to define a VkGraphicsPipelineCreateInfo, with provision for all memory required.
Public Functions
-
inline GraphicsPipelinePopulate()#
Default constructor.
-
inline const VkGraphicsPipelineCreateInfo &getVkCreateInfo() const#
Returns the underlying vulkan object.
- Returns:
The vulkan object
-
inline bool init(const GraphicsPipelineCreateInfo &gpcp)#
Initialize this graphics pipeline.
- Parameters:
gpcp – A framework graphics pipeline create param to be generated from
- Returns:
Returns return if success
-
inline GraphicsPipelinePopulate()#
RaytracingPipelinePopulate#
Defined in PopulateCreateInfoVk.h
Struct Documentation#
-
struct RaytracingPipelinePopulate#
Contains everything needed to define a VkRayTracingPipelineCreateInfoKHR.
Public Functions
-
inline VkRayTracingPipelineCreateInfoKHR &operator*()#
Dereference operator - returns the underlying vulkan object.
- Returns:
The vulkan object
-
inline void init(const RaytracingPipelineCreateInfo &raytracingPipeline)#
Initialize this ray tracing pipeline.
- Parameters:
raytracingPipeline – A framework ray tracing pipeline create param to be generated from
- Returns:
Returns return if success
Public Members
-
VkRayTracingPipelineCreateInfoKHR createInfo#
After construction, will contain the ready-to-use create info.
-
std::vector<VkPipelineShaderStageCreateInfo> stages#
Used to store the shader stage vreate info structs in VkPipelineShaderStageCreateInfo format when gathering information from raytracingPipeline.stages, which use PipelineShaderStageCreateInfo.
-
std::vector<VkRayTracingShaderGroupCreateInfoKHR> shaderGroups#
Used to store the shader group create info structs in VkRayTracingShaderGroupCreateInfoKHR format when gathering information from raytracingPipeline.stages, which use RayTracingShaderGroupCreateInfo.
-
inline VkRayTracingPipelineCreateInfoKHR &operator*()#
AccelerationStructureCreateGeometryTypeInfo#
Defined in AccelerationStructureVk.h
Struct Documentation#
-
struct AccelerationStructureCreateGeometryTypeInfo#
Public Functions
-
inline AccelerationStructureCreateGeometryTypeInfo()#
Constructor (zero initialization)
-
inline AccelerationStructureCreateGeometryTypeInfo(GeometryTypeKHR geometryType, uint32_t maxPrimitiveCount, IndexType indexType, uint32_t maxVertexCount, Format vertexFormat, Bool32 allowsTransforms)#
Constructor.
- Parameters:
size – The buffer creation size
usageFlags – The buffer creation usage flags
flags – The buffer creation flags
sharingMode – The buffer creation sharing mode
queueFamilyIndices – A pointer to a list of supported queue families
numQueueFamilyIndices – The number of supported queue family indices
-
inline GeometryTypeKHR getGeometryType() const#
-
inline void setGeometryType(GeometryTypeKHR geometryType)#
-
inline uint32_t getMaxPrimitiveCount() const#
-
inline void setMaxPrimitiveCount(uint32_t maxPrimitiveCount)#
-
inline IndexType getIndexType() const#
-
inline void setIndexType(IndexType indexType)#
-
inline uint32_t getMaxVertexCount() const#
-
inline void setMaxVertexCount(uint32_t maxVertexCount)#
-
inline Format getVertexFormat() const#
-
inline void setVertexFormat(Format vertexFormat)#
-
inline Bool32 getAllowsTransforms() const#
-
inline void setAllowsTransforms(Bool32 allowsTransforms)#
-
inline AccelerationStructureCreateGeometryTypeInfo()#
AccelerationStructureCreateInfo#
Defined in AccelerationStructureVk.h
Struct Documentation#
-
struct AccelerationStructureCreateInfo#
Public Functions
-
inline AccelerationStructureCreateInfo()#
Constructor (zero initialization)
-
inline StructureType getSType() const#
-
inline void setSType(StructureType sType)#
-
inline VkAccelerationStructureCreateFlagsKHR getCreateFlags() const#
-
inline void setCompactedSize(VkAccelerationStructureCreateFlagsKHR createFlags)#
-
inline VkBuffer getBuffer() const#
-
inline void setBuffer(VkBuffer buffer)#
-
inline VkDeviceSize getOffset() const#
-
inline void setOffset(VkDeviceSize offset)#
-
inline VkDeviceSize getSize() const#
-
inline void setSize(VkDeviceSize size)#
-
inline AccelerationStructureTypeKHR getType() const#
-
inline void setType(AccelerationStructureTypeKHR type)#
-
inline VkDeviceAddress getDeviceAddress() const#
-
inline void setDeviceAddress(VkDeviceAddress deviceAddress)#
-
inline const void *getpNext() const#
-
inline void setpNext(const void *pNext)#
-
inline AccelerationStructureCreateInfo()#
ApplicationInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct ApplicationInfo#
Containes application info used for creating vulkan instance.
Public Functions
-
inline ApplicationInfo()#
Constructor.
-
inline ApplicationInfo(const std::string &applicationName, uint32_t applicationVersion = 0, const std::string &engineName = nullptr, uint32_t engineVersion = 0, uint32_t apiVersion = 0)#
Constructor.
- Parameters:
applicationName – The name of the application
applicationVersion – The version of the application
engineName – The name of the engine
engineVersion – The version of the engine
apiVersion – The api version to be used by the application
-
inline const std::string &getApplicationName() const#
Get the Application name.
- Returns:
The application name
-
inline void setApplicationName(const std::string &inApplicationName)#
Sets the application name.
- Parameters:
applicationName – The application name to use
-
inline uint32_t getApplicationVersion() const#
Get the Application version.
- Returns:
The application version
-
inline void setApplicationVersion(uint32_t inApplicationVersion)#
Sets the application version.
- Parameters:
applicationVersion – The application version to use
-
inline const std::string &getEngineName() const#
Get the Engine name.
- Returns:
The engine name
-
inline void setEngineName(const std::string &inEngineName)#
Sets the engine name.
- Parameters:
engineName – The engine name to use
-
inline uint32_t getEngineVersion() const#
Get the Engine version.
- Returns:
The engine version
-
inline void setEngineVersion(uint32_t inEngineVersion)#
Sets the engine version.
- Parameters:
engineVersion – The engine version to use
-
inline uint32_t getApiVersion() const#
Get the api version.
- Returns:
The api version
-
inline void setApiVersion(uint32_t inApiVersion)#
Sets the api version.
- Parameters:
apiVersion – The api version to use
-
inline ApplicationInfo()#
AttachmentDescription#
Defined in TypesVk.h
Inheritance Relationships#
Base Type#
private VkAttachmentDescription
Struct Documentation#
-
struct AttachmentDescription : private VkAttachmentDescription#
Contains attachment configuration of a renderpass (format, loadop, storeop, samples).
Public Functions
-
inline AttachmentDescription()#
Constructor to undefined layouts/clear/store.
-
inline AttachmentDescription(const pvrvk::Format format, const pvrvk::ImageLayout initialLayout, const pvrvk::ImageLayout finalLayout, const pvrvk::AttachmentLoadOp loadOp, const pvrvk::AttachmentStoreOp storeOp, const pvrvk::AttachmentLoadOp stencilLoadOp = pvrvk::AttachmentLoadOp::e_DONT_CARE, const pvrvk::AttachmentStoreOp stencilStoreOp = pvrvk::AttachmentStoreOp::e_DONT_CARE, const pvrvk::SampleCountFlags numSamples = pvrvk::SampleCountFlags::e_1_BIT)#
Constructor.
- Parameters:
format – Attachment format
initialLayout – The initial layout that the output image will be on. Must match the actual layout of the Image.
finalLayout – A layout to transition the image to at the end of this renderpass.
loadOp – Color/Depth attachment load operation. For performance, prefer ‘Don’t Care’ if possible for your application.
storeOp – Color/Depth attachment store operator. For performance, prefer ‘Don’t Care’ if possible for your application.
stencilLoadOp – Stencil load operation. Default is ‘Don’t Care’. Don’t forget to change this if you’re using stencil components.
stencilStoreOp – Stencil store operator. Default is ‘Don’t Care’. Don’t forget to change this if you’re using stencil components.
numSamples – Number of samples. Default is 1.
-
inline AttachmentDescriptionFlags getFlags() const#
Get the AttachmentDescriptionFlags.
- Returns:
A set of AttachmentDescriptionFlags
-
inline void setFlags(const AttachmentDescriptionFlags &inFlags)#
Set the attachment description flags.
- Parameters:
inFlags – The attachment description flags
-
inline Format getFormat() const#
Get the attachment Format.
- Returns:
The attachment format
-
inline void setFormat(const Format &inFormat)#
Set the attachment format.
- Parameters:
inFormat – The attachment format
-
inline SampleCountFlags getSamples() const#
Get the sample count for the attachment.
- Returns:
The sample count for the attachment
-
inline void setSamples(const SampleCountFlags &inSamples)#
Set the attachment sample count flags.
- Parameters:
inSamples – The attachment sample count flags
-
inline AttachmentLoadOp getLoadOp() const#
Get the attachment load operation.
- Returns:
The attachment load operation
-
inline void setLoadOp(const AttachmentLoadOp &inLoadOp)#
Set the attachment load operation.
- Parameters:
inLoadOp – The attachment load operation
-
inline AttachmentStoreOp getStoreOp() const#
Get the attachment store operation.
- Returns:
The attachment store operation
-
inline void setStoreOp(const AttachmentStoreOp &inStoreOp)#
Set the attachment store operation.
- Parameters:
inStoreOp – The attachment store operation
-
inline AttachmentLoadOp getStencilLoadOp() const#
Get the attachment stencil load operation.
- Returns:
The attachment stencil load operation
-
inline void setStencilLoadOp(const AttachmentLoadOp &inStencilLoadOp)#
Set the attachment stencil load operation.
- Parameters:
inStencilLoadOp – The attachment stencil load operation
-
inline AttachmentStoreOp getStencilStoreOp() const#
Get the attachment stencil store operation.
- Returns:
The attachment stencil store operation
-
inline void setStencilStoreOp(const AttachmentStoreOp &inStencilStoreOp)#
Set the attachment stencil store operation.
- Parameters:
inStencilStoreOp – The attachment stencil store operation
-
inline ImageLayout getInitialLayout() const#
Get the attachment initial layout.
- Returns:
The attachment initial layout
-
inline void setInitialLayout(const ImageLayout &inInitialLayout)#
Set the attachment initial layout.
- Parameters:
inInitialLayout – The attachment initial layout
-
inline ImageLayout getFinalLayout() const#
Get the attachment final layout.
- Returns:
The attachment final layout
-
inline void setFinalLayout(const ImageLayout &inFinalLayout)#
Set the attachment final layout.
- Parameters:
inFinalLayout – The attachment final layout
Public Static Functions
-
static inline AttachmentDescription createColorDescription(const pvrvk::Format format, const pvrvk::ImageLayout initialLayout = pvrvk::ImageLayout::e_COLOR_ATTACHMENT_OPTIMAL, const pvrvk::ImageLayout finalLayout = pvrvk::ImageLayout::e_COLOR_ATTACHMENT_OPTIMAL, const pvrvk::AttachmentLoadOp loadOp = pvrvk::AttachmentLoadOp::e_CLEAR, const pvrvk::AttachmentStoreOp storeOp = pvrvk::AttachmentStoreOp::e_STORE, const pvrvk::SampleCountFlags numSamples = pvrvk::SampleCountFlags::e_1_BIT)#
Create color description.
- Parameters:
- Returns:
-
static inline AttachmentDescription createDepthStencilDescription(const pvrvk::Format format, const pvrvk::ImageLayout initialLayout = pvrvk::ImageLayout::e_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, const pvrvk::ImageLayout finalLayout = pvrvk::ImageLayout::e_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, const pvrvk::AttachmentLoadOp loadOp = pvrvk::AttachmentLoadOp::e_CLEAR, const pvrvk::AttachmentStoreOp storeOp = pvrvk::AttachmentStoreOp::e_DONT_CARE, const pvrvk::AttachmentLoadOp stencilLoadOp = pvrvk::AttachmentLoadOp::e_CLEAR, const pvrvk::AttachmentStoreOp stencilStoreOp = pvrvk::AttachmentStoreOp::e_DONT_CARE, const pvrvk::SampleCountFlags numSamples = pvrvk::SampleCountFlags::e_1_BIT)#
Create depthstencil description.
- Parameters:
format – Attachment format
initialLayout – Attachment initial layout
finalLayout – Attachment final layout
loadOp – Depth load op.
storeOp – Depth store op
stencilLoadOp – Stencil load op
stencilStoreOp – Stencil store op
numSamples – Number of samples
- Returns:
-
inline AttachmentDescription()#
AttachmentReference2#
Defined in TypesVk.h
Inheritance Relationships#
Base Type#
private VkAttachmentReference2
Struct Documentation#
-
struct AttachmentReference2 : private VkAttachmentReference2#
Public Functions
-
inline AttachmentReference2()#
-
inline AttachmentReference2(const uint32_t attachment, const ImageLayout layout, const ImageAspectFlags aspectMask)#
-
inline VkAttachmentReference2 get()#
-
inline VkAttachmentReference2 *getVkPtr()#
-
inline void setAttachment(const uint32_t inAttachment)#
-
inline void setLayout(const ImageLayout inLayout)#
-
inline void setAspectMask(const ImageAspectFlags inAspectMask)#
-
inline uint32_t getAttachment() const#
-
inline ImageLayout getLayout() const#
-
inline ImageAspectFlags getAspectMask() const#
-
inline AttachmentReference2()#
BindSparseInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct BindSparseInfo#
BindSparseInfo specifying a sparse binding submission batch.
Public Members
-
std::vector<SparseBufferMemoryBindInfo> bufferBinds#
Array of SparseBufferMemoryBindInfo structures, indicating sparse buffer bindings to perform.
-
std::vector<SparseImageOpaqueMemoryBindInfo> imageOpaqueBinds#
Array of SparseImageOpaqueMemoryBindInfo structures, indicating opaque sparse image bindings to perform.
-
std::vector<SparseImageMemoryBindInfo> imageBinds#
Array of SparseImageMemoryBindInfo structures, indicating sparse image bindings to perform.
-
std::vector<SparseBufferMemoryBindInfo> bufferBinds#
BufferCreateInfo#
Defined in BufferVk.h
Struct Documentation#
-
struct BufferCreateInfo#
Buffer creation descriptor.
Public Functions
-
inline BufferCreateInfo()#
Constructor (zero initialization)
-
inline BufferCreateInfo(pvrvk::DeviceSize size, pvrvk::BufferUsageFlags usageFlags, pvrvk::BufferCreateFlags flags = pvrvk::BufferCreateFlags::e_NONE, SharingMode sharingMode = SharingMode::e_EXCLUSIVE, const uint32_t *queueFamilyIndices = nullptr, uint32_t numQueueFamilyIndices = 0)#
Constructor.
- Parameters:
size – The buffer creation size
usageFlags – The buffer creation usage flags
flags – The buffer creation flags
sharingMode – The buffer creation sharing mode
queueFamilyIndices – A pointer to a list of supported queue families
numQueueFamilyIndices – The number of supported queue family indices
-
inline BufferCreateFlags getFlags() const#
Get the buffer creation flags.
- Returns:
The set of buffer creation flags
-
inline void setFlags(BufferCreateFlags flags)#
Set the buffer creation flags.
- Parameters:
flags – The buffer creation flags
-
inline DeviceSize getSize() const#
Get the buffer creation size.
- Returns:
The set of buffer creation size
-
inline void setSize(DeviceSize size)#
Set the buffer creation size.
- Parameters:
size – The buffer creation size
-
inline SharingMode getSharingMode() const#
Get the buffer creation sharing mode.
- Returns:
The set of buffer creation sharing mode
-
inline void setSharingMode(SharingMode sharingMode)#
Set the buffer creation sharing mode.
- Parameters:
sharingMode – The buffer creation sharing mode
-
inline BufferUsageFlags getUsageFlags() const#
Get the buffer creation usage flags.
- Returns:
The set of buffer creation usage flags
-
inline void setUsageFlags(BufferUsageFlags usageFlags)#
Set the buffer creation usage flags.
- Parameters:
usageFlags – The buffer creation usage flags
-
inline uint32_t getNumQueueFamilyIndices() const#
Get the number of queue family indices pointed to.
- Returns:
The number of queue family indices pointed to
-
inline void setNumQueueFamilyIndices(uint32_t numQueueFamilyIndices)#
Set the number of queue family indices pointed to.
- Parameters:
numQueueFamilyIndices – The number of queue family indices pointed to
-
inline const uint32_t *getQueueFamilyIndices() const#
Get this buffer creation infos pointer to a list of supported queue family indices.
- Returns:
A pointer to a list of supported queue family indices
-
inline BufferCreateInfo()#
BufferViewCreateInfo#
Defined in BufferVk.h
Struct Documentation#
-
struct BufferViewCreateInfo#
Buffer view creation descriptor.
Public Functions
-
inline BufferViewCreateInfo()#
Constructor (zero initialization)
-
inline BufferViewCreateInfo(const Buffer &buffer, Format format, DeviceSize offset = 0, DeviceSize range = VK_WHOLE_SIZE, BufferViewCreateFlags flags = BufferViewCreateFlags::e_NONE)#
Constructor.
- Parameters:
buffer – The buffer to be used in the buffer view
format – The format of the data in the buffer
offset – The buffer offset
range – The range of the buffer view
flags – A set of flags used for creating the buffer view
-
inline BufferViewCreateFlags getFlags() const#
Get the buffer view creation flags.
- Returns:
The set of buffer view creation flags
-
inline void setFlags(BufferViewCreateFlags flags)#
Set the buffer view creation flags.
- Parameters:
flags – The buffer view creation flags
-
inline void setBuffer(const Buffer &buffer)#
Set PVRVk Buffer view creation image.
- Parameters:
buffer – Buffer to use for creating a PVRVk buffer view
-
inline Format getFormat() const#
Get Buffer view format.
- Returns:
Buffer view format (Format)
-
inline void setFormat(Format format)#
Set the Buffer view format for PVRVk Buffer creation.
- Parameters:
format – The buffer view format to use for creating a PVRVk buffer
-
inline DeviceSize getOffset() const#
Get the buffer view creation offset.
- Returns:
The set of buffer view creation offset
-
inline void setOffset(DeviceSize offset)#
Set the buffer view creation offset.
- Parameters:
offset – The buffer view creation offset
-
inline DeviceSize getRange() const#
Get the buffer view creation range.
- Returns:
The set of buffer view creation range
-
inline void setRange(DeviceSize range)#
Set the buffer view creation range.
- Parameters:
range – The buffer view creation range
-
inline BufferViewCreateInfo()#
ClearAttachment#
Defined in TypesVk.h
Inheritance Relationships#
Base Type#
private VkClearAttachment
Struct Documentation#
-
struct ClearAttachment : private VkClearAttachment#
ClearAttachment structures defining the attachments to clear and the clear values to use. Used in Commandbuffer::ClearAttachments command.
Public Functions
-
ClearAttachment() = default#
Constructor. Initialisation undefined.
-
inline ClearAttachment(ImageAspectFlags aspectMask, uint32_t colorAttachment, const ClearValue &clearValue)#
Constructor.
- Parameters:
aspectMask – Mask selecting the color, depth and/or stencil aspects of the attachment to be cleared.
colorAttachment – Index of the renderpass color attachment. It is only meaningful if VkImageAspectFlags::e_ASPECT_COLOR_BIT is set in aspectMask
clearValue – color or depth/stencil value to clear the attachment
-
inline ImageAspectFlags getAspectMask() const#
Get the attachment aspect masks.
- Returns:
The attachment aspect mask
-
inline void setAspectMask(const ImageAspectFlags &inAspectMask)#
Set the attachment aspect masks.
- Parameters:
inAspectMask – The attachment aspect mask.
-
inline uint32_t getColorAttachment() const#
Get the attachment color attachment index.
- Returns:
The attachment color attachment index
-
inline void setColorAttachment(const uint32_t &inColorAttachment)#
Set the attachment color attachment index.
- Parameters:
inColorAttachment – The attachment color attachment index.
-
inline ClearValue getClearValue() const#
Get the attachment clear value.
- Returns:
The attachment value value
-
inline void setClearValue(const ClearValue &inClearValue)#
Set the attachment clear value.
- Parameters:
inClearValue – The attachment clear value.
Public Static Functions
-
static inline ClearAttachment createStencilClearAttachment(uint32_t stencil)#
Create stencil-clear-attachment factory function.
- Parameters:
stencil – Stencil clear value
- Returns:
Returns stencil clear attachment
-
static inline ClearAttachment createDepthStencilClearAttachment(float depth, uint32_t stencil)#
Create depth-clear-attachment factory function.
- Parameters:
depth – Depth clear value
stencil – Stencil clear value
- Returns:
Returns depth-stencil clear attachment
-
static inline ClearAttachment createColorClearAttachment(uint32_t colorAttachment, const ClearValue &clearValue)#
Create color-clear-attachmemnt factory function.
- Parameters:
colorAttachment – Index of the renderpass color attachment.
clearValue – Color clear values
- Returns:
Returns color clear attachment
-
ClearAttachment() = default#
ClearColorValue#
Defined in TypesVk.h
Struct Documentation#
-
struct ClearColorValue#
Contains clear color values (rgba). This is used in Commandbuffer::clearColorImage.
Public Functions
-
inline ClearColorValue()#
Constructor, Initialise with default r:0, g:0, b:0, a:1.
-
inline ClearColorValue(float r, float g, float b, float a)#
Constructor, Intialise with rgba floating point.
- Parameters:
r – red component
g – green component
b – blue component
a – alpha component
-
inline ClearColorValue(int32_t r, int32_t g, int32_t b, int32_t a)#
Constructor, initialise with interger rgba values.
- Parameters:
r – red component
g – green component
b – blue component
a – alpha component
-
inline ClearColorValue(uint32_t r, uint32_t g, uint32_t b, uint32_t a)#
Constructor, initialise with unsigned interger rgba values.
- Parameters:
r – red component
g – green component
b – blue component
a – alpha component
-
inline float getR() const#
Get red floating point component.
- Returns:
Red component
-
inline void setR(const float r)#
Set red floating point component.
- Parameters:
r – Red component
-
inline float getG() const#
Get green floating point component.
- Returns:
Green component
-
inline void setG(const float g)#
Set green floating point component.
- Parameters:
g – green component
-
inline float getB() const#
Get blue floating point component.
- Returns:
Blue component
-
inline void setB(const float b)#
Set blue floating point component.
- Parameters:
b – Blue component
-
inline float getA() const#
Get alpha floating point component.
- Returns:
Alpha component
-
inline void setA(const float a)#
Set alpha floating point component.
- Parameters:
a – Alpha component
-
inline int32_t getRInt() const#
Get red interger component.
- Returns:
Red component
-
inline void setR(const int32_t r)#
Set red integer point component.
- Parameters:
r – Red component
-
inline int32_t getGInt() const#
Get green interger component.
- Returns:
Green component
-
inline void setG(const int32_t g)#
Set green integer point component.
- Parameters:
g – Green component
-
inline int32_t getBInt() const#
Get blue interger component.
- Returns:
Blue component
-
inline void setB(const int32_t b)#
Set blue integer point component.
- Parameters:
b – Blue component
-
inline int32_t getAInt() const#
Get alpha interger component.
- Returns:
alpha component
-
inline void setA(const int32_t a)#
Set alpha integer point component.
- Parameters:
a – alpha component
-
inline uint32_t getRUint() const#
Get red unsiged interger component.
- Returns:
Red component
-
inline void setRUint(const uint32_t r)#
Set red unsiged integer point component.
- Parameters:
r – Red component
-
inline uint32_t getGUint() const#
Get green unsiged interger component.
- Returns:
Green component
-
inline void setGUint(const uint32_t g)#
Set green unsiged integer point component.
- Parameters:
g – Green component
-
inline uint32_t getBUint() const#
Get blue unsiged interger component.
- Returns:
Blue component
-
inline void setBUint(const uint32_t b)#
Set blue unsiged integer point component.
- Parameters:
b – Blue component
-
inline uint32_t getAUint() const#
Get alpha unsiged interger component.
- Returns:
Alpha component
-
inline void setAUint(const uint32_t a)#
Set alpha unsiged integer point component.
- Parameters:
a – Alpha component
-
inline const VkClearColorValue &getColor() const#
Get color clear value.
- Returns:
VkClearColorValue
-
inline ClearColorValue()#
ClearValue#
Defined in TypesVk.h
Struct Documentation#
-
struct ClearValue#
The ClearValue struct. Color or depth/stencil value to clear the attachment to.
Public Functions
-
inline ClearValue()#
Constructor. initialise with rgb: 0 and alpha 1 clear values.
-
inline ClearValue(float depth, uint32_t stencil)#
Constructor. Initialise with depth stencil clear values.
- Parameters:
depth – Depth clear value
stencil – Stencil clear value
-
inline ClearValue(float r, float g, float b, float a)#
Constructor. Initialise with rgba floating point.
- Parameters:
r – Red component
g – Green component
b – Blue component
a – Alpha component
-
inline ClearValue(int32_t r, int32_t g, int32_t b, int32_t a)#
Constructor. Initialise with rgba interger.
- Parameters:
r – Red component
g – Green component
b – Blue component
a – Alpha component
-
inline ClearValue(uint32_t r, uint32_t g, uint32_t b, uint32_t a)#
Constructor. Initialise with rgba unsigned interger.
- Parameters:
r – Red component
g – Green component
b – Blue component
a – Alpha component
-
inline void setColorValue(float r, float g, float b, float a)#
Set rgba color clear value.
- Parameters:
r – Red component
g – Green component
b – Blue component
a – Alpha component
-
inline void setDepthStencilValue(float depth = 1.f, uint32_t stencil = 0u)#
Set depth stencil clear value.
- Parameters:
depth – Depth clear value, default 1
stencil – Stencil clear value, default 0
-
inline VkClearValue toVkValue()#
Get vulkan representation of this object.
- Returns:
Returns vulkan clear value
-
inline const VkClearValue toVkValue() const#
Get vulkan representation of this object (const)
- Returns:
Returns (const) vulkan clear value
Public Static Functions
-
static inline ClearValue createDefaultDepthStencilClearValue()#
Create default depth stencil clear value factory function.
- Returns:
Returns default depth stencil clear value
-
static inline ClearValue createStencilClearValue(uint32_t stencil)#
Create stencil clear value factory function.
- Parameters:
stencil – Stencil clear value
- Returns:
Returns stencil clear value
-
static inline ClearValue createDepthStencilClearValue(float depth, uint32_t stencil)#
Create depth-stencil clear value factory function.
- Parameters:
depth – Depth clear value
stencil – Stencil value
- Returns:
Returns depth-stencil clear value
-
inline ClearValue()#
Color#
Defined in TypesVk.h
Struct Documentation#
-
struct Color#
Floating point Color data (rgba). Values from 0-1 inclusive.
Public Functions
-
inline Color(float r = 0.f, float g = 0.f, float b = 0.f, float a = 1.f)#
Constructor, default r:0, g:0, b:0, a:1.
- Parameters:
r – Red
g – Green
b – Blue
a – Alpha
-
inline Color(const float rgba[4])#
Constructor. Initialize with rgba values.
- Parameters:
rgba – Pointer to rgba values
-
inline float getR() const#
Get the red component (const)
- Returns:
The red component
-
inline float getG() const#
Get green component (const)
- Returns:
Green component
-
inline float getB() const#
Get blue component (const)
- Returns:
Blue component
-
inline float getA() const#
Get alpha component (const)
- Returns:
Alpha component
-
inline Color(float r = 0.f, float g = 0.f, float b = 0.f, float a = 1.f)#
CommandPoolCreateInfo#
Defined in CommandPoolVk.h
Struct Documentation#
-
struct CommandPoolCreateInfo#
Command pool creation descriptor.
Public Functions
-
inline explicit CommandPoolCreateInfo(uint32_t queueFamilyIndex, CommandPoolCreateFlags flags = CommandPoolCreateFlags::e_NONE, VkDeviceSize safetyCriticalCommandPoolReservedSize = 0, uint32_t safetyCriticalCommandPoolMaxCommandBuffers = 0)#
Constructor.
- Parameters:
queueFamilyIndex – Designates a queue family, all command buffers allocated from this command pool must be submitted to queues from the same queue family
flags – Flags to use for creating the command pool
safetyCriticalCommandPoolReservedSize – Only for Safety Critical, sets the size of the memory the command pool will have available to record command buffers to.
safetyCriticalCommandPoolMaxCommandBuffers – Set the amount of command buffers that will be allocated from this command pool.
-
inline CommandPoolCreateFlags getFlags() const#
Get the command pool creation flags.
- Returns:
The set of command pool creation flags
-
inline void setFlags(CommandPoolCreateFlags flags)#
Set the command pool creation flags.
- Parameters:
flags – The command pool creation flags
-
inline uint32_t getQueueFamilyIndex() const#
Get Queue family index.
- Returns:
The queue family index to which all command buffers allocated from this pool can be submitted to
-
inline void setQueueFamilyIndex(uint32_t queueFamilyIndex)#
Set the Queue family index.
- Parameters:
queueFamilyIndex – The queue family index to which all command buffers allocated from this pool can be submitted to
-
inline VkDeviceSize getCommandPoolReservedSize() const#
Get the size of memory the command pool will have to record command buffers to.
- Returns:
Memory size for recording command buffers to.
-
inline void setCommandPoolReservedSize(VkDeviceSize inSafetyCriticalCommandPoolReservedSize)#
Set the size of memory the command pool will have to record command buffers to.
- Parameters:
inSafetyCriticalCommandPoolReservedSize – Memory size for recording command buffers to.
-
inline uint32_t getCommandPoolMaxCommandBuffers() const#
Get the amount of command buffers that will be allocated from this command pool.
- Returns:
The amount of command buffers that will be allocated from this command pool.
-
inline void setCommandPoolMaxCommandBuffers(uint32_t safetyCriticalCommandPoolMaxCommandBuffers)#
Set the amount of command buffers that will be allocated from this command pool.
- Parameters:
safetyCriticalCommandPoolMaxCommandBuffers – Amount of command buffers that will be allocated from this command pool.
-
inline explicit CommandPoolCreateInfo(uint32_t queueFamilyIndex, CommandPoolCreateFlags flags = CommandPoolCreateFlags::e_NONE, VkDeviceSize safetyCriticalCommandPoolReservedSize = 0, uint32_t safetyCriticalCommandPoolMaxCommandBuffers = 0)#
ComputePipelineCreateInfo#
Defined in ComputePipelineVk.h
Inheritance Relationships#
Base Type#
public pvrvk::PipelineCreateInfo< ComputePipeline >
(PipelineCreateInfo)
Struct Documentation#
-
struct ComputePipelineCreateInfo : public pvrvk::PipelineCreateInfo<ComputePipeline>#
Compute pipeline create parameters.
Public Functions
-
inline ComputePipelineCreateInfo()#
Public Members
-
PipelineShaderStageCreateInfo computeShader#
Compute shader information.
-
inline ComputePipelineCreateInfo()#
CopyDescriptorSet#
Defined in DescriptorSetVk.h
Struct Documentation#
-
struct CopyDescriptorSet#
Copy descriptor set.
Public Members
-
DescriptorSet srcSet#
Source descriptor set to copy from.
-
uint32_t srcBinding#
source binding to copy
-
uint32_t srcArrayElement#
source array element to copy from
-
DescriptorSet dstSet#
Destination descriptor set.
-
uint32_t dstBinding#
Destination binding to copy in to.
-
uint32_t dstArrayElement#
Destination array element to copy into.
-
uint32_t descriptorCount#
Number of descriptor to copy.
-
DescriptorSet srcSet#
DebugMarkerMarkerInfo#
Defined in DebugUtilsVk.h
Struct Documentation#
-
struct DebugMarkerMarkerInfo#
DebugMarkerMarkerInfo used to define a debug marker.
Public Functions
-
inline DebugMarkerMarkerInfo()#
Constructor.
-
inline DebugMarkerMarkerInfo(const std::string &markerName, float colorR = 183.0f / 255.0f, float colorG = 26.0f / 255.0f, float colorB = 139.0f / 255.0f, float colorA = 1.0f)#
Constructor.
- Parameters:
markerName – The marker name to use
colorR – The red color component
colorG – The green color component
colorB – The blue color component
colorA – The alpha color component
-
inline const std::string &getMarkerName() const#
Get the marker.
- Returns:
The marker name
-
inline void setMarkerName(const std::string &markerName)#
Set the label.
- Parameters:
markerName – A new marker name
-
inline float getR() const#
Get red floating point component.
- Returns:
Red component
-
inline void setR(const float r)#
Set red floating point component.
- Parameters:
r – Red component
-
inline float getG() const#
Get green floating point component.
- Returns:
Green component
-
inline void setG(const float g)#
Set green floating point component.
- Parameters:
g – green component
-
inline float getB() const#
Get blue floating point component.
- Returns:
Blue component
-
inline void setB(const float b)#
Set blue floating point component.
- Parameters:
b – Blue component
-
inline float getA() const#
Get alpha floating point component.
- Returns:
Alpha component
-
inline void setA(const float a)#
Set alpha floating point component.
- Parameters:
a – Alpha component
-
inline DebugMarkerMarkerInfo()#
DebugReportCallbackCreateInfo#
Defined in DebugReportCallbackVk.h
Struct Documentation#
-
struct DebugReportCallbackCreateInfo#
DebugReportCallback creation descriptor.
Public Functions
-
inline DebugReportCallbackCreateInfo()#
Constructor (zero initialization)
-
inline DebugReportCallbackCreateInfo(DebugReportFlagsEXT flags, PFN_vkDebugReportCallbackEXT callback, void *pUserData = nullptr)#
Constructor.
- Parameters:
flags – A set of DebugReportFlagsEXT which specify the events causing this callback to be called.
callback – The application callback function to call.
pUserData – The userdata which will be passed to the application callback function.
-
inline DebugReportFlagsEXT getFlags() const#
Get the flags for the creation info.
- Returns:
The DebugReportFlagsEXT
-
inline DebugReportCallbackCreateInfo &setFlags(const DebugReportFlagsEXT &flags)#
Set the DebugReportFlagsEXT which specify the events causing this callback to be called.
- Parameters:
flags – A set of DebugReportFlagsEXT which specify the events causing this callback to be called.
- Returns:
this (allow chaining)
-
inline PFN_vkDebugReportCallbackEXT getCallback() const#
Get the application callback function.
- Returns:
The PFN_vkDebugReportCallbackEXT callback function
-
inline DebugReportCallbackCreateInfo &setCallback(const PFN_vkDebugReportCallbackEXT &callback)#
Set the PFN_vkDebugReportCallbackEXT specifying the callback function which will be called.
- Parameters:
callback – The application callback function to call.
- Returns:
this (allow chaining)
-
inline void *getPUserData() const#
Get the user data passed to the callback.
- Returns:
The userdata which will be passed to the application callback function
-
inline void setPUserData(void *pUserData)#
Set the user data passed to the callback.
- Parameters:
pUserData – The userdata which will be passed to the application callback function.
- Returns:
this (allow chaining)
-
inline DebugReportCallbackCreateInfo()#
DebugUtilsLabel#
Defined in DebugUtilsMessengerVk.h
Struct Documentation#
-
struct DebugUtilsLabel#
DebugUtilsLabel used to define a label.
Public Functions
-
inline DebugUtilsLabel()#
Constructor.
-
inline DebugUtilsLabel(const std::string &labelName, float colorR = 183.0f / 255.0f, float colorG = 26.0f / 255.0f, float colorB = 139.0f / 255.0f, float colorA = 1.0f)#
Constructor.
- Parameters:
labelName – The label to use
colorR – The red color component
colorG – The green color component
colorB – The blue color component
colorA – The alpha color component
-
inline const std::string &getLabelName() const#
Get the label.
- Returns:
The label name
-
inline void setLabelName(const std::string &labelName)#
Set the label.
- Parameters:
labelName – A new label name
-
inline float getR() const#
Get red floating point component.
- Returns:
Red component
-
inline void setR(const float r)#
Set red floating point component.
- Parameters:
r – Red component
-
inline float getG() const#
Get green floating point component.
- Returns:
Green component
-
inline void setG(const float g)#
Set green floating point component.
- Parameters:
g – green component
-
inline float getB() const#
Get blue floating point component.
- Returns:
Blue component
-
inline void setB(const float b)#
Set blue floating point component.
- Parameters:
b – Blue component
-
inline float getA() const#
Get alpha floating point component.
- Returns:
Alpha component
-
inline void setA(const float a)#
Set alpha floating point component.
- Parameters:
a – Alpha component
-
inline DebugUtilsLabel()#
DebugUtilsMessengerCallbackData#
Defined in DebugUtilsMessengerVk.h
Struct Documentation#
-
struct DebugUtilsMessengerCallbackData#
DebugUtilsMessengerCallbackData callback data structure.
Public Functions
-
inline DebugUtilsMessengerCallbackData()#
Constructor (zero initialization)
-
inline DebugUtilsMessengerCallbackData(DebugUtilsMessengerCallbackDataFlagsEXT flags, const std::string &messageIdName, int32_t messageIdNumber, const std::string &message, std::vector<DebugUtilsLabel> &queueLabels, std::vector<DebugUtilsLabel> &cmdBufLabels, std::vector<DebugUtilsObjectNameInfo> &objects)#
Constructor.
- Parameters:
flags – A set of flags reserved for future use.
messageIdName – A bitmask specifying the type of events which will cause the callback to be called.
messageIdNumber – The application callback function to call.
message – The userdata which will be passed to the application callback function.
queueLabels – A list of relevant queue labels.
cmdBufLabels – A list of relevant command buffer labels.
objects – A list of relevant objects.
-
inline DebugUtilsMessengerCallbackDataFlagsEXT getFlags() const#
Get the message callback flags.
- Returns:
The message callback flags
-
inline void setFlags(DebugUtilsMessengerCallbackDataFlagsEXT flags)#
Set the message callback flags.
- Parameters:
flags – The message callback flags
-
inline const std::string &getMessageIdName() const#
Get the message id name.
- Returns:
The id name of the message
-
inline void setMessageIdName(const std::string &messageIdName)#
Set the id name of the message.
- Parameters:
messageIdName – A new id name for the message
-
inline int32_t getMessageIdNumber() const#
Get the message id number.
- Returns:
The id of the message
-
inline void setMessageIdName(int32_t messageIdNumber)#
Set the id of the message.
- Parameters:
messageIdNumber – A new id for the message
-
inline const std::string &getMessage() const#
Get the message.
- Returns:
The message
-
inline void setMessage(const std::string &message)#
Set the message.
- Parameters:
message – A new message
-
inline uint32_t getNumQueueLabels() const#
Get the number of queue labels.
- Returns:
The number of queue labels
-
inline const std::vector<DebugUtilsLabel> &getQueueLabels() const#
Get the list of queue labels.
- Returns:
The list of queue labels
-
inline const DebugUtilsLabel &getQueueLabel(uint32_t index) const#
Get the queue label at the index specified.
- Parameters:
index – The index of the queue label to retrieve
- Returns:
The queue label retrieved
-
inline void setQueueLabels(const std::vector<DebugUtilsLabel> &queueLabels)#
Sets the queue labels list.
- Parameters:
queueLabels – A list of queue labels to add
-
inline void addQueueLabel(const DebugUtilsLabel &queueLabel)#
Adds a new queue label to the list of queue labels.
- Parameters:
queueLabel – A new queue label to add to the existing list of queue labels
-
inline uint32_t getNumCmdBufLabels() const#
Get the number of cmdBuf labels.
- Returns:
The number of cmdBuf labels
-
inline const std::vector<DebugUtilsLabel> &getCmdBufLabels() const#
Get the list of cmdBuf labels.
- Returns:
The list of cmdBuf labels
-
inline const DebugUtilsLabel &getCmdBufLabel(uint32_t index) const#
Get the cmdBuf label at the index specified.
- Parameters:
index – The index of the cmdBuf label to retrieve
- Returns:
The cmdBuf label retrieved
-
inline void setCmdBufLabels(const std::vector<DebugUtilsLabel> &cmdBufLabels)#
Sets the cmdBuf labels list.
- Parameters:
cmdBufLabels – A list of cmdBuf labels to add
-
inline void addCmdBufLabel(const DebugUtilsLabel &cmdBufLabel)#
Adds a new cmdBuf label to the list of cmdBuf labels.
- Parameters:
cmdBufLabel – A new cmdBuf label to add to the existing list of cmdBuf labels
-
inline uint32_t getNumObjects() const#
Get the number of objects.
- Returns:
The number of objects
-
inline const std::vector<DebugUtilsObjectNameInfo> &getObjects() const#
Get the list of objects.
- Returns:
The list of objects
-
inline const DebugUtilsObjectNameInfo &getObject(uint32_t index) const#
Get the cmdBuf label at the index specified.
- Parameters:
index – The index of the cmdBuf label to retrieve
- Returns:
The cmdBuf label retrieved
-
inline void setObjects(const std::vector<DebugUtilsObjectNameInfo> &objects)#
Sets the objects list.
- Parameters:
objects – A list of objects to add
-
inline void addCmdBufLabel(const DebugUtilsObjectNameInfo &cmdBufLabel)#
Adds a new cmdBuf label to the list of objects.
- Parameters:
cmdBufLabel – A new cmdBuf label to add to the existing list of objects
-
inline DebugUtilsMessengerCallbackData()#
DebugUtilsMessengerCreateInfo#
Defined in DebugUtilsMessengerVk.h
Struct Documentation#
-
struct DebugUtilsMessengerCreateInfo#
DebugUtilsMessengerCreateInfo creation descriptor.
Public Functions
-
inline DebugUtilsMessengerCreateInfo()#
Constructor (zero initialization)
-
inline DebugUtilsMessengerCreateInfo(DebugUtilsMessageSeverityFlagsEXT messageSeverity, DebugUtilsMessageTypeFlagsEXT messageType, PFN_vkDebugUtilsMessengerCallbackEXT callback, void *pUserData = nullptr, DebugUtilsMessengerCreateFlagsEXT flags = DebugUtilsMessengerCreateFlagsEXT::e_NONE)#
Constructor.
- Parameters:
messageSeverity – A bitmask specifying which severity of events will cause the callback to be called.
messageType – A bitmask specifying the type of events which will cause the callback to be called.
callback – The application callback function to call.
pUserData – The userdata which will be passed to the application callback function.
flags – Reserved for future use.
-
inline DebugUtilsMessengerCreateFlagsEXT getFlags() const#
Get the flags for the creation info.
- Returns:
The DebugUtilsMessengerCreateFlagsEXT
-
inline DebugUtilsMessengerCreateInfo &setFlags(const DebugUtilsMessengerCreateFlagsEXT &flags)#
Set the DebugReportFlagsEXT which are reserved for future use.
- Parameters:
flags – Reserved for future use.
- Returns:
this (allow chaining)
-
inline DebugUtilsMessageSeverityFlagsEXT getMessageSeverity() const#
Get the severity flags for the creation info.
- Returns:
The DebugUtilsMessageSeverityFlagsEXT
-
inline DebugUtilsMessengerCreateInfo &setMessageSeverity(const DebugUtilsMessageSeverityFlagsEXT &messageSeverity)#
Set the DebugUtilsMessageSeverityFlagsEXT specifying which severity of events will cause the callback to be called.
- Parameters:
messageSeverity – A bitmask specifying which severity of events will cause the callback to be called.
- Returns:
this (allow chaining)
-
inline DebugUtilsMessageTypeFlagsEXT getMessageType() const#
Get the message type for the creation info.
- Returns:
The DebugUtilsMessageTypeFlagsEXT
-
inline DebugUtilsMessengerCreateInfo &setMessageType(const DebugUtilsMessageTypeFlagsEXT &messageType)#
Set the DebugUtilsMessageTypeFlagsEXT specifying the type of events which will cause the callback to be called.
- Parameters:
messageType – A bitmask specifying the type of events which will cause the callback to be called
- Returns:
this (allow chaining)
-
inline PFN_vkDebugUtilsMessengerCallbackEXT getCallback() const#
Get the application callback function.
- Returns:
The PFN_vkDebugUtilsMessengerCallbackEXT callback function
-
inline DebugUtilsMessengerCreateInfo &setCallback(const PFN_vkDebugUtilsMessengerCallbackEXT &callback)#
Set the PFN_vkDebugUtilsMessengerCallbackEXT specifying the callback function which will be called.
- Parameters:
callback – The application callback function to call.
- Returns:
this (allow chaining)
-
inline void *getPUserData() const#
Get the user data passed to the callback.
- Returns:
The userdata which will be passed to the application callback function
-
inline void setPUserData(void *pUserData)#
Set the user data passed to the callback.
- Parameters:
pUserData – The userdata which will be passed to the application callback function.
- Returns:
this (allow chaining)
-
inline DebugUtilsMessengerCreateInfo()#
DebugUtilsObjectNameInfo#
Defined in DebugUtilsMessengerVk.h
Struct Documentation#
-
struct DebugUtilsObjectNameInfo#
DebugUtilsObjectNameInfo structure used to set the name associated with an object.
Public Functions
-
inline DebugUtilsObjectNameInfo()#
Constructor.
-
inline DebugUtilsObjectNameInfo(ObjectType objectType, uint64_t objectHandle, const std::string &objectName)#
Constructor.
- Parameters:
objectType – The ObjectType of the object
objectHandle – The object handle
objectName – The name of the object
-
inline ObjectType getObjectType() const#
Get the object type.
- Returns:
The object type of the structure
-
inline void setObjectType(ObjectType objectType)#
Set the type of the object.
- Parameters:
objectType – A new object type
-
inline uint64_t getObjectHandle() const#
Get the object handle.
- Returns:
The object handle of the structure
-
inline void setObjectHandle(uint64_t objectHandle)#
Set the handle of the object.
- Parameters:
objectHandle – A new object handle
-
inline const std::string &getObjectName() const#
Get the object name.
- Returns:
The object name of the structure
-
inline void setObjectName(const std::string &objectName)#
Set the name of the object.
- Parameters:
objectName – A new object name
-
inline DebugUtilsObjectNameInfo()#
DebugUtilsObjectTagInfo#
Defined in DebugUtilsMessengerVk.h
Struct Documentation#
-
struct DebugUtilsObjectTagInfo#
DebugUtilsObjectTagInfo structure used to set the tag associated with an object.
Public Functions
-
inline DebugUtilsObjectTagInfo()#
Constructor.
-
inline DebugUtilsObjectTagInfo(ObjectType objectType, uint64_t objectHandle, uint64_t tagName, size_t tagSize, const void *pTag)#
Constructor.
- Parameters:
objectType – The ObjectType of the object
objectHandle – The object handle
tagName – The name of the object
tagSize – The size of a tag
pTag – A tag to use
-
inline ObjectType getObjectType() const#
Get the object type.
- Returns:
The object type of the structure
-
inline void setObjectType(ObjectType objectType)#
Set the type of the object.
- Parameters:
objectType – A new object type
-
inline uint64_t getObjectHandle() const#
Get the object handle.
- Returns:
The object handle of the structure
-
inline void setObjectHandle(uint64_t objectHandle)#
Set the handle of the object.
- Parameters:
objectHandle – A new object handle
-
inline uint64_t getTagName() const#
Get the object tag name.
- Returns:
The object tag name of the structure
-
inline void setTagName(uint64_t tagName)#
Set the tag name of the object.
- Parameters:
tagName – A new object tag name
-
inline size_t getTagSize() const#
Get the object handle.
- Returns:
The object handle of the structure
-
inline void setTagSize(size_t tagSize)#
Set the tag size for the object.
- Parameters:
tagSize – A new tag size for the object
-
inline const void *getTag() const#
Get the object tag.
- Returns:
The object tag of the structure
-
inline void setTag(const void *tag)#
Set the tag for the object.
- Parameters:
tag – A new tag for the object handle
-
inline DebugUtilsObjectTagInfo()#
DescriptorBufferInfo#
Defined in DescriptorSetVk.h
Struct Documentation#
-
struct DescriptorBufferInfo#
A struct describing a descriptor buffer binding.
Public Functions
-
inline DescriptorBufferInfo()#
Constructor. Zero initialize.
-
inline DescriptorBufferInfo(const Buffer &buffer, VkDeviceSize offset, VkDeviceSize range)#
Constructor. Individual elements.
- Parameters:
buffer – The referenced buffer
offset – An offset into the buffer, if the buffer is piecemally bound
range – A range of the buffer, if the buffer is piecemally bound
-
inline DescriptorBufferInfo()#
DescriptorImageInfo#
Defined in DescriptorSetVk.h
Struct Documentation#
-
struct DescriptorImageInfo#
This class contains all the information necessary to populate a Descriptor Set with the actual API objects. Use with the method update of the DescriptorSet. Populate this object with actual Descriptor objects (UBOs, textures etc).
Public Functions
-
inline DescriptorImageInfo()#
Constructor. Initalizes to pvrvk::ImageLayout::e_UNDEFINED.
-
inline explicit DescriptorImageInfo(const Sampler &sampler)#
Constructor from a sampler object.
- Parameters:
sampler – Sampler handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLER and pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER if the binding being updated does not use immutable samplers
-
inline DescriptorImageInfo(const ImageView &imageView, const Sampler &sampler, pvrvk::ImageLayout imageLayout = pvrvk::ImageLayout::e_SHADER_READ_ONLY_OPTIMAL)#
Constructor from all elements.
- Parameters:
imageView – Image view handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
sampler – Sampler handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLER and pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER if the binding being updated does not use immutable samplers
imageLayout – Layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
-
inline DescriptorImageInfo(const ImageView &imageView, pvrvk::ImageLayout imageLayout = pvrvk::ImageLayout::e_SHADER_READ_ONLY_OPTIMAL)#
Constructor from all elements except sampler.
- Parameters:
imageView – Image view handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
imageLayout – Layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
Public Members
-
Sampler sampler#
Sampler handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLER and pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER if the binding being updated does not use immutable samplers
-
ImageView imageView#
Image view handle, and is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
-
pvrvk::ImageLayout imageLayout#
Layout that the image subresources accessible from imageView will be in at the time this descriptor is accessed. imageLayout is used in descriptor updates for types pvrvk::DescriptorType::e_SAMPLED_IMAGE, pvrvk::DescriptorType::e_STORAGE_IMAGE, pvrvk::DescriptorType::e_COMBINED_IMAGE_SAMPLER, and pvrvk::DescriptorType::e_INPUT_ATTACHMENT
-
inline DescriptorImageInfo()#
DescriptorPoolCreateInfo#
Defined in DescriptorSetVk.h
Struct Documentation#
-
struct DescriptorPoolCreateInfo#
Descriptor Pool create parameter.
Public Functions
-
inline DescriptorPoolCreateInfo()#
Constructor.
-
inline explicit DescriptorPoolCreateInfo(uint16_t maxSets, uint16_t combinedImageSamplers = 32, uint16_t inputAttachments = 0, uint16_t staticUbos = 32, uint16_t dynamicUbos = 32, uint16_t staticSsbos = 0, uint16_t dynamicSsbos = 0)#
Constructor.
- Parameters:
maxSets – The maximum number of descriptor sets which can be allocated by this descriptor pool
combinedImageSamplers – The maximum number of combined image samplers descriptor types which can be used in descriptor sets allocated by this descriptor pool.
inputAttachments – The maximum number of input attachment descriptor types which can be used in descriptor sets allocated by this descriptor pool.
staticUbos – The maximum number of uniform buffer descriptor types which can be used in descriptor sets allocated by this descriptor pool.
dynamicUbos – The maximum number of dynamic uniform buffers descriptor types which can be used in descriptor sets allocated by this descriptor pool.
staticSsbos – The maximum number of storage buffer descriptor types which can be used in descriptor sets allocated by this descriptor pool.
dynamicSsbos – The maximum number of dynamic storage buffer descriptor types which can be used in descriptor sets allocated by this descriptor pool.
-
inline explicit DescriptorPoolCreateInfo(std::initializer_list<pvrvk::DescriptorPoolSize> descriptorPoolSizes, uint16_t maxSets = 200)#
-
inline DescriptorPoolCreateInfo &addDescriptorInfo(const pvrvk::DescriptorPoolSize &descriptorPoolSize)#
-
inline DescriptorPoolCreateInfo &addDescriptorInfo(pvrvk::DescriptorType descType, uint16_t count)#
Add the maximum number of the specified descriptor types that the pool will contain.
- Parameters:
descType – Descriptor type
count – Maximum number of descriptors of (type)
- Returns:
this (allow chaining)
-
inline DescriptorPoolCreateInfo &setMaxDescriptorSets(uint16_t maxSets)#
Set the maximum number of descriptor sets.
- Parameters:
maxSets – The maximum number of descriptor sets
- Returns:
this (allow chaining)
-
inline uint32_t getNumPoolSizes() const#
Get the number of descriptor pool sizes (const).
- Returns:
Number of descriptor pool sizes.
-
inline const pvrvk::DescriptorPoolSize &getPoolSize(uint32_t index) const#
Get the pool size at the given index (const).
- Parameters:
index – The pool index
- Returns:
The DescriptorPoolSize at index
-
inline uint32_t getMaxDescriptorSets() const#
Get maximum sets supported on this pool.
- Returns:
uint32_t
-
inline DescriptorPoolCreateInfo()#
DescriptorSetLayoutCreateInfo#
Defined in DescriptorSetVk.h
Nested Relationships#
Nested Types#
Struct Documentation#
-
struct DescriptorSetLayoutCreateInfo#
Public Functions
-
DescriptorSetLayoutCreateInfo() = default#
-
inline DescriptorSetLayoutCreateInfo(std::initializer_list<DescriptorSetLayoutBinding> bindingList)#
-
inline DescriptorSetLayoutCreateInfo &setBinding(const DescriptorSetLayoutBinding &layoutBinding)#
-
inline DescriptorSetLayoutCreateInfo &setBinding(uint16_t binding, pvrvk::DescriptorType descriptorType, uint16_t descriptorCount = 1, pvrvk::ShaderStageFlags stageFlags = pvrvk::ShaderStageFlags::e_ALL, Sampler immutableSampler = Sampler())#
Set the buffer binding of Descriptor Objects in the specified shader stages.
- Parameters:
binding – The index to which the binding will be added
descriptorType – The type of descriptor
descriptorCount – The number of descriptors to add starting at that index
stageFlags – The shader stages for which the number of bindings is set to (count)
immutableSampler – If an immutable sampler is set, pass it here. See vulkan spec
- Returns:
This object (allows chaining of calls)
-
inline DescriptorSetLayoutCreateInfo &clear()#
Clear all entries.
- Returns:
Return this for chaining
-
inline uint16_t getNumBindings() const#
Return the number of images in this object.
- Returns:
the number of images in this object
-
inline bool operator==(const DescriptorSetLayoutCreateInfo &rhs) const#
Equality operator. Does deep comparison of the contents.
- Parameters:
rhs – The right-hand side argument of the operator.
- Returns:
True if the layouts have identical bindings
-
inline const DescriptorSetLayoutBinding *getBinding(uint16_t bindingId) const#
Get descriptor binding.
- Parameters:
bindingId – Binding Index
- Returns:
The binding layout object (DescriptorBindingLayout)
-
inline const DescriptorSetLayoutBinding *getAllBindings() const#
Get all layout bindings.
- Returns:
const DescriptorSetLayoutBinding*
Friends
- friend class ::pvrvk::impl::DescriptorSetLayout_
- friend struct ::pvrvk::WriteDescriptorSet
-
struct DescriptorSetLayoutBinding#
Public Functions
-
inline DescriptorSetLayoutBinding()#
-
inline DescriptorSetLayoutBinding(uint16_t bindIndex, pvrvk::DescriptorType descType, uint16_t descriptorCount = 1, pvrvk::ShaderStageFlags stageFlags = pvrvk::ShaderStageFlags::e_ALL, const Sampler &immutableSampler = Sampler())#
-
inline bool operator==(const DescriptorSetLayoutBinding &rhs) const#
-
inline bool operator!=(const DescriptorSetLayoutBinding &rhs) const#
-
inline DescriptorSetLayoutBinding()#
-
DescriptorSetLayoutCreateInfo() = default#
DescriptorSetLayoutCreateInfo::DescriptorSetLayoutBinding#
Defined in DescriptorSetVk.h
Nested Relationships#
This struct is a nested type of DescriptorSetLayoutCreateInfo.
Struct Documentation#
-
struct DescriptorSetLayoutBinding
Public Functions
-
inline DescriptorSetLayoutBinding()
-
inline DescriptorSetLayoutBinding(uint16_t bindIndex, pvrvk::DescriptorType descType, uint16_t descriptorCount = 1, pvrvk::ShaderStageFlags stageFlags = pvrvk::ShaderStageFlags::e_ALL, const Sampler &immutableSampler = Sampler())
-
inline bool operator==(const DescriptorSetLayoutBinding &rhs) const
-
inline bool operator!=(const DescriptorSetLayoutBinding &rhs) const
Public Members
-
uint16_t binding
-
pvrvk::DescriptorType descriptorType
-
uint16_t descriptorCount
-
pvrvk::ShaderStageFlags stageFlags
-
Sampler immutableSampler
-
inline DescriptorSetLayoutBinding()
DeviceCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct DeviceCreateInfo#
Containes device create info.
Public Functions
-
inline explicit DeviceCreateInfo(const std::vector<DeviceQueueCreateInfo> &queueCreateInfos = std::vector<DeviceQueueCreateInfo>(), const VulkanExtensionList &enabledExtensions = VulkanExtensionList(), const PhysicalDeviceFeatures *enabledFeatures = nullptr, DeviceCreateFlags flags = DeviceCreateFlags::e_NONE)#
Constructor for the creation information structure for a Device.
- Parameters:
queueCreateInfos – A list of pvrvk::DeviceQueueCreateInfo structures specifying which queue families should be initialised with the device as well as the number of queues to retrieve from each queue family along with their corresponding priorities.
enabledExtensions – A set of Vulkan device extensions to enable for the device.
enabledFeatures – A set of Vulkan device features to enable for the device.
flags – A set of reserved device creation flags.
-
inline const DeviceCreateFlags &getFlags() const#
Get the device creation flags.
- Returns:
A set of DeviceCreateFlags
-
inline void setFlags(const DeviceCreateFlags &inFlags)#
Sets the device creation info flags.
- Parameters:
inFlags – A set of DeviceCreateFlags specifying how the device will be created.
-
inline uint32_t getNumDeviceQueueCreateInfos() const#
Get the number of queue create info structures.
- Returns:
The number of device queue create infos
-
inline const std::vector<DeviceQueueCreateInfo> &getDeviceQueueCreateInfos() const#
Get the queue create info structures.
- Returns:
The device queue create infos
-
inline const DeviceQueueCreateInfo &getDeviceQueueCreateInfo(uint32_t index) const#
Get the queue create info structure at the specified index (const)
- Parameters:
index – The specific index of the queue create info structure to set.
- Returns:
The device queue create info at the specified index (const)
-
inline DeviceQueueCreateInfo &getDeviceQueueCreateInfo(uint32_t index)#
Get the queue create info structure at the specified index.
- Parameters:
index – The specific index of the queue create info structure to get.
- Returns:
The device queue create info at the specified index
-
inline void setDeviceQueueCreateInfos(const std::vector<DeviceQueueCreateInfo> &inQueueCreateInfos)#
Sets the device queue creation info structures.
- Parameters:
inQueueCreateInfos – A list of DeviceQueueCreateInfo specifying the queue family indices and corresponding queues (and priorites) to create.
-
inline void addDeviceQueue(DeviceQueueCreateInfo deviceQueueCreateInfo = DeviceQueueCreateInfo())#
Adds a new device queue creation info structure.
- Parameters:
deviceQueueCreateInfo – A DeviceQueueCreateInfo specifying a queue family index and its corresponding queues (and priorites) to create.
-
inline void addDeviceQueueAtIndex(uint32_t index, DeviceQueueCreateInfo deviceQueueCreateInfo = DeviceQueueCreateInfo())#
Adds a new device queue creation info structure at the specified index.
- Parameters:
index – The index of the device queue create info structure to set.
deviceQueueCreateInfo – A DeviceQueueCreateInfo specifying a queue family index and its corresponding queues (and priorites) to create.
-
inline void clearDeviceQueueCreateInfos()#
Clears the device queue create info structures.
-
inline const VulkanExtensionList &getExtensionList() const#
Get the list of enabled extensions.
- Returns:
The list of enabled instance extensions
-
inline void setExtensionList(const VulkanExtensionList &inEnabledExtensions)#
Sets the enabled extension list.
- Parameters:
inEnabledExtensions – A VulkanExtensionList
-
inline const PhysicalDeviceFeatures *getEnabledFeatures() const#
Get a pointer to the physical device features structure.
- Returns:
A pointer to the enabled physical device features
-
inline void setEnabledFeatures(const PhysicalDeviceFeatures *inEnabledFeatures)#
Sets the enabled physical device features.
- Parameters:
inEnabledFeatures – A pointer to a set of PhysicalDeviceFeatures.
-
inline void setLastRequestedExtensionFeature(void *inLastRequestedExtensionFeature)#
Sets the pointer to the extension feature.
- Parameters:
inLastRequestedExtensionFeature – A pointer to the extension feature.
-
inline const void *getLastRequestedExtensionFeature() const#
Get a pointer to the extension feature.
- Returns:
A pointer to the extension feature
-
inline void setIsSafetyCritical(bool InIsSafetyCritical)#
Set whether the application is running in Vulkan Safety Critical mode.
- Parameters:
InIsSafetyCritical – Value to set.
-
inline const bool getIsSafetyCritical() const#
Get whether the application is running in Vulkan Safety Critical mode.
- Returns:
True if the application is running in Vulkan Safety Critical mode, false otherwise.
-
inline void setDeviceObjectReservationCreateInfo(VkDeviceObjectReservationCreateInfo inReservationCreateInfo)#
Set the struct reservationCreateInfo with the parameters for when the application is run in Vulkan Safety Critical mode.
- Parameters:
inReservationCreateInfo – Value to set.
-
inline const VkDeviceObjectReservationCreateInfo &getDeviceObjectReservationCreateInfo() const#
Get the struct reservationCreateInfo with the parameters for when the application is run in Vulkan Safety Critical mode.
- Returns:
Const reference to inReservationCreateInfo.
-
inline explicit DeviceCreateInfo(const std::vector<DeviceQueueCreateInfo> &queueCreateInfos = std::vector<DeviceQueueCreateInfo>(), const VulkanExtensionList &enabledExtensions = VulkanExtensionList(), const PhysicalDeviceFeatures *enabledFeatures = nullptr, DeviceCreateFlags flags = DeviceCreateFlags::e_NONE)#
DeviceQueueCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct DeviceQueueCreateInfo#
Contains information about the queues to create for a single queue family. A set of DeviceQueueCreateInfo structures for each queue families are passed in to DeviceCreateInfo when creating the device.
Public Functions
-
inline DeviceQueueCreateInfo()#
Constructor.
-
inline DeviceQueueCreateInfo(uint32_t queueFamilyIndex, uint32_t queueCount)#
Constructor. Each of queueCount queues will have a default priority of 1.0f.
- Parameters:
queueFamilyIndex – The queue family index
queueCount – The number of queues to create in the particular family type
-
inline DeviceQueueCreateInfo(uint32_t queueFamilyIndex, const std::vector<float> &queuePriorities)#
Constructor.
- Parameters:
queueFamilyIndex – The queue family index
queuePriorities – A list of queue priorities specifying both the number of queues to create in the particular family type and their priority
-
inline uint32_t getQueueFamilyIndex() const#
Retrieve the queue family index.
- Returns:
The queue family index
-
inline void setQueueFamilyIndex(uint32_t inQueueFamilyIndex)#
Sets the queue family index.
- Parameters:
inQueueFamilyIndex – The queue family index
-
inline const uint32_t getNumQueues() const#
Retrieve the number of queues created in the queue family index.
- Returns:
The number of queues in the particular queue family index
-
inline const std::vector<float> &getQueuePriorities() const#
Retrieve the queues created in the queue family index (const)
- Returns:
The queues in the particular queue family index (const)
-
inline std::vector<float> &getQueuePriorities()#
Retrieve the queues created in the queue family index.
- Returns:
The queues in the particular queue family index
-
inline float getQueuePriority(uint32_t index) const#
Retrieve the queue priority of the queue at the specified index.
- Parameters:
index – The index of the queue priority to get
- Returns:
The queue priority of the queue at the specified index
-
inline void addQueue(float priority = 1.0f)#
Adds a queue with a particular priority.
- Parameters:
priority – The queue priority
-
inline void addQueueAtIndex(uint32_t index, float priority = 1.0f)#
Sets a queues priority.
- Parameters:
index – The index of queue priority to set
priority – The new queue priority
-
inline void clearQueues()#
Clears all the queue priorities.
-
inline DeviceQueueCreateInfo()#
DisplayModeCreateInfo#
Defined in DisplayModeVk.h
Struct Documentation#
-
struct DisplayModeCreateInfo#
Display Mode creation descriptor.
Public Functions
-
inline DisplayModeCreateInfo()#
Constructor (zero initialization)
-
inline DisplayModeCreateInfo(DisplayModeParametersKHR parameters, DisplayModeCreateFlagsKHR flags = DisplayModeCreateFlagsKHR::e_NONE)#
Constructor.
- Parameters:
parameters – Display mode parameters used to initialise the display mode creation structure
flags – A set of pvrvk::DisplayModeCreateFlagsKHR defining how to create a given pvrvk::DisplayMode
-
inline DisplayModeCreateFlagsKHR getFlags() const#
Getter for the display mode creation flags.
- Returns:
A DisplayModeCreateFlagsKHR structure
-
inline DisplayModeCreateInfo &setFlags(DisplayModeCreateFlagsKHR flags)#
Setter for the display mode creation flags.
- Parameters:
flags – A set of DisplayModeCreateFlagsKHR
- Returns:
This object
-
inline DisplayModeParametersKHR getParameters() const#
Getter for the display mode parameters.
- Returns:
A DisplayModeParametersKHR structure
-
inline DisplayModeCreateInfo &setParameters(DisplayModeParametersKHR parameters)#
Setter for the display mode parameters.
- Parameters:
parameters – A set of DisplayModeParametersKHR
- Returns:
This object
-
inline DisplayModeCreateInfo()#
DynamicStatesCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct DynamicStatesCreateInfo#
Create params for Pipeline Dynamic states. Enable each state that you want to be able to dynamically set.
Public Functions
-
inline DynamicStatesCreateInfo()#
Constructor.
-
inline bool isDynamicStateEnabled(DynamicState state) const#
Check if a specific dynamic state is enabled.
- Parameters:
state – The state to check
- Returns:
true if state is enabled, otherwise false
-
inline const std::vector<DynamicState> &getDynamicStates() const#
Get a copy of the dynamic states that have been enabled.
- Returns:
Vector containing the dynamic states that have been enabled
-
inline DynamicStatesCreateInfo &setDynamicState(DynamicState state, bool enable)#
Enable/disable a dynamic state.
- Parameters:
state – The state to enable or disable
enable – True to enable, false to disable
- Returns:
Return this object(allows chained calls)
-
inline DynamicStatesCreateInfo()#
EventCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct EventCreateInfo#
Event creation descriptor.
Public Functions
-
inline explicit EventCreateInfo(EventCreateFlags flags = EventCreateFlags::e_NONE)#
Constructor.
- Parameters:
flags – Flags to use for creating the event
-
inline EventCreateFlags getFlags() const#
Get the event creation flags.
- Returns:
The set of event creation flags
-
inline void setFlags(EventCreateFlags flags)#
Set the event creation flags.
- Parameters:
flags – The event creation flags
-
inline explicit EventCreateInfo(EventCreateFlags flags = EventCreateFlags::e_NONE)#
ExportMemoryAllocateInfoKHR#
Defined in DeviceMemoryVk.h
Struct Documentation#
-
struct ExportMemoryAllocateInfoKHR#
Implementation of the VkExportMemoryAllocateInfoKHR class used by the VK_KHR_external_memory extension.
Public Functions
-
inline ExportMemoryAllocateInfoKHR()#
Constructor. handleTypes are initialized to zero.
-
inline ExportMemoryAllocateInfoKHR(ExternalMemoryHandleTypeFlags handleTypes)#
Constructor. handleTypes are initialized to the parameter passed.
- Parameters:
handleTypes – The ExternalMemoryHandleTypeFlags used to initialise handleTypes.
Public Members
-
ExternalMemoryHandleTypeFlags handleTypes#
HandleTypes member.
-
inline ExportMemoryAllocateInfoKHR()#
Extent2Df#
Defined in TypesVk.h
Struct Documentation#
-
struct Extent2Df#
2 dimensional extent which contains the width and height
Public Functions
-
inline Extent2Df()#
default Constructor
-
inline Extent2Df(float width, float height)#
Constructor.
- Parameters:
width – An extent width
height – An extent height
-
inline float getWidth() const#
Get the extent width.
- Returns:
The extent width
-
inline void setWidth(float inWidth)#
Sets the extent width.
- Parameters:
inWidth – An extent width
-
inline float getHeight() const#
Get the extent height.
- Returns:
The extent height
-
inline void setHeight(float inHeight)#
Sets the extent height.
- Parameters:
inHeight – An extent height
-
inline Extent2Df()#
FenceCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct FenceCreateInfo#
fence creation descriptor.
Public Functions
-
inline FenceCreateInfo(FenceCreateFlags flags = FenceCreateFlags::e_NONE)#
Constructor.
- Parameters:
flags – Flags to use for creating the fence
-
inline FenceCreateFlags getFlags() const#
Get the fence creation flags.
- Returns:
The set of fence creation flags
-
inline void setFlags(FenceCreateFlags flags)#
Set the fence creation flags.
- Parameters:
flags – The fence creation flags
-
inline FenceCreateInfo(FenceCreateFlags flags = FenceCreateFlags::e_NONE)#
FragmentShadingRateAttachmentInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct FragmentShadingRateAttachmentInfo#
Public Functions
-
inline FragmentShadingRateAttachmentInfo()#
-
inline FragmentShadingRateAttachmentInfo(bool enabled, const AttachmentReference2 &attachment, const Extent2D texelSize = Extent2D(1u, 1u))#
-
inline FragmentShadingRateAttachmentInfo(const bool enabled, const uint32_t attachment, const ImageLayout imageLayout, const ImageAspectFlags aspectMask, const Extent2D texelSize = Extent2D(1u, 1u))#
-
inline FragmentShadingRateAttachmentInfo &setEnabled(const bool enabled)#
-
inline FragmentShadingRateAttachmentInfo &setFragmentShadingRateAttachment(const AttachmentReference2 &attachment)#
-
inline FragmentShadingRateAttachmentInfo &setTexelSize(const Extent2D texelSize)#
-
inline bool getEnabled() const#
-
inline AttachmentReference2 getAttachment() const#
-
inline Extent2D getTexelSize() const#
-
inline FragmentShadingRateAttachmentInfo()#
FragmentShadingRateStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct FragmentShadingRateStateCreateInfo#
Creation parameters for fragment shading rate functionality.
Be sure to check wherever FSR is supported by the physical device in use and enable the feature during logical device creation as FSR is an extension and is not in core vulkan
Public Functions
-
inline explicit FragmentShadingRateStateCreateInfo(bool fragmentShadingRateEnabled = false, Extent2D fragmentSize = Extent2D(1, 1), FragmentShadingRateCombinerOpKHR combinerOpPipelinePrimitive = FragmentShadingRateCombinerOpKHR::e_KEEP_KHR, FragmentShadingRateCombinerOpKHR combinerOpResultAttachment = FragmentShadingRateCombinerOpKHR::e_KEEP_KHR)#
Constructor. Initialise with inidividual values.
Disabled by default<remarks>
- Parameters:
fragmentShadingRateEnabled – Determines wherever fragment shading rate is enabled
fragmentSize – The fragment size to be used for pipeline fragment shading rate
combinerOpPipelinePrimitive – Defines how the pipeline fragment size (Axy) interacts with the primitive fragment size (Bxy). The resulting fragment size is Cxy = CombineOp(Axy, Bxy) as described in the vulkan spec. Default value is KEEP, resulting in Cxy = Axy.
combinerOpResultAttachment – Defines how the resulting fragment size from the pipeline/primitive combine operation (Axy) interacts with the attachment fragment size (Bxy). The final fragment size is Cxy = CombineOp(Axy, Bxy) as described in the vulkan spec. Default value is KEEP, resulting in Cxy = Axy.
-
inline bool isEnabled() const#
Is fragment shading rate functionality enabled?
- Returns:
Boolean is true if enabled
-
inline const Extent2D &getFragmentSize() const#
Get the pipeline FSR fragment size.
- Returns:
{X,Y} value indicating fragment size
-
inline FragmentShadingRateCombinerOpKHR getCombinerOpPipelinePrimitive() const#
Get the currently set primitive/pipeline combiner op. This value defines the first of 2 combine-operations performed to determine the final fragment size to be rendered at. The first input Axy is the pipeline fragment size, the second input Bxy is the primitive fragment size and they are combined according to this combiner op resulting in Cxy = CombineOp(Axy, Bxy). For example if this combiner op is set to KEEP then Cxy = Axy.
- Returns:
The first combiner operation
-
inline FragmentShadingRateCombinerOpKHR getCombinerOpResultAttachment() const#
Get the currently set result/attachment combiner op. This value defines the second of 2 combine-operations performed to determine the final fragment size to be rendered at. The first input Axy is the result of the first combiner op (combinerOpPipelinePrimitive), the second input Bxy is the attachment fragment size and they are combined according to this combiner op resulting in Cxy = CombineOp(Axy, Bxy). For example if this combiner op is set to KEEP then Cxy = Axy.
- Returns:
The second combiner opteration
-
inline FragmentShadingRateStateCreateInfo &enable()#
Enables fragment shading rate functionality.
-
inline FragmentShadingRateStateCreateInfo &disable()#
Disables fragment shading rate functionality.
-
inline FragmentShadingRateStateCreateInfo &setFragmentSize(Extent2D fragmentSize)#
Sets the pipeline FSR fragment size.
- Parameters:
fragmentSize – {X,Y} value indicating fragment size
-
inline FragmentShadingRateStateCreateInfo &setCombinerOpPipelinePrimitive(FragmentShadingRateCombinerOpKHR combinerOpPipelinePrimitive)#
Set the primitive/pipeline combiner op. This value defines the first of 2 combine-operations performed to determine the final fragment size to be rendered at. The first input Axy is the pipeline fragment size, the second input Bxy is the primitive fragment size and they are combined according to this combiner op resulting in Cxy = CombineOp(Axy, Bxy). For example if this combiner op is set to KEEP then Cxy = Axy.
- Parameters:
combinerOpPipelinePrimitive – The first combiner operation
-
inline FragmentShadingRateStateCreateInfo &setCombinerOpResultAttachment(FragmentShadingRateCombinerOpKHR combinerOpResultAttachment)#
Get the currently set result/attachment combiner op. This value defines the second of 2 combine-operations performed to determine the final fragment size to be rendered at. The first input Axy is the result of the first combiner op (combinerOpPipelinePrimitive), the second input Bxy is the attachment fragment size and they are combined according to this combiner op resulting in Cxy = CombineOp(Axy, Bxy). For example if this combiner op is set to KEEP then Cxy = Axy.
- Parameters:
combinerOpResultAttachment – The second combiner opteration
-
inline explicit FragmentShadingRateStateCreateInfo(bool fragmentShadingRateEnabled = false, Extent2D fragmentSize = Extent2D(1, 1), FragmentShadingRateCombinerOpKHR combinerOpPipelinePrimitive = FragmentShadingRateCombinerOpKHR::e_KEEP_KHR, FragmentShadingRateCombinerOpKHR combinerOpResultAttachment = FragmentShadingRateCombinerOpKHR::e_KEEP_KHR)#
FramebufferCreateInfo#
Defined in FramebufferVk.h
Struct Documentation#
-
struct FramebufferCreateInfo#
Framebuffer creation descriptor.
Public Functions
-
inline void clear()#
Reset this object.
-
inline FramebufferCreateInfo()#
Constructor (zero initialization)
-
inline FramebufferCreateInfo(uint32_t width, uint32_t height, uint32_t layers, const RenderPass &renderPass, uint32_t numAttachments = 0, ImageView *attachments = nullptr)#
Constructor (zero initialization)
- Parameters:
width – The width of the framebuffer to create
height – The height of the framebuffer to create
layers – The number of array layers which will be used by the framebuffer to create
renderPass – The renderPass which will be used by the framebuffer
numAttachments – The number of attachments used by the framebuffer to create
attachments – The numAttachments size list of pvrvk::ImageView elements to be used as framebuffer attachments
-
inline uint32_t getNumAttachments() const#
Return number of color attachment.
- Returns:
Number of color attachments
-
inline const ImageView &getAttachment(uint32_t index) const#
Get a color attachment TextureView.
- Parameters:
index – The index of the Colorattachment to retrieve
- Returns:
This object
-
inline ImageView &getAttachment(uint32_t index)#
Get a color attachment TextureView.
- Parameters:
index – The index of the Colorattachment to retrieve
- Returns:
This object
-
inline const RenderPass &getRenderPass() const#
Get the RenderPass (const)
- Returns:
The RenderPass (const)
-
inline RenderPass &getRenderPass()#
Get the RenderPass.
- Returns:
The RenderPass
-
inline Extent2D getDimensions() const#
Get the dimensions of the framebuffer.
- Returns:
The framebuffer dimensions
-
inline FramebufferCreateInfo &setDimensions(uint32_t inWidth, uint32_t inHeight)#
Set the framebuffer dimension.
- Parameters:
inWidth – Width
inHeight – Height
- Returns:
This object (allow chaining)
-
inline FramebufferCreateInfo &setDimensions(const Extent2D &extent)#
Set the framebuffer dimension.
- Parameters:
extent – dimension
- Returns:
This object (allow chaining)
-
inline FramebufferCreateInfo &setAttachment(uint32_t index, const ImageView &colorView)#
Add a color attachment to a specified attachment point.
- Parameters:
index – The attachment point, the index must be consecutive
colorView – The color attachment
- Returns:
this (allow chaining)
-
inline uint32_t getLayers() const#
Get Layers.
- Returns:
Layers
-
inline FramebufferCreateInfo &setNumLayers(uint32_t numLayers)#
Set the number of layers.
- Parameters:
numLayers – The number of array_layers.
- Returns:
this (allow chaining)
-
inline FramebufferCreateInfo &setRenderPass(const RenderPass &renderPass)#
Set the RenderPass which this Framebuffer will be invoking when bound.
- Parameters:
_renderPass – A renderpass. When binding this Framebuffer, this renderpass will be the one to be bound.
- Returns:
this (allow chaining)
Friends
- friend class impl::Framebuffer_
-
inline void clear()#
GraphicsPipelineCreateInfo#
Defined in GraphicsPipelineVk.h
Inheritance Relationships#
Base Type#
public pvrvk::PipelineCreateInfo< GraphicsPipeline >
(PipelineCreateInfo)
Struct Documentation#
-
struct GraphicsPipelineCreateInfo : public pvrvk::PipelineCreateInfo<GraphicsPipeline>#
This represents all the information needed to create a GraphicsPipeline. All items must have proper values for a pipeline to be successfully created, but all those for which it is possible (except, for example, Shaders and Vertex Formats) will have defaults same as their default values OpenGL ES graphics API.
NOTES: The folloowing are required
at least one viewport & scissor
renderpass
pipeline layout
Public Functions
-
inline GraphicsPipelineCreateInfo()#
Public Members
-
PipelineDepthStencilStateCreateInfo depthStencil#
Depth and stencil buffer creation info.
-
PipelineColorBlendStateCreateInfo colorBlend#
Color blending and attachments info.
-
PipelineViewportStateCreateInfo viewport#
Viewport creation info.
-
PipelineRasterizationStateCreateInfo rasterizer#
Rasterizer configuration creation info.
-
PipelineVertexInputStateCreateInfo vertexInput#
Vertex Input creation info.
-
PipelineInputAssemblerStateCreateInfo inputAssembler#
Input Assembler creation info.
-
PipelineShaderStageCreateInfo vertexShader#
Vertex shader information.
-
PipelineShaderStageCreateInfo fragmentShader#
Fragment shader information.
-
PipelineShaderStageCreateInfo geometryShader#
Geometry shader information.
-
TesselationStageCreateInfo tesselationStates#
Tesselation Control and evaluation shader information.
-
PipelineMultisampleStateCreateInfo multiSample#
Multisampling information.
-
DynamicStatesCreateInfo dynamicStates#
Dynamic state Information.
-
FragmentShadingRateStateCreateInfo fragmentShadingRate#
Fragment shading rate information (added to pNext chain if enabled)
-
RenderPass renderPass#
The RenderPass.
-
uint32_t subpass#
The subpass index.
-
void *pNext#
pNext field of the corresponding VkGraphicsPipelineCreateInfo struct
-
bool isSafetyCritical#
Flag to know if the graphics pipeline is for standard Vulkan or for Vulkan Safety Critical.
ImageAreaOffset#
Defined in TypesVk.h
Inheritance Relationships#
Base Types#
public ImageSubresource
public Offset3D
Struct Documentation#
-
struct ImageAreaOffset : public ImageSubresource, public Offset3D#
Represents the geometric offset (distance from 0,0,0 in x-y-z) and offset of array and mipmap layers of an image.
ImageAreaSize#
Defined in TypesVk.h
Inheritance Relationships#
Base Types#
public Extent3D
public pvrvk::ImageLayersSize
(ImageLayersSize)
Struct Documentation#
-
struct ImageAreaSize : public Extent3D, public pvrvk::ImageLayersSize#
Represents the geometric size (number of rows/columns/slices in x-y-z) and number of array and mipmap layers of an image.
Public Functions
-
ImageAreaSize() = default#
Constructor. Initialise with default values.
-
inline ImageAreaSize(const ImageLayersSize &layersSize, const Extent3D &extents)#
Constructor. Initialise with layer size and extent.
- Parameters:
layersSize – Image layer size
extents – Image extent in 3D
-
inline ImageAreaSize(const ImageLayersSize &layersSize, const Extent2D &extents)#
Constructor. Initialise with layer size and extent.
- Parameters:
layersSize – Image layer size
extents – Image extent in 3D
-
ImageAreaSize() = default#
ImageCreateInfo#
Defined in ImageVk.h
Struct Documentation#
-
struct ImageCreateInfo#
Image creation descriptor.
Public Functions
-
inline ImageCreateInfo()#
Constructor (zero initialization)
-
inline ImageCreateInfo(ImageType imageType, pvrvk::Format format, const pvrvk::Extent3D &extent, pvrvk::ImageUsageFlags usage, uint32_t numMipLevels = 1, uint32_t numArrayLayers = 1, pvrvk::SampleCountFlags samples = pvrvk::SampleCountFlags::e_1_BIT, pvrvk::ImageCreateFlags flags = pvrvk::ImageCreateFlags::e_NONE, ImageTiling tiling = ImageTiling::e_OPTIMAL, SharingMode sharingMode = SharingMode::e_EXCLUSIVE, ImageLayout initialLayout = ImageLayout::e_UNDEFINED, const uint32_t *queueFamilyIndices = nullptr, uint32_t numQueueFamilyIndices = 0)#
Constructor.
- Parameters:
imageType – Image creation type (ImageType)
format – Image creation format (Format)
extent – Image creation extent (Extent3D)
usage – Image creation usage (ImageUsageFlags)
numMipLevels – The number of Image mip map levels
numArrayLayers – The number of Image array layers
samples – The number of Image samples (SampleCountFlags)
flags – Image creation flags (ImageCreateFlags)
tiling – The Image tiling mode (ImageTiling)
sharingMode – The Image sharing mode (SharingMode)
initialLayout – The initial layout of the Image (ImageLayout)
queueFamilyIndices – A pointer to a list of queue family indices specifying the list of queue families which can make use of the image
numQueueFamilyIndices – The number of queue family indices pointed to by queueFamilyIndices
-
inline ImageCreateFlags getFlags() const#
Get Image creation Flags.
- Returns:
Image creation flags (ImageCreateFlags)
-
inline void setFlags(ImageCreateFlags flags)#
Set PVRVk Image creation flags.
- Parameters:
flags – Flags to use for creating a PVRVk image
-
inline ImageType getImageType() const#
Get Image creation type.
- Returns:
Image creation type (ImageType)
-
inline void setImageType(ImageType imageType)#
Set PVRVk Image creation image type.
- Parameters:
imageType – ImageType to use for creating a PVRVk image
-
inline const Extent3D &getExtent() const#
Get Extent.
- Returns:
Extent
-
inline void setExtent(Extent3D extent)#
Set PVRVk Image creation image extents.
- Parameters:
extent – extent to use for creating a PVRVk image
-
inline uint32_t getNumMipLevels() const#
Get the number of Image mip map levels.
- Returns:
Image mip map levels
-
inline void setNumMipLevels(uint32_t numMipLevels)#
Set the number of mipmap levels for PVRVk Image creation.
- Parameters:
numMipLevels – The number of mipmap levels to use for creating a PVRVk image
-
inline uint32_t getNumArrayLayers() const#
Get the number of Image array layers.
- Returns:
Image array layers
-
inline void setNumArrayLayers(uint32_t numArrayLayers)#
Set the number of array layers for PVRVk Image creation.
- Parameters:
numArrayLayers – The number of array layers to use for creating a PVRVk image
-
inline SampleCountFlags getNumSamples() const#
Get the number of samples taken for the Image.
- Returns:
Image number of samples (SampleCountFlags)
-
inline void setNumSamples(SampleCountFlags numSamples)#
Set the number of samples for PVRVk Image creation.
- Parameters:
numSamples – The number of samples to use for creating a PVRVk image
-
inline Format getFormat() const#
Get Image format.
- Returns:
Image format (Format)
-
inline void setFormat(Format format)#
Set the Image format for PVRVk Image creation.
- Parameters:
format – The image format to use for creating a PVRVk image
-
inline SharingMode getSharingMode() const#
Get Image sharing mode.
- Returns:
Image sharing mode (SharingMode)
-
inline void setSharingMode(SharingMode sharingMode)#
Set the Image sharing mode for PVRVk Image creation.
- Parameters:
sharingMode – The image sharing mode to use for creating a PVRVk image
-
inline ImageUsageFlags getUsageFlags() const#
Get Image usage flags.
- Returns:
Image usage flags (ImageUsageFlags)
-
inline void setUsageFlags(ImageUsageFlags usageFlags)#
Set the Image usage flags for PVRVk Image creation.
- Parameters:
usageFlags – The image usage flags to use for creating a PVRVk image
-
inline ImageLayout getInitialLayout() const#
Get Image initial layout.
- Returns:
Image initial layout (ImageLayout)
-
inline void setInitialLayout(ImageLayout initialLayout)#
Set the Image initial layout for PVRVk Image creation.
- Parameters:
initialLayout – The image initial layout to use for creating a PVRVk image
-
inline ImageTiling getTiling() const#
Get Image tiling mode.
- Returns:
Image initial tiling mode (ImageTiling)
-
inline void setTiling(ImageTiling tiling)#
Set the Image tiling for PVRVk Image creation.
- Parameters:
tiling – The image tiling to use for creating a PVRVk image
-
inline uint32_t getNumQueueFamilyIndices() const#
Get the number of queue family inidices for the image.
- Returns:
The number of Image queue families
-
inline void setNumQueueFamilyIndices(uint32_t numQueueFamilyIndices)#
Set the number of queue family inidices specifying the number of queue families which can use the PVRVk Image.
- Parameters:
numQueueFamilyIndices – The number of queue family inidices specifying the number of queue families which can use the PVRVk Image
-
inline const uint32_t *getQueueFamilyIndices() const#
Get a pointer to a list of queue family inidices for the image.
- Returns:
A pointer to the list of Image queue families
-
inline void setQueueFamilyIndices(const uint32_t *queueFamilyIndices)#
Set a pointer to a list of queue family inidices for the image.
- Parameters:
queueFamilyIndices – A pointer to the list of Image queue families
-
inline ImageCreateInfo()#
ImageLayersSize#
Defined in TypesVk.h
Inheritance Relationships#
Derived Type#
public pvrvk::ImageAreaSize
(ImageAreaSize)
Struct Documentation#
-
struct ImageLayersSize#
Represents the geometric size (number of rows/columns/slices in x-y-z) and number of array and mipmap layers of an image.
Subclassed by pvrvk::ImageAreaSize
Public Functions
-
inline ImageLayersSize()#
-
inline ImageLayersSize(uint32_t numArrayLevels, uint32_t numMipLevels)#
Constructor (takes individual values)
- Parameters:
numArrayLevels – Number of array levels
numMipLevels – Number of mip levels
-
inline uint32_t getNumArrayLevels() const#
Get the number of array levels.
- Returns:
Num array levels
-
inline void setNumArrayLevels(const uint32_t &inNumArrayLevels)#
Set Num array levels.
- Parameters:
inNumArrayLevels – Number of array levels
-
inline uint32_t getNumMipLevels() const#
Get num mip levels.
- Returns:
Number of mipmap levels
-
inline void setNumMipLevels(const uint32_t &inNumMipLevels)#
Set the number of mip map levels.
- Parameters:
inNumMipLevels – Num mip map levels
-
inline ImageLayersSize()#
ImageViewCreateInfo#
Defined in ImageVk.h
Struct Documentation#
-
struct ImageViewCreateInfo#
Image view creation descriptor.
Public Functions
-
inline ImageViewCreateInfo()#
Constructor (zero initialization)
-
inline ImageViewCreateInfo(const Image &image, const ComponentMapping &components = ComponentMapping(), const void *pNext = nullptr)#
Constructor.
- Parameters:
image – Image to use in the ImageView
components – Specifies a set of remappings of color components
-
inline ImageViewCreateInfo(const Image &image, pvrvk::ImageViewType viewType, pvrvk::Format format, const ImageSubresourceRange &subresourceRange, const ComponentMapping &components = ComponentMapping(), ImageViewCreateFlags flags = ImageViewCreateFlags::e_NONE, const void *pNext = nullptr)#
Constructor.
- Parameters:
image – Image to use in the ImageView
viewType – The image view type to use in the image view
format – The format to use in the image view
subresourceRange – A set of mipmap levels and array layers to be accessible to the view
components – Specifies a set of remappings of color components
flags – A set of pvrvk::ImageViewCreateFlags controlling how the ImageView will be created
-
inline ImageViewCreateFlags getFlags() const#
Get Image view creation Flags.
- Returns:
Image view creation flags (ImageViewCreateFlags)
-
inline void setFlags(ImageViewCreateFlags flags)#
Set PVRVk Image view creation flags.
- Parameters:
flags – Flags to use for creating a PVRVk image view
-
inline void setImage(const Image &image)#
Set PVRVk Image view creation image.
- Parameters:
image – Image to use for creating a PVRVk image view
-
inline ImageViewType getViewType() const#
Get Image view creation type.
- Returns:
Image view creation image view type (ImageViewType)
-
inline void setViewType(ImageViewType viewType)#
Set PVRVk Image view creation view type.
- Parameters:
viewType – Flags to use for creating a PVRVk image view
-
inline Format getFormat() const#
Get Image view format.
- Returns:
Image view format (Format)
-
inline void setFormat(Format format)#
Set the Image view format for PVRVk Image creation.
- Parameters:
format – The image view format to use for creating a PVRVk image
-
inline const ComponentMapping &getComponents() const#
Get Image view components.
- Returns:
The Image view components used for remapping color components
-
inline void setComponents(const ComponentMapping &components)#
Set PVRVk Image view creation components.
- Parameters:
components – Specifies a set of remappings of color components
-
inline const ImageSubresourceRange &getSubresourceRange() const#
Get Image view sub resource range.
- Returns:
The Image view sub resource range used for selecting mipmap levels and array layers to be accessible to the view
-
inline void setSubresourceRange(const ImageSubresourceRange &subresourceRange)#
Set PVRVk Image view creation sub resource range.
- Parameters:
subresourceRange – Selects the set of mipmap levels and array layers to be accessible to the view
-
inline const void *getpNext() const#
Get pNext chain for samplers.
- Returns:
Get pNext chain for samplers
-
inline void setpNext(const void *pNext)#
Set pNext chain for samplers.
- Parameters:
subresourceRange – Set pNext chain for samplers
-
inline ImageViewCreateInfo()#
InstanceCreateInfo#
Defined in InstanceVk.h
Struct Documentation#
-
struct InstanceCreateInfo#
Contains instant info used for creating Vulkan instance.
Public Functions
-
inline InstanceCreateInfo()#
Constructor. Default initialised to 0.
-
inline explicit InstanceCreateInfo(const ApplicationInfo &applicationInfo, const VulkanExtensionList &extensions = VulkanExtensionList(), const VulkanLayerList &layers = VulkanLayerList(), InstanceCreateFlags flags = InstanceCreateFlags::e_NONE, pvrvk::DebugUtilsMessengerCreateInfo debugUtilsMessengerCreateInfo = pvrvk::DebugUtilsMessengerCreateInfo())#
Constructor.
- Parameters:
applicationInfo – A an application info structure
extensions – A set of extensions to enable
layers – A set of layers to enable
flags – A set of InstanceCreateFlags to use
debugUtilsMessengerCreateInfo – A creation structure which will optionally make use of a debug utils callback for validation of the instance construction
-
inline const pvrvk::DebugUtilsMessengerCreateInfo getDebugUtilsMessengerCreateInfo() const#
Get the DebugUtilsMessengerCreateInfo which will be linked to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance.
- Returns:
A DebugUtilsMessengerCreateInfo which will be used to determine whether events triggered during instance creation/destruction will be captured
-
inline void setDebugUtilsMessengerCreateInfo(pvrvk::DebugUtilsMessengerCreateInfo &createInfo)#
By setting a DebugUtilsMessengerCreateInfo the application will link a VkDebugUtilsMessengerCreateInfoEXT structure to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance. This callback is only valid for the duration of the vkCreateInstance and the vkDestroyInstance call.
- Parameters:
createInfo – A DebugUtilsMessengerCreateInfo which will determine the extent to which events will be captured when creating/destroying the instance
-
inline const pvrvk::ValidationFeatures getValidationFeatures() const#
Get the ValidationFeatures which will be linked to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance.
- Returns:
A ValidationFeatures structure which will be used to determine the validation features to use
-
inline void setValidationFeatures(pvrvk::ValidationFeatures &inValidationFeatures)#
By setting a ValidationFeatures the application will link a VkValidationFeaturesEXT structure to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance. This structure will determine the types of validation used.
- Parameters:
inValidationFeatures – A ValidationFeatures which will determine the types of validation used
-
inline const InstanceCreateFlags &getFlags() const#
Get the instance creation flags.
- Returns:
The instance creation flags
-
inline void setFlags(const InstanceCreateFlags &inFlags)#
Sets the instance creation flags.
- Parameters:
inFlags – A set of InstanceCreateFlags to use
-
inline const ApplicationInfo &getApplicationInfo() const#
Get the instance application info.
- Returns:
The instance application info
-
inline void setApplicationInfo(const ApplicationInfo &inApplicationInfo)#
Sets the application info structure.
- Parameters:
inApplicationInfo – A new application info structure
-
inline const VulkanExtensionList &getExtensionList() const#
Get the list of extensions.
- Returns:
The list of instance extensions
-
inline void setExtensionList(const VulkanExtensionList &inExtensions)#
Sets the extension list.
- Parameters:
inExtensions – A VulkanExtensionList
-
inline const VulkanLayerList &getLayerList() const#
Get the list of layers.
- Returns:
The list of instance layers
-
inline void setLayerList(const VulkanLayerList &inLayers)#
Sets the layer list.
- Parameters:
inLayers – A VulkanLayerList
-
inline const bool getIsSafetyCritical() const#
Get whether the instance is for Vulkan Safety Critical.
- Returns:
InstanceCreateInfo::isSafetyCritical.
-
inline void setIsSafetyCritical(bool inIsSafetyCritical)#
Set whether the instance is for Vulkan Safety Critical.
- Parameters:
inIsSafetyCritical – Value to set InstanceCreateInfo::isSafetyCritical to.
-
inline InstanceCreateInfo()#
MemoryAllocationInfo#
Defined in DeviceMemoryVk.h
Struct Documentation#
-
struct MemoryAllocationInfo#
Parameter object used to create a Memory Allocation using the VMA.
Public Functions
-
inline MemoryAllocationInfo()#
Constructor. Initialized to unknown values (size 0, index -1)
-
inline MemoryAllocationInfo(DeviceSize allocationSize, uint32_t memoryTypeIndex)#
Constructor. Initialized by user=provided values.
- Parameters:
allocationSize – The total size of the allocation, in bytes.
memoryTypeIndex – The index of the Vulkan memory type required. (retrieve using the various get memory property functions)
-
inline DeviceSize getAllocationSize() const#
Retrieve the size of the allocation.
- Returns:
The size of the allocation)
-
inline void setAllocationSize(DeviceSize sizeInBytes)#
Set the size of the allocation.
- Parameters:
sizeInBytes – The total size of the allocation.
-
inline uint32_t getMemoryTypeIndex() const#
Retrieve the Memory Index of the memory type of the allocation.
- Returns:
The index of the memory type of the allocation)
-
inline void setMemoryTypeIndex(uint32_t memoryTypeIndex)#
Set the memory index of the allocation.
- Parameters:
memoryTypeIndex – The memory index of the allocation.
-
inline void setExportMemoryAllocationInfoKHR(const ExportMemoryAllocateInfoKHR &info)#
Set this field in order to use the VK_KHR_external_memory extension.
- Parameters:
info – The ExportMemoryAllocateInfoKHR object describing the source of the allocation.
-
inline const ExportMemoryAllocateInfoKHR &getExportMemoryAllocateInfoKHR() const#
Get the ExportMemoryAllocateInfoKHR object used.
- Returns:
The ExportMemoryAllocateInfoKHR object contained.
-
inline ExportMemoryAllocateInfoKHR &getExportMemoryAllocateInfoKHR()#
Get the ExportMemoryAllocateInfoKHR object used.
- Returns:
The ExportMemoryAllocateInfoKHR object contained.
-
inline MemoryAllocationInfo()#
Offset2Df#
Defined in TypesVk.h
Struct Documentation#
-
struct Offset2Df#
2 dimensional offset which contains the x and y
Public Functions
-
inline Offset2Df()#
Default Constructor.
-
inline Offset2Df(float x, float y)#
Constructor.
- Parameters:
x – An offset x value
y – An offset y value
-
inline float getX() const#
Get the offset x.
- Returns:
The offset x
-
inline void setX(float inX)#
Sets the offset x.
- Parameters:
inX – The new offset x
-
inline float getY() const#
Get the offset y.
- Returns:
The offset y
-
inline void setY(float inY)#
Sets the offset y.
- Parameters:
inY – The new offset y
-
inline Offset2Df()#
PhysicalDeviceTransformFeedbackFeatures#
Defined in TypesVk.h
Struct Documentation#
-
struct PhysicalDeviceTransformFeedbackFeatures#
Containes a PhysicalDeviceTransformFeedbackFeaturesEXT structure which specifies the implementation dependent features for transform feedback.
Public Functions
-
PhysicalDeviceTransformFeedbackFeatures() = default#
Constructor. Default initialised to 0.
-
inline PhysicalDeviceTransformFeedbackFeatures(VkPhysicalDeviceTransformFeedbackFeaturesEXT features)#
Constructor.
- Parameters:
features – A VkPhysicalDeviceTransformFeedbackFeaturesEXT which specifies the implementation dependent transform feedback features.
-
inline void setTransformFeedback(bool transformFeedback)#
Sets the transformFeedback.
- Parameters:
transformFeedback – The transformFeedback.
-
inline bool getTransformFeedback()#
Gets the transformFeedback.
- Returns:
The transformFeedback
-
inline void setGeometryStreams(bool geometryStreams)#
Sets the geometryStreams.
- Parameters:
geometryStreams – The geometryStreams.
-
inline bool getGeometryStreams()#
Gets the geometryStreams.
- Returns:
The geometryStreams
-
PhysicalDeviceTransformFeedbackFeatures() = default#
PhysicalDeviceTransformFeedbackProperties#
Defined in TypesVk.h
Struct Documentation#
-
struct PhysicalDeviceTransformFeedbackProperties#
Containes a PhysicalDeviceTransformFeedbackProperties structure which specifies the implementation dependent limits for transform feedback.
Public Functions
-
PhysicalDeviceTransformFeedbackProperties() = default#
Constructor. Default initialised to 0.
-
inline PhysicalDeviceTransformFeedbackProperties(VkPhysicalDeviceTransformFeedbackPropertiesEXT properties)#
Constructor.
- Parameters:
properties – A VkPhysicalDeviceTransformFeedbackPropertiesEXT which specifies the implementation dependent transform feedback limits.
-
inline void setMaxTransformFeedbackStreams(uint32_t maxTransformFeedbackStreams)#
Sets the maxTransformFeedbackStreams.
- Parameters:
maxTransformFeedbackStreams – The maxTransformFeedbackStreams.
-
inline uint32_t getMaxTransformFeedbackStreams()#
Gets the maxTransformFeedbackStreams.
- Returns:
The maxTransformFeedbackStreams
-
inline void setMaxTransformFeedbackBuffers(uint32_t maxTransformFeedbackBuffers)#
Sets the maxTransformFeedbackBuffers.
- Parameters:
maxTransformFeedbackBuffers – The maxTransformFeedbackBuffers.
-
inline uint32_t getMaxTransformFeedbackBuffers()#
Gets the maxTransformFeedbackBuffers.
- Returns:
The maxTransformFeedbackBuffers
-
inline void setMaxTransformFeedbackBufferSize(VkDeviceSize maxTransformFeedbackBufferSize)#
Sets the maxTransformFeedbackBufferSize.
- Parameters:
maxTransformFeedbackBufferSize – The maxTransformFeedbackBufferSize.
-
inline VkDeviceSize getMaxTransformFeedbackBufferSize()#
Gets the maxTransformFeedbackBufferSize.
- Returns:
The maxTransformFeedbackBufferSize
-
inline void setMaxTransformFeedbackStreamDataSize(uint32_t maxTransformFeedbackStreamDataSize)#
Sets the maxTransformFeedbackStreamDataSize.
- Parameters:
maxTransformFeedbackStreamDataSize – The maxTransformFeedbackStreamDataSize.
-
inline uint32_t getMaxTransformFeedbackStreamDataSize()#
Gets the maxTransformFeedbackStreamDataSize.
- Returns:
The maxTransformFeedbackStreamDataSize
-
inline void setMaxTransformFeedbackBufferDataSize(uint32_t maxTransformFeedbackBufferDataSize)#
Sets the maxTransformFeedbackBufferDataSize.
- Parameters:
maxTransformFeedbackBufferDataSize – The maxTransformFeedbackBufferDataSize.
-
inline uint32_t getMaxTransformFeedbackBufferDataSize()#
Gets the maxTransformFeedbackBufferDataSize.
- Returns:
The maxTransformFeedbackBufferDataSize
-
inline void setMaxTransformFeedbackBufferDataStride(uint32_t maxTransformFeedbackBufferDataStride)#
Sets the maxTransformFeedbackBufferDataStride.
- Parameters:
maxTransformFeedbackBufferDataStride – The maxTransformFeedbackBufferDataStride.
-
inline uint32_t getMaxTransformFeedbackBufferDataStride()#
Gets the maxTransformFeedbackBufferDataStride.
- Returns:
The maxTransformFeedbackBufferDataStride
-
inline void setTransformFeedbackQueries(bool transformFeedbackQueries)#
Sets the transformFeedbackQueries.
- Parameters:
transformFeedbackQueries – The transformFeedbackQueries.
-
inline bool getTransformFeedbackQueries()#
Gets the transformFeedbackQueries.
- Returns:
The transformFeedbackQueries
-
inline void setTransformFeedbackStreamsLinesTriangles(bool transformFeedbackStreamsLinesTriangles)#
Sets the transformFeedbackStreamsLinesTriangles.
- Parameters:
transformFeedbackStreamsLinesTriangles – The transformFeedbackStreamsLinesTriangles.
-
inline bool getTransformFeedbackStreamsLinesTriangles()#
Gets the transformFeedbackStreamsLinesTriangles.
- Returns:
The transformFeedbackStreamsLinesTriangles
-
inline void setTransformFeedbackRasterizationStreamSelect(bool transformFeedbackRasterizationStreamSelect)#
Sets the transformFeedbackRasterizationStreamSelect.
- Parameters:
transformFeedbackRasterizationStreamSelect – The transformFeedbackRasterizationStreamSelect.
-
inline bool getTransformFeedbackRasterizationStreamSelect()#
Gets the transformFeedbackRasterizationStreamSelect.
- Returns:
The transformFeedbackRasterizationStreamSelect
-
inline void setTransformFeedbackDraw(bool transformFeedbackDraw)#
Sets the transformFeedbackDraw.
- Parameters:
transformFeedbackDraw – The transformFeedbackDraw.
-
inline bool getTransformFeedbackDraw()#
Gets the transformFeedbackDraw.
- Returns:
The transformFeedbackDraw
-
PhysicalDeviceTransformFeedbackProperties() = default#
PipelineCacheCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct PipelineCacheCreateInfo#
Pipeline cache creation descriptor.
Public Functions
-
inline explicit PipelineCacheCreateInfo(size_t initialDataSize = 0, const void *pInitialData = nullptr, PipelineCacheCreateFlags flags = PipelineCacheCreateFlags::e_NONE)#
Constructor.
- Parameters:
initialDataSize – The number of bytes in the initialData pointer
pInitialData – A pointer to previously retrieved pipeline cache data
flags – Flags to use for creating the pipeline cache
-
inline PipelineCacheCreateFlags getFlags() const#
Get the pipeline cache creation flags.
- Returns:
The set of pipeline cache creation flags
-
inline void setFlags(PipelineCacheCreateFlags flags)#
Set the pipeline cache creation flags.
- Parameters:
flags – The pipeline cache creation flags
-
inline size_t getInitialDataSize() const#
Get the initial data size of the pipeline cache.
- Returns:
The initial data size of the pipeline cache
-
inline void setInitialDataSize(size_t initialDataSize)#
Set the pipeline cache creation initial data size.
- Parameters:
initialDataSize – The pipeline cache creation initial data size
-
inline const void *getInitialData() const#
Get the initial data of the pipeline cache.
- Returns:
The initial data of the pipeline cache
-
inline void setInitialData(const void *pInitialData)#
Set the pipeline cache creation initial data.
- Parameters:
pInitialData – The pipeline cache creation initial data
-
inline explicit PipelineCacheCreateInfo(size_t initialDataSize = 0, const void *pInitialData = nullptr, PipelineCacheCreateFlags flags = PipelineCacheCreateFlags::e_NONE)#
PipelineColorBlendStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineColorBlendStateCreateInfo#
Pipeline Color blending state configuration (alphaToCoverage, logicOp).
Defaults: Enable alpha to coverage:false, Enable logic op: false, Logic Op: Set, Attachments: 0
Public Functions
-
inline const PipelineColorBlendAttachmentState *getAttachmentStates() const#
Get color blend attachment states.
- Returns:
const PipelineColorBlendAttachmentState*
-
inline PipelineColorBlendStateCreateInfo(bool alphaToCoverageEnable, bool logicOpEnable, pvrvk::LogicOp logicOp, Color colorBlendConstants, PipelineColorBlendAttachmentState *attachmentStates, uint32_t numAttachmentStates)#
Create a Color Blend state object.
- Parameters:
alphaToCoverageEnable – enable/ disable alpa to coverage (default:disable)
colorBlendConstants – Blending constants
logicOpEnable – enable/disable logicOp (default:disable)
logicOp – Select logic operation (default:Set)
attachmentStates – An array of color blend attachment states (default: NULL)
numAttachmentStates – Number of color attachment states in array (default: 0)
-
inline explicit PipelineColorBlendStateCreateInfo(bool alphaToCoverageEnable = false, bool logicOpEnable = false, pvrvk::LogicOp logicOp = pvrvk::LogicOp::e_SET, Color colorBlendConstants = Color(0., 0., 0., 0.))#
Create a Color Blend state object.
- Parameters:
alphaToCoverageEnable – enable/ disable alpa to coverage (default:disable
logicOpEnable – enable/disable logicOp (default:disable)
logicOp – Select logic operation (default:Set)
colorBlendConstants – Set color blend constants. Default (0,0,0,0)
-
inline PipelineColorBlendStateCreateInfo &setColorBlendConst(const Color &blendConst)#
Set a constant for color blending.
- Parameters:
blendConst – The color blend constant
- Returns:
Return this object (allows chained calls)
-
inline const Color &getColorBlendConst() const#
Get the constant for color blending.
- Returns:
The color blend constant
-
inline const PipelineColorBlendAttachmentState &getAttachmentState(uint32_t index) const#
Get color-blend attachment state (const).
- Parameters:
index – attachment index
- Returns:
const PipelineColorBlendAttachmentState&
-
inline uint32_t getNumAttachmentStates() const#
Get number of attachment states.
- Returns:
uint32_t
-
inline PipelineColorBlendStateCreateInfo &setAlphaToCoverageEnable(bool alphaToCoverageEnable)#
Enable/ disable alpha to coverage.
- Parameters:
alphaToCoverageEnable – Boolean flags indicating to enable/ disable alpha coverage
- Returns:
this object (allows chained calls)
-
inline PipelineColorBlendStateCreateInfo &setLogicOpEnable(bool logicOpEnable)#
Enable/ disable logic op.
- Parameters:
logicOpEnable – Boolean flags indicating to enable/ disable logic op
- Returns:
this object (allows chained calls)
-
inline PipelineColorBlendStateCreateInfo &setLogicOp(pvrvk::LogicOp logicOp)#
Set the logic op.
- Parameters:
logicOp – New logic op to set
- Returns:
this object (allows chained calls)
-
inline PipelineColorBlendStateCreateInfo &clearAttachments()#
Append a color attachment blend configuration (appended to the end of the attachments list).
- Returns:
this object (allows chained calls)
-
inline PipelineColorBlendStateCreateInfo &setAttachmentState(uint32_t index, const PipelineColorBlendAttachmentState &state)#
Add a color attachment state blend configuration to a specified index.
- Parameters:
index – Which index this color attachment will be
state – The color attachment state to add
- Returns:
this object (allows chained calls)
-
inline PipelineColorBlendStateCreateInfo &setAttachmentStates(uint32_t count, PipelineColorBlendAttachmentState const *states)#
Set all color attachment states as an array. Replaces any that had already been added.
- Parameters:
state – An array of color attachment states
count – The number of color attachment states in (state)
- Returns:
this object (allows chained calls)
-
inline bool isAlphaToCoverageEnabled() const#
Check if Alpha to Coverage is enabled.
- Returns:
True if enabled, otherwise false
-
inline bool isLogicOpEnabled() const#
Check if Logic Op is enabled.
- Returns:
True if enabled, otherwise false
-
inline pvrvk::LogicOp getLogicOp() const#
Get the Logic Op (regardless if enabled or not)
- Returns:
The logic op
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline const PipelineColorBlendAttachmentState *getAttachmentStates() const#
PipelineCreateInfo#
Defined in PipelineVk.h
Struct Documentation#
-
template<class PVRVkPipeline>
struct PipelineCreateInfo# This represents all the information needed to create a GraphicsPipeline. All items must have proper values for a pipeline to be successfully created, but all those for which it is possible (except, for example, Shaders and Vertex Formats) will have defaults same as their default values OpenGL ES graphics API. NOTES: The folloowing are required.
at least one viewport & scissor
renderpass
pipeline layout
Public Functions
-
inline virtual ~PipelineCreateInfo()#
Public Members
-
PipelineLayout pipelineLayout#
The pipeline layout.
-
pvrvk::PipelineCreateFlags flags#
Any flags used for pipeline creation.
-
PVRVkPipeline basePipeline#
The parent pipeline, in case of pipeline derivative.
-
int32_t basePipelineIndex#
The index of the base pipeline.
Protected Functions
-
inline PipelineCreateInfo()#
PipelineDepthStencilStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineDepthStencilStateCreateInfo#
Contains parameters needed to set depth stencil states to a pipeline create params. This object can be added to a PipelineCreateInfo to set a depth-stencil state to values other than their defaults.
— Defaults: — depthWrite:enabled, depthTest:enabled, DepthComparison:Less, Stencil Text: disabled, All stencil ops:Keep,
Public Functions
-
inline explicit PipelineDepthStencilStateCreateInfo(bool depthWrite = true, bool depthTest = false, pvrvk::CompareOp depthCompareFunc = pvrvk::CompareOp::e_LESS, bool stencilTest = false, bool depthBoundTest = false, const StencilOpState &stencilFront = StencilOpState(), const StencilOpState &stencilBack = StencilOpState(), float minDepth = 0.f, float maxDepth = 1.f)#
Set all Depth and Stencil parameters.
- Parameters:
depthWrite – Enable/ Disable depth write
depthTest – Enable/ Disable depth test
depthCompareFunc – Depth compare op
stencilTest – Enable/ Disable stencil test
depthBoundTest – Enable/ Disable depth bound test
stencilFront – Stencil front state
stencilBack – Stencil back state
minDepth – Min depth value
maxDepth – Max depth value
-
inline bool isDepthTestEnable() const#
Return true if depth test is enable.
- Returns:
bool
-
inline bool isDepthWriteEnable() const#
Return true if depth write is enable.
- Returns:
bool
-
inline bool isDepthBoundTestEnable() const#
Return true if depth bound is enable.
- Returns:
bool
-
inline bool isStencilTestEnable() const#
Return true if stencil test is enable.
- Returns:
bool
-
inline float getMinDepth() const#
Return minimum depth value.
- Returns:
float
-
inline float getMaxDepth() const#
Return maximum depth value.
- Returns:
float
-
inline pvrvk::CompareOp getDepthComapreOp() const#
Return depth comparison operator.
- Returns:
pvrvk::CompareOp
-
inline bool isAllStatesEnabled() const#
Return true if this state is enabled.
- Returns:
bool
-
inline PipelineDepthStencilStateCreateInfo &enableAllStates(bool flag)#
Enable/ Disale the entire state.
- Parameters:
flag – True:enable, False:disable
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &enableDepthWrite(bool depthWrite)#
Enable/disable writing into the Depth Buffer.
- Parameters:
depthWrite – True:enable, False:disable
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &enableDepthTest(bool depthTest)#
Enable/disable depth test (initial state: enabled)
- Parameters:
depthTest – True:enable, False:disable
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setDepthCompareFunc(pvrvk::CompareOp compareFunc)#
Set the depth compare function (initial state: LessEqual)
- Parameters:
compareFunc – A ComparisonMode (Less, Greater, Less etc.)
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &enableStencilTest(bool stencilTest)#
Enable/disable stencil test.
- Parameters:
stencilTest – True:enable, False:disable
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setStencilFront(const StencilOpState &stencil)#
Set the stencil front state.
- Parameters:
stencil – Stencil state
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setStencilBack(const StencilOpState &stencil)#
Set the stencil back state.
- Parameters:
stencil – Stencil state
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setStencilFrontAndBack(StencilOpState &stencil)#
Set the stencil front and back state.
- Parameters:
stencil – Stencil state
- Returns:
this object (allows chained calls)
-
inline const StencilOpState &getStencilFront() const#
Return stencil front state.
- Returns:
const StencilOpState&
-
inline const StencilOpState &getStencilBack() const#
Return stencil back state.
- Returns:
const StencilOpState&
-
inline PipelineDepthStencilStateCreateInfo &setDepthBoundEnabled(bool enabled)#
Enable/ Disable depth bound testing.
- Parameters:
enabled – True:enable, False:disable
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setMinDepthBound(float minDepth)#
Set the minimum depth bound.
- Parameters:
minDepth – The minimum depth bound
- Returns:
this object (allows chained calls)
-
inline PipelineDepthStencilStateCreateInfo &setMaxDepthBound(float maxDepth)#
Set the maximum depth bound.
- Parameters:
maxDepth – The maximum depth bound
- Returns:
this object (allows chained calls)
-
inline explicit PipelineDepthStencilStateCreateInfo(bool depthWrite = true, bool depthTest = false, pvrvk::CompareOp depthCompareFunc = pvrvk::CompareOp::e_LESS, bool stencilTest = false, bool depthBoundTest = false, const StencilOpState &stencilFront = StencilOpState(), const StencilOpState &stencilBack = StencilOpState(), float minDepth = 0.f, float maxDepth = 1.f)#
PipelineInputAssemblerStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineInputAssemblerStateCreateInfo#
Add Input Assembler configuration to this buffer object (primitive topology, vertex restart, vertex reuse etc).
— Default settings — Primitive Topology: TriangleList, Primitive Restart: False, Vertex Reuse: Disabled, Primitive Restart Index: 0xFFFFFFFF
Public Functions
-
inline explicit PipelineInputAssemblerStateCreateInfo(pvrvk::PrimitiveTopology topology = pvrvk::PrimitiveTopology::e_TRIANGLE_LIST, bool disableVertexReuse = true, bool primitiveRestartEnable = false, uint32_t primitiveRestartIndex = 0xFFFFFFFF)#
Create and configure an InputAssembler configuration.
- Parameters:
topology – Primitive Topology (default: TriangleList)
disableVertexReuse – Disable Vertex Reuse (true:disabled false:enabled). Default:true
primitiveRestartEnable – (true: enabled, false: disabled) Default:false
primitiveRestartIndex – Primitive Restart Index. Default 0xFFFFFFFF
- Returns:
this object (allows chained calls)
-
inline PipelineInputAssemblerStateCreateInfo &setPrimitiveRestartEnable(bool enable)#
Enable/ disable primitive restart.
- Parameters:
enable – true for enable, false for disable.
- Returns:
this object (allows chained calls)
-
inline PipelineInputAssemblerStateCreateInfo &setVertexReuseDisable(bool disable)#
Enable/ disable vertex reuse.
- Parameters:
disable – true for disable, false for enable.
- Returns:
this object (allows chained calls)
-
inline PipelineInputAssemblerStateCreateInfo &setPrimitiveTopology(pvrvk::PrimitiveTopology topology)#
Set primitive topology.
- Parameters:
topology – The primitive topology to interpret the vertices as (TriangleList, Lines etc)
- Returns:
this object (allows chained calls)
-
inline bool isVertexReuseDisabled() const#
Check if Vertex Reuse is disabled.
- Returns:
True if vertex reuse is disabled, otherwise false
-
inline bool isPrimitiveRestartEnabled() const#
Check if primitive restart is enabled.
- Returns:
True if primitive restart is enabled, otherwise false
-
inline uint32_t getPrimitiveRestartIndex() const#
Get the primitive restart index.
- Returns:
The primitive restart index
-
inline pvrvk::PrimitiveTopology getPrimitiveTopology() const#
Get primitive topology.
- Returns:
Returns primitive topology.
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline explicit PipelineInputAssemblerStateCreateInfo(pvrvk::PrimitiveTopology topology = pvrvk::PrimitiveTopology::e_TRIANGLE_LIST, bool disableVertexReuse = true, bool primitiveRestartEnable = false, uint32_t primitiveRestartIndex = 0xFFFFFFFF)#
PipelineLayoutCreateInfo#
Defined in PipelineLayoutVk.h
Struct Documentation#
-
struct PipelineLayoutCreateInfo#
Pipeline Layout create information. The descriptor set layouts must be known to create a Pipeline layout.
Public Functions
-
inline PipelineLayoutCreateInfo &addDescSetLayout(const DescriptorSetLayout &descLayout)#
Add a descriptor set layout to this pipeline layout. Added to the end of the list of layouts.
- Parameters:
descLayout – A descriptor set layout
- Returns:
this (allow chaining)
-
inline PipelineLayoutCreateInfo &setDescSetLayout(uint32_t index, const DescriptorSetLayout &descLayout)#
Add a descriptor set layout to this pipeline layout. Added to the specified index.
- Parameters:
index – The index where the layout will be created on
descLayout – A descriptor set layout
- Returns:
this (allow chaining)
-
inline uint32_t getNumDescriptorSetLayouts() const#
Return number of descriptor set layouts.
- Returns:
Return number of descriptor set layouts
-
inline const DescriptorSetLayout &getDescriptorSetLayout(uint32_t index) const#
Get descriptor set layout.
- Parameters:
index – Descriptor set layout index
- Returns:
Descritpor set layout
-
inline void clear()#
Clear the entries.
-
inline const std::array<DescriptorSetLayout, FrameworkCaps::MaxDescriptorSetBindings> &getDescriptorSetLayouts() const#
Get all descriptor set layouts.
- Returns:
An array of 4 descriptor set layouts. Unused one will be empty references (isNull() returns true)
-
inline bool operator==(const PipelineLayoutCreateInfo &rhs) const#
Return if this object is equal.
- Parameters:
rhs – Object to compare with
- Returns:
Return true if equal
-
inline void addPushConstantRange(const PushConstantRange &pushConstantRange)#
-
inline void setPushConstantRange(uint32_t index, const PushConstantRange &pushConstantRange)#
Set push constant range.
- Parameters:
index – Push constant range index
pushConstantRange – push constant range to set
-
inline const PushConstantRange &getPushConstantRange(uint32_t index) const#
Get push constant range.
- Parameters:
index – Push cinstant range index
- Returns:
Returns push constant range
-
inline uint32_t getNumPushConstantRanges() const#
Get number of push constants.
- Returns:
Number of push constants
-
inline PipelineLayoutCreateInfo()#
Friends
- friend class ::pvrvk::impl::PipelineLayout_
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline PipelineLayoutCreateInfo &addDescSetLayout(const DescriptorSetLayout &descLayout)#
PipelineMultisampleStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineMultisampleStateCreateInfo#
Pipeline Multisampling state configuration: Number of samples, alpha to coverage, alpha to one, sampling mask.
Defaults: No multisampling
Public Functions
-
inline explicit PipelineMultisampleStateCreateInfo(bool sampleShadingEnable = false, bool alphaToCoverageEnable = false, bool alphaToOneEnable = false, pvrvk::SampleCountFlags rasterizationSamples = pvrvk::SampleCountFlags::e_1_BIT, float minSampleShading = 0.f, pvrvk::SampleMask sampleMask = 0xffffffff)#
Constructor. Create a multisampling configuration.
- Parameters:
sampleShadingEnable – Enable/disable sample shading (defalt false)
alphaToCoverageEnable – Enable/disable alpha-to-coverage
alphaToOneEnable – Enable/disable alpha-to-one
rasterizationSamples – The number of rasterization samples (default 1)
minSampleShading – The minimum sample Shading (default 0)
sampleMask – sampleMask (default 0)
-
inline PipelineMultisampleStateCreateInfo &setAlphaToCoverage(bool enable)#
Enable/ Disable alpha to coverage.
- Parameters:
enable – True to enable Alpha to Coverage, false to Disable
- Returns:
Return this object (allows chained calls)
-
inline PipelineMultisampleStateCreateInfo &setSampleShading(bool enable)#
Enable/ disable sampler shading (Multi Sampling Anti Aliasing).
- Parameters:
enable – true enable per-sample shading, false to disable
- Returns:
this (allow chaining)
-
inline PipelineMultisampleStateCreateInfo &setAlphaToOne(bool enable)#
Controls whether the alpha component of the fragment’s first color output is replaced with one.
- Parameters:
enable – true enable alpha to one, false disable
- Returns:
this (allow chaining)
-
inline PipelineMultisampleStateCreateInfo &setNumRasterizationSamples(pvrvk::SampleCountFlags numSamples)#
Set the number of samples per pixel used in rasterization (Multi sample anti aliasing)
- Parameters:
numSamples – The number of samples
- Returns:
this (allow chaining)
-
inline PipelineMultisampleStateCreateInfo &setMinSampleShading(float minSampleShading)#
Set minimum sample shading.
- Parameters:
minSampleShading – The number of minimum samples to shade
- Returns:
this (allow chaining)
-
inline PipelineMultisampleStateCreateInfo &setSampleMask(pvrvk::SampleMask mask)#
Set a bitmask of static coverage information that is ANDed with the coverage information generated during rasterization.
- Parameters:
mask – The sample mask. See the corresponding API spec for exact bit usage of the mask.
- Returns:
this (allow chaining)
-
inline const pvrvk::SampleMask &getSampleMask() const#
Get the sample mask.
- Returns:
The sample mask
-
inline pvrvk::SampleCountFlags getRasterizationSamples() const#
Return the number of rasterization (MSAA) samples.
- Returns:
The number of rasterization samples
-
inline float getMinSampleShading() const#
Get the number of minimum samples.
- Returns:
The number of minimum samples
-
inline bool isSampleShadingEnabled() const#
Get the sample shading state.
- Returns:
true if sample shading enabled, false if disabled
-
inline bool isAlphaToCoverageEnabled() const#
Get alpha to coverage state.
- Returns:
True if enabled, false if disabled
-
inline bool isAlphaToOneEnabled() const#
Get alpha to one state.
- Returns:
Return true if alpha to one is enabled, false if disabled
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline explicit PipelineMultisampleStateCreateInfo(bool sampleShadingEnable = false, bool alphaToCoverageEnable = false, bool alphaToOneEnable = false, pvrvk::SampleCountFlags rasterizationSamples = pvrvk::SampleCountFlags::e_1_BIT, float minSampleShading = 0.f, pvrvk::SampleMask sampleMask = 0xffffffff)#
PipelineRasterizationStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineRasterizationStateCreateInfo#
Pipeline Rasterisation, clipping and culling state configuration. Culling, winding order, depth clipping, raster discard, point size, fill mode, provoking vertex.
Defaults: Cull face: back, Front face: CounterClockWise, Depth Clipping: true, Rasterizer Discard: false, Program Point Size: false, Point Origin: Lower left, Fill Mode: Front&Back, Provoking Vertex: First
Public Functions
-
inline explicit PipelineRasterizationStateCreateInfo(pvrvk::CullModeFlags cullFace = pvrvk::CullModeFlags::e_NONE, pvrvk::FrontFace frontFaceWinding = pvrvk::FrontFace::e_COUNTER_CLOCKWISE, bool enableDepthClip = true, bool enableRasterizerDiscard = false, bool enableProgramPointSize = false, pvrvk::PolygonMode fillMode = pvrvk::PolygonMode::e_FILL, float lineWidth = 1.0f, bool enableDepthBias = false, float depthBiasClamp = 0.f, float depthBiasConstantFactor = 0.f, float depthBiasSlopeFactor = 0.f, uint32_t rasterizationStream = 0)#
Create a rasterization and polygon state configuration.
- Parameters:
cullFace – Face culling (default Back)
frontFaceWinding – The polygon winding order (default, Front face is counterclockwise)
enableDepthClip – Enable depth clipping. If set to false , depth Clamping happens instead of clipping (default true)
enableRasterizerDiscard – Enable rasterizer discard (default false)
enableProgramPointSize – Enable program point size (default true)
fillMode – Polygon fill mode (default: Front and Back)
lineWidth – Width of rendered lines (default One)
enableDepthBias – Enable depth bias (default false)
enableDepthBias – Enable depth bias (default false)
depthBiasClamp – If depth bias is enabled, the clamping value for depth bias (default 0)
depthBiasConstantFactor – If depth bias is enabled, the constant value by which to bias depth(default 0)
depthBiasSlopeFactor – If depth bias is enabled, the slope value by which to bias depth(default:0)
rasterizationStream – Controls the use of vertex shader based transform feedback
-
inline PipelineRasterizationStateCreateInfo &setCullMode(pvrvk::CullModeFlags face)#
Set the face that will be culled (front/back/both/none).
- Parameters:
face – Cull face
- Returns:
this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setLineWidth(float lineWidth)#
Set the line width.
- Parameters:
lineWidth – The width of lines (in pixels) when drawing line primitives.
- Returns:
Return this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setRasterizationStream(uint32_t rasterizationStream)#
Set the Rasterization stream.
- Parameters:
rasterizationStream – The vertex stream selected for rasterization. This parameter controls usage of transform feedback if it is supported.
- Returns:
Return this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setDepthClip(bool enableDepthClip)#
Select between depth Clipping and depth Clamping.
- Parameters:
enableDepthClip – Set to true to clip polygons at the Z-sides of the view frustum Set to false to clamp the depth to the min/max values and not clip based on depth
- Returns:
Return this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setDepthBias(bool enableDepthBias, bool depthBiasClamp = 0.f, bool depthBiasConstantFactor = 0.f, bool depthBiasSlopeFactor = 0.f)#
Enable depth bias (add a value to the calculated fragment depth)
- Parameters:
enableDepthBias – Set to true to enable depth bias, false to disable
depthBiasClamp – The maximum (or minimum) value of depth biasing
depthBiasConstantFactor – A constant value added to all fragment depths
depthBiasSlopeFactor – Depth slope factor for multiply fragment depths
- Returns:
Return this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setFrontFaceWinding(pvrvk::FrontFace frontFaceWinding)#
Set which polygon winding order is considered the “front” face (The opposite order is considered back face).
- Parameters:
frontFaceWinding – The winding order that will represent front faces
- Returns:
this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setRasterizerDiscard(bool enable)#
Disable all phases after transform feedback (rasterization and later)
- Parameters:
enable – Set to “false” for normal rendering, “true” to enable rasterization discard
- Returns:
this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setProgramPointSize(bool enable)#
Enable/disable Program Point Size.
- Parameters:
enable – Set to “true” to control point size for the entire program
- Returns:
this object (allows chained calls)
-
inline PipelineRasterizationStateCreateInfo &setPolygonMode(pvrvk::PolygonMode mode)#
Set polygon fill mode.
- Parameters:
mode – New polygon mode to set
- Returns:
this object (allows chained calls)
-
inline pvrvk::CullModeFlags getCullFace() const#
Get which of the faces (Front/Back/None/Both) will not be rendered (will be culled)
- Returns:
The faces that will be culled (“None” means everything drawn, “Both” means nothing drawn)
-
inline pvrvk::FrontFace getFrontFaceWinding() const#
Get which winding order is considered the FRONT face (CCW means front faces are the counterclockwise, CW clockwise)
- Returns:
The winding order that is considered FRONT facing
-
inline bool isDepthClipEnabled() const#
Check if depth clipping is enabled (i.e. depth clamping disabled). If disabled, polygons will not be clipped against the front and back clipping plane clipping planes: instead, the primitives’ depth will be clamped to min and max depth instead.
- Returns:
True if depth clipping is enabled (depth clamping is disabled). False if depth clamping is enabled (depth clipping disabled).
-
inline bool isRasterizerDiscardEnabled() const#
Check if rasterization is skipped (so all parts of the pipeline after transform feedback)
- Returns:
True if rasterization discard is enabled, false for normal rendering.
-
inline bool isProgramPointSizeEnabled() const#
Check if program point size is enabled.
- Returns:
True if program point size is enabled, otherwise false
-
inline bool isDepthBiasEnabled() const#
Check if depth bias is enabled. (If enabled, clamp, constant factor and slope factor can be checked)
- Returns:
True if depth bias is enabled, otherwise false.
-
inline float getDepthBiasClamp() const#
Get the maximum(minimum) value of depth bias.
- Returns:
The maximum(minimum) value of depth bias
-
inline float getDepthBiasConstantFactor() const#
Get the constant factor of depth bias.
- Returns:
The constant factor depth bias
-
inline float getDepthBiasSlopeFactor() const#
Get the slope factor of depth bias.
- Returns:
The slope factor depth bias
-
inline pvrvk::PolygonMode getPolygonMode() const#
Get the slope factor of depth bias.
- Returns:
The slope factor depth bias
-
inline float getLineWidth() const#
Get the slope factor of depth bias.
- Returns:
The slope factor depth bias
-
inline uint32_t getRasterizationStream() const#
Get the vertex stream selected for rasterization.
- Returns:
The vertex stream selected for rasterization
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline explicit PipelineRasterizationStateCreateInfo(pvrvk::CullModeFlags cullFace = pvrvk::CullModeFlags::e_NONE, pvrvk::FrontFace frontFaceWinding = pvrvk::FrontFace::e_COUNTER_CLOCKWISE, bool enableDepthClip = true, bool enableRasterizerDiscard = false, bool enableProgramPointSize = false, pvrvk::PolygonMode fillMode = pvrvk::PolygonMode::e_FILL, float lineWidth = 1.0f, bool enableDepthBias = false, float depthBiasClamp = 0.f, float depthBiasConstantFactor = 0.f, float depthBiasSlopeFactor = 0.f, uint32_t rasterizationStream = 0)#
PipelineShaderStageCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineShaderStageCreateInfo#
Pipeline vertex ShaderModule stage create param.
Public Functions
-
inline PipelineShaderStageCreateInfo()#
Constructor.
-
inline PipelineShaderStageCreateInfo(const ShaderModule &shader)#
Construct from a pvrvk::ShaderModule object.
- Parameters:
shader – A vertex shader
-
inline const ShaderModule &getShader() const#
Get the shader of this shader stage object.
- Returns:
The shader
-
inline bool isActive() const#
Return true if this state is active (contains a shader)
- Returns:
True if valid, otherwise false
-
inline void setShader(const ShaderModule &shader)#
Set the shader.
- Parameters:
shader – A shader
-
inline void setEntryPoint(const std::string &entryPoint)#
Set the shader entry point function (default: “main”). Only supported for specific APIs.
- Parameters:
entryPoint – A name of a function that will be used as an entry point in the shader
-
inline const std::string &getEntryPoint() const#
Get the entry point of the shader.
- Returns:
The entry point of the shader
-
inline PipelineShaderStageCreateInfo &operator=(const ShaderModule &shader)#
operator =
- Parameters:
shader – ShaderModule object
- Returns:
-
inline PipelineShaderStageCreateInfo &setShaderConstant(uint32_t index, const ShaderConstantInfo &shaderConst)#
Set a shader constants to the shader.
- Parameters:
index – The index of the shader constant to set (does not have to be in order)
shaderConst – The shader constant to set to index index
- Returns:
Return this (allow chaining)
-
inline PipelineShaderStageCreateInfo &setShaderConstants(const ShaderConstantInfo *shaderConsts, uint32_t numConstants)#
Set all shader constants.
Uses better memory reservation than the setShaderConstant counterpart.
- Parameters:
shaderConsts – A c-style array containing the shader constants
numConstants – The number of shader constants in shaderConsts
- Returns:
Return this (allow chaining)
-
inline const ShaderConstantInfo &getShaderConstant(uint32_t index) const#
Retrieve a ShaderConstant by index.
- Parameters:
index – The index of the ShaderConstant to retrieve
- Returns:
The shader constant
-
inline const ShaderConstantInfo *getAllShaderConstants() const#
Get all shader constants.
- Returns:
Return an array of all defined shader constants
-
inline uint32_t getNumShaderConsts() const#
Get the number of shader constants.
- Returns:
The number of shader constants
-
inline pvrvk::ShaderStageFlags getShaderStage() const#
Get the shader stage.
- Returns:
The shader stage
-
inline void setShaderStage(pvrvk::ShaderStageFlags shaderStage)#
Set the shader stage.
- Parameters:
shaderStage – New value for the shader stage
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline PipelineShaderStageCreateInfo()#
PipelineVertexInputStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineVertexInputStateCreateInfo#
Contains parameters needed to configure the Vertex Input for a pipeline object. (vertex attrubutes, input bindings etc.). Use by adding the buffer bindings with (setInputBinding) and then configure the attributes with (addVertexAttribute). Default settings: 0 Vertext buffers, 0 vertex attributes.
Public Functions
-
inline const std::vector<VertexInputBindingDescription> &getInputBindings() const#
Return the input bindings.
- Returns:
const std::vector<VertexInputBindingDescription>&
-
inline const std::vector<VertexInputAttributeDescription> &getAttributes() const#
Return the vertex attributes.
- Returns:
const std::vector<VertexInputAttributeDescription>&
-
inline PipelineVertexInputStateCreateInfo &clear()#
Clear this object.
- Returns:
this object (allows chained calls)
-
inline PipelineVertexInputStateCreateInfo &addInputBinding(const VertexInputBindingDescription &bindingDesc)#
Set the vertex input buffer bindings.
- Parameters:
bindingDesc – New input binding description
- Returns:
this object (allows chained calls)
-
inline const VertexInputBindingDescription *getInputBinding(uint32_t bufferBinding) const#
Return a VertexBindingInfo for a buffer binding index, else return NULL if not found.
- Parameters:
bufferBinding – Buffer binding index
- Returns:
const VertexInputBindingDescription*
-
inline const VertexInputBindingDescription &getInputBindingByIndex(uint32_t index) const#
Returns an input binding at a given index.
- Parameters:
index – The index of the VertexInputBindingDescription to retrieve.
- Returns:
const VertexInputBindingDescription&
-
inline PipelineVertexInputStateCreateInfo &addInputAttribute(const VertexInputAttributeDescription &attributeInfo)#
Add vertex layout information to a buffer binding index using a VertexAttributeInfo object.
- Parameters:
attributeInfo – Vertex attribute info.
- Returns:
this object (allows chained calls)
-
inline PipelineVertexInputStateCreateInfo &addInputAttributes(const VertexInputAttributeDescription *attributeInfo, uint32_t numAttributes)#
Add vertex layout information to a buffer binding index using a VertexAttributeInfo object.
- Parameters:
attributeInfo – Pointer to vertex attribute info
numAttributes – Number of vertex attributes
- Returns:
this object (allows chained calls)
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline const std::vector<VertexInputBindingDescription> &getInputBindings() const#
PipelineViewportStateCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct PipelineViewportStateCreateInfo#
Pipeline Viewport state descriptor. Sets the base configuration of all viewports.
Defaults: Number of Viewports:1, Clip Origin: lower lef, Depth range: 0..1
Public Functions
-
inline PipelineViewportStateCreateInfo()#
Constructor.
-
inline PipelineViewportStateCreateInfo &setViewportAndScissor(uint32_t index, const Viewport &viewport, const Rect2D &scissor)#
Configure the viewport with its corresponding scissor rectangle for an attachment.
- Parameters:
index – The index of the attachment for which to set the viewport and scissor rectangle
viewport – The viewport to set for attachment index
scissor – The scissor rectangle of the viewport
- Returns:
return this object (allows chained calls)
-
inline PipelineViewportStateCreateInfo &clear()#
Clear all states.
- Returns:
Return this object (allows chained calls)
-
inline const Rect2D &getScissor(uint32_t index) const#
Get the scissor rectangle for the specified attachment intex.
- Parameters:
index – The index for which to return the scissor rectangle
- Returns:
Get the scissor rectangle for the specified attachment intex
-
inline const Viewport &getViewport(uint32_t index) const#
Get the viewport for the specified attachment intex.
- Parameters:
index – The index for which to return the scissor rectangle
- Returns:
Get the scissor rectangle for the specified attachment intex
-
inline uint32_t getNumViewportScissors() const#
Return number of viewport and scissor.
- Returns:
uint32_t
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline PipelineViewportStateCreateInfo()#
PresentInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct PresentInfo#
Swapchain present info. Containes information for presentation such as swapchains, swapchain indices and wait semaphores.
Public Functions
-
inline PresentInfo()#
Constructor. Default initialised to 0.
-
inline PresentInfo(uint32_t numWaitSemaphores, Semaphore *waitSemaphores, uint32_t numSwapchains, const pvrvk::Swapchain *swapchains, const uint32_t *imageIndices)#
Constructor. Initialise with inidividual values.
- Parameters:
numWaitSemaphores – The number of wait semaphores
waitSemaphores – Pointer to an array of semaphores
numSwapchains – The number of swapchains being presented by this command
swapchains – Pointer to an array of swapchains to use for presentation
imageIndices – Pointer to an array of indices into the array of swapchain’s presentatble images
-
inline PresentInfo()#
QueryPoolCreateInfo#
Defined in QueryPoolVk.h
Struct Documentation#
-
struct QueryPoolCreateInfo#
QueryPool creation descriptor.
Public Functions
-
inline QueryPoolCreateInfo(QueryType queryType, uint32_t queryCount, QueryPipelineStatisticFlags pipelineStatistics = QueryPipelineStatisticFlags::e_NONE, QueryPoolCreateFlags flags = QueryPoolCreateFlags::e_NONE)#
Constructor.
- Parameters:
queryType – The type of queries managed by the pool
queryCount – The number of queries managed by the pool
pipelineStatistics – Specifies which counters will be returned in queries on the pool
flags – Flags to use for creating the query pool
-
inline QueryPoolCreateFlags getFlags() const#
Get the query pool creation flags.
- Returns:
The set of query pool creation flags
-
inline void setFlags(QueryPoolCreateFlags flags)#
Set the query pool creation flags.
- Parameters:
flags – The query pool creation flags
-
inline QueryPipelineStatisticFlags getPipelineStatisticFlags() const#
Get the set of counters which will be returned in queries on the pool.
- Returns:
The set of counters which will be returned in queries on the pool
-
inline void setPipelineStatisticFlags(QueryPipelineStatisticFlags pipelineStatistics)#
Set the set counters will be returned in queries on the pool.
- Parameters:
pipelineStatistics – The set of counters which will be returned in queries on the pool
-
inline QueryType getQueryType() const#
Get the type of queries managed by this query pool.
- Returns:
The type of queries managed by this query pool
-
inline void setQueryType(QueryType queryType)#
Set the type of queries this query pool can manage.
- Parameters:
queryType – The type of queries the query pool can manage
-
inline uint32_t getNumQueries() const#
Get the number of queries managed by the pool.
- Returns:
The number of queries managed by the pool
-
inline void setNumQueries(uint32_t queryCount)#
Set the number queries managed by the pool.
- Parameters:
queryCount – The number of queries to be managed by the pool
-
inline QueryPoolCreateInfo(QueryType queryType, uint32_t queryCount, QueryPipelineStatisticFlags pipelineStatistics = QueryPipelineStatisticFlags::e_NONE, QueryPoolCreateFlags flags = QueryPoolCreateFlags::e_NONE)#
RaytracingPipelineCreateInfo#
Defined in RaytracingPipelineVk.h
Inheritance Relationships#
Base Type#
public pvrvk::PipelineCreateInfo< RaytracingPipeline >
(PipelineCreateInfo)
Struct Documentation#
-
struct RaytracingPipelineCreateInfo : public pvrvk::PipelineCreateInfo<RaytracingPipeline>#
Ray tracing pipeline create parameters.
Public Functions
-
inline RaytracingPipelineCreateInfo()#
Public Members
-
std::vector<PipelineShaderStageCreateInfo> stages#
Ray tracing stages used in this pipeline.
-
std::vector<RayTracingShaderGroupCreateInfo> shaderGroups#
Shader groups matching the ray tracing stages used in this pipeline.
-
uint32_t maxRecursionDepth#
Maximum recursion depth used in this pipeline.
-
inline RaytracingPipelineCreateInfo()#
RayTracingShaderGroupCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct RayTracingShaderGroupCreateInfo#
Ray tracing shader group create info parameter.
Public Functions
-
inline RayTracingShaderGroupCreateInfo()#
-
inline RayTracingShaderGroupCreateInfo(RayTracingShaderGroupTypeKHR type)#
-
inline pvrvk::RayTracingShaderGroupTypeKHR getType() const#
Get the shader group type.
- Returns:
The shader group type
-
inline void setType(pvrvk::RayTracingShaderGroupTypeKHR type)#
Set the shader group type.
- Parameters:
type – New value for the shader group type
-
inline uint32_t getGeneralShader() const#
Get the general shader amount.
- Returns:
The general shader amount
-
inline void setGeneralShader(uint32_t generalShader)#
Set the general shader amount.
- Parameters:
generalShader – New value for the general shader amount
-
inline uint32_t getClosestHitShader() const#
Get the closest hit shader amount.
- Returns:
The closest hit shader amount
-
inline void setClosestHitShader(uint32_t closestHitShader)#
Set the closest hit shader amount.
- Parameters:
closestHitShader – New value for the closest hit shader amount
-
inline uint32_t getAnyHitShader() const#
Get the any hit shader amount.
- Returns:
The any hit shader amount
-
inline void setAnyHitShader(uint32_t anyHitShader)#
Set the any hit shader amount.
- Parameters:
anyHitShader – New value for the any hit shader amount
-
inline uint32_t getIntersectionShader() const#
Get the intersection hit shader amount.
- Returns:
The intersection hit shader amount
-
inline void setIntersectionShader(uint32_t intersectionShader)#
Set the intersection hit shader amount.
- Parameters:
intersectionShader – New value for the intersection hit shader amount
-
inline const void *getShaderGroupCaptureReplayHandle() const#
Get the shader group capture replay handle.
- Returns:
The shader group capture replay handle
-
inline void setShaderGroupCaptureReplayHandle(void *pShaderGroupCaptureReplayHandle)#
Set the shader group capture replay handle.
- Parameters:
pShaderGroupCaptureReplayHandle – New value for the shader group capture replay handle
-
inline RayTracingShaderGroupCreateInfo()#
Rect2Df#
Defined in TypesVk.h
Struct Documentation#
-
struct Rect2Df#
2-dimensional floating point rectangle
RenderPassCreateInfo#
Defined in RenderPassVk.h
Struct Documentation#
-
struct RenderPassCreateInfo#
RenderPass creation parameters.
Public Functions
-
inline RenderPassCreateInfo()#
-
inline void clear()#
Clear all entries.
-
inline uint32_t getNumSubpasses() const#
Return number of subpasses (const)
- Returns:
Number of subpasses
-
inline const SubpassDescription &getSubpass(uint32_t index) const#
Get subpass (const)
- Parameters:
index – Subpass index
- Returns:
Subpas
-
inline uint32_t getNumSubpassDependencies() const#
Get number of subpass dependencies (const)
- Returns:
Number of subpass dependencies
-
inline const SubpassDependency &getSubpassDependency(uint32_t index) const#
Get subpass dependency (const)
- Parameters:
index – Subpass dependency index
- Returns:
SubpassDependency
-
inline uint32_t getNumAttachmentDescription() const#
Return number of color attachments (const)
- Returns:
Number of color attachments
-
inline const AttachmentDescription &getAttachmentDescription(uint32_t index) const#
Get render pass color info (const)
- Parameters:
index – Color info index
- Returns:
RenderPassColorInfo
-
inline RenderPassCreateInfo &setAttachmentDescription(uint32_t index, const AttachmentDescription &attachmentDescription)#
Add color info to the specified color attachment point.
- Parameters:
index – The color attachment point to add the color info, index must be consecutive
attachmentDescription – The attachment description to add to the attachment point
- Returns:
Reference to this object. (allow chaining)
-
inline RenderPassCreateInfo &setSubpass(uint32_t index, const SubpassDescription &subpass)#
Add a subpass to this renderpass.
- Parameters:
index – Index where to add the subpass, the index must be consective
subpass – The Subpass to add
- Returns:
Reference to this object. (allow chaining)
-
inline RenderPassCreateInfo &addSubpassDependency(const SubpassDependency &subPassDependency)#
Add a subpass dependecy to this renderpass.
- Parameters:
subPassDependency – The Subpass dependency to add
- Returns:
Reference to this object. (allow chaining)
-
inline RenderPassCreateInfo &addSubpassDependencies(const SubpassDependency *subPassDependencies, uint32_t numDependencies)#
Add subpass dependencies.
- Parameters:
subPassDependencies – Pointer to supass dependencies
numDependencies – Number of supass dependencies
- Returns:
Return this.
-
inline bool extendedSupportRequired() const#
Friends
- friend class impl::RenderPass_
-
inline RenderPassCreateInfo()#
SamplerCreateInfo#
Defined in SamplerVk.h
Struct Documentation#
-
struct SamplerCreateInfo#
Object describing the state of a sampler. Also used to construct a full-blown Sampler object.
Public Functions
-
inline SamplerCreateInfo()#
Default constructor.
Creates a Sampler with following configs. Can be edited after construction magnification filter: nearest, minifictation filter: nearest, mipmap filter: linear,wrap UVW: Repeat no comparison, no lod-bias, no anisotropy.
-
inline SamplerCreateInfo(pvrvk::Filter magniFilter, pvrvk::Filter miniFilter, pvrvk::SamplerMipmapMode mipMapFilter = pvrvk::SamplerMipmapMode::e_LINEAR, pvrvk::SamplerAddressMode wrapModeU = pvrvk::SamplerAddressMode::e_REPEAT, pvrvk::SamplerAddressMode wrapModeV = pvrvk::SamplerAddressMode::e_REPEAT, pvrvk::SamplerAddressMode wrapModeW = pvrvk::SamplerAddressMode::e_REPEAT)#
Constructor that sets the filters. Set the filtering mode explicitly. Wrap. Creates a Sampler with wrap:Repeat, no comparison, no lod bias, no anisotropy. Can be edited after construction.
- Parameters:
miniFilter – Minification filter: Nearest or Linear
magniFilter – Magnification filter: Nearest or Linear
mipMapFilter – Mipmap interpolation filter: Nearest or Linear
wrapModeU – The wrapping mode for the U coordinate
wrapModeV – The wrapping mode for the V coordinate
wrapModeW – The wrapping mode for the W coordinate
Public Members
-
pvrvk::Filter magFilter#
Texture Magnification interpolation filter. Nearest or Linear. Default Nearest.
-
pvrvk::Filter minFilter#
Texture Minification interpolation filter. Nearest or Linear. Default Nearest.
-
pvrvk::SamplerMipmapMode mipMapMode#
Texture Mipmap interpolation filter. Nearest, Linear or None (for no mipmaps). Default Linear.
-
pvrvk::SamplerAddressMode wrapModeU#
Texture Wrap mode, U (x) direction (Repeat, Mirror, MirrorRepeat, Border, Clamp). Default Repeat.
-
pvrvk::SamplerAddressMode wrapModeV#
Texture Wrap mode, V (y) direction (Repeat, Mirror, MirrorRepeat, Border, Clamp). Default Repeat.
-
pvrvk::SamplerAddressMode wrapModeW#
Texture Wrap mode, W (z) direction (Repeat, Mirror, MirrorRepeat, Border, Clamp). Default Repeat.
-
pvrvk::CompareOp compareOp#
Comparison mode for comparison samplers. Default None.
-
bool compareOpEnable#
Enable the compare op.
-
bool enableAnisotropy#
Enable anisotropic filtering.
-
float anisotropyMaximum#
Texture anisotropic filtering. Default 1.
-
float lodBias#
Texture level-of-detail bias (bias of mipmap to select). Default 0.
-
float lodMinimum#
Texture minimum level-of-detail (mipmap). Default 0.
-
float lodMaximum#
Texture maximum level-of-detail (mipmap). Default 0.
-
bool unnormalizedCoordinates#
Texture Coordinates are Un-Normalized.
-
pvrvk::BorderColor borderColor#
In case of a border address mode, the border color.
-
const void *pNext#
pNext chain for samplers
-
inline SamplerCreateInfo()#
SemaphoreCreateInfo#
Defined in TypesVk.h
Struct Documentation#
-
struct SemaphoreCreateInfo#
Semaphore creation descriptor.
Public Functions
-
inline SemaphoreCreateInfo(SemaphoreCreateFlags flags = SemaphoreCreateFlags::e_NONE)#
Constructor.
- Parameters:
flags – Flags to use for creating the Semaphore
-
inline SemaphoreCreateFlags getFlags() const#
Get the Semaphore creation flags.
- Returns:
The set of Semaphore creation flags
-
inline void setFlags(SemaphoreCreateFlags flags)#
Set the Semaphore creation flags.
- Parameters:
flags – The Semaphore creation flags
-
inline void setSemaphoreType(SemaphoreType semaphoreType)#
Set the Semaphore type.
- Parameters:
semaphoreType – The Semaphore type
-
inline SemaphoreType getSemaphoreType() const#
Get the Semaphore type.
- Returns:
The Semaphore type
-
inline SemaphoreCreateInfo(SemaphoreCreateFlags flags = SemaphoreCreateFlags::e_NONE)#
ShaderConstantInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct ShaderConstantInfo#
A representation of a Shader constant.
Public Functions
-
inline ShaderConstantInfo()#
Constructor (Zero initialization)
-
inline bool isValid() const#
Return if this is a valid constant info.
- Returns:
bool
-
inline ShaderConstantInfo(uint32_t constantId, const void *data, uint32_t sizeOfData)#
Constructor. Initialise with inidividual values.
- Parameters:
constantId – ID of the specialization constant in SPIR-V.
data – Data, max can hold 4x4 matrix
sizeOfData – Data size in bytes
-
inline ShaderConstantInfo()#
ShaderModuleCreateInfo#
Defined in ShaderModuleVk.h
Struct Documentation#
-
struct ShaderModuleCreateInfo#
ShaderModule creation descriptor.
Public Functions
-
inline ShaderModuleCreateInfo(ShaderModuleCreateFlags flags = ShaderModuleCreateFlags::e_NONE)#
Default Constructor.
- Parameters:
flags – A set of pvrvk::ShaderModuleCreateFlags defining how the ShaderModule will be created
-
inline ShaderModuleCreateInfo(const std::vector<uint32_t> &shaderSources, ShaderModuleCreateFlags flags = ShaderModuleCreateFlags::e_NONE)#
Constructor.
- Parameters:
shaderSources – Points to code that is used to create the shader module
flags – A set of pvrvk::ShaderModuleCreateFlags defining how the ShaderModule will be created
-
inline ShaderModuleCreateInfo(const uint32_t *shaderSources, uint32_t shaderSourcesSize, ShaderModuleCreateFlags flags = ShaderModuleCreateFlags::e_NONE)#
Constructor.
- Parameters:
shaderSources – Points to code that is used to create the shader module
shaderSourcesSize – The size of the shader sources in bytes
flags – A set of pvrvk::ShaderModuleCreateFlags defining how the ShaderModule will be created
-
inline ShaderModuleCreateFlags getFlags() const#
Get the ShaderModule creation flags.
- Returns:
The set of ShaderModule creation flags
-
inline void setFlags(ShaderModuleCreateFlags flags)#
Set the ShaderModule creation flags.
- Parameters:
flags – The ShaderModule creation flags
-
inline uint32_t getCodeSize() const#
Get the size of the shader sources.
- Returns:
The size of shader sources
-
inline const std::vector<uint32_t> &getShaderSources() const#
Get the shader sources.
- Returns:
The set of shader sources
-
inline void setShaderSources(const std::vector<uint32_t> &shaderSources)#
Set the shader sources to use for creating a shader module.
- Parameters:
shaderSources – Shader sources to use for creating a shader module
-
inline ShaderModuleCreateInfo(ShaderModuleCreateFlags flags = ShaderModuleCreateFlags::e_NONE)#
SparseBufferMemoryBindInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct SparseBufferMemoryBindInfo#
Bind memory to sparse buffer object which has been created with VK_BUFFER_CREATE_SPARSE_BINDING_BIT flag.
Public Members
-
std::vector<SparseMemoryBind> binds#
array of sparse memory binds
-
std::vector<SparseMemoryBind> binds#
SparseImageMemoryBind#
Defined in QueueVk.h
Struct Documentation#
-
struct SparseImageMemoryBind#
Bind memory to sparse image which has been created with pvrvk::ImageCreateFlags::e_SPARSE_BINDING_BIT flag.
Public Members
-
ImageSubresource subresource#
The aspectMask and region of interest in the image.
-
pvrvk::Offset3D offset#
Coordinates of the first texel within the image subresource to bind.
-
pvrvk::Extent3D extent#
the size in texels of the region within the image subresource to bind. The extent must be a multiple of the sparse image block dimensions, except when binding sparse image blocks along the edge of an image subresource it can instead be such that any coordinate of offset + extent equals the corresponding dimensions of the image subresource
-
DeviceMemory memory#
DeviceMemory object that the sparse image blocks of the image are bound to. If memory is null handle, the sparse image blocks are unbound.
-
uint64_t memoryOffset#
Offset into VkDeviceMemory object. If memory is null handle, this value is ignored.
-
pvrvk::SparseMemoryBindFlags flags#
Sparse memory binding flags.
-
ImageSubresource subresource#
SparseImageMemoryBindInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct SparseImageMemoryBindInfo#
Bind memory sparse image blocks of image objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag.
Public Members
-
std::vector<SparseImageMemoryBind> binds#
array of sparse memory binds
-
std::vector<SparseImageMemoryBind> binds#
SparseImageOpaqueMemoryBindInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct SparseImageOpaqueMemoryBindInfo#
Bind memory to opaque regions of image objects created with the VK_IMAGE_CREATE_SPARSE_BINDING_BIT flag.
Public Members
-
std::vector<SparseMemoryBind> binds#
array of sparse memory binds
-
std::vector<SparseMemoryBind> binds#
SparseMemoryBind#
Defined in QueueVk.h
Struct Documentation#
-
struct SparseMemoryBind#
Containes memory bind data for SparseImageMemoryBind and SparseBufferMemoryBindInfo.
Public Members
-
uint64_t resourceOffset#
offset in to the resource
-
uint64_t size#
Size of the memory region to be bound.
-
DeviceMemory memory#
is the DeviceMemory object that the range of the resource is bound to. If memory is null handle, the range is unbound
-
uint64_t memoryOffset#
is the offset into the DeviceMemory object to bind the resource range to. If memory is null handle, this value is ignored
-
pvrvk::SparseMemoryBindFlags flags#
is a bitmask of pvrvk::SparseMemoryBindFlagBits specifying usage of the binding operation
-
uint64_t resourceOffset#
SubmitInfo#
Defined in QueueVk.h
Struct Documentation#
-
struct SubmitInfo#
Queue submit info. Contains the commandbuffers to be summited to the queue.
Public Functions
-
inline SubmitInfo()#
Constructor. Default initialised to 0.
-
inline SubmitInfo(const pvrvk::PipelineStageFlags *waitDstStageMask, const CommandBuffer *commandBuffers, uint32_t numCommandBuffers, const Semaphore *waitSemaphores, uint32_t numWaitSemaphores, const Semaphore *signalSemaphores, uint32_t numSignalSemaphores)#
Constructor. Initialise with inidividual values.
- Parameters:
waitDstStageMask – pointer to an array of pipeline stages at which each corresponding semaphore wait will occur
commandBuffers – Pointer to an array of command buffers to execute in the batch
numCommandBuffers – The number of command buffers to execute in the batch
waitSemaphores – ointer to an array of semaphores upon which to wait before the command buffers for this batch begin execution
numWaitSemaphores – The number of semaphores upon which to wait before executing the command buffers for the batch
signalSemaphores – Pointer to an array of semaphores which will be signaled when the command buffers for this batch have completed execution
numSignalSemaphores – Number of semaphores to be signaled once the commands specified in pCommandBuffers have completed execution
Public Members
-
const PipelineStageFlags *waitDstStageMask#
pointer to an array of pipeline stages at which each corresponding semaphore wait will occur
-
const CommandBuffer *commandBuffers#
Pointer to an array of command buffers to execute in the batch.
-
uint32_t numCommandBuffers#
The number of command buffers to execute in the batch.
-
const Semaphore *waitSemaphores#
Pointer to an array of semaphores upon which to wait before the command buffers for this batch begin execution.
-
uint32_t numWaitSemaphores#
The number of semaphores upon which to wait before executing the command buffers for the batch.
-
const Semaphore *signalSemaphores#
Pointer to an array of semaphores which will be signaled when the command buffers for this batch have completed execution.
-
uint32_t numSignalSemaphores#
Number of semaphores to be signaled once the commands specified in pCommandBuffers have completed execution.
-
TimelineSemaphoreSubmitInfo *timelineSemaphoreSubmitInfo#
Additional struct required with timeline semaphores. It contains signal values.
-
inline SubmitInfo()#
SubpassDescription#
Defined in TypesVk.h
Struct Documentation#
-
struct SubpassDescription#
Render pass subpass. Subpasses allow intermediate draws to be chained and communicating with techniques like Pixel Local Storage without outputting to the FrameBuffer until the end of the RenderPass.
Public Functions
-
inline SubpassDescription(pvrvk::PipelineBindPoint pipeBindPoint = pvrvk::PipelineBindPoint::e_GRAPHICS)#
Constructor.
- Parameters:
pipeBindPoint – The binding point for this subpass (Graphics, Compute). Default Graphics.
-
inline SubpassDescription &setPipelineBindPoint(pvrvk::PipelineBindPoint bindingPoint)#
Set the pipeline binding point.
- Parameters:
bindingPoint – New pipeline binding point
- Returns:
Reference to this(allows chaining)
-
inline SubpassDescription &setColorAttachmentReference(uint32_t bindingIndex, const AttachmentReference &attachmentReference)#
Activate the specified color output attachment of the framebuffer.
- Parameters:
bindingIndex – Corresponding fragment shader output location. The Index must start from 0 and must be consective.
attachmentReference – Attachment to activate as output
- Returns:
Reference to this(allows chaining)
-
inline SubpassDescription &setInputAttachmentReference(uint32_t bindingIndex, const AttachmentReference &attachmentReference)#
Set the specified color attachment as input.
- Parameters:
bindingIndex – Corresponding fragment shader input location. The Index must start from 0 and must be consective.
attachmentReference – Attachment to set as input
- Returns:
Reference to this(allows chaining)
-
inline SubpassDescription &setResolveAttachmentReference(uint32_t bindingIndex, const AttachmentReference &attachmentReference)#
Activate the specified Resolve attachment of the framebuffer.
- Parameters:
bindingIndex – Corresponding fragment shader input location. The Index must start from 0 and must be consective.
attachmentReference – Attachment to set as resolve
- Returns:
this (allow chaining)
-
inline SubpassDescription &setPreserveAttachmentReference(uint32_t bindingIndex, const uint32_t preserveAttachment)#
Set preserve attachment from the framebuffer.
- Parameters:
bindingIndex – The Index must start from 0 and must be consective.
preserveAttachment – Attachment to set as preserve
- Returns:
Reference to this(allows chaining)
this (allow chaining)
-
inline SubpassDescription &setDepthStencilAttachmentReference(const AttachmentReference &attachmentReference)#
Sets depth stencil attachment reference.
- Parameters:
attachmentReference – New depth-stencil attachment reference
- Returns:
Reference to this(allows chaining)
-
inline SubpassDescription &setFragmentShadingRateAttachment(const FragmentShadingRateAttachmentInfo &attachmentInfo)#
-
inline uint8_t getNumColorAttachmentReference() const#
Return number of color attachments.
- Returns:
Return number of color attachment references
-
inline uint8_t getNumInputAttachmentReference() const#
Return number of input attachments.
- Returns:
Return number of input attachment references
-
inline uint8_t getNumResolveAttachmentReference() const#
Get number of resolve attachments (const)
- Returns:
Number of resolve attachments
-
inline uint8_t getNumPreserveAttachmentReference() const#
Return number of preserve attachments (const)
/
- Returns:
Number of preserve attachments
-
inline pvrvk::PipelineBindPoint getPipelineBindPoint() const#
Get pipeline binding point (const)
- Returns:
Returns Pipeline binding point
-
inline const AttachmentReference &getInputAttachmentReference(uint8_t index) const#
Get input attachment id (const)
- Parameters:
index – Attachment index
- Returns:
Input attachment id
-
inline const AttachmentReference &getDepthStencilAttachmentReference() const#
Get depth stencil attachment reference (const).
- Returns:
Return depth-stencil attachment reference id
-
inline const AttachmentReference &getColorAttachmentReference(uint8_t index) const#
Get color attachment id (const)
- Parameters:
index – Attachment index
- Returns:
Color attachment id
-
inline const AttachmentReference &getResolveAttachmentReference(uint8_t index) const#
Get resolve attachment id (const)
- Parameters:
index – Attachment index
- Returns:
Resolve attachment id
-
inline uint32_t getPreserveAttachmentReference(uint8_t index) const#
Get preserve attachment id (const)
- Parameters:
index – Attachment index
- Returns:
Preserve attachment id
-
inline const uint32_t *getAllPreserveAttachments() const#
Get all preserve attahments ids (const)
(const)
- Returns:
Return all preserve attachments id
-
inline const FragmentShadingRateAttachmentInfo &getFragmentShadingRateAttachment() const#
-
inline SubpassDescription &clear()#
clear all entries
- Returns:
Returns this object (allows chained calls)
-
inline SubpassDescription(pvrvk::PipelineBindPoint pipeBindPoint = pvrvk::PipelineBindPoint::e_GRAPHICS)#
SwapchainCreateInfo#
Defined in SwapchainVk.h
Struct Documentation#
-
struct SwapchainCreateInfo#
Contains swapchain create informations.
Public Functions
-
inline SwapchainCreateInfo()#
Constructor. Default intialised.
-
inline SwapchainCreateInfo(Surface surface, uint32_t minImageCount, Extent2D imageExtent, SwapchainCreateFlagsKHR flags, uint32_t numQueueFamilyIndex, const uint32_t *queueFamilyIndices, ImageUsageFlags imageUsage, Format imageFormat = Format::e_R8G8B8A8_UNORM, ColorSpaceKHR imageColorSpace = ColorSpaceKHR::e_PASS_THROUGH_EXT, PresentModeKHR presentMode = PresentModeKHR::e_FIFO_KHR, uint32_t imageArrayLayers = 1, SharingMode imageSharingMode = SharingMode::e_EXCLUSIVE, SurfaceTransformFlagsKHR preTransform = SurfaceTransformFlagsKHR::e_IDENTITY_BIT_KHR, CompositeAlphaFlagsKHR compositeAlpha = CompositeAlphaFlagsKHR::e_OPAQUE_BIT_KHR, bool clipped = true, Swapchain oldSwapchain = Swapchain())#
Constructor.
- Parameters:
surface – The surface onto which the swapchain will present images
minImageCount – The minimum number of presentable images that the application needs
imageExtent – The size (in pixels) of the swapchain image(s)
flags – A set of pvrvk::SwapchainCreateFlagsKHR indicating parameters of the swapchain creation.
numQueueFamilyIndex – The number of queue families having access to the image(s) of the swapchain when imageSharingMode is VK_SHARING_MODE_CONCURRENT
queueFamilyIndices – An array of queue family indices having access to the images(s) of the swapchain when imageSharingMode is VK_SHARING_MODE_CONCURRENT
imageUsage – A set of pvrvk::ImageUsageFlags describing the intended usage of the (acquired) swapchain images.
imageFormat – A pvrvk::Format value specifying the format the swapchain image(s) will be created with.
imageColorSpace – A pvrvk::ColorSpaceKHR value specifying the way the swapchain interprets image data.
presentMode – The presentation mode the swapchain will use.
imageArrayLayers – The number of views in a multiview/stereo surface
imageSharingMode – The sharing mode used for the image(s) of the swapchain.
preTransform – A pvrvk::SurfaceTransformFlagsKHR value describing the transform, relative to the presentation engine’s natural orientation, applied to the image content prior to presentation. If it does not match the currentTransform value returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR, the presentation engine will transform the image content as part of the presentation operation.
compositeAlpha – A pvrvk::CompositeAlphaFlagsKHR value indicating the alpha compositing mode to use when this surface is composited together with other surfaces on certain window systems.
clipped – Specifies whether the Vulkan implementation is allowed to discard rendering operations that affect regions of the surface that are not visible.
oldSwapchain – Is a null pvrvk::Swapchain, or the existing non-retired swapchain currently associated with surface.
Public Members
-
SwapchainCreateFlagsKHR flags#
Bitmask of SwapchainCreateFlagBitsKHR indicating parameters of swapchain creation.
-
uint32_t minImageCount#
The minimum number of presentable images that the application needs. The platform will either create the swapchain with at least that many images, or will fail to create the swapchain
-
Format imageFormat#
Format that is valid for swapchains on the specified surface.
-
ColorSpaceKHR imageColorSpace#
ColorSpaceKHR that is valid for swapchains on the specified surface.
-
Extent2D imageExtent#
Size (in pixels) of the swapchain. Behavior is platform-dependent when the image extent does not match the surface’s currentExtent as returned by PysicalDevice::getSurfaceCapabilities
-
uint32_t imageArrayLayers#
Number of views in a multiview/stereo surface. For non-stereoscopic-3D applications, this value is 1.
-
ImageUsageFlags imageUsage#
Bitmask of ImageUsageFlagBits, indicating how the application will use the swapchain’s presentable images.
-
SharingMode imageSharingMode#
Sharing mode used for the images of the swapchain.
-
uint32_t numQueueFamilyIndex#
Number of queue families having access to the images of the swapchain in case imageSharingMode is VKSharingMode::e_CONCURRENT.
-
const uint32_t *queueFamilyIndices#
Array of queue family indices having access to the images of the swapchain in case imageSharingMode is VKSharingMode::e_CONCURRENT.
-
SurfaceTransformFlagsKHR preTransform#
Bitmask of SurfaceTransformFlagBitsKHR, describing the transform, relative to the presentation engine’s natural orientation, applied to the image content prior to presentation
-
CompositeAlphaFlagsKHR compositeAlpha#
Bitmask of CompositeAlphaFlagBitsKHR indicating the alpha compositing mode to use when this surface is composited together with other surfaces on certain window systems
-
PresentModeKHR presentMode#
Presentation mode the swapchain will use. A swapchain’s present mode determines how incoming present requests will be processed and queued internally.
-
bool clipped#
indicates whether the Vulkan implementation is allowed to discard rendering operations that affect regions of the surface which are not visible
-
inline SwapchainCreateInfo()#
TesselationStageCreateInfo#
Defined in PipelineConfigVk.h
Struct Documentation#
-
struct TesselationStageCreateInfo#
Creation parameters for all Tesselation shaders.
Public Functions
-
inline TesselationStageCreateInfo()#
Constructor.
-
inline const ShaderModule &getControlShader() const#
Get the Tessellation Control shader.
- Returns:
The Tessellation Control shader
-
inline const ShaderModule &getEvaluationShader() const#
Get the Tessellation Evaluation shader.
- Returns:
The Tessellation Evaluation shader
-
inline bool isControlShaderActive() const#
Check if the Tessellation Control shader has been set.
- Returns:
true if the Tessellation Control shader has been set
-
inline bool isEvaluationShaderActive() const#
Check if the Tessellation Evaluation shader has been set.
- Returns:
true if the Tessellation Evaluation shader has been set
-
inline TesselationStageCreateInfo &setControlShader(const ShaderModule &shader)#
Set the control shader.
- Parameters:
shader – A shader to set to the Tessellation Control stage
- Returns:
this (allow chaining)
-
inline TesselationStageCreateInfo &setControlShaderEntryPoint(const char *entryPoint)#
Set control shader entry point.
- Parameters:
entryPoint – Entrypoint
- Returns:
-
inline TesselationStageCreateInfo &setEvaluationShaderEntryPoint(const char *entryPoint)#
Set evaluation shader entry point.
- Parameters:
entryPoint – Entrypoint
- Returns:
-
inline TesselationStageCreateInfo &setEvaluationShader(const ShaderModule &shader)#
Set the control shader.
- Parameters:
shader – A shader to set to the Tessellation Control stage
- Returns:
this (allow chaining)
-
inline TesselationStageCreateInfo &setNumPatchControlPoints(uint32_t controlPoints)#
Set number of control points.
- Parameters:
controlPoints – The number of control points per patch
- Returns:
this (allow chaining)
-
inline uint32_t getNumPatchControlPoints() const#
Get number of control points.
- Returns:
The number of patch control points
-
inline TesselationStageCreateInfo &setControlShaderConstant(uint32_t index, const ShaderConstantInfo &shaderConst)#
Set a shader constant for the Tessellation Control shader.
- Parameters:
index – Index of the constant to set
shaderConst – Value of the constant to set
- Returns:
Return this for chaining
-
inline TesselationStageCreateInfo &setControlShaderConstants(const ShaderConstantInfo *shaderConsts, uint32_t numConstants)#
Set all Tessellation Control shader constants.
Uses better memory reservation than the setShaderConstant counterpart.
- Parameters:
shaderConsts – A c-style array containing the shader constants
numConstants – The number of shader constants in shaderConsts
- Returns:
Return this (allow chaining)
-
inline const ShaderConstantInfo &getControlShaderConstant(uint32_t index) const#
Get a Control shader constant.
- Parameters:
index – The index of the constant to get. It is undefined to retrieve a constant that does not exist.
- Returns:
The Constant to get
-
inline const ShaderConstantInfo *getAllControlShaderConstants() const#
Return all control shader constants as a c-style array.
- Returns:
C-style array of all shader constants
-
inline uint32_t getNumControlShaderConstants() const#
Return number of control shader constants.
- Returns:
uint32_t
-
inline void setEvaluationShaderConstant(uint32_t index, const ShaderConstantInfo &shaderConst)#
Set a shader constant for the Tessellation Evaluation shader.
- Parameters:
index – Index of the constant to set
shaderConst – Value of the constant to set
- Returns:
Return this for chaining
-
inline TesselationStageCreateInfo &setEvaluationShaderConstants(const ShaderConstantInfo *shaderConsts, uint32_t numConstants)#
Set all Tessellation Evaluation shader constants.
Uses better memory reservation than the setShaderConstant counterpart.
- Parameters:
shaderConsts – A c-style array containing the shader constants
numConstants – The number of shader constants in shaderConsts
- Returns:
Return this (allow chaining)
-
inline const ShaderConstantInfo &getEvaluationlShaderConstant(uint32_t index) const#
Get Evaluation shader constants.
- Parameters:
index – The index of the constant to retrieve. It is undefined to retrieve a constant that does not exist.
- Returns:
The ShaderConstantInfo at index index
-
inline const ShaderConstantInfo *getAllEvaluationShaderConstants() const#
Return all evaluationshader constants.
- Returns:
const ShaderConstantInfo*
-
inline uint32_t getNumEvaluatinonShaderConstants() const#
Return number of evaluatinon shader constants.
- Returns:
The number of evaluatinon shader constants
-
inline const char *getEvaluationShaderEntryPoint() const#
Get evaluation shader entry point.
- Returns:
const char*
-
inline const char *getControlShaderEntryPoint() const#
Get control shader entry point.
- Returns:
const char*
Friends
- friend class ::pvrvk::impl::GraphicsPipeline_
-
inline TesselationStageCreateInfo()#
TimelineSemaphoreSubmitInfo#
Defined in TimelineSemaphoreVk.h
Struct Documentation#
-
struct TimelineSemaphoreSubmitInfo#
Timeline Semaphore submit info. Contains the information on timeline semaphores.
ValidationFeatures#
Defined in TypesVk.h
Struct Documentation#
-
struct ValidationFeatures#
Containes a ValidationFeatures structure which specifies a set of validation features which should be enabled or disabled.
Public Functions
-
ValidationFeatures() = default#
Constructor. Default initialised to 0.
-
inline void addEnabledValidationFeature(ValidationFeatureEnableEXT enabledFeature)#
Adds a new Enabled Validation Feature.
- Parameters:
enabledFeature – A ValidationFeatureEnableEXT which specifies a validation feature to enable.
-
inline void addDisabledValidationFeature(ValidationFeatureDisableEXT disabledFeature)#
Adds a new Disabled Validation Feature.
- Parameters:
disabledFeature – A ValidationFeatureDisableEXT which specifies a validation feature to disable.
-
inline uint32_t getNumEnabledValidationFeatures() const#
Get the number of enabled validation features.
- Returns:
The number of enabled validation features
-
inline uint32_t getNumDisabledValidationFeatures() const#
Get the number of disabled validation features.
- Returns:
The number of disabled validation features
-
inline const std::vector<ValidationFeatureEnableEXT> &getEnabledValidationFeatures() const#
Get the list of enabled validation features (const)
- Returns:
The list of enabled validation features (const)
-
inline std::vector<ValidationFeatureEnableEXT> &getEnabledValidationFeatures()#
Get the list of enabled validation features.
- Returns:
The list of enabled validation features
-
inline const ValidationFeatureEnableEXT &getEnabledValidationFeature(uint32_t index) const#
Get the the enabled validation feature at index.
- Parameters:
index – The index of the enabled validation feature to retrieve.
- Returns:
The enabled validation feature at index
-
inline const std::vector<ValidationFeatureDisableEXT> &getDisabledValidationFeatures() const#
Get the list of disabled validation features (const)
- Returns:
The list of disabled validation features (const)
-
inline std::vector<ValidationFeatureDisableEXT> &getDisabledValidationFeatures()#
Get the list of disabled validation features.
- Returns:
The list of disabled validation features
-
inline const ValidationFeatureDisableEXT &getDisabledValidationFeature(uint32_t index) const#
Get the the disabled validation feature at index.
- Parameters:
index – The index of the disabled validation feature to retrieve.
- Returns:
The disabled validation feature at index
-
inline void setEnabledValidationFeatures(const std::vector<ValidationFeatureEnableEXT> &enabledValidationFeatures)#
Sets the list of enabled validation features.
- Parameters:
enabledValidationFeatures – A list of validation features to enable.
-
inline void setDisabledValidationFeatures(const std::vector<ValidationFeatureDisableEXT> &disabledValidationFeatures)#
Sets the list of disabled validation features.
- Parameters:
disabledValidationFeatures – A list of validation features to disable.
-
inline void clearEnabledValidationFeatures()#
Clears the list of validation features to enable.
-
inline void clearDisabledValidationFeatures()#
Clears the list of validation features to disable.
-
ValidationFeatures() = default#
VulkanExtension#
Defined in TypesVk.h
Struct Documentation#
-
struct VulkanExtension#
A wrapper for a Vulkan extension and its specification version.
Public Functions
-
inline VulkanExtension(std::string name = "", uint32_t specVersion = -1)#
Constructor.
- Parameters:
name – The name of the Vulkan extension
specVersion – The spec version of the Vulkan extension
-
inline const std::string &getName() const#
Get the name of the Vulkan extension.
- Returns:
The name of the Vulkan extension
-
inline void setName(std::string name)#
Set the name of the Vulkan extension.
- Parameters:
name – The name of the Vulkan extension
-
inline uint32_t getSpecVersion() const#
Get the spec version of the Vulkan extension.
- Returns:
The spec version of the Vulkan extension
-
inline void setSpecVersion(uint32_t specVersion)#
Set the spec version of the Vulkan extension.
- Parameters:
specVersion – The spec version of the Vulkan extension
-
inline bool operator==(const VulkanExtension &rhs) const#
Overridden operator==.
- Parameters:
rhs – The VulkanLayer to compare against for equality
- Returns:
True if the VulkanExtension matches this
-
inline VulkanExtension(std::string name = "", uint32_t specVersion = -1)#
VulkanExtensionList#
Defined in TypesVk.h
Struct Documentation#
-
struct VulkanExtensionList#
A wrapper for a list of Vulkan extensions.
Public Functions
-
VulkanExtensionList() = default#
Constructor.
-
inline uint32_t getNumExtensions() const#
Get the number of extensions.
- Returns:
Theextensions
-
inline const std::vector<VulkanExtension> &getExtensions() const#
Get the list of extensions.
- Returns:
A list of extensions
-
inline const VulkanExtension &getExtension(uint32_t index) const#
Retrieve the extension at the index specified.
- Parameters:
index – The index of the extension to retrieve
- Returns:
The extension at the index specified
-
inline void setExtensions(const std::vector<VulkanExtension> &extensions)#
Sets the extensions list.
- Parameters:
extensions – A list of extensions to enable
-
inline void addExtension(const VulkanExtension &extension)#
Add a new extension.
- Parameters:
extension – A new extension.
-
inline void addExtension(const std::string &extensionName)#
Add a new extension to add by name.
- Parameters:
extensionName – A new extension.
-
inline void removeExtension(const VulkanExtension &extension)#
Removes a particular extension from the list of extensions.
- Parameters:
extension – The extension to remove from the existing list of extensions
-
inline void removeExtension(const std::string &extensionName)#
Removes a particular extension from the list of extensions using only an extension name.
- Parameters:
extensionName – The extension to remove from the existing list of extensions using only its name
-
inline void removeAllExtensions()#
Removes all extensions from the list of extensions.
-
inline bool containsExtension(const std::string &extensionName) const#
Check if extension is enabled.
- Parameters:
extensionName – Extension name
- Returns:
Return true if it is enabled
-
inline bool containsExtension(const VulkanExtension &extension) const#
Check if extension is enabled.
- Parameters:
extension – Extension
- Returns:
Return true if it is enabled
-
inline void *getLastRequestedExtensionFeature() const#
Get the extension feature pointer.
- Returns:
The extension feature pointer
Protected Attributes
-
std::vector<pvrvk::VulkanExtension> _extensions#
-
std::map<VkStructureType, void*> _extensionFeatures#
-
void *_lastRequestedExtensionFeature = {nullptr}#
!< Map with extension type and void pointer to a struct of that type
-
VulkanExtensionList() = default#
VulkanLayer#
Defined in TypesVk.h
Struct Documentation#
-
struct VulkanLayer#
A wrapper for a Vulkan layer, its specification version, implementation version and its description.
Public Functions
-
inline VulkanLayer(const std::string &name = "", uint32_t specVersion = -1, uint32_t implementationVersion = -1, const std::string &description = "")#
Constructor.
- Parameters:
name – The name of the Vulkan extension
specVersion – The spec version of the Vulkan extension
implementationVersion – The implementation version of the Vulkan layer
description – The description of the Vulkan layer
-
inline const std::string &getName() const#
Get the name of the Vulkan layer.
- Returns:
The name of the Vulkan layer
-
inline void setName(std::string name)#
Set the name of the Vulkan layer.
- Parameters:
name – The name of the Vulkan layer
-
inline uint32_t getSpecVersion() const#
Get the spec version of the Vulkan layer.
- Returns:
The spec version of the Vulkan layer
-
inline void setSpecVersion(uint32_t specVersion)#
Set the spec version of the Vulkan layer.
- Parameters:
specVersion – The spec version of the Vulkan layer
-
inline uint32_t getImplementationVersion() const#
Get the implementation version of the Vulkan layer.
- Returns:
The implementation version of the Vulkan layer
-
inline void setImplementationVersion(uint32_t implementationVersion)#
Set the implementation version of the Vulkan layer.
- Parameters:
implementationVersion – The implementation version of the Vulkan layer
-
inline const std::string &getDescription() const#
Get the description of the Vulkan layer.
- Returns:
The description of the Vulkan layer
-
inline void setDescription(std::string description)#
Set the description of the Vulkan layer.
- Parameters:
description – The description of the Vulkan layer
-
inline bool operator==(const VulkanLayer &rhs) const#
Overridden operator==.
- Parameters:
rhs – The VulkanLayer to compare against for equality
- Returns:
True if the VulkanLayer matches this
-
inline VulkanLayer(const std::string &name = "", uint32_t specVersion = -1, uint32_t implementationVersion = -1, const std::string &description = "")#
VulkanLayerList#
Defined in TypesVk.h
Struct Documentation#
-
struct VulkanLayerList#
A wrapper for a list of Vulkan layers.
Public Functions
-
VulkanLayerList() = default#
Constructor.
-
inline uint32_t getNumLayers() const#
Get the number of layers.
- Returns:
Thelayers
-
inline const std::vector<VulkanLayer> &getLayers() const#
Get the list of layers.
- Returns:
A list of layers
-
inline const VulkanLayer &getLayer(uint32_t index) const#
Retrieve the layer at the index specified.
- Parameters:
index – The index of the layer to retrieve
- Returns:
The layer at the index specified
-
inline void setLayers(const std::vector<VulkanLayer> &layers)#
Sets the layers list.
- Parameters:
layers – A list of layers to enable
-
inline void addLayer(const VulkanLayer &layer)#
Add a new layer.
- Parameters:
layer – A new layer.
-
inline void addLayer(const std::string &layerName)#
Add a new layer to add by name.
- Parameters:
layerName – A new layer.
-
inline void removeLayer(const VulkanLayer &layer)#
Removes a particular layer from the list of layers.
- Parameters:
layer – The layer to remove from the existing list of layers
-
inline void removeLayer(const std::string &layerName)#
Removes a particular layer from the list of layers using only an layer name.
- Parameters:
layerName – The layer to remove from the existing list of layers using only its name
-
inline void removeAllLayers()#
Removes all layer from VulkanLayerList::_layers.
-
inline bool containsLayer(const std::string &layerName) const#
Check if layer is enabled.
- Parameters:
layerName – Layer name
- Returns:
Return true if enabled
-
inline bool containsLayer(const VulkanLayer &layer) const#
Check if layer is enabled.
- Parameters:
layer – Layer
- Returns:
Return true if enabled
-
inline bool containsLayerByName(const std::string &layerName) const#
Check if the layer name given as parameter matches the name of any layer in VulkanLayerList::_layers.
- Parameters:
layerName – Layer name to verify.
- Returns:
Return true if present, false otherwise.
-
VulkanLayerList() = default#
WriteDescriptorSet#
Defined in DescriptorSetVk.h
Nested Relationships#
Nested Types#
Struct Documentation#
-
struct WriteDescriptorSet#
Contains information for an initialization/update of a descriptor set. This class contains both the update AND the descriptor set to be updated, so that multiple descriptor sets can be updated in a single call to Device::updateDescriptorSets.
Public Functions
-
inline WriteDescriptorSet()#
Constructor. Undefined values.
-
inline WriteDescriptorSet(pvrvk::DescriptorType descType, DescriptorSet descSet, uint32_t dstBinding = 0, uint32_t dstArrayElement = 0)#
Constructor. Initializes with a specified descriptor into a set.
- Parameters:
descType – The descriptor type of this write
descSet – The descriptor set which to update
dstBinding – The binding to update
dstArrayElement – If the destination is an array, the array index to update
-
inline WriteDescriptorSet &setDescriptorType(pvrvk::DescriptorType descType)#
Set the descriptor type.
- Parameters:
descType – The descriptor type
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &setDescriptorSet(DescriptorSet &descriptorSet)#
Set the descriptor set.
- Parameters:
descriptorSet – The descriptor set that will be updated
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &setDestBinding(uint32_t binding)#
Set the destination binding.
- Parameters:
binding – The binding into the descriptor set
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &setDestArrayElement(uint32_t arrayElement)#
Set destination array element.
- Parameters:
arrayElement – Array element.
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &set(pvrvk::DescriptorType newDescType, const DescriptorSet &descSet, uint32_t dstBinding = 0, uint32_t dstArrayElement = 0)#
Sets all the data of this write.
- Parameters:
newDescType – The new descriptor type
descSet – The new descriptor set
dstBinding – The new destination Binding in spir-v
dstArrayElement – If the target descriptor is an array, the index to update.
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &setImageInfo(uint32_t arrayIndex, const DescriptorImageInfo &imageInfo)#
If the target descriptor is an image, set the image info image info.
- Parameters:
arrayIndex – The target array index
imageInfo – The image info to set
- Returns:
This object (allow chaining)
-
inline WriteDescriptorSet &setBufferInfo(uint32_t arrayIndex, const DescriptorBufferInfo &bufferInfo)#
If the target descriptor is a buffer, sets the buffer info.
- Parameters:
arrayIndex – If an array, the target array index
bufferInfo – The buffer info to set
- Returns:
This object(allow chaining)
-
inline WriteDescriptorSet &setAccelerationStructureInfo(uint32_t arrayIndex, const AccelerationStructure &accelerationStructure)#
If the target descriptor is an acceleration structure, sets the acceleration structure.
- Parameters:
arrayIndex – If an array, the target array index
accelerationStructure – The acceleration structure to set
- Returns:
This object(allow chaining)
-
inline WriteDescriptorSet &setTexelBufferInfo(uint32_t arrayIndex, const BufferView &bufferView)#
If the target descriptor is a Texel buffer, set the Texel Buffer info.
- Parameters:
arrayIndex – If an array, the target array index
bufferView – The Texel Buffer view to set
- Returns:
This object(allow chaining)
-
inline WriteDescriptorSet &clearAllInfos()#
Clear all info of this object.
- Returns:
This object(allow chaining)
-
inline uint32_t getNumDescriptors() const#
Get the number of descriptors being updated.
- Returns:
The the number of descriptors
-
inline pvrvk::DescriptorType getDescriptorType() const#
Get descriptor type.
- Returns:
The descriptor type
-
inline DescriptorSet getDescriptorSet()#
Get descriptor set to update.
- Returns:
The descriptor set
-
inline const DescriptorSet &getDescriptorSet() const#
Get the descriptor set to update.
- Returns:
The descriptor set
-
inline uint32_t getDestArrayElement() const#
If an array, get the destination array element.
- Returns:
The destination array element
-
inline uint32_t getDestBinding() const#
Get the destination binding indiex.
- Returns:
The destination binding index
Friends
- friend class ::pvrvk::impl::Device_
-
inline WriteDescriptorSet()#
WriteDescriptorSet::DescriptorInfos#
Defined in DescriptorSetVk.h
Nested Relationships#
This struct is a nested type of WriteDescriptorSet.
Struct Documentation#
-
struct DescriptorInfos#
-
Public Members
-
DescriptorImageInfo imageInfo#
-
DescriptorBufferInfo bufferInfo#
-
BufferView texelBuffer#
-
AccelerationStructure accelerationStructure#
-
DescriptorImageInfo imageInfo#