Files
test/intern/cycles/kernel/device/optix/kernel_shader_raytrace.cu
Brecht Van Lommel f2cd7e08fe Fix Cycles MNEE not working for Metal
Move MNEE to own kernel, separate from shader ray-tracing. This does introduce
the limitation that a shader can't use both MNEE and AO/bevel, but that seems
like the better trade-off for now.

We can experiment with bigger kernel organization changes later.

Differential Revision: https://developer.blender.org/D15070
2022-05-31 17:24:43 +02:00

26 lines
1.1 KiB
Plaintext

/* SPDX-License-Identifier: Apache-2.0
* Copyright 2021-2022 Blender Foundation. */
/* Copy of the regular kernels with additional shader ray-tracing kernel that takes
* much longer to compiler. This is only loaded when needed by the scene. */
#include "kernel/device/optix/kernel.cu"
#include "kernel/integrator/shade_surface.h"
extern "C" __global__ void __raygen__kernel_optix_integrator_shade_surface_raytrace()
{
const int global_index = optixGetLaunchIndex().x;
const int path_index = (__params.path_index_array) ? __params.path_index_array[global_index] :
global_index;
integrator_shade_surface_raytrace(nullptr, path_index, __params.render_buffer);
}
extern "C" __global__ void __raygen__kernel_optix_integrator_shade_surface_mnee()
{
const int global_index = optixGetLaunchIndex().x;
const int path_index = (__params.path_index_array) ? __params.path_index_array[global_index] :
global_index;
integrator_shade_surface_mnee(nullptr, path_index, __params.render_buffer);
}