OWL
|
#include <Buffer.h>
Public Member Functions | |
DeviceDataForCopyableData (DeviceBuffer *parent, const DeviceContext::SP &device) | |
void | executeResize () override |
void | uploadAsync (const void *hostDataPtr, size_t offset, int64_t count) override |
void | clear () override |
Public Member Functions inherited from owl::DeviceBuffer::DeviceData | |
DeviceData (DeviceBuffer *parent, const DeviceContext::SP &device) | |
virtual | ~DeviceData () |
virtual void | executeResize ()=0 |
virtual void | uploadAsync (const void *hostDataPtr, size_t offset, int64_t count)=0 |
virtual void | clear ()=0 |
Public Member Functions inherited from owl::Buffer::DeviceData | |
DeviceData (const DeviceContext::SP &device) | |
Additional Inherited Members | |
Public Types inherited from owl::DeviceBuffer::DeviceData | |
typedef std::shared_ptr< DeviceData > | SP |
Public Types inherited from owl::Buffer::DeviceData | |
typedef std::shared_ptr< DeviceData > | SP |
Public Attributes inherited from owl::DeviceBuffer::DeviceData | |
DeviceBuffer *const | parent |
Public Attributes inherited from owl::Buffer::DeviceData | |
void * | d_pointer { 0 } |
device-data for a device buffer that contains raw, copyable data (float, vec3f, etc)
|
overridevirtual |
clear the buffer by setting its contents to zero
Implements owl::DeviceBuffer::DeviceData.
|
overridevirtual |
executes the resize on the given device, including freeing old memory, and allocating required elemnts in device format, as required
Implements owl::DeviceBuffer::DeviceData.
|
overridevirtual |
create an async upload for data from the given host data pointer, using the given device's cuda stream, and doing any required translation from host-side data (eg, a texture object handle) to device-side data (ie, the cudaTextreObject_t for that device). this will not wait for the upload to complete, so an explicit cuda sync has to be done to ensure no race conditiosn will occur
Implements owl::DeviceBuffer::DeviceData.