diff --git a/Source/Engine/Graphics/GPUDevice.cpp b/Source/Engine/Graphics/GPUDevice.cpp
index cdf1da0d3..5ea4914ba 100644
--- a/Source/Engine/Graphics/GPUDevice.cpp
+++ b/Source/Engine/Graphics/GPUDevice.cpp
@@ -298,6 +298,11 @@ bool GPUDevice::LoadContent()
return false;
}
+bool GPUDevice::CanDraw()
+{
+ return true;
+}
+
void GPUDevice::preDispose()
{
RenderTargetPool::Flush();
@@ -449,6 +454,11 @@ void GPUDevice::Dispose()
VideoOutputModes.Resize(0);
}
+uint64 GPUDevice::GetMemoryUsage() const
+{
+ return Resources.GetMemoryUsage();
+}
+
MaterialBase* GPUDevice::GetDefaultMaterial() const
{
return _res->DefaultMaterial;
diff --git a/Source/Engine/Graphics/GPUDevice.h b/Source/Engine/Graphics/GPUDevice.h
index e1deb16cc..8290df1aa 100644
--- a/Source/Engine/Graphics/GPUDevice.h
+++ b/Source/Engine/Graphics/GPUDevice.h
@@ -224,10 +224,7 @@ public:
///
/// Gets the amount of memory usage by all the GPU resources (in bytes).
///
- API_PROPERTY() FORCE_INLINE uint64 GetMemoryUsage() const
- {
- return Resources.GetMemoryUsage();
- }
+ API_PROPERTY() uint64 GetMemoryUsage() const;
///
/// Gets the default material.
@@ -287,10 +284,7 @@ public:
/// Checks if GPU can render frame now (all data is ready), otherwise will skip frame rendering.
///
/// True if skip rendering, otherwise false.
- virtual bool CanDraw()
- {
- return true;
- }
+ virtual bool CanDraw();
///
/// Call frame rendering and process data using GPU
@@ -389,7 +383,7 @@ public:
///
/// Utility structure to safety graphics device locking.
///
-struct GPUDeviceLock : NonCopyable
+struct FLAXENGINE_API GPUDeviceLock : NonCopyable
{
const GPUDevice* Device;