OWL
|
#include <Module.h>
Classes | |
struct | DeviceData |
Public Types | |
typedef std::shared_ptr< Module > | SP |
Public Types inherited from owl::ContextObject | |
typedef std::shared_ptr< ContextObject > | SP |
Public Types inherited from owl::Object | |
typedef std::shared_ptr< Object > | SP |
Public Member Functions | |
Module (Context *context, const std::string &ptxCode) | |
Module (Context *context, const std::vector< uint8_t > &IR) | |
virtual | ~Module () |
std::string | toString () const override |
DeviceData & | getDD (const DeviceContext::SP &device) const |
RegisteredObject::DeviceData::SP | createOn (const DeviceContext::SP &device) override |
Public Member Functions inherited from owl::RegisteredObject | |
RegisteredObject (Context *const context, ObjectRegistry ®istry) | |
Public Member Functions inherited from owl::ContextObject | |
ContextObject (Context *const context) | |
std::string | toString () const override |
Public Member Functions inherited from owl::Object | |
Object () | |
virtual std::string | toString () const |
virtual DeviceData::SP | createOn (const std::shared_ptr< DeviceContext > &device) |
void | createDeviceData (const std::vector< std::shared_ptr< DeviceContext > > &devices) |
template<typename T > | |
std::shared_ptr< T > | as () |
Public Attributes | |
bool | useIR = false |
const std::string | ptxCode |
const std::vector< uint8_t > | optixIRCode |
Public Attributes inherited from owl::RegisteredObject | |
int | ID |
ObjectRegistry & | registry |
Public Attributes inherited from owl::ContextObject | |
Context *const | context |
Public Attributes inherited from owl::Object | |
const size_t | uniqueID |
std::vector< DeviceData::SP > | deviceData |
Additional Inherited Members | |
Static Public Attributes inherited from owl::Object | |
static std::atomic< uint64_t > | nextAvailableID |
captures the concept of a module that contains one or more programs.
owl::Module::Module | ( | Context * | context, |
const std::string & | ptxCode | ||
) |
constructor - ptxCode contains the prec-ompiled ptx code with the compiled functions
owl::Module::Module | ( | Context * | context, |
const std::vector< uint8_t > & | IR | ||
) |
constructor - IR contains the pre-compiled optix IR
constructor - IR contains the precompiled Optix IR code
|
virtual |
destructor, to release data if required
|
override |
create this object's device-specific data for the device
|
inline |
get reference to given device-specific data for this object
|
overridevirtual |
pretty-printer, for printf-debugging
Reimplemented from owl::Object.
const std::vector<uint8_t> owl::Module::optixIRCode |
the precompiled OptiX IR supplied by the user
const std::string owl::Module::ptxCode |
the precompiled PTX code supplied by the user
bool owl::Module::useIR = false |
a flag tracking if we're using OptiX IR or PTX. For now, assuming PTX as default.