25 lines
853 B
C
25 lines
853 B
C
/* SPDX-FileCopyrightText: 2026 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 */
|
|
|
|
#pragma once
|
|
|
|
CCL_NAMESPACE_BEGIN
|
|
|
|
using ImplicitSharingInfo = const void *;
|
|
|
|
using ImplicitSharingUserAddFn = void (*)(ImplicitSharingInfo);
|
|
using ImplicitSharingUserRemoveFn = void (*)(ImplicitSharingInfo);
|
|
|
|
extern ImplicitSharingUserAddFn g_implicit_sharing_user_add_fn;
|
|
extern ImplicitSharingUserRemoveFn g_implicit_sharing_user_remove_fn;
|
|
|
|
/**
|
|
* Set function pointers to be called when implicit sharing (use count tracking) is enabled.
|
|
* "Sharing info" references that own data like attribute arrays are passed as void pointers to
|
|
* various Cycles API functions, and these functions are called to change the reference count.
|
|
*/
|
|
void implicit_sharing_init(ImplicitSharingUserAddFn add_fn, ImplicitSharingUserRemoveFn remove_fn);
|
|
|
|
CCL_NAMESPACE_END
|