Program Listing for File gpu-id-helpers.h

Return to documentation for file (include\metrics\gpu-id-helpers.h)

/*
    Copyright (c) 2021 Intel Corporation

    This software and the related documents are Intel copyrighted materials,
    and your use of them is governed by the express license under which they
    were provided to you ("License"). Unless the License provides otherwise,
    you may not use, modify, copy, publish, distribute, disclose or transmit
    this software or the related documents without Intel's prior written
    permission.

    This software and the related documents are provided as is, with no express
    or implied warranties, other than those that are expressly stated in the
    License.
*/

#pragma once

#include "metrics/metrics-config.h"

#include "metrics/gpu-id.h"
#include "metrics/types.h"

#include <cstdint>
#include <string>

namespace gpa {
namespace metrics {

struct GpuInfo
{
    gpa::metrics::GpuId id = {};
    std::string name;
    std::string provider;
    std::string driverVersion;
    std::string driverDate;
    uint32_t vendorId = 0;
    uint32_t productId = 0;
    uint32_t subsysId = 0;
    uint32_t revision = 0;
    bool primaryDesktop = false;
};

GPA_METRICS_EXPORT
Result GetGpusAvailable(uint32_t* pGpuInfoCount, gpa::metrics::GpuInfo* pGpuInfos);

GPA_METRICS_EXPORT
Result GetGpuIdForGraphicsDevice(
    GraphicsApi graphicsApi,
    void* graphicsInstance,
    void* graphicsDevice,
    gpa::metrics::GpuId* pGpuId);

}  // namespace metrics
}  // namespace gpa