Buffer APIs
| 1020 | |
| 1021 | // Buffer APIs |
| 1022 | CGPUBufferId cgpu_create_buffer(CGPUDeviceId device, const struct CGPUBufferDescriptor* desc) |
| 1023 | { |
| 1024 | SkrCZoneN(zz, "CGPUCreateBuffer", 1); |
| 1025 | |
| 1026 | cgpu_assert(device != CGPU_NULLPTR && "fatal: call on NULL device!"); |
| 1027 | cgpu_assert(device->proc_table_cache->create_buffer && "create_buffer Proc Missing!"); |
| 1028 | CGPUBufferDescriptor new_desc; |
| 1029 | memcpy(&new_desc, desc, sizeof(CGPUBufferDescriptor)); |
| 1030 | if (desc->flags == 0) |
| 1031 | { |
| 1032 | new_desc.flags |= CGPU_BCF_NONE; |
| 1033 | } |
| 1034 | CGPUProcCreateBuffer fn_create_buffer = device->proc_table_cache->create_buffer; |
| 1035 | CGPUBuffer* buffer = (CGPUBuffer*)fn_create_buffer(device, &new_desc); |
| 1036 | buffer->device = device; |
| 1037 | |
| 1038 | SkrCZoneEnd(zz); |
| 1039 | |
| 1040 | return buffer; |
| 1041 | } |
| 1042 | |
| 1043 | void cgpu_map_buffer(CGPUBufferId buffer, const struct CGPUBufferRange* range) |
| 1044 | { |