This patch generalizes the OSL support in Cycles to include GPU device types and adds an implementation for that in the OptiX device. There are some caveats still, including simplified texturing due to lack of OIIO on the GPU and a few missing OSL intrinsics. Note that this is incomplete and missing an update to the OSL library before being enabled! The implementation is already committed now to simplify further development. Maniphest Tasks: T101222 Differential Revision: https://developer.blender.org/D15902
24 lines
554 B
C++
24 lines
554 B
C++
/* SPDX-License-Identifier: Apache-2.0
|
|
* Copyright 2011-2022 Blender Foundation */
|
|
|
|
#pragma once
|
|
|
|
#include "kernel/types.h"
|
|
|
|
#include "util/string.h"
|
|
|
|
#include <ostream> // NOLINT
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
bool device_kernel_has_shading(DeviceKernel kernel);
|
|
bool device_kernel_has_intersection(DeviceKernel kernel);
|
|
|
|
const char *device_kernel_as_string(DeviceKernel kernel);
|
|
std::ostream &operator<<(std::ostream &os, DeviceKernel kernel);
|
|
|
|
typedef uint64_t DeviceKernelMask;
|
|
string device_kernel_mask_as_string(DeviceKernelMask mask);
|
|
|
|
CCL_NAMESPACE_END
|