![]() |
Qt 6.x
The Qt SDK
|
#include <qrhivulkan_p.h>
Public Member Functions | |
QVkRenderBuffer (QRhiImplementation *rhi, Type type, const QSize &pixelSize, int sampleCount, Flags flags, QRhiTexture::Format backingFormatHint) | |
~QVkRenderBuffer () | |
void | destroy () override |
Releases (or requests deferred releasing of) the underlying native graphics resources. | |
bool | create () override |
Creates the corresponding native graphics resources. | |
QRhiTexture::Format | backingFormat () const override |
![]() | |
QRhiResource::Type | resourceType () const override |
Type | type () const |
void | setType (Type t) |
Sets the type to t. | |
QSize | pixelSize () const |
void | setPixelSize (const QSize &sz) |
Sets the size (in pixels) to sz. | |
int | sampleCount () const |
void | setSampleCount (int s) |
Sets the sample count to s. | |
Flags | flags () const |
void | setFlags (Flags f) |
Sets the flags to f. | |
virtual bool | create ()=0 |
Creates the corresponding native graphics resources. | |
virtual bool | createFrom (NativeRenderBuffer src) |
Similar to create() except that no new native renderbuffer objects are created. | |
virtual QRhiTexture::Format | backingFormat () const =0 |
![]() | |
virtual | ~QRhiResource () |
Destructor. | |
virtual Type | resourceType () const =0 |
virtual void | destroy ()=0 |
Releases (or requests deferred releasing of) the underlying native graphics resources. | |
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 |
QRhi * | rhi () const |
Public Attributes | |
VkDeviceMemory | memory = VK_NULL_HANDLE |
VkImage | image = VK_NULL_HANDLE |
VkImageView | imageView = VK_NULL_HANDLE |
VkSampleCountFlagBits | samples |
QVkTexture * | backingTexture = nullptr |
VkFormat | vkformat |
int | lastActiveFrameSlot = -1 |
uint | generation = 0 |
Friends | |
class | QRhiVulkan |
Definition at line 72 of file qrhivulkan_p.h.
QVkRenderBuffer::QVkRenderBuffer | ( | QRhiImplementation * | rhi, |
Type | type, | ||
const QSize & | pixelSize, | ||
int | sampleCount, | ||
Flags | flags, | ||
QRhiTexture::Format | backingFormatHint | ||
) |
Definition at line 5949 of file qrhivulkan.cpp.
QVkRenderBuffer::~QVkRenderBuffer | ( | ) |
Definition at line 5956 of file qrhivulkan.cpp.
References backingTexture, and destroy().
|
overridevirtual |
Implements QRhiRenderBuffer.
Definition at line 6050 of file qrhivulkan.cpp.
References QRhiRenderBuffer::Color, QRhiRenderBuffer::m_backingFormatHint, QRhiRenderBuffer::m_type, QRhiTexture::RGBA8, and QRhiTexture::UnknownFormat.
Referenced by create().
|
overridevirtual |
Creates the corresponding native graphics resources.
If there are already resources present due to an earlier create() with no corresponding destroy(), then destroy() is called implicitly first.
true
when successful, false
when a graphics operation failed. Regardless of the return value, calling destroy() is always safe. Implements QRhiRenderBuffer.
Definition at line 5992 of file qrhivulkan.cpp.
References backingFormat(), backingTexture, QRhiRenderBuffer::Color, QVkTexture::create(), QRhiRenderBuffer::DepthStencil, destroy(), generation, imageView, QSize::isEmpty(), lastActiveFrameSlot, QRhiResource::m_objectName, QRhiRenderBuffer::m_pixelSize, QRhiRenderBuffer::m_sampleCount, QRhiRenderBuffer::m_type, QRHI_RES, QRHI_RES_RHI, QRhiTexture::RenderTarget, QRhiResource::setName(), QRhiTexture::setPixelSize(), QRhiTexture::setSampleCount(), QRhiTexture::UsedAsTransferSource, vkformat, and QVkTexture::vkformat.
|
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.
The QRhiResource destructor also performs the same task, so calling this function is not necessary before deleting a QRhiResource.
Implements QRhiResource.
Definition at line 5962 of file qrhivulkan.cpp.
References backingTexture, QVkTexture::destroy(), e, image, imageView, lastActiveFrameSlot, QVkTexture::lastActiveFrameSlot, memory, Q_ASSERT, QRHI_RES_RHI, and QRhiVulkan::DeferredReleaseEntry::RenderBuffer.
Referenced by ~QVkRenderBuffer(), and create().
|
friend |
Definition at line 90 of file qrhivulkan_p.h.
QVkTexture* QVkRenderBuffer::backingTexture = nullptr |
Definition at line 86 of file qrhivulkan_p.h.
Referenced by ~QVkRenderBuffer(), create(), QVkTextureRenderTarget::create(), and destroy().
uint QVkRenderBuffer::generation = 0 |
Definition at line 89 of file qrhivulkan_p.h.
Referenced by create().
VkImage QVkRenderBuffer::image = VK_NULL_HANDLE |
Definition at line 83 of file qrhivulkan_p.h.
Referenced by QRhiVulkan::depthStencilExplicitBarrier(), and destroy().
VkImageView QVkRenderBuffer::imageView = VK_NULL_HANDLE |
Definition at line 84 of file qrhivulkan_p.h.
Referenced by create(), QVkTextureRenderTarget::create(), QVkSwapChain::createOrResize(), and destroy().
int QVkRenderBuffer::lastActiveFrameSlot = -1 |
Definition at line 88 of file qrhivulkan_p.h.
Referenced by QRhiVulkan::activateTextureRenderTarget(), QRhiVulkan::beginFrame(), create(), and destroy().
VkDeviceMemory QVkRenderBuffer::memory = VK_NULL_HANDLE |
Definition at line 82 of file qrhivulkan_p.h.
Referenced by destroy().
VkSampleCountFlagBits QVkRenderBuffer::samples |
Definition at line 85 of file qrhivulkan_p.h.
Referenced by QVkTextureRenderTarget::create(), and QRhiVulkan::createOffscreenRenderPass().
VkFormat QVkRenderBuffer::vkformat |
Definition at line 87 of file qrhivulkan_p.h.
Referenced by create(), and QRhiVulkan::createOffscreenRenderPass().