summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2020-10-20 13:33:13 +0300
committerAntti Määttä <antti.maatta@qt.io>2020-10-21 06:54:31 +0300
commitddc70c4bfbd0c3819ecf859f53c9069844fd2ca6 (patch)
tree6c6fd4bd420f4b206bbde22248e1e2242d20f9a9 /src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h
parent3e04b5995e9550f057e532e0138d64ff7e9abaea (diff)
Fix black screen in the editor
Clear and destroy resource manager resources between switching projects. Task-number: QT3DS-4190 Change-Id: Id650481ab41038d4b274809f1ea87bf3e2271e49 Reviewed-by: Tony Leinonen <tony.leinonen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h')
-rw-r--r--src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h b/src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h
index 675d644..3d6d59b 100644
--- a/src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h
+++ b/src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h
@@ -46,29 +46,31 @@ namespace render {
public:
virtual NVRenderFrameBuffer *AllocateFrameBuffer() = 0;
- virtual void Release(NVRenderFrameBuffer &inBuffer) = 0;
virtual NVRenderRenderBuffer *
AllocateRenderBuffer(QT3DSU32 inWidth, QT3DSU32 inHeight,
NVRenderRenderBufferFormats::Enum inBufferFormat) = 0;
- virtual void Release(NVRenderRenderBuffer &inBuffer) = 0;
+
virtual NVRenderTexture2D *AllocateTexture2D(QT3DSU32 inWidth, QT3DSU32 inHeight,
NVRenderTextureFormats::Enum inTextureFormat,
QT3DSU32 inSampleCount = 1,
bool immutable = false) = 0;
- virtual void Release(NVRenderTexture2D &inBuffer) = 0;
virtual NVRenderTexture2DArray *
AllocateTexture2DArray(QT3DSU32 inWidth, QT3DSU32 inHeight, QT3DSU32 inSlices,
NVRenderTextureFormats::Enum inTextureFormat,
QT3DSU32 inSampleCount = 1) = 0;
- virtual void Release(NVRenderTexture2DArray &inBuffer) = 0;
virtual NVRenderTextureCube *
AllocateTextureCube(QT3DSU32 inWidth, QT3DSU32 inHeight,
NVRenderTextureFormats::Enum inTextureFormat,
QT3DSU32 inSampleCount = 1) = 0;
- virtual void Release(NVRenderTextureCube &inBuffer) = 0;
virtual NVRenderImage2D *AllocateImage2D(NVRenderTexture2D *inTexture,
NVRenderImageAccessType::Enum inAccess) = 0;
- virtual void Release(NVRenderImage2D &inBuffer) = 0;
+
+ virtual void Release(NVRenderFrameBuffer &inBuffer, bool forceRelease = false) = 0;
+ virtual void Release(NVRenderRenderBuffer &inBuffer, bool forceRelease = false) = 0;
+ virtual void Release(NVRenderTexture2D &inBuffer, bool forceRelease = false) = 0;
+ virtual void Release(NVRenderTexture2DArray &inBuffer, bool forceRelease = false) = 0;
+ virtual void Release(NVRenderTextureCube &inBuffer, bool forceRelease = false) = 0;
+ virtual void Release(NVRenderImage2D &inBuffer, bool forceRelease = false) = 0;
virtual NVRenderContext &GetRenderContext() = 0;
virtual void DestroyFreeSizedResources() = 0;