diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2017-05-13 17:00:39 -0700 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2017-05-26 07:58:01 -0700 |
commit | 554a1731a52c287c4c387923fea69a98d3a5fc2c (patch) | |
tree | 370e78167eb3374b8fbe038f58f0307f2f4ae107 /src | |
parent | c19150af5cce3ce3a50b818e0869064a26a62f62 (diff) |
intel/blorp: Move the gen7 stencil format workaround to blorp_blit
It's not needed for blorp_copy because it already overrides formats.
It's also not needed for blorp_clear because it clears stencil as
stencil.
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/blorp/blorp.c | 5 | ||||
-rw-r--r-- | src/intel/blorp/blorp_blit.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/intel/blorp/blorp.c b/src/intel/blorp/blorp.c index 98342755294..f9727f7e557 100644 --- a/src/intel/blorp/blorp.c +++ b/src/intel/blorp/blorp.c @@ -81,11 +81,6 @@ brw_blorp_surface_info_init(struct blorp_context *blorp, * map it as 8-bit BGRA. */ format = ISL_FORMAT_B8G8R8A8_UNORM; - } else if (surf->surf->usage & ISL_SURF_USAGE_STENCIL_BIT) { - assert(surf->surf->format == ISL_FORMAT_R8_UINT); - /* Prior to Broadwell, we can't render to R8_UINT */ - if (blorp->isl_dev->info->gen < 8) - format = ISL_FORMAT_R8_UNORM; } info->surf = *surf->surf; diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index 04ea98aaf5b..144bfb3ebed 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -2020,6 +2020,15 @@ blorp_blit(struct blorp_batch *batch, struct blorp_params params; blorp_params_init(¶ms); + if (dst_surf->surf->usage & ISL_SURF_USAGE_STENCIL_BIT) { + assert(src_surf->surf->usage & ISL_SURF_USAGE_STENCIL_BIT); + /* Prior to Broadwell, we can't render to R8_UINT */ + if (batch->blorp->isl_dev->info->gen < 8) { + src_format = ISL_FORMAT_R8_UNORM; + dst_format = ISL_FORMAT_R8_UNORM; + } + } + brw_blorp_surface_info_init(batch->blorp, ¶ms.src, src_surf, src_level, src_layer, src_format, false); brw_blorp_surface_info_init(batch->blorp, ¶ms.dst, dst_surf, dst_level, |