i965: Use BLORP for color clears on gen4-5

We don't support replicated data clears yet.  Those take a bit more work
and enabling replicated data clears in its own commit is probably better
for bisectibility anyway.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Jason Ekstrand
2017-05-12 17:14:18 -07:00
parent 6d11362d8b
commit 79f2a5541f
2 changed files with 5 additions and 2 deletions

View File

@@ -399,6 +399,10 @@ blorp_clear(struct blorp_batch *batch,
if (surf->surf->tiling == ISL_TILING_LINEAR)
use_simd16_replicated_data = false;
/* Replicated clears don't work yet before gen6 */
if (batch->blorp->isl_dev->info->gen < 6)
use_simd16_replicated_data = false;
/* Constant color writes ignore everyting in blend and color calculator
* state. This is not documented.
*/

View File

@@ -285,8 +285,7 @@ brw_clear(struct gl_context *ctx, GLbitfield mask)
mt->stencil_mt->r8stencil_needs_update = true;
}
/* BLORP is currently only supported on Gen6+. */
if (brw->gen >= 6 && (mask & BUFFER_BITS_COLOR)) {
if (mask & BUFFER_BITS_COLOR) {
const bool encode_srgb = ctx->Color.sRGBEnabled;
if (brw_blorp_clear_color(brw, fb, mask, partial_clear, encode_srgb)) {
debug_mask("blorp color", mask & BUFFER_BITS_COLOR);