14#include <Cocoa/Cocoa.h>
15#include <Metal/Metal.h>
16#include <QuartzCore/QuartzCore.h>
36 bool point_restarts_stripped_ =
false;
46 void free_optimized_buffer();
51 bool can_optimize_ =
true;
77 return (type ==
GPU_INDEX_U16) ? MTLIndexTypeUInt16 : MTLIndexTypeUInt32;
81 void strip_restart_indices()
override;
83 MEM_CXX_CLASS_ALLOC_FUNCS(
"MTLIndexBuf")
Read Guarded memory(de)allocation.
static MTLIndexType gpu_index_type_to_metal(GPUIndexBufType type)
void upload_data() override
void read(uint32_t *data) const override
id< MTLBuffer > get_index_buffer(GPUPrimType &in_out_primitive_type, uint &in_out_v_count)
void bind_as_ssbo(uint32_t binding) override
void update_sub(uint32_t start, uint32_t len, const void *data) override
void flag_can_optimize(bool can_optimize)
unsigned __int64 uint64_t