Blender V5.0
device/kernel.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#pragma once
6
7#ifndef __KERNEL_ONEAPI__
8# include "kernel/types.h"
9
10# include "util/string.h"
11
12# include <bitset>
13# include <iosfwd>
14#endif
15
17
18/* DeviceKernel */
19
22
23const char *device_kernel_as_string(DeviceKernel kernel);
24
25#ifndef __KERNEL_ONEAPI__
26std::ostream &operator<<(std::ostream &os, DeviceKernel kernel);
27
28/* DeviceKernelMask */
29
30struct DeviceKernelMask : public std::bitset<DEVICE_KERNEL_NUM> {
31 bool operator<(const DeviceKernelMask &other) const;
32};
33
35#endif
36
#define CCL_NAMESPACE_END
CCL_NAMESPACE_BEGIN bool device_kernel_has_shading(DeviceKernel kernel)
bool device_kernel_has_intersection(DeviceKernel kernel)
string device_kernel_mask_as_string(DeviceKernelMask mask)
const char * device_kernel_as_string(DeviceKernel kernel)
std::ostream & operator<<(std::ostream &os, DeviceKernel kernel)
DeviceKernel
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
bool operator<(const DeviceKernelMask &other) const