Lines Matching defs:buffers
648 unsigned buffers)
651 return buffers & PIPE_CLEAR_DEPTH &&
657 unsigned buffers)
660 return buffers & PIPE_CLEAR_STENCIL &&
665 static void si_fast_clear(struct si_context *sctx, unsigned *buffers,
683 unsigned color_buffer_mask = (*buffers & PIPE_CLEAR_COLOR) >> util_logbase2(PIPE_CLEAR_COLOR0);
884 *buffers &= ~(PIPE_CLEAR_COLOR0 << i);
917 if ((*buffers & PIPE_CLEAR_DEPTHSTENCIL) == PIPE_CLEAR_DEPTHSTENCIL ||
918 (*buffers & PIPE_CLEAR_DEPTH && (!zstex->surface.has_stencil ||
940 if (si_can_fast_clear_depth(zstex, level, depth, *buffers)) {
943 *buffers &= ~PIPE_CLEAR_DEPTH;
948 } else if ((*buffers & PIPE_CLEAR_DEPTHSTENCIL) == PIPE_CLEAR_DEPTHSTENCIL) {
949 if (si_can_fast_clear_depth(zstex, level, depth, *buffers) &&
950 si_can_fast_clear_stencil(zstex, level, stencil, *buffers)) {
953 *buffers &= ~PIPE_CLEAR_DEPTHSTENCIL;
1014 si_can_fast_clear_depth(zstex, level, depth, *buffers)) {
1020 *buffers &= ~PIPE_CLEAR_DEPTH;
1025 } else if ((*buffers & PIPE_CLEAR_DEPTHSTENCIL) == PIPE_CLEAR_DEPTHSTENCIL) {
1027 si_can_fast_clear_depth(zstex, level, depth, *buffers) &&
1028 si_can_fast_clear_stencil(zstex, level, stencil, *buffers)) {
1034 *buffers &= ~PIPE_CLEAR_DEPTHSTENCIL;
1052 !(*buffers & PIPE_CLEAR_STENCIL) &&
1053 si_can_fast_clear_depth(zstex, level, depth, *buffers)) {
1060 *buffers &= ~PIPE_CLEAR_DEPTH;
1065 !(*buffers & PIPE_CLEAR_DEPTH) &&
1066 si_can_fast_clear_stencil(zstex, level, stencil, *buffers)) {
1073 *buffers &= ~PIPE_CLEAR_STENCIL;
1102 static void si_clear(struct pipe_context *ctx, unsigned buffers,
1112 /* Unset clear flags for non-existent buffers. */
1115 buffers &= ~(PIPE_CLEAR_COLOR0 << i);
1118 buffers &= ~PIPE_CLEAR_DEPTHSTENCIL;
1120 buffers &= ~PIPE_CLEAR_STENCIL;
1122 si_fast_clear(sctx, &buffers, color, depth, stencil);
1123 if (!buffers)
1124 return; /* all buffers have been cleared */
1126 if (buffers & PIPE_CLEAR_COLOR) {
1127 /* These buffers cannot use fast clear, make sure to disable expansion. */
1128 unsigned color_buffer_mask = (buffers & PIPE_CLEAR_COLOR) >> util_logbase2(PIPE_CLEAR_COLOR0);
1141 if (si_can_fast_clear_depth(zstex, level, depth, buffers)) {
1164 if (si_can_fast_clear_stencil(zstex, level, stencil, buffers)) {
1189 if (buffers & PIPE_CLEAR_COLOR)
1191 else if (buffers & PIPE_CLEAR_DEPTHSTENCIL)
1197 buffers, color, depth, stencil, sctx->framebuffer.nr_samples > 1);
1218 bool render_condition_enabled, unsigned buffers,
1236 if (buffers & PIPE_CLEAR_COLOR) {
1247 ctx->clear(ctx, buffers, NULL, color, depth, stencil);