intel/blorp: Add a format parameter to blorp_fast_clear

This allows us to use the actual render format as opposed to the texture
format.  I don't know that the hardware actually cares in the case of fast
clears, but it certainly seems more correct.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Jason Ekstrand 2016-08-23 17:13:07 -07:00
parent 348509269e
commit 87214414fd
3 changed files with 6 additions and 4 deletions

View file

@ -111,7 +111,7 @@ blorp_blit(struct blorp_batch *batch,
void
blorp_fast_clear(struct blorp_batch *batch,
const struct blorp_surf *surf,
uint32_t level, uint32_t layer,
uint32_t level, uint32_t layer, enum isl_format format,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1);
void

View file

@ -209,7 +209,7 @@ get_fast_clear_rect(const struct isl_device *dev,
void
blorp_fast_clear(struct blorp_batch *batch,
const struct blorp_surf *surf,
uint32_t level, uint32_t layer,
uint32_t level, uint32_t layer, enum isl_format format,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1)
{
struct blorp_params params;
@ -229,7 +229,7 @@ blorp_fast_clear(struct blorp_batch *batch,
blorp_params_get_clear_kernel(batch->blorp, &params, true);
brw_blorp_surface_info_init(batch->blorp, &params.dst, surf, level, layer,
surf->surf->format, true);
format, true);
batch->blorp->exec(batch, &params);
}

View file

@ -733,7 +733,9 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
struct blorp_batch batch;
blorp_batch_init(&brw->blorp, &batch, brw);
blorp_fast_clear(&batch, &surf, level, layer, x0, y0, x1, y1);
blorp_fast_clear(&batch, &surf, level, layer,
(enum isl_format)brw->render_target_format[format],
x0, y0, x1, y1);
blorp_batch_finish(&batch);
/* Now that the fast clear has occurred, put the buffer in