Blender  V2.93
Public Member Functions | List of all members
DeviceSplitKernel Class Referenceabstract

#include <device_split_kernel.h>

Inherited by CPUSplitKernel.

Public Member Functions

 DeviceSplitKernel (Device *device)
 
virtual ~DeviceSplitKernel ()
 
bool load_kernels (const DeviceRequestedFeatures &requested_features)
 
bool path_trace (DeviceTask &task, RenderTile &rtile, device_memory &kgbuffer, device_memory &kernel_data)
 
virtual uint64_t state_buffer_size (device_memory &kg, device_memory &data, size_t num_threads)=0
 
size_t max_elements_for_max_buffer_size (device_memory &kg, device_memory &data, uint64_t max_buffer_size)
 
virtual bool enqueue_split_kernel_data_init (const KernelDimensions &dim, RenderTile &rtile, int num_global_elements, device_memory &kernel_globals, device_memory &kernel_data_, device_memory &split_data, device_memory &ray_state, device_memory &queue_index, device_memory &use_queues_flag, device_memory &work_pool_wgs)=0
 
virtual SplitKernelFunctionget_split_kernel_function (const string &kernel_name, const DeviceRequestedFeatures &)=0
 
virtual int2 split_kernel_local_size ()=0
 
virtual int2 split_kernel_global_size (device_memory &kg, device_memory &data, DeviceTask &task)=0
 

Detailed Description

Definition at line 56 of file device_split_kernel.h.

Constructor & Destructor Documentation

◆ DeviceSplitKernel()

DeviceSplitKernel::DeviceSplitKernel ( Device device)
explicit

Definition at line 29 of file device_split_kernel.cpp.

References NULL.

◆ ~DeviceSplitKernel()

DeviceSplitKernel::~DeviceSplitKernel ( )
virtual

Member Function Documentation

◆ enqueue_split_kernel_data_init()

virtual bool DeviceSplitKernel::enqueue_split_kernel_data_init ( const KernelDimensions dim,
RenderTile rtile,
int  num_global_elements,
device_memory kernel_globals,
device_memory kernel_data_,
device_memory split_data,
device_memory ray_state,
device_memory queue_index,
device_memory use_queues_flag,
device_memory work_pool_wgs 
)
pure virtual

Implemented in CPUSplitKernel.

Referenced by path_trace().

◆ get_split_kernel_function()

virtual SplitKernelFunction* DeviceSplitKernel::get_split_kernel_function ( const string &  kernel_name,
const DeviceRequestedFeatures  
)
pure virtual

Implemented in CPUSplitKernel.

◆ load_kernels()

bool DeviceSplitKernel::load_kernels ( const DeviceRequestedFeatures requested_features)

◆ max_elements_for_max_buffer_size()

size_t DeviceSplitKernel::max_elements_for_max_buffer_size ( device_memory kg,
device_memory data,
uint64_t  max_buffer_size 
)

◆ path_trace()

bool DeviceSplitKernel::path_trace ( DeviceTask task,
RenderTile rtile,
device_memory kgbuffer,
device_memory kernel_data 
)

◆ split_kernel_global_size()

virtual int2 DeviceSplitKernel::split_kernel_global_size ( device_memory kg,
device_memory data,
DeviceTask task 
)
pure virtual

Implemented in CPUSplitKernel.

Referenced by path_trace().

◆ split_kernel_local_size()

virtual int2 DeviceSplitKernel::split_kernel_local_size ( )
pure virtual

Implemented in CPUSplitKernel.

Referenced by path_trace().

◆ state_buffer_size()

virtual uint64_t DeviceSplitKernel::state_buffer_size ( device_memory kg,
device_memory data,
size_t  num_threads 
)
pure virtual

Implemented in CPUSplitKernel.

Referenced by max_elements_for_max_buffer_size(), and path_trace().


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