Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_immediate.c
| Show First 20 Lines • Show All 241 Lines • ▼ Show 20 Lines | else { | ||||
| /* this method works on all platforms, old & new */ | /* this method works on all platforms, old & new */ | ||||
| glBufferData(GL_ARRAY_BUFFER, imm_buffer_size, NULL, GL_DYNAMIC_DRAW); | glBufferData(GL_ARRAY_BUFFER, imm_buffer_size, NULL, GL_DYNAMIC_DRAW); | ||||
| imm.buffer_offset = 0; | imm.buffer_offset = 0; | ||||
| } | } | ||||
| /* printf("mapping %u to %u\n", imm.buffer_offset, imm.buffer_offset + bytes_needed - 1); */ | /* printf("mapping %u to %u\n", imm.buffer_offset, imm.buffer_offset + bytes_needed - 1); */ | ||||
| #if TRUST_NO_ONE | |||||
| { | |||||
| GLint bufsize; | |||||
| glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &bufsize); | |||||
| assert(imm.buffer_offset + bytes_needed <= bufsize); | |||||
| } | |||||
| #endif | |||||
| imm.buffer_data = glMapBufferRange(GL_ARRAY_BUFFER, | imm.buffer_data = glMapBufferRange(GL_ARRAY_BUFFER, | ||||
| imm.buffer_offset, | imm.buffer_offset, | ||||
| bytes_needed, | bytes_needed, | ||||
| GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT | | GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT | | ||||
| (imm.strict_vertex_len ? 0 : GL_MAP_FLUSH_EXPLICIT_BIT)); | (imm.strict_vertex_len ? 0 : GL_MAP_FLUSH_EXPLICIT_BIT)); | ||||
| #if TRUST_NO_ONE | #if TRUST_NO_ONE | ||||
| assert(imm.buffer_data != NULL); | assert(imm.buffer_data != NULL); | ||||
| ▲ Show 20 Lines • Show All 696 Lines • Show Last 20 Lines | |||||