glBufferImpl::~glBufferImpl() { if (_handle > 0) { waitRange(0, _alignedSize, false); if (_mappedBuffer == nullptr) { glInvalidateBufferData(_handle); } GLUtil::freeBuffer(_handle, _mappedBuffer); } }
void glBufferImpl::clearData(size_t offsetInBytes, size_t rangeInBytes) { if (_mappedBuffer) { if (!waitRange(offsetInBytes, rangeInBytes, true)) { //ToDo: wait failed. Now what? } std::memset(((Byte*)_mappedBuffer) + offsetInBytes, 0, rangeInBytes); if (_useExplicitFlush) { glFlushMappedNamedBufferRange(_handle, offsetInBytes, rangeInBytes); } } else { if (offsetInBytes == 0 && rangeInBytes == _alignedSize) { glInvalidateBufferData(_handle); } else { glInvalidateBufferSubData(_handle, offsetInBytes, rangeInBytes); } } }
void BufferImplementation_DirectStateAccessEXT::invalidateData(const Buffer * buffer) const { glInvalidateBufferData(buffer->id()); }
void ofBufferObject::invalidate(){ glInvalidateBufferData(data->id); }
GlModel::~GlModel() { glInvalidateBufferData(vertex_buffer_object_); glInvalidateBufferData(color_buffer_object_); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_nglInvalidateBufferData(JNIEnv *__env, jclass clazz, jint buffer, jlong __functionAddress) { glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)(intptr_t)__functionAddress; UNUSED_PARAMS(__env, clazz) glInvalidateBufferData(buffer); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_glInvalidateBufferData(JNIEnv *__env, jclass clazz, jint buffer) { glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)tlsGetFunction(891); UNUSED_PARAM(clazz) glInvalidateBufferData(buffer); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_nglInvalidateBufferData(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) { glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)((intptr_t)function_pointer); glInvalidateBufferData(buffer); }