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-v04 gitweb: http://git.kiwitree.net/cgit/~chadv/mesa/tag/?h=chadv/review/isl-request-exact-row-pitch-v04 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] Jason and I tentatively agreed that I should just hand-write the header. But my conscience refused. The XML way is the right way. Anyway, the generator script are about the same number of lines (259 vs 222), so the generator is the clear winner in my opinion. Testing: I'm locally running dEQP-VK on Skylake. dEQP-VK.memory.*: 0 failures dEQP-VK.api.*: still running 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 (9): genxml: Define GENXML_XML_FILES in Makefile.sources genxml: Fix gen_zipped_file.py dependency genxml: New generated header genX_bits.h (v2) genxml: Add 3DSTATE_DEPTH_BUFFER to gen5.xml intel/common: Add func gen_get_version_10x() isl: Validate the calculated row pitch (v2) 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 | 17 +-- src/intel/Makefile.isl.am | 3 + src/intel/Makefile.sources | 16 ++- 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 | 259 ++++++++++++++++++++++++++++++++++++ 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, 462 insertions(+), 47 deletions(-) create mode 100644 src/intel/genxml/gen_bits_header.py -- 2.12.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev