- /* Clear color buffers with fast clear or at least rep16 writes. */
- if (brw->gen >= 6 && mask & BUFFER_BITS_COLOR) {
- if (brw_meta_fast_clear(brw, fb, mask, partial_clear)) {
+ if (mask & BUFFER_BIT_STENCIL) {
+ struct intel_renderbuffer *stencil_irb =
+ intel_get_renderbuffer(fb, BUFFER_STENCIL);
+ struct intel_mipmap_tree *mt = stencil_irb->mt;
+ if (mt && mt->stencil_mt)
+ mt->stencil_mt->r8stencil_needs_update = true;
+ }
+
+ /* BLORP is currently only supported on Gen6+. */
+ if (brw->gen >= 6 && (mask & BUFFER_BITS_COLOR)) {
+ const bool encode_srgb = ctx->Color.sRGBEnabled;
+ if (brw_blorp_clear_color(brw, fb, mask, partial_clear, encode_srgb)) {