diff options
author | Eric Anholt <eric@anholt.net> | 2013-10-03 20:03:41 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2013-10-23 15:33:19 -0700 |
commit | c298f5ff5681dd7c3cf0bf7c37a6f22430deeb91 (patch) | |
tree | 76d47ef95657b9ff447d67baf8c2a75266b5652b /src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | |
parent | 3b58e0ed642b1833b86dbefb36b6055a6709a720 (diff) | |
download | external_mesa3d-c298f5ff5681dd7c3cf0bf7c37a6f22430deeb91.zip external_mesa3d-c298f5ff5681dd7c3cf0bf7c37a6f22430deeb91.tar.gz external_mesa3d-c298f5ff5681dd7c3cf0bf7c37a6f22430deeb91.tar.bz2 |
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 <jordan.l.justen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen7_wm_surface_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |