summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/gen6_sol.c
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2011-12-21 11:04:21 -0800
committerPaul Berry <stereotype441@gmail.com>2011-12-23 09:43:18 -0800
commit772d4fef42d79c5efb3a7eb255ff0e1fdb88ada3 (patch)
treeefd23063d450c6624795a6ba1cf687ddf17b6ad1 /src/mesa/drivers/dri/i965/gen6_sol.c
parent87c7e5fb876bf280d8693ef3b0f4351b1d2eec3b (diff)
i965 gen6: Implement transform feedback pause/resume functionality.
Although i965 gen6 does not yet support ARB_transform_feedback2 or NV_transform_feedback2, it needs to support pause/resume functionality so that meta-ops will work correctly. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen6_sol.c')
-rw-r--r--src/mesa/drivers/dri/i965/gen6_sol.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_sol.c b/src/mesa/drivers/dri/i965/gen6_sol.c
index 5d11481cb03..32f56d30311 100644
--- a/src/mesa/drivers/dri/i965/gen6_sol.c
+++ b/src/mesa/drivers/dri/i965/gen6_sol.c
@@ -47,7 +47,8 @@ gen6_update_sol_surfaces(struct brw_context *brw)
for (i = 0; i < BRW_MAX_SOL_BINDINGS; ++i) {
const int surf_index = SURF_INDEX_SOL_BINDING(i);
- if (xfb_obj->Active && i < linked_xfb_info->NumOutputs) {
+ if (xfb_obj->Active && !xfb_obj->Paused &&
+ i < linked_xfb_info->NumOutputs) {
unsigned buffer = linked_xfb_info->Outputs[i].OutputBuffer;
unsigned buffer_offset =
xfb_obj->Offset[buffer] / 4 +