| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes regression in ed98c374bd3f1952fbab3031afaf5ff4d178ef41.
|
|
|
|
|
|
|
|
|
|
|
|
| |
For tiled 3D surfaces, the array pitch must aligned to the tile height.
From the Skylake BSpec >> RENDER_SURFACE_STATE >> Surface QPitch:
Tile Mode != Linear: This field must be set to an integer multiple of
the tile height
Fixes CTS tests 'dEQP-VK.pipeline.image.view_type.3d.format.r8g8b8a8_unorm.*'.
Fixes Crucible tests 'func.miptree.r8g8b8a8-unorm.aspect-color.view-3d.*'.
|
|
|
|
|
| |
Update the function to calculate the array pitch is *element rows*, and
it rename it accordingly to isl_calc_array_pitch_el_rows.
|
|
|
|
|
|
| |
The previous code was resulting in an alignment of 0.
Signed-off-by: Jordan Justen <[email protected]>
|
| |
|
|
|
|
|
| |
It's already aligned to the format's block width. Don't align it again
in isl_calc_row_pitch().
|
| |
|
| |
|
|
|
|
|
|
| |
This fixes an assertion failure at isl.c:1003.
Reported-by: Nanley Chery <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Many formats are not power-of-two bytes per pixels and we need the
non-power-of-two align macro here.
This reverts the revert from 4f9a211b, but keeps the change from a827b553
that fixed the yuv if-else mix-up.
|
|
|
|
|
|
|
|
|
|
|
|
| |
isl always aligned the row pitch to the surface's image alignment. This
was sometimes wrong when the surface backed a VkBuffer. For a VkBuffer,
the surface's row pitch is set by VkBufferImageCopy::bufferRowLength,
whose required alignment is only that of the VkFormat.
In particular, VkBuffer rows are packed in many dEQP and Crucible tests.
And packed rows are rarely aligned to the surface's image alignment.
Fixes: dEQP-VK.pipeline.image.view_type.2d.format.r8g8b8a8_unorm.size.13x13
|
|
|
|
| |
The YUV case was applied to non-YUV formats. Oops.
|
|
|
|
| |
This reverts commit 96d1baa88d37c51c94579f650cfd9465d28634f4.
|
|
|
|
|
|
|
|
|
| |
When aligning to isl_format_layout::bs (which is the number of bytes in
the pixel), use isl_align_npot() instead of isl_align(), because
isl_align() works only for power-of-2 alignment.
Fixes assertion in
dEQP-VK.pipeline.image.view_type.1d.format.r16g16b16_sfloat.size.512x1.
|
|
|
|
|
| |
This fixes a bunch of gpu hangs on the dEQP-VK.glsl.ShaderExecutor.common
group of CTS tests.
|
|
|
|
|
|
|
|
| |
The function calculates the offset to a subimage within the surface, in
units of surface samples.
All unit tests pass with `make check`. (Admittedly, though, there are
too few unit tests).
|
|
|
|
|
|
|
| |
The height of the miptree's right half was not large enough.
Found by `make check` in test_isl_surf_get_offset, which is added in the
next commit.
|
|
The plan all along was to eventualyl move isl out of the Vulkan
directory, because I intended i965 and anvil to share it.
A small problem I encountered when attempting to write unit tests for
isl precipitated the move. I discovered that it's easier to get isl
unit tests to build if I remove the extra, unneeded dependencies
injected by src/vulkan/Makefile.am. And the easiest way to remove those
unneeded dependencies is to move isl out of src/vulkan. (Unit tests come
in subsequent commits).
|