diff options
author | Antti Määttä <antti.maatta@qt.io> | 2020-10-20 13:33:13 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2020-10-21 06:54:31 +0300 |
commit | ddc70c4bfbd0c3819ecf859f53c9069844fd2ca6 (patch) | |
tree | 6c6fd4bd420f4b206bbde22248e1e2242d20f9a9 /src/runtimerender/resourcemanager/Qt3DSRenderResourceManager.h | |
parent | 3e04b5995e9550f057e532e0138d64ff7e9abaea (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.h | 14 |
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; |