panfrost: Use internal_format throughout
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 21 May 2020 21:01:38 +0000 (17:01 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 1 Jun 2020 15:46:24 +0000 (15:46 +0000)
Fixes R32F_S8 texturing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5265>

.gitlab-ci/deqp-panfrost-t860-fails.txt
src/gallium/drivers/panfrost/pan_resource.c

index 89dc6bcae3fadbf98cb869e7ba88981ae8233ddc..a3485c445db6619088c4504d1f60bdf5e50fe6e7 100644 (file)
@@ -561,26 +561,6 @@ dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_fragme
 dEQP-GLES3.functional.shaders.texture_functions.texture.samplercubeshadow_vertex
 dEQP-GLES3.functional.state_query.integers.max_samples_getfloat
 dEQP-GLES3.functional.state_query.integers.max_samples_getinteger64
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array.depth_component24_pot
-dEQP-GLES3.functional.texture.format.sized.2d.depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d.depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d.depth32f_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d.depth32f_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d.depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.2d.depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.2d.depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.2d.depth_component24_pot
-dEQP-GLES3.functional.texture.format.sized.cube.depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.cube.depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.cube.depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.cube.depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.cube.depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.cube.depth_component24_pot
 dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_depth24_stencil8
 dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_depth_component16
 dEQP-GLES3.functional.texture.shadow.2d_array.linear.greater_or_equal_depth24_stencil8
@@ -696,32 +676,3 @@ dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.greater_or_equa
 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_depth_component16
 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_or_equal_depth24_stencil8
 dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest.less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth24_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth_component16
-dEQP-GLES3.functional.texture.specification.teximage2d_depth.depth_component24
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth24_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth_component16
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo.depth_component24
-dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth.depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth24_stencil8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth32f_stencil8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component16_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format.depth_component24_cube
-dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format.depth_component24_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth24_stencil8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth_component16
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth.depth_component24
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth32f_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.depth_component24_2d_array
index 2e0a2953de8a0e002627bf37a402f60bb7f0bbc9..5ae67ede2332c0c38d84d8bf0dc0487e0b5e1734 100644 (file)
@@ -270,7 +270,7 @@ panfrost_setup_slices(struct panfrost_resource *pres, size_t *bo_size)
         unsigned width = res->width0;
         unsigned height = res->height0;
         unsigned depth = res->depth0;
-        unsigned bytes_per_pixel = util_format_get_blocksize(res->format);
+        unsigned bytes_per_pixel = util_format_get_blocksize(pres->internal_format);
 
         assert(depth > 0);
 
@@ -319,7 +319,7 @@ panfrost_setup_slices(struct panfrost_resource *pres, size_t *bo_size)
                 /* Compute the would-be stride */
                 unsigned stride = bytes_per_pixel * effective_width;
 
-                if (util_format_is_compressed(res->format))
+                if (util_format_is_compressed(pres->internal_format))
                         stride /= 4;
 
                 /* ..but cache-line align it for performance */
@@ -409,7 +409,7 @@ panfrost_resource_create_bo(struct panfrost_device *dev, struct panfrost_resourc
                 PIPE_BIND_SAMPLER_VIEW |
                 PIPE_BIND_DISPLAY_TARGET;
 
-        unsigned bpp = util_format_get_blocksizebits(res->format);
+        unsigned bpp = util_format_get_blocksizebits(pres->internal_format);
         bool is_2d = (res->target == PIPE_TEXTURE_2D) || (res->target == PIPE_TEXTURE_RECT);
         bool is_sane_bpp = bpp == 8 || bpp == 16 || bpp == 24 || bpp == 32 || bpp == 64 || bpp == 128;
         bool should_tile = (res->usage != PIPE_USAGE_STREAM);
@@ -576,8 +576,8 @@ panfrost_transfer_map(struct pipe_context *pctx,
                       struct pipe_transfer **out_transfer)
 {
         struct panfrost_context *ctx = pan_context(pctx);
-        int bytes_per_pixel = util_format_get_blocksize(resource->format);
         struct panfrost_resource *rsrc = pan_resource(resource);
+        int bytes_per_pixel = util_format_get_blocksize(rsrc->internal_format);
         struct panfrost_bo *bo = rsrc->bo;
 
         struct panfrost_gtransfer *transfer = rzalloc(pctx, struct panfrost_gtransfer);
@@ -666,7 +666,7 @@ panfrost_transfer_map(struct pipe_context *pctx,
                                         box->x, box->y, box->width, box->height,
                                         transfer->base.stride,
                                         rsrc->slices[level].stride,
-                                        resource->format);
+                                        rsrc->internal_format);
                         }
                 }
 
@@ -731,7 +731,7 @@ panfrost_transfer_unmap(struct pipe_context *pctx,
                                         transfer->box.width, transfer->box.height,
                                         prsrc->slices[transfer->level].stride,
                                         transfer->stride,
-                                        prsrc->base.format);
+                                        prsrc->internal_format);
                         }
                 }
         }
@@ -774,7 +774,8 @@ panfrost_invalidate_resource(struct pipe_context *pctx, struct pipe_resource *pr
 }
 
 static enum pipe_format
-panfrost_resource_get_internal_format(struct pipe_resource *rsrc) {
+panfrost_resource_get_internal_format(struct pipe_resource *rsrc)
+{
         struct panfrost_resource *prsrc = (struct panfrost_resource *) rsrc;
         return prsrc->internal_format;
 }
@@ -865,7 +866,7 @@ panfrost_resource_hint_layout(
         /* Check if the preferred layout is legal for this buffer */
 
         if (layout == MALI_TEXTURE_AFBC) {
-                bool can_afbc = panfrost_format_supports_afbc(rsrc->base.format);
+                bool can_afbc = panfrost_format_supports_afbc(rsrc->internal_format);
                 bool is_scanout = rsrc->base.bind &
                         (PIPE_BIND_DISPLAY_TARGET | PIPE_BIND_SCANOUT | PIPE_BIND_SHARED);