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)#
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
-
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 explicit CommandPoolCreateInfo(uint32_t queueFamilyIndex, CommandPoolCreateFlags flags = CommandPoolCreateFlags::e_NONE)#
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 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.
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 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 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 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
-
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#