From c298f5ff5681dd7c3cf0bf7c37a6f22430deeb91 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 3 Oct 2013 20:03:41 -0700 Subject: i965: Try to avoid stalls on the GPU when doing glBufferSubData(). On DOTA2, framerate on dota2-de1.dem in windowed mode on my laptop improves by 7.69854% +/- 0.909163% (n=3). In a microbenchmark hitting this code path (wall time of piglit vbo-subdata-many), runtime decreases from 0.8 to 0.05 seconds. v2: Use out of range start/end instead of separate bool for the active flag (suggestion by Jordan), fix double-upload in the stalling path. Reviewed-by: Jordan Justen --- src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/i965/gen7_wm_surface_state.c') diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c index 9880c14..1f0c75f 100644 --- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c @@ -278,8 +278,8 @@ gen7_update_buffer_texture_surface(struct gl_context *ctx, drm_intel_bo *bo = NULL; if (intel_obj) { - bo = intel_obj->buffer; size = MIN2(size, intel_obj->Base.Size); + bo = intel_bufferobj_buffer(brw, intel_obj, tObj->BufferOffset, size); } gl_format format = tObj->_BufferObjectFormat; -- cgit v1.1