Kompute
Loading...
Searching...
No Matches
Core.hpp
1// SPDX-License-Identifier: Apache-2.0
2#pragma once
3
4#include <vulkan/vulkan.hpp>
5
6// Typedefs to simplify interaction with core types
7namespace kp {
8typedef std::array<uint32_t, 3> Workgroup;
9typedef std::vector<float> Constants;
10}
11
12// Must be after vulkan is included
13#ifndef KOMPUTE_VK_API_VERSION
14#ifndef KOMPUTE_VK_API_MAJOR_VERSION
15#define KOMPUTE_VK_API_MAJOR_VERSION 1
16#endif // KOMPUTE_VK_API_MAJOR_VERSION
17#ifndef KOMPUTE_VK_API_MINOR_VERSION
18#define KOMPUTE_VK_API_MINOR_VERSION 1
19#endif // KOMPUTE_VK_API_MINOR_VERSION
20#define KOMPUTE_VK_API_VERSION \
21 VK_MAKE_VERSION( \
22 KOMPUTE_VK_API_MAJOR_VERSION, KOMPUTE_VK_API_MINOR_VERSION, 0)
23#endif // KOMPUTE_VK_API_VERSION
24
25#if defined(KOMPUTE_BUILD_PYTHON)
26#include <pybind11/pybind11.h>
27namespace py = pybind11;
28// from python/src/main.cpp
29extern py::object kp_trace, kp_debug, kp_info, kp_warning, kp_error;
30#endif