[Mesa-dev] [PATCH 0/8] isl: Fix requests for exact row pitch (v2)

Chad Versace chadversary at chromium.org
Tue Mar 21 23:02:32 UTC 2017


All callers of isl_surf_init() that set 'min_pitch' wanted to
request an *exact* row pitch, as evidenced by nearby asserts, but isl
lacked API for doing so. This series fixes that by adding a field,
isl_surf_init_info::row_pitch.

This prepares for VK_MESAX_external_image_dma_buf, which requires
support for create VkImages with an exact, user-provided row pitch.

This patch series lives at:
    git://git.kiwitree.net/~chadv/mesa
    refs/tags/chadv/review/isl-request-exact-row-pitch-v03
    gitweb: http://git.kiwitree.net/cgit/~chadv/mesa/tag/?h=chadv/review/isl-request-exact-row-pitch-v03

v2:
  - Validate the requested row pitch. This required more extensive
    refactors in patch 2.

v3:
  - New generated genxml header genX_bits.h.
  - Fix the pitch validation. Inspect the surface's usage bits instead
    of its tiling to determine the pitch constraints. Use the bitfield
    sizes from genX_bits.h.

Testing:
  I'm locally running dEQP-VK on Skylake. One failure in
  dEQP-VK.memory.*, dEQP-VK.api.*.

  I also pushed this to my 'jenkins' branch. But I no longer know to
  view the Jenkins results, because they're behind the Intel firewall.

Chad Versace (8):
  genxml: Add pitch bitfield sizes to gen*_pack.h
  genxml: Generate header genX_bits.h
  genxml: Add 3DSTATE_DEPTH_BUFFER to gen5.xml
  intel/common: Add func gen_get_version_10x()
  isl: Validate the calculated row pitch
  isl: Let isl_surf_init's caller set the exact row pitch (v2)
  intel: Fix requests for exact surface row pitch (v2)
  isl: Drop unused isl_surf_init_info::min_pitch

 src/intel/Makefile.genxml.am        |   9 +-
 src/intel/Makefile.sources          |   6 +-
 src/intel/blorp/blorp_blit.c        |   8 +-
 src/intel/common/gen_device_info.c  |  11 +++
 src/intel/common/gen_device_info.h  |   3 +
 src/intel/genxml/.gitignore         |   1 +
 src/intel/genxml/gen5.xml           |  56 ++++++++++++
 src/intel/genxml/gen_bits_header.py | 164 ++++++++++++++++++++++++++++++++++++
 src/intel/genxml/gen_pack_header.py |  28 +++++-
 src/intel/isl/isl.c                 |  97 +++++++++++++++++----
 src/intel/isl/isl.h                 |   7 +-
 src/intel/vulkan/anv_blorp.c        |  29 ++++---
 src/intel/vulkan/anv_image.c        |   2 +-
 13 files changed, 381 insertions(+), 40 deletions(-)
 create mode 100644 src/intel/genxml/gen_bits_header.py

-- 
2.12.0



More information about the mesa-dev mailing list