summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2019-09-09 01:04:58 +0000
committerEgor Yusov <egor.yusov@gmail.com>2019-09-09 01:04:58 +0000
commita85347704ba95234da16298f28ba2b431c4f569c (patch)
treee1ca567d87bd81106731c4b97fa511b55db770af /Graphics/GraphicsEngine
parentAdded IDeviceContext::WaitForIdle() method (updated API version to 240028) (diff)
downloadDiligentCore-a85347704ba95234da16298f28ba2b431c4f569c.tar.gz
DiligentCore-a85347704ba95234da16298f28ba2b431c4f569c.zip
Added IRenderDevice::IdleGPU() method (updated API version to 240029)
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/interface/APIInfo.h2
-rw-r--r--Graphics/GraphicsEngine/interface/DeviceContext.h2
-rw-r--r--Graphics/GraphicsEngine/interface/RenderDevice.h11
3 files changed, 14 insertions, 1 deletions
diff --git a/Graphics/GraphicsEngine/interface/APIInfo.h b/Graphics/GraphicsEngine/interface/APIInfo.h
index d4215993..01af171a 100644
--- a/Graphics/GraphicsEngine/interface/APIInfo.h
+++ b/Graphics/GraphicsEngine/interface/APIInfo.h
@@ -26,7 +26,7 @@
/// \file
/// Diligent API information
-#define DILIGENT_API_VERSION 240028
+#define DILIGENT_API_VERSION 240029
#include "../../../Primitives/interface/BasicTypes.h"
diff --git a/Graphics/GraphicsEngine/interface/DeviceContext.h b/Graphics/GraphicsEngine/interface/DeviceContext.h
index b3b9dbb7..f3081c46 100644
--- a/Graphics/GraphicsEngine/interface/DeviceContext.h
+++ b/Graphics/GraphicsEngine/interface/DeviceContext.h
@@ -823,6 +823,8 @@ public:
/// Submits all outstanding commands for execution to the GPU and waits until they are complete.
+ /// \note The method blocks the execution of the calling thread until the wait is complete.
+ ///
/// \remarks Only immediate contexts can be idled.\n
/// The methods implicitly flushes the context (see IDeviceContext::Flush()), so an
/// application must explicitly reset the PSO and bind all required shader resources after
diff --git a/Graphics/GraphicsEngine/interface/RenderDevice.h b/Graphics/GraphicsEngine/interface/RenderDevice.h
index 333263cc..17dc2561 100644
--- a/Graphics/GraphicsEngine/interface/RenderDevice.h
+++ b/Graphics/GraphicsEngine/interface/RenderDevice.h
@@ -191,6 +191,17 @@ public:
virtual void ReleaseStaleResources(bool ForceRelease = false) = 0;
+ /// Waits until all outstanding operations on the GPU are complete.
+
+ /// \note The method blocks the execution of the calling thread until the GPU is idle.
+ ///
+ /// \remarks The method does not flush immediate contexts, so it will only wait for commands that
+ /// have been previously submitted for execution. An application should explicitly flush
+ /// the contexts using IDeviceContext::Flush() if it needs to make sure all recorded commands
+ /// are complete when the method returns.
+ virtual void IdleGPU() = 0;
+
+
/// Returns engine factory this device was created from.
/// \remark This method does not increment the reference counter of the returned interface,
/// so the application should not call Release().