mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
vc4: fix vc4_resource_from_handle() stride calculation
The expected stride calculation is completely wrong. It should ultimately be multiplying cpp and width rather than dividing. The width also needs to be aligned to the tiling width first before converting to stride bytes. The whole stride check here is possibly pointless. Any buffers which were allocated outside of vc4 may have strides with larger alignment requirements. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
c319512e16
commit
067c5b10b6
1 changed files with 2 additions and 2 deletions
|
|
@ -534,8 +534,8 @@ vc4_resource_from_handle(struct pipe_screen *pscreen,
|
|||
struct vc4_resource *rsc = vc4_resource_setup(pscreen, tmpl);
|
||||
struct pipe_resource *prsc = &rsc->base.b;
|
||||
struct vc4_resource_slice *slice = &rsc->slices[0];
|
||||
uint32_t expected_stride = align(prsc->width0 / rsc->cpp,
|
||||
vc4_utile_width(rsc->cpp));
|
||||
uint32_t expected_stride =
|
||||
align(prsc->width0, vc4_utile_width(rsc->cpp)) * rsc->cpp;
|
||||
|
||||
if (!rsc)
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue