Lines Matching refs:dirty

145 /* global 3d pipeline dirty state: */
183 /* per shader-stage dirty state: */
372 /* Generation specific bitmask of dirty state groups: */
376 enum fd_dirty_3d_state dirty dt;
378 /* per shader-stage dirty status: */
538 bool dirty; /* last draw state unknown */
569 * Does the dirty state require resource tracking, ie. in general
586 fd_context_dirty_resource(enum fd_dirty_3d_state dirty)
588 return dirty & (FD_DIRTY_FRAMEBUFFER | FD_DIRTY_ZSA | FD_DIRTY_BLEND |
593 /* Mark specified non-shader-stage related state as dirty: */
595 fd_context_dirty(struct fd_context *ctx, enum fd_dirty_3d_state dirty) assert_dt
597 assert(util_is_power_of_two_nonzero(dirty));
598 assert(ffs(dirty) <= ARRAY_SIZE(ctx->gen_dirty_map));
600 ctx->gen_dirty |= ctx->gen_dirty_map[ffs(dirty) - 1];
602 if (fd_context_dirty_resource(dirty))
603 or_mask(dirty, FD_DIRTY_RESOURCE);
605 or_mask(ctx->dirty, dirty);
610 enum fd_dirty_shader_state dirty) assert_dt
624 assert(util_is_power_of_two_nonzero(dirty));
625 assert(ffs(dirty) <= ARRAY_SIZE(map));
627 ctx->gen_dirty |= ctx->gen_dirty_shader_map[shader][ffs(dirty) - 1];
629 or_mask(ctx->dirty_shader[shader], dirty);
630 fd_context_dirty(ctx, map[ffs(dirty) - 1]);
633 /* mark all state dirty: */
637 ctx->last.dirty = true;
638 ctx->dirty = (enum fd_dirty_3d_state) ~0;
652 ctx->last.dirty = false;
653 ctx->dirty = (enum fd_dirty_3d_state)0;
658 * it is safe to mark compute state dirty as well, but the
668 * Add mapping between global dirty bit and generation specific dirty
672 fd_context_add_map(struct fd_context *ctx, enum fd_dirty_3d_state dirty,
675 u_foreach_bit (b, dirty) {
682 * Add mapping between shader stage specific dirty bit and generation
683 * specific dirty bit
687 enum fd_dirty_shader_state dirty, uint32_t gen_dirty)
689 u_foreach_bit (b, dirty) {