Mesa (master): radv: add initial non-conformant radv vulkan driver

Dave Airlie airlied at kemper.freedesktop.org
Thu Oct 6 23:17:20 UTC 2016


Module: Mesa
Branch: master
Commit: f4e499ec79147f4172f3669ae9dafd941aaeeb65
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4e499ec79147f4172f3669ae9dafd941aaeeb65

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Oct  7 09:16:09 2016 +1000

radv: add initial non-conformant radv vulkan driver

This squashes all the radv development up until now into
one for merging.

History can be found:
https://github.com/airlied/mesa/tree/semi-interesting

This requires llvm 3.9 and is in no way considered
a conformant vulkan implementation. It can run a number
of vulkan applications, and supports all GPUs using
the amdgpu kernel driver.

Thanks to Intel for providing anv and spirv->nir,
and Emil Velikov for reviewing build integration.

Parts of this are:
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Acked-by: Edward O'Callaghan <funfunctor at folklore1984.net>

Authors: Bas Nieuwenhuizen and Dave Airlie
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 configure.ac                                       |   33 +-
 src/Makefile.am                                    |    8 +-
 src/amd/common/Makefile.am                         |   51 +
 src/amd/common/Makefile.sources                    |   29 +
 src/amd/common/ac_binary.c                         |  288 ++
 src/amd/common/ac_binary.h                         |   88 +
 src/amd/common/ac_llvm_helper.cpp                  |   46 +
 src/amd/common/ac_llvm_util.c                      |  142 +
 src/amd/common/ac_llvm_util.h                      |   31 +
 src/amd/common/ac_nir_to_llvm.c                    | 4547 ++++++++++++++++++++
 src/amd/common/ac_nir_to_llvm.h                    |  102 +
 src/amd/vulkan/.gitignore                          |    6 +
 src/amd/vulkan/Makefile.am                         |  165 +
 src/amd/vulkan/Makefile.sources                    |   67 +
 src/amd/vulkan/dev_icd.json.in                     |    7 +
 src/amd/vulkan/radeon_icd.json                     |    7 +
 src/amd/vulkan/radv_cmd_buffer.c                   | 2413 +++++++++++
 src/amd/vulkan/radv_cs.h                           |  117 +
 src/amd/vulkan/radv_descriptor_set.c               |  716 +++
 src/amd/vulkan/radv_descriptor_set.h               |   81 +
 src/amd/vulkan/radv_device.c                       | 1782 ++++++++
 src/amd/vulkan/radv_device_info.h                  |   32 +
 src/amd/vulkan/radv_entrypoints_gen.py             |  351 ++
 src/amd/vulkan/radv_formats.c                      | 1085 +++++
 src/amd/vulkan/radv_image.c                        | 1030 +++++
 src/amd/vulkan/radv_meta.c                         |  388 ++
 src/amd/vulkan/radv_meta.h                         |  190 +
 src/amd/vulkan/radv_meta_blit.c                    | 1270 ++++++
 src/amd/vulkan/radv_meta_blit2d.c                  | 1282 ++++++
 src/amd/vulkan/radv_meta_buffer.c                  |  543 +++
 src/amd/vulkan/radv_meta_bufimage.c                |  396 ++
 src/amd/vulkan/radv_meta_clear.c                   | 1192 +++++
 src/amd/vulkan/radv_meta_copy.c                    |  399 ++
 src/amd/vulkan/radv_meta_decompress.c              |  463 ++
 src/amd/vulkan/radv_meta_fast_clear.c              |  536 +++
 src/amd/vulkan/radv_meta_resolve.c                 |  670 +++
 src/amd/vulkan/radv_meta_resolve_cs.c              |  461 ++
 src/amd/vulkan/radv_pass.c                         |  183 +
 src/amd/vulkan/radv_pipeline.c                     | 1408 ++++++
 src/amd/vulkan/radv_pipeline_cache.c               |  475 ++
 src/amd/vulkan/radv_private.h                      | 1402 ++++++
 src/amd/vulkan/radv_query.c                        |  415 ++
 src/amd/vulkan/radv_radeon_winsys.h                |  336 ++
 src/amd/vulkan/radv_util.c                         |  204 +
 src/amd/vulkan/radv_util.h                         |    9 +
 src/amd/vulkan/radv_wsi.c                          |  246 ++
 src/amd/vulkan/radv_wsi.h                          |   79 +
 src/amd/vulkan/radv_wsi_wayland.c                  |  880 ++++
 src/amd/vulkan/radv_wsi_x11.c                      |  963 +++++
 src/amd/vulkan/si_cmd_buffer.c                     | 1119 +++++
 src/amd/vulkan/vk_format.h                         |  449 ++
 src/amd/vulkan/vk_format_layout.csv                |  188 +
 src/amd/vulkan/vk_format_parse.py                  |  384 ++
 src/amd/vulkan/vk_format_table.py                  |  173 +
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c      |  297 ++
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h      |   50 +
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c      |  778 ++++
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.h      |   51 +
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c |  523 +++
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.h |   29 +
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c  |  359 ++
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h  |   57 +
 .../winsys/amdgpu/radv_amdgpu_winsys_public.h      |   30 +
 63 files changed, 32093 insertions(+), 8 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=f4e499ec79147f4172f3669ae9dafd941aaeeb65



More information about the mesa-commit mailing list