radv: Always set depthbuffer using image format instead of iview format.

We have some cases where changing between depth and stencil only aspect
was causing hangs.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Acked-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Bas Nieuwenhuizen 2017-06-26 01:27:02 +02:00
parent 7c7196e35c
commit 3d527ba19b

View file

@ -2876,7 +2876,7 @@ radv_initialise_ds_surface(struct radv_device *device,
uint64_t va, s_offs, z_offs;
bool stencil_only = false;
memset(ds, 0, sizeof(*ds));
switch (iview->vk_format) {
switch (iview->image->vk_format) {
case VK_FORMAT_D24_UNORM_S8_UINT:
case VK_FORMAT_X8_D24_UNORM_PACK32:
ds->pa_su_poly_offset_db_fmt_cntl = S_028B78_POLY_OFFSET_NEG_NUM_DB_BITS(-24);
@ -2900,7 +2900,7 @@ radv_initialise_ds_surface(struct radv_device *device,
break;
}
format = radv_translate_dbformat(iview->vk_format);
format = radv_translate_dbformat(iview->image->vk_format);
stencil_format = iview->image->surface.flags & RADEON_SURF_SBUFFER ?
V_028044_STENCIL_8 : V_028044_STENCIL_INVALID;