[Mesa-dev] [PATCH V2 00/23] i965/skl: Add YF/YS tiling support
Anuj Phogat
anuj.phogat at gmail.com
Fri Apr 17 16:51:21 PDT 2015
This series enables skl+ to read/write data to YF/YF tiled
surfaces. A big thanks to Kristian for discussing problems
I faced in writing these patches.
Many piglit tests for texture/buffer data read/write
pass with the new tiling formats. But we still have piglit
regressions in tests using 2D_ARRAY, 3D and multisample
textures. So, I'm keeping the new tiling formats disabled
in this series. It'll useful to get some review comments
while I work on fixing the regressions.
V2:
- Fixed reading/writing to miptree levels > 0 in Yf/Ys tiled
texture.
- Rebased the series on top of master.
- Moved the tile size computation (using width, height, cpp)
for Yf/Ys tiling out of drm in to mesa.
- Fixed few piglit regressions on older (< gen9) platforms.
Patches are available at:
https://github.com/aphogat/drm.git, branch: tiling-yf-ys
https://github.com/aphogat/mesa.git, branch: tiling-yf-ys
Jenkins shows no regressions with this series.
Note: I have enabled the Yf/Ys tiling on my 'tiling-yf-ys'
branch for testing. My drm patches posted on intel-gfx are
required to test this series. They are not required to build.
Anuj Phogat (22):
meta: Enable _mesa_meta_pbo_GetTexSubImage() to read in to non-pbo
buffers
i965: Choose tiling in brw_miptree_layout() function
i965: Move intel_miptree_choose_tiling() to brw_tex_layout.c
i965: Create a helper function intel_miptree_total_width_height()
i965: Pass miptree pointer as function parameter in
intel_vertical_texture_alignment_unit
i965/gen9: Set tiled resource mode for the miptree
i965/gen9: Set horizontal alignment for the miptree
i965/gen9: Use HALIGN_16 if MCS is enabled
i965/gen9: Set vertical alignment for the miptree
i965/gen9: Allocate YF/YS tiled buffer objects
i965/gen9: Set tiled resource mode in surface state
i965: Rename use_linear_1d_layout() and make it global
i965: Use BRW_SURFACE_* in place of GL_TEXTURE_*
i965/gen9: Set vertical and horizontal surface alignments
i965/gen9: Use _mesa_meta_pbo_TexSubImage to write to YF/YS surfaces
i965/gen9: Use _mesa_meta_pbo_GetTexSubImage() to read YF/YS surfaces
i965/gen9: Add XY_FAST_COPY_BLT support to intelEmitCopyBlit()
i965/skl: Modify the conditions to use blitter on skl+
i965/gen9: Use blitter as fallback path to write to YF/YS surfaces
i965/gen9: Use blitter as fallback path to read YF/YS surfaces
i965/gen9: Plugin the code for selecting YF/YS tiling on skl+
i965/gen9: Disable Mip Tail for YF/YS tiled surfaces
src/mesa/drivers/common/meta.h | 1 +
src/mesa/drivers/common/meta_tex_subimage.c | 43 ++-
src/mesa/drivers/dri/i965/brw_context.h | 4 +
src/mesa/drivers/dri/i965/brw_defines.h | 9 +
src/mesa/drivers/dri/i965/brw_tex_layout.c | 451 ++++++++++++++++++++++---
src/mesa/drivers/dri/i965/gen8_surface_state.c | 77 ++++-
src/mesa/drivers/dri/i965/intel_blit.c | 292 +++++++++++++---
src/mesa/drivers/dri/i965/intel_blit.h | 3 +
src/mesa/drivers/dri/i965/intel_copy_image.c | 3 +
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 232 ++++++-------
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 17 +-
src/mesa/drivers/dri/i965/intel_pixel_read.c | 21 +-
src/mesa/drivers/dri/i965/intel_reg.h | 33 ++
src/mesa/drivers/dri/i965/intel_tex_image.c | 36 +-
src/mesa/drivers/dri/i965/intel_tex_subimage.c | 16 +-
15 files changed, 995 insertions(+), 243 deletions(-)
--
2.3.4
More information about the mesa-dev
mailing list