diff options
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/Qt3DSRenderRuntimeBinding.cpp | 2 | ||||
-rw-r--r-- | src/engine/Qt3DSRenderRuntimeBindingImpl.h | 2 | ||||
-rw-r--r-- | src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp | 10 | ||||
-rw-r--r-- | src/engine/Qt3DSRuntimeView.cpp | 8 | ||||
-rw-r--r-- | src/engine/Qt3DSRuntimeView.h | 5 |
5 files changed, 11 insertions, 16 deletions
diff --git a/src/engine/Qt3DSRenderRuntimeBinding.cpp b/src/engine/Qt3DSRenderRuntimeBinding.cpp index ec89aa4..33f9f5c 100644 --- a/src/engine/Qt3DSRenderRuntimeBinding.cpp +++ b/src/engine/Qt3DSRenderRuntimeBinding.cpp @@ -814,8 +814,6 @@ struct Qt3DSRenderSceneManager : public Q3DStudio::ISceneManager, qt3ds::foundation::CFileTools::AppendDirectoryInPathToFile(theBinaryPath, "binary"); eastl::string theBinaryDir(theBinaryPath); qt3ds::foundation::CFileTools::GetDirectory(theBinaryDir); - if (m_Context->m_WriteOutShaderCache) - qt3ds::foundation::CFileTools::CreateDir(theBinaryDir.c_str()); } inScene.m_RuntimePresentation = &inPresentation; m_Scenes.push_back(make_pair(&inPresentation, &inScene)); diff --git a/src/engine/Qt3DSRenderRuntimeBindingImpl.h b/src/engine/Qt3DSRenderRuntimeBindingImpl.h index 877c6ea..1f0e565 100644 --- a/src/engine/Qt3DSRenderRuntimeBindingImpl.h +++ b/src/engine/Qt3DSRenderRuntimeBindingImpl.h @@ -96,7 +96,6 @@ namespace render { QSize m_WindowDimensions; eastl::string m_PrimitivePath; bool m_RenderRotationsEnabled; - bool m_WriteOutShaderCache; volatile QT3DSI32 mRefCount; Q3DStudio::IWindowSystem &m_WindowSystem; Q3DStudio::ITimeProvider &m_TimeProvider; @@ -110,7 +109,6 @@ namespace render { , m_CoreContext(IQt3DSRenderContextCore::Create(*m_Foundation, *m_StringTable)) , m_PrimitivePath(inPrimitivePath) , m_RenderRotationsEnabled(false) - , m_WriteOutShaderCache(false) , mRefCount(0) , m_WindowSystem(inWindowSystem) , m_TimeProvider(inTimeProvider) diff --git a/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp b/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp index 3aaa006..47ed8aa 100644 --- a/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp +++ b/src/engine/Qt3DSRenderRuntimeBindingImplRenderer.cpp @@ -91,7 +91,10 @@ struct SRenderer : public Q3DStudio::ITegraApplicationRenderEngine m_BindingCore->m_WindowDimensions = theWindowDims; m_BindingCore->m_Context->SetWindowDimensions(m_BindingCore->m_WindowDimensions); } - Q3DStudio::BOOL LoadShaderCache(const char * /*inFilePath*/) override { return true; } + QByteArray exportShaderCache(bool binaryShaders) override + { + return m_BindingCore->m_Context->GetShaderCache().exportShaderCache(binaryShaders); + } void AbandonLoadingImages(Q3DStudio::IScene & /*inScene*/) override {} @@ -168,11 +171,6 @@ struct SRenderer : public Q3DStudio::ITegraApplicationRenderEngine m_BindingCore->m_RenderRotationsEnabled = inEnable; } - void SetWriteOutShaderCache(bool inWriteOutShaderCache) override - { - m_BindingCore->m_WriteOutShaderCache = inWriteOutShaderCache; - } - Q3DStudio::ITegraRenderStateManager &GetTegraRenderStateManager() override { return m_RSM; } qt3ds::render::NVRenderContext &GetRenderContext() override { diff --git a/src/engine/Qt3DSRuntimeView.cpp b/src/engine/Qt3DSRuntimeView.cpp index f9a4768..3ab577c 100644 --- a/src/engine/Qt3DSRuntimeView.cpp +++ b/src/engine/Qt3DSRuntimeView.cpp @@ -171,7 +171,7 @@ public: bool BeginLoad(const QString &sourcePath, const QStringList &variantList) override; bool HasOfflineLoadingCompleted() override; bool InitializeGraphics(const QSurfaceFormat &format, bool delayedLoading, - bool initInRenderThread) override; + bool initInRenderThread, const QByteArray &shaderCache) override; void connectSignals() override; void finishAsyncInit() override; @@ -237,6 +237,7 @@ public: void unloadSlide(const QString &slide) override; void setDelayedLoading(bool enable) override; void BootupPreGraphicsInitObjects(); + QByteArray exportShaderCache(bool binaryShaders); }; CRuntimeView::CRuntimeView(ITimeProvider &inTimeProvider, IWindowSystem &inWindowSystem, @@ -298,7 +299,7 @@ bool CRuntimeView::HasOfflineLoadingCompleted() } bool CRuntimeView::InitializeGraphics(const QSurfaceFormat &format, bool delayedLoading, - bool initInRenderThread) + bool initInRenderThread, const QByteArray &shaderCache) { m_ApplicationCore->EndLoad(); // Next call will initialize the render portion of the scenes. This *must* have a loaded @@ -306,7 +307,8 @@ bool CRuntimeView::InitializeGraphics(const QSurfaceFormat &format, bool delayed m_RuntimeFactory = m_RuntimeFactoryCore->CreateRenderFactory(format, delayedLoading); m_Application = m_ApplicationCore->CreateApplication(*m_InputEngine, m_AudioPlayer, - *m_RuntimeFactory, initInRenderThread); + *m_RuntimeFactory, shaderCache, + initInRenderThread); if (!m_Application->createSuccessful()) return false; diff --git a/src/engine/Qt3DSRuntimeView.h b/src/engine/Qt3DSRuntimeView.h index 2d79601..1ddc48b 100644 --- a/src/engine/Qt3DSRuntimeView.h +++ b/src/engine/Qt3DSRuntimeView.h @@ -133,7 +133,7 @@ public: virtual void SetApplicationViewport(const qt3ds::render::NVRenderRect &inViewport) = 0; virtual void ensureRenderTarget() = 0; virtual void CheckResize(bool inForce, IPresentation &inActivePresentation) = 0; - virtual BOOL LoadShaderCache(const CHAR *inFilePath) = 0; + virtual QByteArray exportShaderCache(bool binaryShaders) = 0; virtual void AbandonLoadingImages(IScene &inScene) = 0; virtual BOOL IsPickValid(FLOAT &outX, FLOAT &outY, const IPresentation &inPresentation) const = 0; @@ -159,7 +159,6 @@ public: virtual void SetMatteColor(qt3ds::foundation::Option<qt3ds::QT3DSVec4> inColor) = 0; virtual void setMatteEnabled(bool enable) = 0; virtual void EnableRenderRotation(bool inEnable) = 0; - virtual void SetWriteOutShaderCache(bool inWriteOutShaderCache) = 0; virtual void Release() = 0; virtual void RenderText2D(FLOAT x, FLOAT y, qt3ds::foundation::Option<qt3ds::QT3DSVec3> inColor, const char *text) = 0; @@ -176,7 +175,7 @@ public: // loading virtual bool BeginLoad(const QString &sourcePath, const QStringList &variantList) = 0; virtual bool HasOfflineLoadingCompleted() = 0; virtual bool InitializeGraphics(const QSurfaceFormat &format, bool delayedLoading, - bool initInRenderThread) = 0; + bool initInRenderThread, const QByteArray &shaderCache) = 0; virtual void connectSignals() = 0; virtual void finishAsyncInit() = 0; |