[Mesa-dev] [PATCH] radv: Really use correct HTILE expanded words.
James Legg
jlegg at feralinteractive.com
Fri Feb 23 10:52:44 UTC 2018
On Thu, 2018-02-22 at 22:48 +0100, Bas Nieuwenhuizen wrote:
> since IIRC the last change was also done due to Feral noticing and we
> are clearly lacking testcases in this area, can you check that that
> case still works for you? Thanks a lot!
I looked at an issue that was fixed with 5158603182fe7435 (and still
occurs if I change the clear word back to 0xffffffff) and I can confirm
this patch does not reintroduce it.
> On Thu, Feb 22, 2018 at 5:57 PM, James Legg <jlegg at feralinteractive.com> wrote:
> > When transitioning to an htile compressed depth format, Set the full
> > depth range, so later rasterization can pass HiZ. Previously, for depth
> > only formats, the depth range was set to 0 to 0. This caused unwanted
> > HiZ rejections with a VK_FORMAT_D16_UNORM depth buffer
> > (VK_FORMAT_D32_SFLOAT was not affected somehow).
> >
> > These values are derived from PAL [0], since I can't find the
> > specification describing the htile values.
> >
> > Fixes 5158603182fe7435: radv: Use correct HTILE expanded words.
> >
> > [0] https://github.com/GPUOpen-Drivers/pal/blob/5cba4ecbda9452773f59692f5915301e7db4a183/src/core/hw/gfxip/gfx9/gfx9MaskRam.cpp#L1500
> >
> > CC: Dave Airlie <airlied at redhat.com>
> > CC: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
> > Cc: mesa-stable at lists.freedesktop.org
> > ---
> > src/amd/vulkan/radv_cmd_buffer.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
> > index 8a384b114c..2b41baea3d 100644
> > --- a/src/amd/vulkan/radv_cmd_buffer.c
> > +++ b/src/amd/vulkan/radv_cmd_buffer.c
> > @@ -3440,8 +3440,8 @@ void radv_CmdEndRenderPass(
> >
> > /*
> > * For HTILE we have the following interesting clear words:
> > - * 0x0000030f: Uncompressed for depth+stencil HTILE.
> > - * 0x0000000f: Uncompressed for depth only HTILE.
> > + * 0xfffff30f: Uncompressed, full depth range, for depth+stencil HTILE
> > + * 0xfffc000f: Uncompressed, full depth range, for depth only HTILE.
> > * 0xfffffff0: Clear depth to 1.0
> > * 0x00000000: Clear depth to 0.0
> > */
> > @@ -3489,7 +3489,7 @@ static void radv_handle_depth_image_transition(struct radv_cmd_buffer *cmd_buffe
> > radv_initialize_htile(cmd_buffer, image, range, 0);
> > } else if (!radv_layout_is_htile_compressed(image, src_layout, src_queue_mask) &&
> > radv_layout_is_htile_compressed(image, dst_layout, dst_queue_mask)) {
> > - uint32_t clear_value = vk_format_is_stencil(image->vk_format) ? 0x30f : 0xf;
> > + uint32_t clear_value = vk_format_is_stencil(image->vk_format) ? 0xfffff30f : 0xfffc000f;
> > radv_initialize_htile(cmd_buffer, image, range, clear_value);
> > } else if (radv_layout_is_htile_compressed(image, src_layout, src_queue_mask) &&
> > !radv_layout_is_htile_compressed(image, dst_layout, dst_queue_mask)) {
> > --
> > 2.14.3
> >
More information about the mesa-dev
mailing list