diff options
Diffstat (limited to 'source/blender/gpu/GPU_batch.h')
-rw-r--r-- | source/blender/gpu/GPU_batch.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_batch.h b/source/blender/gpu/GPU_batch.h index 175033f70d9..7d8c3347eb4 100644 --- a/source/blender/gpu/GPU_batch.h +++ b/source/blender/gpu/GPU_batch.h @@ -193,6 +193,17 @@ GPUBatch *create_BatchInGeneral(GPUPrimType, VertexBufferStuff, ElementListStuff #endif /* future plans */ +/* GPUDrawList is an API to do lots of similar drawcalls very fast using multidrawindirect. + * There is a fallback if the feature is not supported. */ +typedef struct GPUDrawList GPUDrawList; + +GPUDrawList *GPU_draw_list_create(int length); +void GPU_draw_list_discard(GPUDrawList *list); +void GPU_draw_list_init(GPUDrawList *list, GPUBatch *batch); +void GPU_draw_list_command_add( + GPUDrawList *list, int v_first, int v_count, int i_first, int i_count); +void GPU_draw_list_submit(GPUDrawList *list); + void gpu_batch_init(void); void gpu_batch_exit(void); |