Add way to query for driver version info without replaying.

* This lets us print what driver is available without opening a capture, useful
  for autotest logging.
* We also print the driver version & vendor on capture as well as replay for all
  APIs. Previously we were only printing this reliably on replay for GL/Vulkan
  but it's useful everywhere for post-mortem debugging.
This commit is contained in:
baldurk
2018-11-26 16:39:00 +00:00
parent c4d87ef0d3
commit 8ed9670601
25 changed files with 459 additions and 66 deletions
+12
View File
@@ -1203,6 +1203,18 @@ worked around by re-sorting bindings.
DECLARE_REFLECTION_STRUCT(APIProperties);
DOCUMENT("Gives information about the driver for this API.");
struct DriverInformation
{
DOCUMENT("The :class:`GPUVendor` that provides this driver");
GPUVendor vendor;
DOCUMENT("The version string for the driver");
char version[128];
};
DECLARE_REFLECTION_STRUCT(DriverInformation);
DOCUMENT("A 128-bit Uuid.");
struct Uuid
{
+7
View File
@@ -2214,6 +2214,13 @@ This will be in the form "0123456789abcdef0123456789abcdef01234567"
)");
extern "C" RENDERDOC_API const char *RENDERDOC_CC RENDERDOC_GetCommitHash();
DOCUMENT(R"(Retrieves the driver information (if available) for a given graphics API.
:return: The driver information.
:rtype: ``DriverInformation``
)");
extern "C" RENDERDOC_API DriverInformation RENDERDOC_CC RENDERDOC_GetDriverInformation(GraphicsAPI api);
DOCUMENT("Internal function for retrieving a config setting.");
extern "C" RENDERDOC_API const char *RENDERDOC_CC RENDERDOC_GetConfigSetting(const char *name);