Though it won't matter on Linux, use _mesa_align_free to release it.
Since i965 doesn't have sys_buffer, I overlooked this in the
GL_ARB_map_buffer_alignment work a few months ago. Fixes i915 (and
presumably i830) regressions in ARB_map_buffer_range tests and the
failure in arb_map_buffer_alignment-sanity_test.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74960
Cc: "10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
*/
_mesa_buffer_unmap_all_mappings(ctx, obj);
*/
_mesa_buffer_unmap_all_mappings(ctx, obj);
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
drm_intel_bo_unreference(intel_obj->buffer);
free(intel_obj);
drm_intel_bo_unreference(intel_obj->buffer);
free(intel_obj);
if (intel_obj->buffer != NULL)
release_buffer(intel_obj);
if (intel_obj->buffer != NULL)
release_buffer(intel_obj);
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
intel_obj->sys_buffer = NULL;
if (size != 0) {
intel_obj->sys_buffer = NULL;
if (size != 0) {
* contents anyway.
*/
if (target == GL_ARRAY_BUFFER || target == GL_ELEMENT_ARRAY_BUFFER) {
* contents anyway.
*/
if (target == GL_ARRAY_BUFFER || target == GL_ELEMENT_ARRAY_BUFFER) {
- intel_obj->sys_buffer = malloc(size);
+ intel_obj->sys_buffer =
+ _mesa_align_malloc(size, ctx->Const.MinMapBufferAlignment);
if (intel_obj->sys_buffer != NULL) {
if (data != NULL)
memcpy(intel_obj->sys_buffer, data, size);
if (intel_obj->sys_buffer != NULL) {
if (data != NULL)
memcpy(intel_obj->sys_buffer, data, size);
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
intel_obj->sys_buffer = NULL;
}
intel_obj->sys_buffer = NULL;
}
return obj->Mappings[index].Pointer;
}
return obj->Mappings[index].Pointer;
}
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
intel_obj->sys_buffer = NULL;
}
intel_obj->sys_buffer = NULL;
}
0, intel_obj->Base.Size,
intel_obj->sys_buffer);
0, intel_obj->Base.Size,
intel_obj->sys_buffer);
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
intel_obj->sys_buffer = NULL;
intel_obj->offset = 0;
}
intel_obj->sys_buffer = NULL;
intel_obj->offset = 0;
}
return intel_buffer_purgeable(intel_obj->buffer);
if (option == GL_RELEASED_APPLE) {
return intel_buffer_purgeable(intel_obj->buffer);
if (option == GL_RELEASED_APPLE) {
- free(intel_obj->sys_buffer);
+ _mesa_align_free(intel_obj->sys_buffer);
intel_obj->sys_buffer = NULL;
return GL_RELEASED_APPLE;
intel_obj->sys_buffer = NULL;
return GL_RELEASED_APPLE;