diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-09-05 21:15:56 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-09-06 23:13:06 +0300 |
commit | 84d67bd0a937e842618ee7843958f3147ba6af58 (patch) | |
tree | f5f26528e2fc44e5aca53e7ae8187a31a3f91f09 /source/blender/gpu/GPU_element.h | |
parent | 32d0918f3d0f020153f09981b3c6aa39ca5adbd0 (diff) |
Cleanup: GPU: Rename GPU_element to GPU_index_buffer
Makes it follow the functions names.
Diffstat (limited to 'source/blender/gpu/GPU_element.h')
-rw-r--r-- | source/blender/gpu/GPU_element.h | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/source/blender/gpu/GPU_element.h b/source/blender/gpu/GPU_element.h deleted file mode 100644 index 8872080003c..00000000000 --- a/source/blender/gpu/GPU_element.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2016 by Mike Erwin. - * All rights reserved. - */ - -/** \file - * \ingroup gpu - * - * GPU element list (AKA index buffer) - */ - -#pragma once - -#include "GPU_primitive.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define GPU_TRACK_INDEX_RANGE 1 - -typedef enum { - GPU_INDEX_U16, - GPU_INDEX_U32, -} GPUIndexBufType; - -typedef struct GPUIndexBuf { - uint index_start; - uint index_len; - bool is_subrange; -#if GPU_TRACK_INDEX_RANGE - GPUIndexBufType index_type; - uint32_t gl_index_type; - uint base_index; -#endif - uint32_t ibo_id; /* 0 indicates not yet sent to VRAM */ - union { - void *data; /* non-NULL indicates not yet sent to VRAM */ - struct GPUIndexBuf *src; /* if is_subrange is true, this is the source buffer. */ - }; -} GPUIndexBuf; - -GPUIndexBuf *GPU_indexbuf_calloc(void); - -void GPU_indexbuf_use(GPUIndexBuf *); -uint GPU_indexbuf_size_get(const GPUIndexBuf *); - -typedef struct GPUIndexBufBuilder { - uint max_allowed_index; - uint max_index_len; - uint index_len; - GPUPrimType prim_type; - uint *data; -} GPUIndexBufBuilder; - -/* supports all primitive types. */ -void GPU_indexbuf_init_ex(GPUIndexBufBuilder *, GPUPrimType, uint index_len, uint vertex_len); - -/* supports only GPU_PRIM_POINTS, GPU_PRIM_LINES and GPU_PRIM_TRIS. */ -void GPU_indexbuf_init(GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len); - -void GPU_indexbuf_add_generic_vert(GPUIndexBufBuilder *, uint v); -void GPU_indexbuf_add_primitive_restart(GPUIndexBufBuilder *); - -void GPU_indexbuf_add_point_vert(GPUIndexBufBuilder *, uint v); -void GPU_indexbuf_add_line_verts(GPUIndexBufBuilder *, uint v1, uint v2); -void GPU_indexbuf_add_tri_verts(GPUIndexBufBuilder *, uint v1, uint v2, uint v3); -void GPU_indexbuf_add_line_adj_verts(GPUIndexBufBuilder *, uint v1, uint v2, uint v3, uint v4); - -void GPU_indexbuf_set_point_vert(GPUIndexBufBuilder *builder, uint elem, uint v1); -void GPU_indexbuf_set_line_verts(GPUIndexBufBuilder *builder, uint elem, uint v1, uint v2); -void GPU_indexbuf_set_tri_verts(GPUIndexBufBuilder *builder, uint elem, uint v1, uint v2, uint v3); - -/* Skip primitive rendering at the given index. */ -void GPU_indexbuf_set_point_restart(GPUIndexBufBuilder *builder, uint elem); -void GPU_indexbuf_set_line_restart(GPUIndexBufBuilder *builder, uint elem); -void GPU_indexbuf_set_tri_restart(GPUIndexBufBuilder *builder, uint elem); - -GPUIndexBuf *GPU_indexbuf_build(GPUIndexBufBuilder *); -void GPU_indexbuf_build_in_place(GPUIndexBufBuilder *, GPUIndexBuf *); - -/* Create a subrange of an existing indexbuffer. */ -GPUIndexBuf *GPU_indexbuf_create_subrange(GPUIndexBuf *elem_src, uint start, uint length); -void GPU_indexbuf_create_subrange_in_place(GPUIndexBuf *elem, - GPUIndexBuf *elem_src, - uint start, - uint length); - -void GPU_indexbuf_discard(GPUIndexBuf *); - -int GPU_indexbuf_primitive_len(GPUPrimType prim_type); - -/* Macros */ - -#define GPU_INDEXBUF_DISCARD_SAFE(elem) \ - do { \ - if (elem != NULL) { \ - GPU_indexbuf_discard(elem); \ - elem = NULL; \ - } \ - } while (0) - -#ifdef __cplusplus -} -#endif |