33 namespace QueryRenderer {
35 class QueryRenderManager;
36 struct QueryDataLayout;
42 const size_t total_bytes,
43 const size_t requested_bytes);
49 : std::runtime_error(
"Streaming-Top-N not supported in Render Query") {}
55 const size_t preallocated_size,
56 const size_t device_id);
58 int8_t*
alloc(
const size_t bytes)
final;
89 void bufferData(int8_t* data,
const size_t num_data_bytes,
const size_t device_id);
91 const std::shared_ptr<::QueryRenderer::QueryDataLayout>& query_data_layout);
93 const std::shared_ptr<::QueryRenderer::QueryDataLayout>& query_data_layout);
int8_t * alloc(const size_t bytes) final
std::vector< RenderAllocator > render_allocator_map_
RenderAllocator * getRenderAllocator(size_t device_id)
const size_t preallocated_size_
::QueryRenderer::QueryRenderManager * render_manager_
size_t peak_allocated_bytes_
RenderAllocator(int8_t *preallocated_ptr, const size_t preallocated_size, const size_t device_id)
size_t getPeakAllocatedSize() const
size_t getCurrentChunkOffset() const
std::unique_ptr< std::mutex > alloc_mtx_ptr_
size_t getAllocatedSize() const
size_t crt_chunk_offset_bytes_
void bufferData(int8_t *data, const size_t num_data_bytes, const size_t device_id)
StreamingTopNNotSupportedInRenderQuery()
int8_t * preallocated_ptr_
RenderAllocator * operator[](size_t device_id)
Abstract class for managing device memory allocations.
size_t getCurrentChunkSize() const
RenderAllocatorMap(::QueryRenderer::QueryRenderManager *render_manager)
void prepForRendering(const std::shared_ptr<::QueryRenderer::QueryDataLayout > &query_data_layout)
int8_t * getBasePtr() const
void setDataLayout(const std::shared_ptr<::QueryRenderer::QueryDataLayout > &query_data_layout)
size_t crt_allocated_bytes_
OutOfRenderMemory(const size_t device_id, const size_t total_bytes, const size_t requested_bytes)