Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_cache_inline.h
| Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | BLI_INLINE void DRW_ibo_request(GPUBatch *batch, GPUIndexBuf **ibo) | ||||
| } | } | ||||
| if (batch != NULL) { | if (batch != NULL) { | ||||
| GPU_batch_elembuf_set(batch, *ibo, false); | GPU_batch_elembuf_set(batch, *ibo, false); | ||||
| } | } | ||||
| } | } | ||||
| BLI_INLINE bool DRW_ibo_requested(GPUIndexBuf *ibo) | BLI_INLINE bool DRW_ibo_requested(GPUIndexBuf *ibo) | ||||
| { | { | ||||
| /* TODO: do not rely on data uploaded. This prevents multithreading. | /* TODO: do not rely on data uploaded. This prevents multi-threading. | ||||
| * (need access to a gl context) */ | * (need access to a OpenGL context). */ | ||||
| return (ibo != NULL && !GPU_indexbuf_is_init(ibo)); | return (ibo != NULL && !GPU_indexbuf_is_init(ibo)); | ||||
| } | } | ||||
| BLI_INLINE void DRW_vbo_request(GPUBatch *batch, GPUVertBuf **vbo) | BLI_INLINE void DRW_vbo_request(GPUBatch *batch, GPUVertBuf **vbo) | ||||
| { | { | ||||
| if (*vbo == NULL) { | if (*vbo == NULL) { | ||||
| *vbo = GPU_vertbuf_calloc(); | *vbo = GPU_vertbuf_calloc(); | ||||
| } | } | ||||
| if (batch != NULL) { | if (batch != NULL) { | ||||
| /* HACK we set vbos that may not yet be valid. */ | /* HACK we set VBO's that may not yet be valid. */ | ||||
| GPU_batch_vertbuf_add(batch, *vbo); | GPU_batch_vertbuf_add(batch, *vbo); | ||||
| } | } | ||||
| } | } | ||||
| BLI_INLINE bool DRW_vbo_requested(GPUVertBuf *vbo) | BLI_INLINE bool DRW_vbo_requested(GPUVertBuf *vbo) | ||||
| { | { | ||||
| return (vbo != NULL && (GPU_vertbuf_get_status(vbo) & GPU_VERTBUF_INIT) == 0); | return (vbo != NULL && (GPU_vertbuf_get_status(vbo) & GPU_VERTBUF_INIT) == 0); | ||||
| } | } | ||||