etnaviv: a bit of micro-optimization
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Jonathan Marek <jonathan@marek.ca>
This commit is contained in:
@@ -251,7 +251,7 @@ etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
||||
resource_read(ctx, ctx->constant_buffer[PIPE_SHADER_FRAGMENT].buffer);
|
||||
|
||||
/* Mark VBOs as being read */
|
||||
for (i = 0; i < ctx->vertex_buffer.count; i++) {
|
||||
foreach_bit(i, ctx->vertex_buffer.enabled_mask) {
|
||||
assert(!ctx->vertex_buffer.vb[i].is_user_buffer);
|
||||
resource_read(ctx, ctx->vertex_buffer.vb[i].buffer.resource);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
/* for conditionally setting boolean flag(s): */
|
||||
#define COND(bool, val) ((bool) ? (val) : 0)
|
||||
|
||||
#define foreach_bit(b, mask) \
|
||||
for (uint32_t _m = (mask); _m && ({(b) = u_bit_scan(&_m); 1;});)
|
||||
|
||||
/* align to a value divisable by granularity >= value, works only for powers of two */
|
||||
static inline uint32_t
|
||||
etna_align_up(uint32_t value, uint32_t granularity)
|
||||
|
||||
Reference in New Issue
Block a user