diff options
author | Eric Anholt <[email protected]> | 2014-03-21 15:25:49 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-03-24 11:15:04 -0700 |
commit | 44e944c87cafd55c00c8837d8223be074436015c (patch) | |
tree | d1db98ac44cc06bd4b7a9507ce8a7e2a1cced6b8 /src/mesa/drivers/dri/i965 | |
parent | e07e7e9f8990cd3dcdc9056bcf81f71d2b947af5 (diff) |
i965: Simplify the no-reopening-the-winsys-buffer tests.
The formatting was weird, and the tests were duplicated, and it is
guaranteed that mt->region exists.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 3fc44169cfe..9a76ee1187a 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -1264,17 +1264,14 @@ intel_process_dri2_buffer(struct brw_context *brw, * use of a mapping of the buffer involves a bunch of page faulting which is * moderately expensive. */ - if (num_samples == 0) { - if (rb->mt && - rb->mt->region && - rb->mt->region->name == buffer->name) - return; - } else { - if (rb->singlesample_mt && - rb->singlesample_mt->region && - rb->singlesample_mt->region->name == buffer->name) - return; - } + struct intel_mipmap_tree *last_mt; + if (num_samples == 0) + last_mt = rb->mt; + else + last_mt = rb->singlesample_mt; + + if (last_mt && last_mt->region->name == buffer->name) + return; if (unlikely(INTEL_DEBUG & DEBUG_DRI)) { fprintf(stderr, @@ -1349,17 +1346,14 @@ intel_update_image_buffer(struct brw_context *intel, /* Check and see if we're already bound to the right * buffer object */ - if (num_samples == 0) { - if (rb->mt && - rb->mt->region && - rb->mt->region->bo == region->bo) - return; - } else { - if (rb->singlesample_mt && - rb->singlesample_mt->region && - rb->singlesample_mt->region->bo == region->bo) - return; - } + struct intel_mipmap_tree *last_mt; + if (num_samples == 0) + last_mt = rb->mt; + else + last_mt = rb->singlesample_mt; + + if (last_mt && last_mt->region->bo == region->bo) + return; intel_update_winsys_renderbuffer_miptree(intel, rb, region); |