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
QD3D11ShaderResourceBindings Struct Reference

#include <qrhid3d11_p.h>

+ Inheritance diagram for QD3D11ShaderResourceBindings:
+ Collaboration diagram for QD3D11ShaderResourceBindings:

Classes

struct  BoundResourceData
 
struct  BoundSampledTextureData
 
struct  BoundStorageBufferData
 
struct  BoundStorageImageData
 
struct  BoundUniformBufferData
 
struct  StageSamplerBatches
 
struct  StageUavBatches
 
struct  StageUniformBufferBatches
 

Public Member Functions

 QD3D11ShaderResourceBindings (QRhiImplementation *rhi)
 
 ~QD3D11ShaderResourceBindings ()
 
void destroy () override
 Releases (or requests deferred releasing of) the underlying native graphics resources.
 
bool create () override
 
void updateResources (UpdateFlags flags) override
 
- Public Member Functions inherited from QRhiShaderResourceBindings
QRhiResource::Type resourceType () const override
 
void setBindings (std::initializer_list< QRhiShaderResourceBinding > list)
 Sets the list of bindings.
 
template<typename InputIterator >
void setBindings (InputIterator first, InputIterator last)
 Sets the list of bindings from the iterators first and last.
 
const QRhiShaderResourceBindingcbeginBindings () const
 
const QRhiShaderResourceBindingcendBindings () const
 
const QRhiShaderResourceBindingbindingAt (qsizetype index) const
 
qsizetype bindingCount () const
 
bool isLayoutCompatible (const QRhiShaderResourceBindings *other) const
 
QVector< quint32serializedLayoutDescription () const
 
- 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

bool hasDynamicOffset = false
 
QVarLengthArray< QRhiShaderResourceBinding, 8 > sortedBindings
 
uint generation = 0
 
QVarLengthArray< BoundResourceData, 8 > boundResourceData
 
StageUniformBufferBatches vsUniformBufferBatches
 
StageUniformBufferBatches hsUniformBufferBatches
 
StageUniformBufferBatches dsUniformBufferBatches
 
StageUniformBufferBatches gsUniformBufferBatches
 
StageUniformBufferBatches fsUniformBufferBatches
 
StageUniformBufferBatches csUniformBufferBatches
 
StageSamplerBatches vsSamplerBatches
 
StageSamplerBatches hsSamplerBatches
 
StageSamplerBatches dsSamplerBatches
 
StageSamplerBatches gsSamplerBatches
 
StageSamplerBatches fsSamplerBatches
 
StageSamplerBatches csSamplerBatches
 
StageUavBatches csUavBatches
 

Friends

class QRhiD3D11
 

Additional Inherited Members

- Public Types inherited from QRhiShaderResourceBindings
enum  UpdateFlag { BindingsAreSorted = 0x01 }
 
- 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 QRhiShaderResourceBindings
 QRhiShaderResourceBindings (QRhiImplementation *rhi)
 
- Protected Member Functions inherited from QRhiResource
 QRhiResource (QRhiImplementation *rhi)
 
- Protected Attributes inherited from QRhiShaderResourceBindings
QVarLengthArray< QRhiShaderResourceBinding, BINDING_PREALLOCm_bindings
 
size_t m_layoutDescHash = 0
 
QVector< quint32m_layoutDesc
 
- Protected Attributes inherited from QRhiResource
QRhiImplementationm_rhi = nullptr
 
quint64 m_id
 
QByteArray m_objectName
 
- Static Protected Attributes inherited from QRhiShaderResourceBindings
static constexpr int BINDING_PREALLOC = 12
 

Detailed Description

Definition at line 183 of file qrhid3d11_p.h.

Constructor & Destructor Documentation

◆ QD3D11ShaderResourceBindings()

QD3D11ShaderResourceBindings::QD3D11ShaderResourceBindings ( QRhiImplementation * rhi)

Definition at line 4008 of file qrhid3d11.cpp.

◆ ~QD3D11ShaderResourceBindings()

QD3D11ShaderResourceBindings::~QD3D11ShaderResourceBindings ( )

Definition at line 4013 of file qrhid3d11.cpp.

References destroy().

+ Here is the call graph for this function:

Member Function Documentation

◆ create()

◆ destroy()

void QD3D11ShaderResourceBindings::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 4018 of file qrhid3d11.cpp.

References boundResourceData, QVarLengthArray< T, Prealloc >::clear(), QRHI_RES_RHI, and sortedBindings.

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateResources()

void QD3D11ShaderResourceBindings::updateResources ( UpdateFlags flags)
overridevirtual

Friends And Related Symbol Documentation

◆ QRhiD3D11

friend class QRhiD3D11
friend

Definition at line 289 of file qrhid3d11_p.h.

Member Data Documentation

◆ boundResourceData

QVarLengthArray<BoundResourceData, 8> QD3D11ShaderResourceBindings::boundResourceData

Definition at line 226 of file qrhid3d11_p.h.

Referenced by create(), destroy(), and updateResources().

◆ csSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::csSamplerBatches

Definition at line 285 of file qrhid3d11_p.h.

◆ csUavBatches

StageUavBatches QD3D11ShaderResourceBindings::csUavBatches

Definition at line 287 of file qrhid3d11_p.h.

◆ csUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::csUniformBufferBatches

Definition at line 278 of file qrhid3d11_p.h.

◆ dsSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::dsSamplerBatches

Definition at line 282 of file qrhid3d11_p.h.

◆ dsUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::dsUniformBufferBatches

Definition at line 275 of file qrhid3d11_p.h.

◆ fsSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::fsSamplerBatches

Definition at line 284 of file qrhid3d11_p.h.

◆ fsUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::fsUniformBufferBatches

Definition at line 277 of file qrhid3d11_p.h.

◆ generation

uint QD3D11ShaderResourceBindings::generation = 0

Definition at line 193 of file qrhid3d11_p.h.

Referenced by create(), and updateResources().

◆ gsSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::gsSamplerBatches

Definition at line 283 of file qrhid3d11_p.h.

◆ gsUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::gsUniformBufferBatches

Definition at line 276 of file qrhid3d11_p.h.

◆ hasDynamicOffset

bool QD3D11ShaderResourceBindings::hasDynamicOffset = false

Definition at line 191 of file qrhid3d11_p.h.

Referenced by create().

◆ hsSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::hsSamplerBatches

Definition at line 281 of file qrhid3d11_p.h.

◆ hsUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::hsUniformBufferBatches

Definition at line 274 of file qrhid3d11_p.h.

◆ sortedBindings

QVarLengthArray<QRhiShaderResourceBinding, 8> QD3D11ShaderResourceBindings::sortedBindings

Definition at line 192 of file qrhid3d11_p.h.

Referenced by create(), destroy(), and updateResources().

◆ vsSamplerBatches

StageSamplerBatches QD3D11ShaderResourceBindings::vsSamplerBatches

Definition at line 280 of file qrhid3d11_p.h.

◆ vsUniformBufferBatches

StageUniformBufferBatches QD3D11ShaderResourceBindings::vsUniformBufferBatches

Definition at line 273 of file qrhid3d11_p.h.


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