summaryrefslogtreecommitdiffstats
path: root/Graphics
diff options
context:
space:
mode:
Diffstat (limited to 'Graphics')
-rw-r--r--Graphics/GraphicsEngine/interface/EngineFactory.h8
-rw-r--r--Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h2
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp13
3 files changed, 22 insertions, 1 deletions
diff --git a/Graphics/GraphicsEngine/interface/EngineFactory.h b/Graphics/GraphicsEngine/interface/EngineFactory.h
index 5508d841..0c840e9a 100644
--- a/Graphics/GraphicsEngine/interface/EngineFactory.h
+++ b/Graphics/GraphicsEngine/interface/EngineFactory.h
@@ -51,6 +51,14 @@ public:
/// \param [out] ppShaderSourceStreamFactory - Memory address where pointer to the shader source stream factory will be written.
virtual void CreateDefaultShaderSourceStreamFactory(const Char* SearchDirectories,
IShaderSourceInputStreamFactory** ppShaderSourceFactory)const = 0;
+
+#if PLATFORM_ANDROID
+ /// On Android platform, it is necessary to initialize the file system before
+ /// CreateDefaultShaderSourceStreamFactory() method can be called.
+ /// \param [in] Activity - Pointer to the activity.
+ /// \param [in] ActivityClassName - Activity class name.
+ virtual void InitAndroidFileSystem(void* Activity, const char* ActivityClassName) const = 0;
+#endif
};
}
diff --git a/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h b/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h
index a3908362..13eee3a1 100644
--- a/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h
+++ b/Graphics/GraphicsEngineOpenGL/interface/EngineFactoryOpenGL.h
@@ -65,7 +65,7 @@ public:
const SwapChainDesc& SCDesc,
ISwapChain** ppSwapChain ) = 0;
virtual void CreateHLSL2GLSLConverter(IHLSL2GLSLConverter** ppConverter) = 0;
-
+
virtual void AttachToActiveGLContext(const EngineGLCreateInfo& EngineCI,
IRenderDevice** ppDevice,
IDeviceContext** ppImmediateContext) = 0;
diff --git a/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp b/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp
index 1e0c470f..e1318650 100644
--- a/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/EngineFactoryOpenGL.cpp
@@ -40,6 +40,7 @@
#if PLATFORM_ANDROID
# include "RenderDeviceGLESImpl.h"
+# include "FileStream.h"
#endif
namespace Diligent
@@ -85,6 +86,10 @@ public:
virtual void AttachToActiveGLContext(const EngineGLCreateInfo& EngineCI,
IRenderDevice** ppDevice,
IDeviceContext** ppImmediateContext )override final;
+
+#if PLATFORM_ANDROID
+ virtual void InitAndroidFileSystem(void* Activity, const char* ActivityClassName) const override final;
+#endif
};
@@ -251,6 +256,14 @@ void EngineFactoryOpenGLImpl::CreateHLSL2GLSLConverter(IHLSL2GLSLConverter** ppC
pConverter->QueryInterface( IID_HLSL2GLSLConverter, reinterpret_cast<IObject**>(ppConverter) );
}
+#if PLATFORM_ANDROID
+void EngineFactoryOpenGLImpl::InitAndroidFileSystem(void* Activity, const char* ActivityClassName) const
+{
+ AndroidFileSystem::Init(Activity, ActivityClassName);
+}
+#endif
+
+
API_QUALIFIER
Diligent::IEngineFactoryOpenGL* GetEngineFactoryOpenGL()
{