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