aboutsummaryrefslogtreecommitdiff
path: root/externals/libadrenotools/src/hook/hook_impl_params.h
blob: 8a3bd1673e18912d34f976afcc61164faeb38e8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// SPDX-License-Identifier: BSD-2-Clause
// Copyright © 2021 Billy Laws

#pragma once

#include <string>
#include <adrenotools/priv.h>

/**
 * @brief Holds the parameters needed for all hooks
 * @note See comments for adrenotools_open_libvulkan as a reference for member variables
 */
struct HookImplParams {
    int featureFlags;
    std::string tmpLibDir;
    std::string hookLibDir;
    std::string customDriverDir;
    std::string customDriverName;
    std::string fileRedirectDir;
    adrenotools_gpu_mapping *nextGpuMapping;

    HookImplParams(int featureFlags, const char *tmpLibDir, const char *hookLibDir, const char *customDriverDir,
                  const char *customDriverName, const char *fileRedirectDir, adrenotools_gpu_mapping *nextGpuMapping)
        : featureFlags(featureFlags),
          tmpLibDir(tmpLibDir ? tmpLibDir : ""),
          hookLibDir(hookLibDir),
          customDriverDir(customDriverDir ? customDriverDir : ""),
          customDriverName(customDriverName ? customDriverName : ""),
          fileRedirectDir(fileRedirectDir ? fileRedirectDir : ""),
          nextGpuMapping(nextGpuMapping) {}
};