[Mesa-dev] [PATCH 00/13] anv: Add support for VK_EXT_transform_feedback
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Mon Oct 15 13:35:09 UTC 2018
I've left a couple of comments on patch 8 about a programming note for
Gen10+ and a nit on patch 9.
Otherwise patches 7->13 are :
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
(Hopefully Samuel & you can review each other's nir changes :)
On 13/10/2018 14:09, Jason Ekstrand wrote:
> This series adds support for the new VK_EXT_transform_feedback extension.
> As far as I know, everything works but it's still all a bit experimental as
> we don't have very good tests yet. CTS tests are in-progress and we hope
> to have decent testing soon. We likely won't be landing them in master
> until we get better testing as the testing is currently really sketchy.
> However, the basics do work and Nvidia HairWorks now works in Witcher 3
> with DXVK.
>
> You may be asking question, "What took you so long?" or, "Why are you doing
> transform feedback? I thought that was legacy stuff." For those who are
> interested in the history or the rational behind the lack of transform
> feedback in Vulkan and it's sudden appearance, I've written a blog post
> explaining it:
>
> http://jason-blog.jlekstrand.net/2018/10/transform-feedback-is-terrible-so-why.html
>
> For those wishing to try out the patches, or who prefer to review with a
> branch, the series can be found on my personal gitlab:
>
> https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/VK_EXT_transform_feedback
>
> Happy reviewing and/or testing!
>
> --Jason Ekstrand
>
>
> Jason Ekstrand (11):
> vulkan: Update Vulkan XML and headers to 1.1.88
> anv: Add but do not enable VK_EXT_transform_feedback
> nir: Preserve offsets in lower_io_to_scalar_early
> nir: Add a pass for gathering transform feedback info
> anv: Add pipeline cache support for xfb_info
> anv: Implement the basic form of VK_EXT_transform_feedback
> anv: Implement vkCmdDrawIndirectByteCountEXT
> anv: Implement CmdBegin/EndQueryIndexed
> genxml: Add SO_PRIM_STORAGE_NEEDED and SO_NUM_PRIMS_WRITTEN
> anv: Implement transform feedback queries
> anv: Improve the asserts in anv_buffer_get_range
>
> Samuel Pitoiset (2):
> nir: do not remove varyings used for transform feedback
> nir: fix lowering arrays to elements for TFB outputs
>
> include/vulkan/vulkan.h | 4 +
> include/vulkan/vulkan_core.h | 244 +++++++++++++++-
> include/vulkan/vulkan_fuchsia.h | 58 ++++
> src/compiler/Makefile.sources | 4 +-
> src/compiler/nir/meson.build | 2 +
> src/compiler/nir/nir_gather_xfb_info.c | 150 ++++++++++
> src/compiler/nir/nir_linking_helpers.c | 3 +
> .../nir/nir_lower_io_arrays_to_elements.c | 3 +
> src/compiler/nir/nir_lower_io_to_scalar.c | 8 +
> src/compiler/nir/nir_xfb_info.h | 59 ++++
> src/intel/genxml/gen10.xml | 32 ++
> src/intel/genxml/gen11.xml | 32 ++
> src/intel/genxml/gen7.xml | 32 ++
> src/intel/genxml/gen75.xml | 32 ++
> src/intel/genxml/gen8.xml | 32 ++
> src/intel/genxml/gen9.xml | 32 ++
> src/intel/vulkan/anv_blorp.c | 3 +-
> src/intel/vulkan/anv_cmd_buffer.c | 29 ++
> src/intel/vulkan/anv_device.c | 24 ++
> src/intel/vulkan/anv_extensions.py | 1 +
> src/intel/vulkan/anv_pipeline.c | 12 +-
> src/intel/vulkan/anv_pipeline_cache.c | 48 ++-
> src/intel/vulkan/anv_private.h | 22 +-
> src/intel/vulkan/genX_cmd_buffer.c | 275 ++++++++++++++++++
> src/intel/vulkan/genX_pipeline.c | 123 ++++++++
> src/intel/vulkan/genX_query.c | 93 +++++-
> src/vulkan/registry/vk.xml | 253 ++++++++++++++--
> 27 files changed, 1562 insertions(+), 48 deletions(-)
> create mode 100644 include/vulkan/vulkan_fuchsia.h
> create mode 100644 src/compiler/nir/nir_gather_xfb_info.c
> create mode 100644 src/compiler/nir/nir_xfb_info.h
>
More information about the mesa-dev
mailing list