From: Eric Anholt Date: Mon, 2 Jan 2012 22:03:59 +0000 (-0800) Subject: i965/gen7: Fix segfault in transform feedback to DYNAMIC_DRAW buffers. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ba6f4c9ee2294de66977d292972d47355fa58be0;p=mesa.git i965/gen7: Fix segfault in transform feedback to DYNAMIC_DRAW buffers. Fixes piglit EXT_transform_feedback/buffer-usage. --- diff --git a/src/mesa/drivers/dri/i965/gen7_sol_state.c b/src/mesa/drivers/dri/i965/gen7_sol_state.c index 04783ec3132..110c1662b3d 100644 --- a/src/mesa/drivers/dri/i965/gen7_sol_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sol_state.c @@ -53,7 +53,8 @@ upload_3dstate_so_buffers(struct brw_context *brw) * gl_transform_feedback_object. */ for (i = 0; i < 4; i++) { - struct gl_buffer_object *bufferobj = xfb_obj->Buffers[i]; + struct intel_buffer_object *bufferobj = + intel_buffer_object(xfb_obj->Buffers[i]); drm_intel_bo *bo; uint32_t start, end; uint32_t stride; @@ -72,7 +73,7 @@ upload_3dstate_so_buffers(struct brw_context *brw) continue; } - bo = intel_buffer_object(bufferobj)->buffer; + bo = intel_bufferobj_buffer(intel, bufferobj, INTEL_WRITE_PART); stride = linked_xfb_info->BufferStride[i] * 4; start = xfb_obj->Offset[i];