summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-01-02 14:03:59 -0800
committerEric Anholt <[email protected]>2012-01-11 12:06:34 -0800
commitba6f4c9ee2294de66977d292972d47355fa58be0 (patch)
treea44b13a189b3d742ccfcb32282053c4d76461855 /src/mesa
parent2c623c2be529edc974ca293f3c71929c639ec0c9 (diff)
i965/gen7: Fix segfault in transform feedback to DYNAMIC_DRAW buffers.
Fixes piglit EXT_transform_feedback/buffer-usage.
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/gen7_sol_state.c5
1 files changed, 3 insertions, 2 deletions
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];