OWL
Loading...
Searching...
No Matches
Public Member Functions | List of all members
owl::DeviceBuffer::DeviceDataForCopyableData Struct Reference

#include <Buffer.h>

Inheritance diagram for owl::DeviceBuffer::DeviceDataForCopyableData:
owl::DeviceBuffer::DeviceData owl::Buffer::DeviceData

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< DeviceDataSP
 
- Public Types inherited from owl::Buffer::DeviceData
typedef std::shared_ptr< DeviceDataSP
 
- Public Attributes inherited from owl::DeviceBuffer::DeviceData
DeviceBuffer *const parent
 
- Public Attributes inherited from owl::Buffer::DeviceData
void * d_pointer { 0 }
 

Detailed Description

device-data for a device buffer that contains raw, copyable data (float, vec3f, etc)

Member Function Documentation

◆ clear()

void owl::DeviceBuffer::DeviceDataForCopyableData::clear ( )
overridevirtual

clear the buffer by setting its contents to zero

Implements owl::DeviceBuffer::DeviceData.

◆ executeResize()

void owl::DeviceBuffer::DeviceDataForCopyableData::executeResize ( )
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.

◆ uploadAsync()

void owl::DeviceBuffer::DeviceDataForCopyableData::uploadAsync ( const void *  hostDataPtr,
size_t  offset,
int64_t  count 
)
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.


The documentation for this struct was generated from the following files: