* Rename "texture" to "data array". This has not used textures for a long time, there are just global memory arrays now. (On old CUDA GPUs there was a cache for textures but not global memory, so we used to put all data in textures.) * For CUDA and HIP, put globals in KernelParams struct like other devices. * Drop __ prefix for data array names, no possibility for naming conflict now that these are in a struct.
26 lines
1.1 KiB
Plaintext
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 = (kernel_params.path_index_array) ? kernel_params.path_index_array[global_index] :
|
|
global_index;
|
|
integrator_shade_surface_raytrace(nullptr, path_index, kernel_params.render_buffer);
|
|
}
|
|
|
|
extern "C" __global__ void __raygen__kernel_optix_integrator_shade_surface_mnee()
|
|
{
|
|
const int global_index = optixGetLaunchIndex().x;
|
|
const int path_index = (kernel_params.path_index_array) ? kernel_params.path_index_array[global_index] :
|
|
global_index;
|
|
integrator_shade_surface_mnee(nullptr, path_index, kernel_params.render_buffer);
|
|
}
|