Blender  V3.3
gpu_drawlist.cc
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2016 by Mike Erwin. All rights reserved. */
3 
10 #include "GPU_drawlist.h"
11 
12 #include "gpu_backend.hh"
13 
14 #include "gpu_drawlist_private.hh"
15 
16 using namespace blender::gpu;
17 
19 {
20  DrawList *list_ptr = GPUBackend::get()->drawlist_alloc(list_length);
21  return wrap(list_ptr);
22 }
23 
25 {
26  DrawList *list_ptr = unwrap(list);
27  delete list_ptr;
28 }
29 
30 void GPU_draw_list_append(GPUDrawList *list, GPUBatch *batch, int i_first, int i_count)
31 {
32  DrawList *list_ptr = unwrap(list);
33  list_ptr->append(batch, i_first, i_count);
34 }
35 
37 {
38  DrawList *list_ptr = unwrap(list);
39  list_ptr->submit();
40 }
GPUBatch
Definition: GPU_batch.h:78
struct GPUDrawList GPUDrawList
Definition: GPU_drawlist.h:20
virtual void append(GPUBatch *batch, int i_first, int i_count)=0
virtual void submit()=0
static GPUBackend * get()
Definition: gpu_context.cc:292
virtual DrawList * drawlist_alloc(int list_length)=0
struct @653::@655 batch
void GPU_draw_list_append(GPUDrawList *list, GPUBatch *batch, int i_first, int i_count)
Definition: gpu_drawlist.cc:30
void GPU_draw_list_submit(GPUDrawList *list)
Definition: gpu_drawlist.cc:36
void GPU_draw_list_discard(GPUDrawList *list)
Definition: gpu_drawlist.cc:24
GPUDrawList * GPU_draw_list_create(int list_length)
Definition: gpu_drawlist.cc:18
static GPUContext * wrap(Context *ctx)
static Context * unwrap(GPUContext *ctx)