Classes | |
struct | PiFuncInfo |
struct | IsStdVector |
struct | IsStdVector< std::vector< T > > |
struct | printOut |
struct | printOut< PiEvent * > |
struct | printOut< PiMem * > |
struct | printOut< void * > |
struct | printOut< T ** > |
Enumerations | |
enum | TraceLevel { PI_TRACE_BASIC = 0x1 , PI_TRACE_CALLS = 0x2 , PI_TRACE_ALL = -1 } |
Functions | |
template<class To > | |
To | cast (std::vector< cl_event > value) |
template<> | |
PiDevice | cast (cl_device_id)=delete |
bool | trace (TraceLevel level) |
void | die (const char *Message) |
void | assertion (bool Condition, const char *Message=nullptr) |
template<typename T > | |
void | handleUnknownParamName (const char *functionName, T parameter) |
void | contextSetExtendedDeleter (const sycl::context &constext, pi_context_extended_deleter func, void *user_data) |
void * | loadOsLibrary (const std::string &Library) |
int | unloadOsLibrary (void *Library) |
void * | loadOsPluginLibrary (const std::string &Library) |
int | unloadOsPluginLibrary (void *Library) |
int | unloadPlugin (void *Library) |
void * | getOsLibraryFuncAddress (void *Library, const std::string &FunctionName) |
std::string | platformInfoToString (pi_platform_info info) |
template<class To , class From > | |
To | cast (From value) |
std::vector< PluginPtr > & | initialize () |
template<backend BE> | |
const PluginPtr & | getPlugin () |
uint64_t | emitFunctionBeginTrace (const char *FName) |
Emits an XPTI trace before a PI API call is made. More... | |
void | emitFunctionEndTrace (uint64_t CorrelationID, const char *FName) |
Emits an XPTI trace after the PI API call has been made. More... | |
uint64_t | emitFunctionWithArgsBeginTrace (uint32_t FuncID, const char *FName, unsigned char *ArgsData, pi_plugin Plugin) |
Notifies XPTI subscribers about PI function calls and packs call arguments. More... | |
void | emitFunctionWithArgsEndTrace (uint64_t CorrelationID, uint32_t FuncID, const char *FName, unsigned char *ArgsData, pi_result Result, pi_plugin Plugin) |
Notifies XPTI subscribers about PI function call result. More... | |
PiDeviceBinaryType | getBinaryImageFormat (const unsigned char *ImgData, size_t ImgSize) |
Tries to determine the device binary image foramat. More... | |
template<class To , class FromE > | |
To | cast (std::vector< FromE > Values) |
static void | initializePlugins (std::vector< PluginPtr > &Plugins) |
std::string | memFlagToString (pi_mem_flags Flag) |
std::string | memFlagsToString (pi_mem_flags Flags) |
std::vector< std::pair< std::string, backend > > | findPlugins () |
void * | loadPlugin (const std::string &PluginPath) |
bool | bindPlugin (void *Library, const std::shared_ptr< PiPlugin > &PluginInformation) |
std::vector< std::tuple< std::string, backend, void * > > | loadPlugins (const std::vector< std::pair< std::string, backend >> &&PluginNames) |
template const PluginPtr & | getPlugin< backend::opencl > () |
template const PluginPtr & | getPlugin< backend::ext_oneapi_level_zero > () |
template const PluginPtr & | getPlugin< backend::ext_intel_esimd_emulator > () |
template const PluginPtr & | getPlugin< backend::ext_oneapi_cuda > () |
template const PluginPtr & | getPlugin< backend::ext_oneapi_hip > () |
template<typename ResT > | |
static ResT | readELFValue (const unsigned char *Data, size_t NumBytes, bool IsBigEndian) |
static bool | checkELFSectionPresent (const std::string &ExpectedSectionName, const unsigned char *ImgData, size_t ImgSize) |
static uint16_t | getELFHeaderType (const unsigned char *ImgData, size_t ImgSize) |
template<typename T > | |
std::enable_if<!std::is_pointer< T >::value, void >::type | print (T val) |
template<typename T > | |
std::enable_if< std::is_pointer< T >::value, void >::type | print (T val) |
template<> | |
void | print (PiPlatform val) |
template<> | |
void | print (PiEvent val) |
template<> | |
void | print (PiMem val) |
template<> | |
void | print (PiEvent *val) |
template<> | |
void | print (const PiEvent *val) |
template<> | |
void | print (pi_buffer_region rgn) |
template<> | |
void | print (pi_buff_rect_region rgn) |
template<> | |
void | print (pi_buff_rect_offset off) |
template<> | |
void | print (pi_image_region rgn) |
template<> | |
void | print (pi_image_offset off) |
template<> | |
void | print (const pi_image_desc *desc) |
template<> | |
void | print (PiResult val) |
template<> | |
void | print (std::nullptr_t) |
template<> | |
void | print (char *val) |
template<> | |
void | print (const char *val) |
void | printArgs (void) |
template<typename Arg0 , typename... Args> | |
void | printArgs (Arg0 arg0, Args... args) |
void | printOuts (void) |
template<typename Arg0 , typename... Args> | |
void | printOuts (Arg0 arg0, Args... args) |
static std::filesystem::path | getCurrentDSODirPath () |
Variables | |
template<> | |
PiProgram | cast (cl_program)=delete |
std::shared_ptr< plugin > | GlobalPlugin |
bool | XPTIInitDone = false |
using sycl::_V1::detail::pi::PiContext = typedef ::pi_context |
using sycl::_V1::detail::pi::PiContextInfo = typedef ::pi_context_info |
using sycl::_V1::detail::pi::PiDevice = typedef ::pi_device |
using sycl::_V1::detail::pi::PiDeviceBinaryType = typedef ::pi_device_binary_type |
using sycl::_V1::detail::pi::PiDeviceInfo = typedef ::pi_device_info |
using sycl::_V1::detail::pi::PiDeviceType = typedef ::pi_device_type |
using sycl::_V1::detail::pi::PiEvent = typedef ::pi_event |
using sycl::_V1::detail::pi::PiExtCommandBuffer = typedef ::pi_ext_command_buffer |
using sycl::_V1::detail::pi::PiExtCommandBufferDesc = typedef ::pi_ext_command_buffer_desc |
using sycl::_V1::detail::pi::PiExtSyncPoint = typedef ::pi_ext_sync_point |
using sycl::_V1::detail::pi::PiImageCopyFlags = typedef ::pi_image_copy_flags |
using sycl::_V1::detail::pi::PiImageHandle = typedef ::pi_image_handle |
using sycl::_V1::detail::pi::PiImageMemHandle = typedef ::pi_image_mem_handle |
using sycl::_V1::detail::pi::PiImageOffset = typedef ::pi_image_offset_struct |
using sycl::_V1::detail::pi::PiImageRegion = typedef ::pi_image_region_struct |
using sycl::_V1::detail::pi::PiInteropMemHandle = typedef ::pi_interop_mem_handle |
using sycl::_V1::detail::pi::PiInteropSemaphoreHandle = typedef ::pi_interop_semaphore_handle |
using sycl::_V1::detail::pi::PiKernel = typedef ::pi_kernel |
using sycl::_V1::detail::pi::PiKernelCacheConfig = typedef ::pi_kernel_cache_config |
using sycl::_V1::detail::pi::PiMem = typedef ::pi_mem |
using sycl::_V1::detail::pi::PiMemFlags = typedef ::pi_mem_flags |
using sycl::_V1::detail::pi::PiMemImageChannelOrder = typedef ::pi_image_channel_order |
using sycl::_V1::detail::pi::PiMemImageChannelType = typedef ::pi_image_channel_type |
using sycl::_V1::detail::pi::PiMemImageDesc = typedef ::pi_image_desc |
using sycl::_V1::detail::pi::PiMemImageFormat = typedef ::pi_image_format |
using sycl::_V1::detail::pi::PiMemImageInfo = typedef ::pi_image_info |
using sycl::_V1::detail::pi::PiMemObjectType = typedef ::pi_mem_type |
using sycl::_V1::detail::pi::PiPeerAttr = typedef ::pi_peer_attr |
using sycl::_V1::detail::pi::PiPlatform = typedef ::pi_platform |
using sycl::_V1::detail::pi::PiPlatformBackend = typedef ::pi_platform_backend |
using sycl::_V1::detail::pi::PiPlugin = typedef ::pi_plugin |
using sycl::_V1::detail::pi::PiProgram = typedef ::pi_program |
using sycl::_V1::detail::pi::PiQueue = typedef ::pi_queue |
using sycl::_V1::detail::pi::PiQueueProperties = typedef ::pi_queue_properties |
using sycl::_V1::detail::pi::PiResult = typedef ::pi_result |
using sycl::_V1::detail::pi::PiSampler = typedef ::pi_sampler |
using sycl::_V1::detail::pi::PiSamplerAddressingMode = typedef ::pi_sampler_addressing_mode |
using sycl::_V1::detail::pi::PiSamplerFilterMode = typedef ::pi_sampler_filter_mode |
using sycl::_V1::detail::pi::PiSamplerInfo = typedef ::pi_sampler_info |
using sycl::_V1::detail::pi::PiSamplerProperties = typedef ::pi_sampler_properties |
void sycl::_V1::detail::pi::assertion | ( | bool | Condition, |
const char * | Message = nullptr |
||
) |
Definition at line 591 of file pi.cpp.
References die().
Referenced by cast(), and memFlagToString().
bool sycl::_V1::detail::pi::bindPlugin | ( | void * | Library, |
const std::shared_ptr< PiPlugin > & | PluginInformation | ||
) |
Definition at line 410 of file pi.cpp.
References getOsLibraryFuncAddress(), and piPluginInit().
Referenced by initializePlugins().
|
inlinedelete |
|
inline |
Definition at line 278 of file pi.hpp.
References assertion().
|
inline |
Definition at line 145 of file backend_traits_opencl.hpp.
References assertion().
To sycl::_V1::detail::pi::cast | ( | std::vector< FromE > | Values | ) |
|
static |
Definition at line 613 of file pi.cpp.
Referenced by getBinaryImageFormat().
void sycl::_V1::detail::pi::contextSetExtendedDeleter | ( | const sycl::context & | constext, |
pi_context_extended_deleter | func, | ||
void * | user_data | ||
) |
Definition at line 193 of file pi.cpp.
References sycl::_V1::detail::getSyclObjImpl(), and piextContextSetExtendedDeleter().
void sycl::_V1::detail::pi::die | ( | const char * | Message | ) |
Definition at line 586 of file pi.cpp.
References std::cerr.
Referenced by assertion(), DieUnsupported(), handleUnknownParamName(), pi2ur::pi2urImageCopyFlags(), pi2ur::pi2urImageDesc(), pi2ur::pi2urImageInfoFlags(), pi2ur::piContextGetInfo(), pi2ur::piDevicePartition(), pi2ur::piEnqueueMemImageFill(), pi2ur::piEventSetCallback(), pi2ur::piEventSetStatus(), piextEnqueueReadHostPipe(), piextEnqueueWriteHostPipe(), pi2ur::piextUSMEnqueueMemset2D(), pi2ur::piextUSMGetMemAllocInfo(), pi2ur::piKernelGetGroupInfo(), pi2ur::piKernelSetExecInfo(), pi2ur::piMemGetInfo(), pi2ur::piPlatformGetInfo(), pi2ur::piProgramGetBuildInfo(), pi2ur::piProgramGetInfo(), pi2ur::piQueueGetInfo(), platformInfoToString(), ur2piDeviceInfoValue(), pi2ur::ur2piImageFormat(), ur2piPlatformInfoValue(), ur2piProgramBuildInfoValue(), ur2piSamplerInfoValue(), and ur2piUSMAllocInfoValue().
uint64_t sycl::_V1::detail::pi::emitFunctionBeginTrace | ( | const char * | FName | ) |
Emits an XPTI trace before a PI API call is made.
FName | The name of the PI API call |
Definition at line 82 of file pi.cpp.
Referenced by sycl::_V1::detail::plugin::call_nocheck().
void sycl::_V1::detail::pi::emitFunctionEndTrace | ( | uint64_t | CorrelationID, |
const char * | FName | ||
) |
Emits an XPTI trace after the PI API call has been made.
CorrelationID | The correlation ID for the API call generated by the emitFunctionBeginTrace() call. |
FName | The name of the PI API call |
Definition at line 127 of file pi.cpp.
Referenced by sycl::_V1::detail::plugin::call_nocheck().
uint64_t sycl::_V1::detail::pi::emitFunctionWithArgsBeginTrace | ( | uint32_t | FuncID, |
const char * | FName, | ||
unsigned char * | ArgsData, | ||
pi_plugin | Plugin | ||
) |
Notifies XPTI subscribers about PI function calls and packs call arguments.
FuncID | is the API hash ID from PiApiID type trait. |
FName | The name of the PI API call. |
ArgsData | is a pointer to packed function call arguments. |
Plugin | is the plugin, which is used to make call. |
Definition at line 143 of file pi.cpp.
References sycl::_V1::detail::tls_code_loc_t::query().
Referenced by sycl::_V1::detail::plugin::call_nocheck().
void sycl::_V1::detail::pi::emitFunctionWithArgsEndTrace | ( | uint64_t | CorrelationID, |
uint32_t | FuncID, | ||
const char * | FName, | ||
unsigned char * | ArgsData, | ||
pi_result | Result, | ||
pi_plugin | Plugin | ||
) |
Notifies XPTI subscribers about PI function call result.
CorrelationID | The correlation ID for the API call generated by the emitFunctionWithArgsBeginTrace() call. |
FuncID | is the API hash ID from PiApiID type trait. |
FName | The name of the PI API call. |
ArgsData | is a pointer to packed function call arguments. |
Result | is function call result value. |
Plugin | is the plugin, which is used to make call. |
Definition at line 175 of file pi.cpp.
Referenced by sycl::_V1::detail::plugin::call_nocheck().
std::vector<std::pair<std::string, backend> > sycl::_V1::detail::pi::findPlugins | ( | ) |
Definition at line 286 of file pi.cpp.
References sycl::_V1::all, sycl::_V1::detail::ods_target_list::backendCompatible(), sycl::_V1::ext_oneapi_cuda, sycl::_V1::ext_oneapi_hip, sycl::_V1::ext_oneapi_level_zero, sycl::_V1::ext_oneapi_native_cpu, sycl::_V1::detail::device_filter_list::get(), sycl::_V1::detail::SYCLConfig< Config >::get(), sycl::_V1::invalid, and sycl::_V1::opencl.
Referenced by initializePlugins().
sycl::detail::pi::PiDeviceBinaryType sycl::_V1::detail::pi::getBinaryImageFormat | ( | const unsigned char * | ImgData, |
size_t | ImgSize | ||
) |
Tries to determine the device binary image foramat.
Returns PI_DEVICE_BINARY_TYPE_NONE if unsuccessful.
Definition at line 686 of file pi.cpp.
References checkELFSectionPresent(), getELFHeaderType(), PI_DEVICE_BINARY_TYPE_LLVMIR_BITCODE, PI_DEVICE_BINARY_TYPE_NATIVE, PI_DEVICE_BINARY_TYPE_NONE, and PI_DEVICE_BINARY_TYPE_SPIRV.
Referenced by sycl::_V1::detail::ProgramManager::createPIProgram(), sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and sycl::_V1::detail::RTDeviceBinaryImage::init().
|
static |
Definition at line 71 of file windows_pi.cpp.
References ExeModuleHandle, and getOSModuleHandle().
|
static |
Definition at line 677 of file pi.cpp.
Referenced by getBinaryImageFormat().
void * sycl::_V1::detail::pi::getOsLibraryFuncAddress | ( | void * | Library, |
const std::string & | FunctionName | ||
) |
Definition at line 47 of file posix_pi.cpp.
Referenced by sycl::_V1::ext::__SYCL2020_DEPRECATED(), bindPlugin(), sycl::_V1::ext::oneapi::experimental::detail::checkOclocLibrary(), and sycl::_V1::ext::oneapi::experimental::detail::SetupLibrary().
const PluginPtr & sycl::_V1::detail::pi::getPlugin | ( | ) |
Definition at line 558 of file pi.cpp.
References initialize().
template const PluginPtr& sycl::_V1::detail::pi::getPlugin< backend::ext_intel_esimd_emulator > | ( | ) |
template const PluginPtr& sycl::_V1::detail::pi::getPlugin< backend::ext_oneapi_cuda > | ( | ) |
template const PluginPtr& sycl::_V1::detail::pi::getPlugin< backend::ext_oneapi_hip > | ( | ) |
template const PluginPtr& sycl::_V1::detail::pi::getPlugin< backend::ext_oneapi_level_zero > | ( | ) |
template const PluginPtr& sycl::_V1::detail::pi::getPlugin< backend::opencl > | ( | ) |
void sycl::_V1::detail::pi::handleUnknownParamName | ( | const char * | functionName, |
T | parameter | ||
) |
std::vector< PluginPtr > & sycl::_V1::detail::pi::initialize | ( | ) |
Definition at line 436 of file pi.cpp.
References sycl::_V1::detail::GlobalHandler::getPlugins(), initializePlugins(), and sycl::_V1::detail::GlobalHandler::instance().
Referenced by sycl::_V1::detail::platform_impl::get_devices(), sycl::_V1::detail::platform_impl::get_platforms(), and getPlugin().
|
static |
Definition at line 453 of file pi.cpp.
References _PI_H_VERSION_STRING, _PI_SANITIZE_TYPE_ADDRESS, _PI_SANITIZE_TYPE_NONE, bindPlugin(), std::cerr, findPlugins(), sycl::_V1::detail::ProgramManager::getInstance(), sycl::_V1::detail::GlobalHandler::getXPTIRegistry(), GMajVer, GMinVer, GVerStr, sycl::_V1::detail::XPTIRegistry::initializeFrameworkOnce(), sycl::_V1::detail::XPTIRegistry::initializeStream(), sycl::_V1::detail::GlobalHandler::instance(), sycl::_V1::detail::ProgramManager::kernelUsesAsan(), loadPlugins(), PI_TRACE_ALL, PI_TRACE_BASIC, sycl::_V1::detail::SYCL_PICALL_STREAM_NAME, sycl::_V1::detail::SYCL_PIDEBUGCALL_STREAM_NAME, sycl::_V1::detail::SYCL_STREAM_NAME, trace(), and XPTIInitDone.
Referenced by initialize().
void * sycl::_V1::detail::pi::loadOsLibrary | ( | const std::string & | Library | ) |
Definition at line 20 of file posix_pi.cpp.
References std::cerr, PI_TRACE_ALL, and trace().
Referenced by sycl::_V1::ext::__SYCL2020_DEPRECATED(), sycl::_V1::ext::oneapi::experimental::detail::loadOclocLibrary(), and loadOsPluginLibrary().
void * sycl::_V1::detail::pi::loadOsPluginLibrary | ( | const std::string & | Library | ) |
Definition at line 33 of file posix_pi.cpp.
References loadOsLibrary().
Referenced by loadPlugin(), and loadPlugins().
void* sycl::_V1::detail::pi::loadPlugin | ( | const std::string & | PluginPath | ) |
Definition at line 396 of file pi.cpp.
References loadOsPluginLibrary().
std::vector< std::tuple< std::string, backend, void * > > sycl::_V1::detail::pi::loadPlugins | ( | const std::vector< std::pair< std::string, backend >> && | PluginNames | ) |
Definition at line 53 of file posix_pi.cpp.
References loadOsPluginLibrary(), and sycl::_V1::detail::make_tuple().
Referenced by initializePlugins().
std::string sycl::_V1::detail::pi::memFlagsToString | ( | pi_mem_flags | Flags | ) |
Definition at line 248 of file pi.cpp.
References memFlagToString(), PI_MEM_FLAGS_ACCESS_RW, PI_MEM_FLAGS_HOST_PTR_COPY, and PI_MEM_FLAGS_HOST_PTR_USE.
std::string sycl::_V1::detail::pi::memFlagToString | ( | pi_mem_flags | Flag | ) |
Definition at line 222 of file pi.cpp.
References assertion(), PI_MEM_FLAGS_ACCESS_RW, PI_MEM_FLAGS_HOST_PTR_COPY, and PI_MEM_FLAGS_HOST_PTR_USE.
Referenced by memFlagsToString().
std::string sycl::_V1::detail::pi::platformInfoToString | ( | pi_platform_info | info | ) |
Definition at line 203 of file pi.cpp.
References die(), PI_EXT_PLATFORM_INFO_BACKEND, PI_PLATFORM_INFO_EXTENSIONS, PI_PLATFORM_INFO_NAME, PI_PLATFORM_INFO_PROFILE, PI_PLATFORM_INFO_VENDOR, and PI_PLATFORM_INFO_VERSION.
|
inline |
Definition at line 114 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 118 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 91 of file plugin_printers.hpp.
References std::cout, _pi_image_desc::image_array_size, _pi_image_desc::image_depth, _pi_image_desc::image_height, _pi_image_desc::image_row_pitch, _pi_image_desc::image_slice_pitch, _pi_image_desc::image_type, _pi_image_desc::image_width, _pi_image_desc::num_mip_levels, and _pi_image_desc::num_samples.
|
inline |
Definition at line 56 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 76 of file plugin_printers.hpp.
References std::cout, pi_buff_rect_offset_struct::x_bytes, pi_buff_rect_offset_struct::y_scalar, and pi_buff_rect_offset_struct::z_scalar.
|
inline |
Definition at line 70 of file plugin_printers.hpp.
References std::cout, pi_buff_rect_region_struct::depth_scalar, pi_buff_rect_region_struct::height_scalar, and pi_buff_rect_region_struct::width_bytes.
|
inline |
Definition at line 65 of file plugin_printers.hpp.
References std::cout, pi_buffer_region_struct::origin, and pi_buffer_region_struct::size.
|
inline |
Definition at line 86 of file plugin_printers.hpp.
References std::cout, pi_image_offset_struct::x, pi_image_offset_struct::y, and pi_image_offset_struct::z.
|
inline |
Definition at line 81 of file plugin_printers.hpp.
References std::cout, pi_image_region_struct::depth, pi_image_region_struct::height, and pi_image_region_struct::width.
|
inline |
Definition at line 47 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 39 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 43 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 35 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 101 of file plugin_printers.hpp.
References std::cout.
|
inline |
Definition at line 110 of file plugin_printers.hpp.
References std::cout.
|
inline |
|
inline |
Definition at line 30 of file plugin_printers.hpp.
References std::cout.
void sycl::_V1::detail::pi::printArgs | ( | Arg0 | arg0, |
Args... | args | ||
) |
Definition at line 124 of file plugin_printers.hpp.
References std::cout, print(), and printArgs().
|
inline |
Definition at line 122 of file plugin_printers.hpp.
Referenced by sycl::_V1::detail::plugin::call_nocheck(), and printArgs().
void sycl::_V1::detail::pi::printOuts | ( | Arg0 | arg0, |
Args... | args | ||
) |
Definition at line 173 of file plugin_printers.hpp.
References printOuts().
|
inline |
Definition at line 171 of file plugin_printers.hpp.
Referenced by sycl::_V1::detail::plugin::call_nocheck(), and printOuts().
|
static |
bool sycl::_V1::detail::pi::trace | ( | TraceLevel | level | ) |
Definition at line 430 of file pi.cpp.
References sycl::_V1::detail::SYCLConfig< Config >::get().
Referenced by sycl::_V1::detail::plugin::call_nocheck(), initializePlugins(), sycl::_V1::detail::IsBannedPlatform(), loadOsLibrary(), and sycl::_V1::detail::traceDeviceSelection().
int sycl::_V1::detail::pi::unloadOsLibrary | ( | void * | Library | ) |
Definition at line 37 of file posix_pi.cpp.
int sycl::_V1::detail::pi::unloadOsPluginLibrary | ( | void * | Library | ) |
Definition at line 39 of file posix_pi.cpp.
Referenced by unloadPlugin().
int sycl::_V1::detail::pi::unloadPlugin | ( | void * | Library | ) |
Definition at line 402 of file pi.cpp.
References unloadOsPluginLibrary().
Referenced by sycl::_V1::detail::plugin::unload().
|
inlinedelete |
std::shared_ptr< plugin > sycl::_V1::detail::pi::GlobalPlugin |
bool sycl::_V1::detail::pi::XPTIInitDone = false |
Definition at line 78 of file pi.cpp.
Referenced by initializePlugins().