File: ze_validation_layer.cpp

package info (click to toggle)
level-zero 1.26.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,468 kB
  • sloc: cpp: 130,327; ansic: 16,197; python: 9,824; makefile: 4
file content (58 lines) | stat: -rw-r--r-- 1,564 bytes parent folder | download | duplicates (2)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 *
 * Copyright (C) 2019-2021 Intel Corporation
 *
 * SPDX-License-Identifier: MIT
 *
 * @file ze_validation_layer.cpp
 *
 */
#include "ze_validation_layer.h"
#include "param_validation.h"
#include <memory>

namespace validation_layer
{
    context_t& context = context_t::getInstance();

    ///////////////////////////////////////////////////////////////////////////////
    context_t::context_t()
    {
        enableHandleLifetime = getenv_tobool( "ZE_ENABLE_HANDLE_LIFETIME" );
        if (enableHandleLifetime) {
            handleLifetime = std::make_unique<HandleLifetimeValidation>();
        }
        enableThreadingValidation = getenv_tobool( "ZE_ENABLE_THREADING_VALIDATION" );

        logger = loader::createLogger();
    }

    ///////////////////////////////////////////////////////////////////////////////
    context_t::~context_t()
    {
        validationHandlers.clear();
    }
} // namespace validation_layer


#if defined(__cplusplus)
extern "C" {
#endif

ZE_DLLEXPORT ze_result_t ZE_APICALL
zelLoaderGetVersion(zel_component_version_t *version)
{
    if(version == nullptr)
        return ZE_RESULT_ERROR_INVALID_NULL_POINTER;
    string_copy_s(version->component_name, VALIDATION_COMP_NAME, ZEL_COMPONENT_STRING_SIZE);
    version->spec_version = ZE_API_VERSION_CURRENT;
    version->component_lib_version.major = LOADER_VERSION_MAJOR;
    version->component_lib_version.minor = LOADER_VERSION_MINOR;
    version->component_lib_version.patch = LOADER_VERSION_PATCH;

    return ZE_RESULT_SUCCESS;
}

#if defined(__cplusplus)
};
#endif