v3d: Respect a sampler view's first_layer field.
authorEric Anholt <eric@anholt.net>
Mon, 16 Jul 2018 23:44:58 +0000 (16:44 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 20 Jul 2018 18:11:29 +0000 (11:11 -0700)
Fixes texturing from EGL images created from cubemap faces, as in
dEQP-EGL.functional.image.create.gles2_cubemap_negative_x_rgba_texture

src/gallium/drivers/v3d/v3dx_state.c

index a092b1fb9e1e65d9319827eb8908266a33787db3..4bb90f1a98bcaaebe247c6c393ca4df4638a5eb4 100644 (file)
@@ -768,7 +768,9 @@ v3d_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc,
                  */
                 tex.texture_base_pointer = cl_address(NULL,
                                                       rsc->bo->offset +
-                                                      rsc->slices[0].offset),
+                                                      rsc->slices[0].offset +
+                                                      cso->u.tex.first_layer *
+                                                      rsc->cube_map_stride),
 
                 tex.swizzle_r = translate_swizzle(so->swizzle[0]);
                 tex.swizzle_g = translate_swizzle(so->swizzle[1]);