panfost: Fix depth/stencil writeback on Bifrost v7
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7922>
This commit is contained in:
committed by
Marge Bot
parent
27af135280
commit
27d622cffe
@@ -286,7 +286,10 @@ panfrost_mfbd_zs_crc_ext_set_bufs(struct panfrost_batch *batch,
|
||||
|
||||
mali_ptr base = panfrost_get_texture_address(rsrc, level, first_layer, 0);
|
||||
|
||||
ext->zs_msaa = nr_samples > 1 ? MALI_MSAA_LAYERED : MALI_MSAA_SINGLE;
|
||||
if (version < 7)
|
||||
ext->zs_msaa = nr_samples > 1 ? MALI_MSAA_LAYERED : MALI_MSAA_SINGLE;
|
||||
else
|
||||
ext->zs_msaa_v7 = nr_samples > 1 ? MALI_MSAA_LAYERED : MALI_MSAA_SINGLE;
|
||||
|
||||
if (drm_is_afbc(rsrc->modifier)) {
|
||||
unsigned header_size = rsrc->slices[level].header_size;
|
||||
@@ -345,6 +348,13 @@ panfrost_mfbd_zs_crc_ext_set_bufs(struct panfrost_batch *batch,
|
||||
*/
|
||||
ext->zs_write_format = MALI_ZS_FORMAT_D32;
|
||||
ext->s_write_format = MALI_S_FORMAT_S8;
|
||||
if (version < 7) {
|
||||
ext->s_block_format = ext->zs_block_format;
|
||||
ext->s_msaa = ext->zs_msaa;
|
||||
} else {
|
||||
ext->s_block_format_v7 = ext->zs_block_format_v7;
|
||||
ext->s_msaa_v7 = ext->zs_msaa_v7;
|
||||
}
|
||||
|
||||
struct panfrost_resource *stencil = rsrc->separate_stencil;
|
||||
struct panfrost_slice stencil_slice = stencil->slices[level];
|
||||
|
||||
@@ -1194,12 +1194,15 @@
|
||||
<field name="ZS Block Format" size="2" start="3:4" type="Block Format"/>
|
||||
<field name="ZS Block Format v7" size="2" start="3:4" type="Block Format v7"/>
|
||||
<field name="ZS MSAA" size="2" start="3:6" default="Single" type="MSAA"/>
|
||||
<field name="ZS MSAA v7" size="2" start="3:8" default="Single" type="MSAA"/>
|
||||
<field name="ZS Big Endian" size="1" start="3:8" type="bool"/>
|
||||
<field name="ZS Clean Pixel Write Enable" size="1" start="3:10" type="bool"/>
|
||||
<field name="CRC Render Target" size="4" start="3:11" type="uint"/>
|
||||
<field name="S Write Format" size="4" start="3:16" type="S Format"/>
|
||||
<field name="S Block Format" size="2" start="3:20" type="Block Format"/>
|
||||
<field name="S Block Format v7" size="4" start="3:20" type="Block Format v7"/>
|
||||
<field name="S MSAA" size="2" start="3:22" default="Single" type="MSAA"/>
|
||||
<field name="S MSAA v7" size="2" start="3:24" default="Single" type="MSAA"/>
|
||||
<field name="ZS Preload Format" size="4" start="3:28" type="ZS Preload Format"/>
|
||||
<field name="ZS Writeback Base" size="64" start="4:0" type="address"/>
|
||||
<field name="ZS Writeback Row Stride" size="32" start="6:0" type="uint"/>
|
||||
|
||||
Reference in New Issue
Block a user