diff options
author | Constantine Kharlamov <[email protected]> | 2017-03-26 18:36:22 +0300 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-04-03 00:36:25 +0200 |
commit | dc6b3c031ee295aefbc7265e2894486454061ffe (patch) | |
tree | 822acc1f2ad3fcd8527cb5bc7d63aa1ce797f759 /src/gallium | |
parent | 807de52054120800b16127a943cea6ad83a7e549 (diff) |
r600g: Add more (un)likely functions
1-st is obvious because of assert, 2-nd stolen frmo si_draw_vbo(),
and 3-rd is just a small refactoring.
Signed-off-by: Constantine Kharlamov <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r600/r600_state_common.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 2e32e6cb5ae..096caed8d36 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -1683,7 +1683,7 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info return; } - if (!rctx->vs_shader || !rctx->ps_shader) { + if (unlikely(!rctx->vs_shader || !rctx->ps_shader)) { assert(0); return; } @@ -1695,7 +1695,7 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info /* Re-emit the framebuffer state if needed. */ dirty_tex_counter = p_atomic_read(&rctx->b.screen->dirty_tex_counter); - if (dirty_tex_counter != rctx->b.last_dirty_tex_counter) { + if (unlikely(dirty_tex_counter != rctx->b.last_dirty_tex_counter)) { rctx->b.last_dirty_tex_counter = dirty_tex_counter; r600_mark_atom_dirty(rctx, &rctx->framebuffer.atom); } @@ -1884,12 +1884,10 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info } /* Draw packets. */ - if (!info->indirect) { + if (likely(!info->indirect)) { radeon_emit(cs, PKT3(PKT3_NUM_INSTANCES, 0, 0)); radeon_emit(cs, info->instance_count); - } - - if (unlikely(info->indirect)) { + } else { uint64_t va = r600_resource(info->indirect)->gpu_address; assert(rctx->b.chip_class >= EVERGREEN); |