[Mesa-dev] [PATCH] isl: render target cube maps should be handled as 2D images, not cubes
Jason Ekstrand
jason at jlekstrand.net
Fri Jan 6 18:18:55 UTC 2017
Thanks for catching this. I wonder how I managed to switch the GL driver
over to using ISL for emitting surface states without regressing anything...
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
On Jan 6, 2017 05:42, "Iago Toral Quiroga" <itoral at igalia.com> wrote:
> This fixes layered rendering Vulkan CTS tests with cube (arrays). We
> also do this in the GL driver, see this code from gen8_depth_state.c
> for example:
>
> case GL_TEXTURE_CUBE_MAP_ARRAY:
> case GL_TEXTURE_CUBE_MAP:
> /* The PRM claims that we should use BRW_SURFACE_CUBE for this
> * situation, but experiments show that gl_Layer doesn't work when we do
> * this. So we use BRW_SURFACE_2D, since for rendering purposes this is
> * equivalent.
> */
> surftype = BRW_SURFACE_2D;
> depth *= 6;
> break;
>
> So I guess we simply forgot to port this workaround to Vulkan.
>
> Fixes:
> dEQP-VK.geometry.layered.cube*
> ---
>
> With this (and the previous patch I sent to fix the SBE state packet to not
> skip the VUE header when we need the layer information) all the layered
> rendering tests in Vulkan CTS seem to pass.
>
> src/intel/isl/isl_surface_state.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/intel/isl/isl_surface_state.c
> b/src/intel/isl/isl_surface_state.c
> index 3bb0abd..0960a90 100644
> --- a/src/intel/isl/isl_surface_state.c
> +++ b/src/intel/isl/isl_surface_state.c
> @@ -113,8 +113,9 @@ get_surftype(enum isl_surf_dim dim,
> isl_surf_usage_flags_t usage)
> assert(!(usage & ISL_SURF_USAGE_CUBE_BIT));
> return SURFTYPE_1D;
> case ISL_SURF_DIM_2D:
> - if (usage & ISL_SURF_USAGE_STORAGE_BIT) {
> - /* Storage images are always plain 2-D, not cube */
> + if ((usage & ISL_SURF_USAGE_STORAGE_BIT) ||
> + (usage & ISL_SURF_USAGE_RENDER_TARGET_BIT)) {
> + /* Storage / Render images are always plain 2-D, not cube */
> return SURFTYPE_2D;
> } else if (usage & ISL_SURF_USAGE_CUBE_BIT) {
> return SURFTYPE_CUBE;
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170106/56cc976d/attachment-0001.html>
More information about the mesa-dev
mailing list