mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Cycles: solve compilation errors with OptiX 7.7
* User simpler API names that accept both PTX and OptiX-IR * New argument for optixProgramGroupGetStackSize, leave to default * Remove OptixPipelineLinkOptions::debugLevel that does nothing Pull Request: https://projects.blender.org/blender/blender/pulls/107450
This commit is contained in:
parent
e24b575947
commit
632af7d253
1 changed files with 23 additions and 2 deletions
|
|
@ -479,7 +479,23 @@ bool OptiXDevice::load_kernels(const uint kernel_features)
|
|||
return false;
|
||||
}
|
||||
|
||||
# if OPTIX_ABI_VERSION >= 55
|
||||
# if OPTIX_ABI_VERSION >= 84
|
||||
OptixTask task = nullptr;
|
||||
OptixResult result = optixModuleCreateWithTasks(context,
|
||||
&module_options,
|
||||
&pipeline_options,
|
||||
ptx_data.data(),
|
||||
ptx_data.size(),
|
||||
nullptr,
|
||||
nullptr,
|
||||
&optix_module,
|
||||
&task);
|
||||
if (result == OPTIX_SUCCESS) {
|
||||
TaskPool pool;
|
||||
execute_optix_task(pool, task, result);
|
||||
pool.wait_work();
|
||||
}
|
||||
# elif OPTIX_ABI_VERSION >= 55
|
||||
OptixTask task = nullptr;
|
||||
OptixResult result = optixModuleCreateFromPTXWithTasks(context,
|
||||
&module_options,
|
||||
|
|
@ -645,7 +661,11 @@ bool OptiXDevice::load_kernels(const uint kernel_features)
|
|||
memset(sbt_data.host_pointer, 0, sizeof(SbtRecord) * NUM_PROGRAM_GROUPS);
|
||||
for (unsigned int i = 0; i < NUM_PROGRAM_GROUPS; ++i) {
|
||||
optix_assert(optixSbtRecordPackHeader(groups[i], &sbt_data[i]));
|
||||
# if OPTIX_ABI_VERSION >= 84
|
||||
optix_assert(optixProgramGroupGetStackSize(groups[i], &stack_size[i], nullptr));
|
||||
# else
|
||||
optix_assert(optixProgramGroupGetStackSize(groups[i], &stack_size[i]));
|
||||
# endif
|
||||
}
|
||||
sbt_data.copy_to_device(); /* Upload SBT to device. */
|
||||
|
||||
|
|
@ -667,13 +687,14 @@ bool OptiXDevice::load_kernels(const uint kernel_features)
|
|||
|
||||
OptixPipelineLinkOptions link_options = {};
|
||||
link_options.maxTraceDepth = 1;
|
||||
|
||||
# if OPTIX_ABI_VERSION < 84
|
||||
if (DebugFlags().optix.use_debug) {
|
||||
link_options.debugLevel = OPTIX_COMPILE_DEBUG_LEVEL_FULL;
|
||||
}
|
||||
else {
|
||||
link_options.debugLevel = OPTIX_COMPILE_DEBUG_LEVEL_NONE;
|
||||
}
|
||||
# endif
|
||||
|
||||
if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) {
|
||||
/* Create shader raytracing pipeline. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue