Struct QueryManagerData

Struct Documentation

struct QueryManagerData

Data required by the CreateQueryManager function and the IQueryManager interface's Initialize function that identify graphics API specific resources to use and needed configuration details.

Note

If providing the MetricsSource object, it must match the following criteria (based on the QueryManagerType): kD3d12StatisticsAndTimeStamp Metrics source type must be kQueryBased_GraphicsApi, graphics API must be kD3d12 and metrics category must match. kMetricsDiscoveryApi Metrics source type must be kQueryBased_IntelMD, graphics API must be the same and metrics category must match. kVulkanStatisticsAndTimeStamp Metrics source type must be kQueryBased_GraphicsApi, graphics API must be kVulkan and metrics category must match. kUnspecified Since this is a convenience type provided to create a QueryManager using platform specific runtime logic. Thus, the MetricsSource object provided must have been created using the kQueryBased_Unspecified logic. Graphics API must be the same. Metrics category must match.

Note

GraphicsApi::kMetal is unsupported.

Public Members

IMetricsSource *pMetricsSource = nullptr

[in] Specifies a matching MetricsSource object the QueryManager will be setup to use. If not provided, an appropriate one will be automatically created.

void *graphicsInstance = nullptr

[in] Specifies a graphics instance that has the required extensions as identified by GetQueryManagerRequiredGraphicsApiExtensions. For Vulkan, must be a VkInstance. For D3D12 and D3D11 must be a nullptr.

void *graphicsPhysicalDevice = nullptr

[in] Specifies a graphics physical device. For Vulkan must be a VkPhysicalDevice obtained using the provided VkInstance. For D3D12 and D3D11 must be an IDXGIAdapter1 pointer.

void *graphicsDevice = nullptr

[in] Specifies a prepared graphics device that has the required extensions as identified by GetQueryManagerRequiredGraphicsApiExtensions. For Vulkan must be a VkDevice created using the provided VkPhysicalDevice. For D3D12 must be a pointer to an ID3D12Device created using the provided adapter. For D3D11 must be a pointer to an ID3D11Device created using the provided adapter.

Category metricsCategoryFlags = Category::kDefault

[in] Specifies the categories of metrics to include.

char *errMessage = nullptr

[in,out] Optional pointer to a char buffer that will be initialized upon function failure to the reason the failure occurred.

int errSize = 0

[in] Size of the provided errMessage char buffer in bytes.