Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QVkComputePipeline Struct Reference

#include <qrhivulkan_p.h>

+ Inheritance diagram for QVkComputePipeline:
+ Collaboration diagram for QVkComputePipeline:

Public Member Functions

 QVkComputePipeline (QRhiImplementation *rhi)
 
 ~QVkComputePipeline ()
 
void destroy () override
 Releases (or requests deferred releasing of) the underlying native graphics resources.
 
bool create () override
 
- Public Member Functions inherited from QRhiComputePipeline
QRhiResource::Type resourceType () const override
 
Flags flags () const
 
void setFlags (Flags f)
 Sets the flags f.
 
QRhiShaderStage shaderStage () const
 
void setShaderStage (const QRhiShaderStage &stage)
 Sets the shader to use.
 
QRhiShaderResourceBindingsshaderResourceBindings () const
 
void setShaderResourceBindings (QRhiShaderResourceBindings *srb)
 Associates with srb describing the resource binding layout and the resources (QRhiBuffer, QRhiTexture) themselves.
 
- Public Member Functions inherited from QRhiResource
virtual ~QRhiResource ()
 Destructor.
 
void deleteLater ()
 When called without a frame being recorded, this function is equivalent to deleting the object.
 
QByteArray name () const
 
void setName (const QByteArray &name)
 Sets a name for the object.
 
quint64 globalResourceId () const
 
QRhirhi () const
 

Public Attributes

VkPipelineLayout layout = VK_NULL_HANDLE
 
VkPipeline pipeline = VK_NULL_HANDLE
 
int lastActiveFrameSlot = -1
 
uint generation = 0
 

Friends

class QRhiVulkan
 

Additional Inherited Members

- Public Types inherited from QRhiComputePipeline
enum  Flag { CompileShadersWithDebugInfo = 1 << 0 }
 Flag values for describing pipeline options. More...
 
- Public Types inherited from QRhiResource
enum  Type {
  Buffer , Texture , Sampler , RenderBuffer ,
  RenderPassDescriptor , SwapChainRenderTarget , TextureRenderTarget , ShaderResourceBindings ,
  GraphicsPipeline , SwapChain , ComputePipeline , CommandBuffer
}
 Specifies type of the resource. More...
 
- Protected Member Functions inherited from QRhiComputePipeline
 QRhiComputePipeline (QRhiImplementation *rhi)
 
- Protected Member Functions inherited from QRhiResource
 QRhiResource (QRhiImplementation *rhi)
 
- Protected Attributes inherited from QRhiComputePipeline
Flags m_flags
 
QRhiShaderStage m_shaderStage
 
QRhiShaderResourceBindingsm_shaderResourceBindings = nullptr
 
- Protected Attributes inherited from QRhiResource
QRhiImplementationm_rhi = nullptr
 
quint64 m_id
 
QByteArray m_objectName
 

Detailed Description

Definition at line 297 of file qrhivulkan_p.h.

Constructor & Destructor Documentation

◆ QVkComputePipeline()

QVkComputePipeline::QVkComputePipeline ( QRhiImplementation * rhi)

Definition at line 7752 of file qrhivulkan.cpp.

◆ ~QVkComputePipeline()

QVkComputePipeline::~QVkComputePipeline ( )

Definition at line 7757 of file qrhivulkan.cpp.

References destroy().

+ Here is the call graph for this function:

Member Function Documentation

◆ create()

bool QVkComputePipeline::create ( )
overridevirtual

◆ destroy()

void QVkComputePipeline::destroy ( )
overridevirtual

Releases (or requests deferred releasing of) the underlying native graphics resources.

Safe to call multiple times, subsequent invocations will be a no-op then.

Once destroy() is called, the QRhiResource instance can be reused, by calling create() again. That will then result in creating new native graphics resources underneath.

Note
Resources referenced by commands for the current frame should not be released until the frame is submitted by QRhi::endFrame().

The QRhiResource destructor also performs the same task, so calling this function is not necessary before deleting a QRhiResource.

See also
deleteLater()

Implements QRhiResource.

Definition at line 7762 of file qrhivulkan.cpp.

References lastActiveFrameSlot, QRhiVulkan::DeferredReleaseEntry::lastActiveFrameSlot, layout, pipeline, QRhiVulkan::DeferredReleaseEntry::Pipeline, QRhiVulkan::DeferredReleaseEntry::pipelineState, QRHI_RES_RHI, and QRhiVulkan::DeferredReleaseEntry::type.

Referenced by ~QVkComputePipeline(), and create().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QRhiVulkan

friend class QRhiVulkan
friend

Definition at line 308 of file qrhivulkan_p.h.

Member Data Documentation

◆ generation

uint QVkComputePipeline::generation = 0

Definition at line 307 of file qrhivulkan_p.h.

Referenced by create().

◆ lastActiveFrameSlot

int QVkComputePipeline::lastActiveFrameSlot = -1

Definition at line 306 of file qrhivulkan_p.h.

Referenced by create(), and destroy().

◆ layout

VkPipelineLayout QVkComputePipeline::layout = VK_NULL_HANDLE

Definition at line 304 of file qrhivulkan_p.h.

Referenced by create(), and destroy().

◆ pipeline

VkPipeline QVkComputePipeline::pipeline = VK_NULL_HANDLE

Definition at line 305 of file qrhivulkan_p.h.

Referenced by create(), and destroy().


The documentation for this struct was generated from the following files: