[Mesa-dev] [PATCH v5 0/5] isl: Fix requests for exact row pitch

Chad Versace chadversary at chromium.org
Sat Mar 25 02:28:22 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-v05
    gitweb: http://git.kiwitree.net/cgit/~chadv/mesa/tag/?h=chadv/review/isl-request-exact-row-pitch-v05

Testing:
  I ran dEQP-VK on Skylake.

    dEQP-VK.memory.*
        Test run totals:
        Passed:        1105/1115 (99.1%)
        Failed:        0/1115 (0.0%)
        Not supported: 10/1115 (0.9%)
        Warnings:      0/1115 (0.0%)

    dEQP-VK.api.*
        Test run totals:
        Passed:        18132/59782 (30.3%)
        Failed:        1/59782 (0.0%)
        Not supported: 41645/59782 (69.7%)
        Warnings:      4/59782 (0.0%)


  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.


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.

v4:
  - When generating genX_bits.h, parse the XML instead of scraping the
    gen*_pack.h headers.  [for jekstrand]

v4.5:
  - Rewrite script with Mako by Dylan.
  - Big script rewrite by Jason.

v5:
  - Fix autotools out-of-tree build.
  - Fix Android build. Tested with git://github.com/android-ia/manifest.
  - Fixes and cleanups to generator script. See patch's version log.

Chad Versace (5):
  genxml: New generated header genX_bits.h (v5)
  isl: Validate the calculated row pitch (v4)
  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/Android.genxml.mk         |   9 +-
 src/intel/Makefile.genxml.am        |   6 +-
 src/intel/Makefile.sources          |   6 +-
 src/intel/blorp/blorp_blit.c        |   8 +-
 src/intel/genxml/.gitignore         |   1 +
 src/intel/genxml/gen_bits_header.py | 281 ++++++++++++++++++++++++++++++++++++
 src/intel/isl/isl.c                 |  96 ++++++++++--
 src/intel/isl/isl.h                 |   7 +-
 src/intel/vulkan/anv_blorp.c        |  29 ++--
 src/intel/vulkan/anv_image.c        |   2 +-
 10 files changed, 406 insertions(+), 39 deletions(-)
 create mode 100644 src/intel/genxml/gen_bits_header.py

-- 
2.12.0



More information about the mesa-dev mailing list