sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro
List of commits:
Subject Hash Author Date (UTC)
mesa-vulkan:cleanup syncing with mesa-gl d4bda6a965b230fe2d8177c918c8bbbf35927786 Sylvain BERTRAND 2023-12-10 15:40:35
mesa-gl:cleanup due to core changes b55a8fc59a54f7b565f4837cce23de12b8a1169d Sylvain BERTRAND 2023-12-10 15:37:40
xserver:cleanup due to core changes bd49c92661e7f38acda77b73d7bf338441c20262 Sylvain BERTRAND 2023-12-10 15:33:12
Gfx stack update 99176df77dab6802fa436c458edfad72a8b5f1bd Sylvain BERTRAND 2023-12-10 15:22:42
switch from xf86-video-amdgpu to xf86-video-modesettings 76183a35b0fbca65bca3107f7dd4eab63233280c Sylvain BERTRAND 2023-12-04 20:58:31
xserver:switch to libglvnd, started to unroll the SDK 1fba400ad17ad852855690f3f66c36ba035c3c33 Sylvain BERTRAND 2023-12-04 20:56:27
mesa-gl:libglvnd switch, compiler driver removal 80dfdfed11e011f4bf62d69d52cc44d920af4ee1 Sylvain BERTRAND 2023-12-04 20:55:06
glvnd fixes f9775dfc45b4478112f327bf3a251b37d54ad112 Sylvain BERTRAND 2023-12-02 21:47:32
libglvnd: partial builder for migration of legacy GFX stack efb24b5205bc80defeb705324874ddd1f4734db9 Sylvain BERTRAND 2023-11-30 20:18:32
llvm removal aad27f5c626b4fd57b8e1471a1b879d0b82a934c Sylvain BERTRAND 2023-11-25 20:15:34
mesa:legacy GL and vulkan update 0d1e3cd93e1cc52ad40e132f11d4deb2f024f59f Sylvain BERTRAND 2023-11-25 18:55:11
libepoxy:move to /usr monoblock runtime 8082baed9cee3f107202afae374aff4fd0d622f9 Sylvain BERTRAND 2023-11-25 17:01:20
drm:update and move to /usr monoblock runtime 2a538844c36f03a88f1523cefc167d8525d099cf Sylvain BERTRAND 2023-11-25 16:05:02
glibc malloc does not return NULL for 0 bytes 5f7f25fa1da3ba5620f0e9301bdd986916fae68e Sylvain BERTRAND 2023-11-24 01:49:13
xbkcomp: fix default xbk data file location fd376f9cfaf0daf4037f9285e04574f14e6f5e04 Sylvain BERTRAND 2023-11-23 16:34:38
xorgproto:update 689b8a6414f1a1f69f728f42b46260c00f52ad03 Sylvain BERTRAND 2023-11-22 17:10:56
xkbcomp:udpate and partial SDK removal dcedd17e907841791c4b6e72d756db3b81356c52 Sylvain BERTRAND 2023-11-22 15:55:19
libxkbfile:update and move to /usr mono block runtime b8db87be577d935e31bea44768df7492fc8da9cf Sylvain BERTRAND 2023-11-22 13:47:55
libxkbcommon:update and move to mono block runtime a899fb5514d8e8eac4aaf778dc07295274f0f849 Sylvain BERTRAND 2023-11-21 22:28:12
libX11: update and move to /usr monoblock runtime 13b86c32bbda705d0ed0a734b3af4707d72fe34c Sylvain BERTRAND 2023-11-21 19:59:40
Commit d4bda6a965b230fe2d8177c918c8bbbf35927786 - mesa-vulkan:cleanup syncing with mesa-gl
Author: Sylvain BERTRAND
Author date (UTC): 2023-12-10 15:40
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-12-10 15:40
Parent(s): b55a8fc59a54f7b565f4837cce23de12b8a1169d
Signer:
Signing key:
Signing status: N
Tree: 79fa8d4130cde787f3549a9227473bf9052c090c
File Lines added Lines deleted
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/builder.sh 0 3
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/generators.sh 0 267
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_meta.c.patch 0 116
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_meta_copy.c.patch 0 51
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1393
builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/builder.sh 0 3
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/generators.sh 0 270
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1290
builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/builder.sh 0 3
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/generators.sh 0 259
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1286
builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/builder.sh 0 3
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/generators.sh 0 263
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1392
builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/builder.sh 0 3
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/generators.sh 0 267
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_meta.c.patch 0 116
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_meta_copy.c.patch 0 51
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1392
builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/builder.sh 0 3
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/generators.sh 0 267
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_meta.c.patch 0 116
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_meta_copy.c.patch 0 51
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1393
builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/builder.sh 0 3
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/generators.sh 0 259
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1286
builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/builder.sh 0 3
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/generators.sh 0 265
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_meta.c.patch 0 116
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_meta_copy.c.patch 0 51
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1394
builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/builder.sh 0 3
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators.sh 0 259
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1282
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/builder.sh 0 3
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/generators.sh 0 267
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_meta.c.patch 0 116
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_meta_copy.c.patch 0 51
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1394
builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/builder.sh 0 3
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/generators.sh 0 259
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1289
builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh 0 3
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh 0 270
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1291
builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json 0 7
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/generators.sh deleted (index 6556024..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
18 patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
19 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
20 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
21 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
22 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
23 #===============================================================================
24 # vulkan util
25 export PYTHONPATH=$mako
26 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
27 --beta false \
28 --xml $vulkan_api_xml \
29 --outdir $build_dir/src/vulkan/util
30
31 # our ndebug/release version
32 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
33 $build_dir/src/vulkan/util
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --beta false \
37 --xml $vulkan_api_xml \
38 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
39 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
40
41 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
42 --xml $vulkan_api_xml \
43 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
44 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
45
46 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
47 --beta false \
48 --xml $vulkan_api_xml \
49 --outdir $build_dir/src/vulkan/util &
50
51 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
52 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
53
54 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
55 >$build_dir/src/compiler/nir/nir_opcodes.h &
56
57 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
58 --outdir $build_dir/src/compiler/nir &
59
60 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
61 --outdir $build_dir/src/compiler/nir &
62 unset PYTHONPATH
63 #===============================================================================
64 # vulkan runtime
65 export PYTHONPATH=$mako
66 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
67 --beta false \
68 --xml $vulkan_api_xml \
69 --proto --weak \
70 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
71 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
72 --prefix vk_common &
73 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
74 --beta false \
75 --xml $vulkan_api_xml \
76 --proto --weak \
77 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
78 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
79 --prefix vk_cmd_enqueue &
80 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
81 --beta false \
82 --xml $vulkan_api_xml \
83 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
84 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
85 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
86 --beta false \
87 --xml $vulkan_api_xml \
88 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
89 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
90 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
91 --beta false \
92 --xml $vulkan_api_xml \
93 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
94 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
95 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
96 --beta false \
97 --xml $vulkan_api_xml \
98 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
99 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
100 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
101 --xml $vulkan_api_xml \
102 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
103 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
104 unset PYTHONPATH
105 #===============================================================================
106 # wsi x11 (Window System Interface)
107 export PYTHONPATH=$mako
108 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
109 --beta false \
110 --xml $vulkan_api_xml \
111 --proto --weak \
112 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
113 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
114 --prefix wsi &
115 unset PYTHONPATH
116 #===============================================================================
117 # amd common archive
118 $python3 $src_dir/src/amd/common/sid_tables.py \
119 $src_dir/src/amd/common/sid.h \
120 $src_dir/src/amd/registers/gfx6.json \
121 $src_dir/src/amd/registers/gfx7.json \
122 $src_dir/src/amd/registers/gfx8.json \
123 $src_dir/src/amd/registers/gfx81.json \
124 $src_dir/src/amd/registers/gfx9.json \
125 $src_dir/src/amd/registers/gfx940.json \
126 $src_dir/src/amd/registers/gfx10.json \
127 $src_dir/src/amd/registers/gfx10-rsrc.json \
128 $src_dir/src/amd/registers/gfx103.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx115.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/src/amd/common/sid_tables.h &
135 $python3 $src_dir/src/amd/registers/makeregheader.py \
136 $src_dir/src/amd/registers/gfx6.json \
137 $src_dir/src/amd/registers/gfx7.json \
138 $src_dir/src/amd/registers/gfx8.json \
139 $src_dir/src/amd/registers/gfx81.json \
140 $src_dir/src/amd/registers/gfx9.json \
141 $src_dir/src/amd/registers/gfx940.json \
142 $src_dir/src/amd/registers/gfx10.json \
143 $src_dir/src/amd/registers/gfx10-rsrc.json \
144 $src_dir/src/amd/registers/gfx11.json \
145 $src_dir/src/amd/registers/gfx115.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/src/compiler/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/src/compiler/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/src/compiler/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/src/compiler/spirv/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/src/compiler/spirv/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/src/compiler/nir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir/src/compiler/nir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/src/amd/compiler/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/src/amd/compiler/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 export PYTHONPATH=$mako
210 $python3 $src_dir/src/util/format_srgb.py \
211 >$build_dir/src/util/format_srgb.c
212
213 $python3 $src_dir/src/util/format/u_format_table.py \
214 $src_dir/src/util/format/u_format.csv \
215 >$build_dir/src/util/u_format_table.c
216
217 # wow, really?
218 $python3 $src_dir/src/util/format/u_format_table.py \
219 --header \
220 $src_dir/src/util/format/u_format.csv \
221 >$build_dir/src/util/format/u_format_pack.h
222
223 # oooof!
224 $python3 $src_dir/src/util/driconf_static.py \
225 $src_dir/src/util/00-mesa-defaults.conf \
226 $build_dir/src/util/driconf_static.h
227 unset PYTHONPATH
228 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
229 #===============================================================================
230 # amd vulkan
231 export PYTHONPATH=$mako
232 #------------------------------------------------------------------------------
233 # specific API to work around _still maintained at the time of writing _ game
234 # executable... this is the beginning of the end...
235 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
236 --beta false \
237 --xml $vulkan_api_xml \
238 --proto --weak \
239 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
240 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
241 --prefix radv \
242 --device-prefix metro_exodus \
243 --device-prefix rage2 &
244 #------------------------------------------------------------------------------
245 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
246 # --xml $vulkan_api_xml \
247 # --out-c radv_extensions.c \
248 # --out-h radv_extensions.h &
249 #------------------------------------------------------------------------------
250 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
251 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
252 # >$build_dir/vk_format_table.c &
253 #------------------------------------------------------------------------------
254 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
255 $src_dir/src/util/format/u_format.csv \
256 $src_dir/src/amd/registers/gfx10-rsrc.json \
257 $src_dir/src/amd/registers/gfx11-rsrc.json \
258 >$build_dir/src/amd/common/gfx10_format_table.c &
259 #------------------------------------------------------------------------------
260 git_sha1=no_git_sha1_available
261 if test -d $src_dir/.git; then
262 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
263 fi
264 echo git_sha1=$git_sha1
265 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
266 unset PYTHONPATH
267 #===============================================================================
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_meta.c.patch deleted (index a0757cf..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -506,9 +506,14 @@ radv_device_init_meta(struct radv_device *device)
4 if (result != VK_SUCCESS)
5 goto fail_etc_decode;
6
7 - result = radv_device_init_meta_astc_decode_state(device, on_demand);
8 - if (result != VK_SUCCESS)
9 - goto fail_astc_decode;
10 +// XXX: insanely toxic compute based stuff pulling that
11 +// disgusting khronos glslang. Should be independent
12 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
13 +// with simple and plain C written "assemblers").
14 +// blame: some trash.
15 +// result = radv_device_init_meta_astc_decode_state(device, on_demand);
16 +// if (result != VK_SUCCESS)
17 +// goto fail_astc_decode;
18
19 if (device->uses_device_generated_commands) {
20 result = radv_device_init_dgc_prepare_state(device);
21 @@ -516,35 +521,50 @@ radv_device_init_meta(struct radv_device *device)
22 goto fail_dgc;
23 }
24
25 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
26 - if (device->vk.enabled_features.nullDescriptor) {
27 - result = radv_device_init_null_accel_struct(device);
28 - if (result != VK_SUCCESS)
29 - goto fail_accel_struct;
30 - }
31 -
32 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
33 - * Work around it by forcing ACO for now.
34 - */
35 - bool use_llvm = device->physical_device->use_llvm;
36 - if (loaded_cache || use_llvm) {
37 - device->physical_device->use_llvm = false;
38 - result = radv_device_init_accel_struct_build_state(device);
39 - device->physical_device->use_llvm = use_llvm;
40 -
41 - if (result != VK_SUCCESS)
42 - goto fail_accel_struct;
43 - }
44 - }
45 +// XXX: insanely toxic compute based stuff pulling that
46 +// disgusting khronos glslang. Should be independent
47 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
48 +// with simple and plain C written "assemblers").
49 +// blame: Konstantin Seurer
50 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
51 +// if (device->vk.enabled_features.nullDescriptor) {
52 +// result = radv_device_init_null_accel_struct(device);
53 +// if (result != VK_SUCCESS)
54 +// goto fail_accel_struct;
55 +// }
56 +//
57 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
58 +// * Work around it by forcing ACO for now.
59 +// */
60 +// bool use_llvm = device->physical_device->use_llvm;
61 +// if (loaded_cache || use_llvm) {
62 +// device->physical_device->use_llvm = false;
63 +// result = radv_device_init_accel_struct_build_state(device);
64 +// device->physical_device->use_llvm = use_llvm;
65 +//
66 +// if (result != VK_SUCCESS)
67 +// goto fail_accel_struct;
68 +// }
69 +// }
70
71 return VK_SUCCESS;
72
73 -fail_accel_struct:
74 - radv_device_finish_accel_struct_build_state(device);
75 +// XXX: insanely toxic compute based stuff pulling that
76 +// disgusting khronos glslang. Should be independent
77 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
78 +// with simple and plain C written "assemblers").
79 +// blame: Konstantin Seurer
80 +//fail_accel_struct:
81 +// radv_device_finish_accel_struct_build_state(device);
82 fail_dgc:
83 radv_device_finish_dgc_prepare_state(device);
84 -fail_astc_decode:
85 - radv_device_finish_meta_astc_decode_state(device);
86 +// XXX: insanely toxic compute based stuff pulling that
87 +// disgusting khronos glslang. Should be independent
88 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
89 +// with simple and plain C written "assemblers").
90 +// blame: some trash.
91 +//fail_astc_decode:
92 +// radv_device_finish_meta_astc_decode_state(device);
93 fail_etc_decode:
94 radv_device_finish_meta_etc_decode_state(device);
95 fail_fmask_copy:
96 @@ -584,8 +604,18 @@ radv_device_finish_meta(struct radv_device *device)
97 {
98 radv_device_finish_dgc_prepare_state(device);
99 radv_device_finish_meta_etc_decode_state(device);
100 - radv_device_finish_meta_astc_decode_state(device);
101 - radv_device_finish_accel_struct_build_state(device);
102 +// XXX: insanely toxic compute based stuff pulling that
103 +// disgusting khronos glslang. Should be independent
104 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
105 +// with simple and plain C written "assemblers").
106 +// blame: some trash.
107 +// radv_device_finish_meta_astc_decode_state(device);
108 +// XXX: insanely toxic compute based stuff pulling that
109 +// disgusting khronos glslang. Should be independent
110 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
111 +// with simple and plain C written "assemblers").
112 +// blame: Konstantin Seurer
113 +// radv_device_finish_accel_struct_build_state(device);
114 radv_device_finish_meta_clear_state(device);
115 radv_device_finish_meta_resolve_state(device);
116 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_meta_copy.c.patch deleted (index 5431fd0..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta_copy.c
2 +++ b/src/amd/vulkan/meta/radv_meta_copy.c
3 @@ -262,17 +262,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm
4
5 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
6 for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
7 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
8 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
9 - &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
10 - pCopyBufferToImageInfo->pRegions[r].imageOffset,
11 - pCopyBufferToImageInfo->pRegions[r].imageExtent);
12 - } else {
13 + // XXX: current astc work is omega trash
14 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
15 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
16 + // &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
17 + // pCopyBufferToImageInfo->pRegions[r].imageOffset,
18 + // pCopyBufferToImageInfo->pRegions[r].imageExtent);
19 + //} else {
20 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
21 &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
22 pCopyBufferToImageInfo->pRegions[r].imageOffset,
23 pCopyBufferToImageInfo->pRegions[r].imageExtent);
24 - }
25 + //}
26 }
27 }
28 }
29 @@ -613,15 +614,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI
30 dst_extent.height = dst_extent.height / vk_format_get_blockheight(src_image->vk.format) *
31 vk_format_get_blockheight(dst_image->vk.format);
32 }
33 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
34 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
35 - &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
36 - dst_extent);
37 - } else {
38 + // XXX: current astc work is omega trash
39 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
40 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
41 + // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
42 + // dst_extent);
43 + //} else {
44 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
45 &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
46 dst_extent);
47 - }
48 + //}
49 }
50 }
51 }
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 46f972b..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cc $cppflags $src_dir/src/compiler/glsl_types.c \
763 -o $build_dir/glsl_types.o &
764 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
765 -o $build_dir/shader_enums.o &
766 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
767 -o $build_dir/builtin_types.o &
768 libcompiler_a="\
769 $build_dir/glsl_types.o \
770 $build_dir/shader_enums.o \
771 $build_dir/builtin_types.o \
772 "
773 #===============================================================================
774 # libnir
775 cppflags="\
776 $cppflags_common \
777 -I$build_dir/src/compiler/spirv \
778 -I$src_dir/src/compiler/spirv \
779 -I$build_dir/src/compiler/nir \
780 -I$src_dir/src/compiler/nir \
781 -I$build_dir/src/compiler \
782 -I$src_dir/src/compiler \
783 -I$build_dir/src/gallium/auxiliary \
784 -I$src_dir/src/gallium/auxiliary \
785 -I$build_dir/src/gallium/include \
786 -I$src_dir/src/gallium/include \
787 -I$build_dir/src/mesa \
788 -I$src_dir/src/mesa \
789 -I$build_dir/src \
790 -I$src_dir/src \
791 -I$build_dir/include \
792 -I$src_dir/include \
793 $xorgproto_cppflags \
794 $libxcb_cppflags \
795 $libx11_cppflags \
796 $libxrender_cppflags \
797 $libxrandr_cppflags \
798 "
799 libnir_files="\
800 $src_dir/src/compiler/spirv/gl_spirv.c \
801 $build_dir/src/compiler/spirv/spirv_info.c \
802 $src_dir/src/compiler/spirv/spirv_to_nir.c \
803 $src_dir/src/compiler/spirv/vtn_alu.c \
804 $src_dir/src/compiler/spirv/vtn_amd.c \
805 $src_dir/src/compiler/spirv/vtn_cfg.c \
806 $src_dir/src/compiler/spirv/vtn_cmat.c \
807 $build_dir/src/compiler/spirv/vtn_gather_types.c \
808 $src_dir/src/compiler/spirv/vtn_glsl450.c \
809 $src_dir/contrib/vtn_opencl.c \
810 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
811 $src_dir/src/compiler/spirv/vtn_subgroup.c \
812 $src_dir/src/compiler/spirv/vtn_variables.c \
813 \
814 $build_dir/src/compiler/nir/nir.c \
815 $src_dir/src/compiler/nir/nir_builder.c \
816 $src_dir/src/compiler/nir/nir_builtin_builder.c \
817 $src_dir/src/compiler/nir/nir_clone.c \
818 $build_dir/src/compiler/nir/nir_constant_expressions.c \
819 $src_dir/src/compiler/nir/nir_control_flow.c \
820 $src_dir/src/compiler/nir/nir_deref.c \
821 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
822 $src_dir/src/compiler/nir/nir_dominance.c \
823 $src_dir/src/compiler/nir/nir_from_ssa.c \
824 $src_dir/src/compiler/nir/nir_gather_info.c \
825 $src_dir/src/compiler/nir/nir_gather_types.c \
826 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
827 $src_dir/src/compiler/nir/nir_group_loads.c \
828 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
829 $src_dir/src/compiler/nir/nir_functions.c \
830 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
831 $src_dir/src/compiler/nir/nir_instr_set.c \
832 $build_dir/src/compiler/nir/nir_intrinsics.c \
833 $src_dir/src/compiler/nir/nir_legacy.c \
834 $src_dir/src/compiler/nir/nir_linking_helpers.c \
835 $src_dir/src/compiler/nir/nir_liveness.c \
836 $src_dir/src/compiler/nir/nir_loop_analyze.c \
837 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
838 $src_dir/src/compiler/nir/nir_lower_alu.c \
839 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
840 $src_dir/src/compiler/nir/nir_lower_amul.c \
841 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
842 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
843 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
844 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
845 $src_dir/src/compiler/nir/nir_lower_blend.c \
846 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
847 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
848 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
849 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
850 $src_dir/src/compiler/nir/nir_lower_clip.c \
851 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
852 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
853 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
854 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
855 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
856 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
857 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
858 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
859 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
860 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
861 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
862 $src_dir/src/compiler/nir/nir_lower_flrp.c \
863 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
864 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
865 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
866 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
867 $src_dir/src/compiler/nir/nir_lower_frexp.c \
868 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
869 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
870 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
871 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
872 $src_dir/src/compiler/nir/nir_lower_idiv.c \
873 $src_dir/src/compiler/nir/nir_lower_image.c \
874 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
875 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
876 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
877 $src_dir/src/compiler/nir/nir_lower_int64.c \
878 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
879 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
880 $src_dir/src/compiler/nir/nir_lower_io.c \
881 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
882 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
883 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
884 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
885 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
886 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_mediump.c \
888 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
889 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
890 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
891 $src_dir/src/compiler/nir/nir_lower_multiview.c \
892 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
893 $src_dir/src/compiler/nir/nir_lower_packing.c \
894 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
895 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
896 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
897 $src_dir/src/compiler/nir/nir_lower_point_size.c \
898 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
899 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
900 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
901 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
902 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
903 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
904 $src_dir/src/compiler/nir/nir_lower_returns.c \
905 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
906 $src_dir/src/compiler/nir/nir_lower_samplers.c \
907 $src_dir/src/compiler/nir/nir_lower_scratch.c \
908 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
909 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
910 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
911 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
912 $src_dir/src/compiler/nir/nir_lower_system_values.c \
913 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
914 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
915 $src_dir/src/compiler/nir/nir_lower_tex.c \
916 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
917 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
918 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
919 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
920 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
921 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
922 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
923 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
924 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
925 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
926 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
927 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
928 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
929 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
930 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
931 $src_dir/src/compiler/nir/nir_metadata.c \
932 $src_dir/src/compiler/nir/nir_mod_analysis.c \
933 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
934 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
935 $build_dir/src/compiler/nir/nir_opcodes.c \
936 $src_dir/src/compiler/nir/nir_opt_access.c \
937 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
938 $src_dir/src/compiler/nir/nir_opt_barriers.c \
939 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
940 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
941 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
942 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
943 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
944 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
945 $src_dir/src/compiler/nir/nir_opt_cse.c \
946 $src_dir/src/compiler/nir/nir_opt_dce.c \
947 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
948 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
949 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
950 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
951 $src_dir/src/compiler/nir/nir_opt_gcm.c \
952 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
953 $src_dir/src/compiler/nir/nir_opt_if.c \
954 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
955 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
956 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
957 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
958 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
959 $src_dir/src/compiler/nir/nir_opt_move.c \
960 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
961 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
962 $src_dir/src/compiler/nir/nir_opt_offsets.c \
963 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
964 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
965 $src_dir/src/compiler/nir/nir_opt_preamble.c \
966 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
967 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
968 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
969 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
970 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
971 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
972 $src_dir/src/compiler/nir/nir_opt_sink.c \
973 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
974 $src_dir/src/compiler/nir/nir_opt_undef.c \
975 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
976 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
977 $src_dir/src/compiler/nir/nir_phi_builder.c \
978 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
979 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
980 $src_dir/src/compiler/nir/nir_print.c \
981 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
982 $src_dir/src/compiler/nir/nir_range_analysis.c \
983 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
984 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
985 $src_dir/src/compiler/nir/nir_repair_ssa.c \
986 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
987 $src_dir/src/compiler/nir/nir_schedule.c \
988 $src_dir/src/compiler/nir/nir_search.c \
989 $src_dir/src/compiler/nir/nir_serialize.c \
990 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
991 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
992 $src_dir/src/compiler/nir/nir_split_var_copies.c \
993 $src_dir/src/compiler/nir/nir_split_vars.c \
994 $src_dir/src/compiler/nir/nir_sweep.c \
995 $src_dir/src/compiler/nir/nir_to_lcssa.c \
996 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
997 $src_dir/src/compiler/nir/nir_validate.c \
998 $src_dir/src/compiler/nir/nir_worklist.c \
999 "
1000 for f in $libnir_files
1001 do
1002 libnir_obj=$build_dir/$(basename $f .c).o
1003 libnir_a="$libnir_a $libnir_obj"
1004
1005 $cc $cppflags $f -o $libnir_obj &
1006 done
1007 #===============================================================================
1008 # libaco
1009 # we don't use cppflags_common for aco because the code is not yet
1010 # compatible
1011 cppflags="\
1012 $gcc_builtins_cppflags \
1013 $gcc_attributes_cppflags \
1014 $linux_glibc_cppflags \
1015 $mesa_cppflags \
1016 -I$build_dir/src/amd/compiler \
1017 -I$src_dir/src/amd/compiler \
1018 -I$build_dir/src/amd/vulkan \
1019 -I$src_dir/src/amd/vulkan \
1020 -I$build_dir/src/amd/common \
1021 -I$src_dir/src/amd/common \
1022 -I$build_dir/src/amd \
1023 -I$src_dir/src/amd \
1024 -I$build_dir/src/compiler/nir \
1025 -I$src_dir/src/compiler/nir \
1026 -I$build_dir/src/compiler \
1027 -I$src_dir/src/compiler \
1028 -I$build_dir/src/mesa \
1029 -I$src_dir/src/mesa \
1030 -I$build_dir/src/gallium/include \
1031 -I$src_dir/src/gallium/include \
1032 -I$build_dir/src \
1033 -I$src_dir/src \
1034 -I$build_dir/include \
1035 -I$src_dir/include \
1036 "
1037 libaco_files="\
1038 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1039 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1040 $src_dir/src/amd/compiler/aco_dominance.cpp \
1041 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1042 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1043 $src_dir/src/amd/compiler/aco_interface.cpp \
1044 $src_dir/src/amd/compiler/aco_assembler.cpp \
1045 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1046 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1047 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1048 $src_dir/src/amd/compiler/aco_ir.cpp \
1049 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1050 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1051 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1052 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1053 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1054 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1055 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1056 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1057 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1058 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1059 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1060 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1061 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1062 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1063 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1064 $src_dir/src/amd/compiler/aco_spill.cpp \
1065 $src_dir/src/amd/compiler/aco_statistics.cpp \
1066 $src_dir/src/amd/compiler/aco_validate.cpp \
1067 "
1068 for f in $libaco_files
1069 do
1070 libaco_obj=$build_dir/$(basename $f .c).o
1071 libaco_a="$libaco_a $libaco_obj"
1072
1073 $cxx $cppflags $f -o $libaco_obj &
1074 done
1075 #===============================================================================
1076 # libmesautils
1077 cppflags="\
1078 $cppflags_common \
1079 -I$build_dir/src/gallium/auxiliary \
1080 -I$src_dir/src/gallium/auxiliary \
1081 -I$build_dir/src/gallium/include \
1082 -I$src_dir/src/gallium/include \
1083 -I$build_dir/src/mesa \
1084 -I$src_dir/src/mesa \
1085 -I$build_dir/src/util/blake3 \
1086 -I$src_dir/src/util/blake3 \
1087 -I$build_dir/src/util/format \
1088 -I$src_dir/src/util/format \
1089 -I$build_dir/src/util \
1090 -I$src_dir/src/util \
1091 -I$build_dir/src \
1092 -I$src_dir/src \
1093 -I$build_dir/include \
1094 -I$src_dir/include \
1095 $zlib_cppflags \
1096 "
1097
1098 libmesautil_files="\
1099 $src_dir/src/util/anon_file.c \
1100 $src_dir/src/util/bitscan.c \
1101 $src_dir/src/util/blake3/blake3.c \
1102 $src_dir/src/util/blake3/blake3_dispatch.c \
1103 $src_dir/src/util/blake3/blake3_portable.c \
1104 $src_dir/src/util/blob.c \
1105 $src_dir/src/util/build_id.c \
1106 $src_dir/src/util/compress.c \
1107 $src_dir/src/util/crc32.c \
1108 $src_dir/src/util/dag.c \
1109 $src_dir/src/util/disk_cache.c \
1110 $src_dir/src/util/disk_cache_os.c \
1111 $src_dir/src/util/double.c \
1112 $src_dir/src/util/fast_idiv_by_const.c \
1113 $build_dir/src/util/format_srgb.c \
1114 $src_dir/src/util/fossilize_db.c \
1115 $src_dir/src/util/futex.c \
1116 $src_dir/src/util/half_float.c \
1117 $src_dir/src/util/hash_table.c \
1118 $src_dir/src/util/log.c \
1119 $src_dir/src/util/mesa-blake3.c \
1120 $src_dir/src/util/mesa-sha1.c \
1121 $build_dir/src/util/mesa_cache_db.c \
1122 $src_dir/src/util/mesa_cache_db_multipart.c \
1123 $src_dir/src/util/memstream.c \
1124 $src_dir/src/util/os_file.c \
1125 $src_dir/src/util/os_memory_fd.c \
1126 $src_dir/src/util/os_misc.c \
1127 $src_dir/src/util/os_socket.c \
1128 $src_dir/src/util/os_time.c \
1129 $src_dir/src/util/sha1/sha1.c \
1130 $src_dir/src/util/ralloc.c \
1131 $src_dir/src/util/rand_xor.c \
1132 $src_dir/src/util/rb_tree.c \
1133 $src_dir/src/util/register_allocate.c \
1134 $src_dir/src/util/rgtc.c \
1135 $src_dir/src/util/rwlock.c \
1136 $src_dir/src/util/set.c \
1137 $src_dir/src/util/simple_mtx.c \
1138 $src_dir/src/util/slab.c \
1139 $src_dir/src/util/softfloat.c \
1140 $src_dir/src/util/sparse_array.c \
1141 $src_dir/src/util/string_buffer.c \
1142 $src_dir/src/util/strtod.c \
1143 $src_dir/src/util/u_atomic.c \
1144 $src_dir/src/util/u_call_once.c \
1145 $src_dir/src/util/u_cpu_detect.c \
1146 $src_dir/src/util/u_debug.c \
1147 $src_dir/src/util/u_debug_stack.c \
1148 $src_dir/src/util/u_debug_symbol.c \
1149 $src_dir/src/util/u_dl.c \
1150 $src_dir/src/util/u_dynarray.c \
1151 $build_dir/src/util/u_format_table.c \
1152 $src_dir/src/util/u_hash_table.c \
1153 $src_dir/src/util/u_printf.c \
1154 $src_dir/src/util/format/u_format.c \
1155 $src_dir/src/util/format/u_format_bptc.c \
1156 $src_dir/src/util/format/u_format_etc.c \
1157 $src_dir/src/util/format/u_format_fxt1.c \
1158 $src_dir/src/util/format/u_format_latc.c \
1159 $src_dir/src/util/format/u_format_other.c \
1160 $src_dir/src/util/format/u_format_rgtc.c \
1161 $src_dir/src/util/format/u_format_s3tc.c \
1162 $src_dir/src/util/format/u_format_tests.c \
1163 $src_dir/src/util/format/u_format_yuv.c \
1164 $src_dir/src/util/format/u_format_zs.c \
1165 $src_dir/src/util/u_idalloc.c \
1166 $src_dir/src/util/u_math.c \
1167 $src_dir/src/util/u_mm.c \
1168 $src_dir/src/util/u_process.c \
1169 $src_dir/src/util/u_queue.c \
1170 $src_dir/src/util/u_thread.c \
1171 $src_dir/src/util/u_vector.c \
1172 $src_dir/src/util/u_worklist.c \
1173 $src_dir/src/util/vma.c \
1174 $src_dir/src/util/vl_zscan_data.c \
1175 \
1176 $src_dir/src/c11/impl/time.c \
1177 $src_dir/src/c11/impl/threads_posix.c \
1178 "
1179
1180 for f in $libmesautil_files
1181 do
1182 libmesautil_obj=$build_dir/$(basename $f .c).o
1183 libmesautil_a="$libmesautil_a $libmesautil_obj"
1184
1185 $cc $cppflags $f -o $libmesautil_obj &
1186 done
1187 #-------------------------------------------------------------------------------
1188 # The following is for the ultra complex blake3 hash algorithm.
1189 libmesautil_asm_files="\
1190 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1191 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1192 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1193 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1194 "
1195 for f in $libmesautil_asm_files
1196 do
1197 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1198 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1199 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1200
1201 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1202 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1203 done
1204 #===============================================================================
1205 # amd vulkan
1206 cppflags="\
1207 $cppflags_common \
1208 -DPACKAGE_VERSION=\"$version\" \
1209 -I$build_dir/src/amd/compiler \
1210 -I$src_dir/src/amd/compiler \
1211 -I$build_dir/src/amd/common \
1212 -I$src_dir/src/amd/common \
1213 -I$build_dir/src/amd/vulkan/nir \
1214 -I$src_dir/src/amd/vulkan/nir \
1215 -I$build_dir/src/amd/vulkan/meta \
1216 -I$src_dir/src/amd/vulkan/meta \
1217 -I$build_dir/src/amd/vulkan \
1218 -I$src_dir/src/amd/vulkan \
1219 -I$build_dir/src/amd \
1220 -I$src_dir/src/amd \
1221 -I$build_dir/src/gallium/auxiliary \
1222 -I$src_dir/src/gallium/auxiliary \
1223 -I$build_dir/src/gallium/include \
1224 -I$src_dir/src/gallium/include \
1225 -I$build_dir/src/vulkan/runtime \
1226 -I$src_dir/src/vulkan/runtime \
1227 -I$build_dir/src/vulkan/wsi \
1228 -I$src_dir/src/vulkan/wsi \
1229 -I$build_dir/src/vulkan/util \
1230 -I$src_dir/src/vulkan/util \
1231 -I$build_dir/src/mesa \
1232 -I$src_dir/src/mesa \
1233 -I$build_dir/src/compiler/nir \
1234 -I$src_dir/src/compiler/nir \
1235 -I$build_dir/src/compiler \
1236 -I$src_dir/src/compiler \
1237 -I$build_dir/src/util \
1238 -I$src_dir/src/util \
1239 -I$build_dir/src \
1240 -I$src_dir/src \
1241 -I$build_dir/include \
1242 -I$src_dir/include \
1243 $libdrm_cppflags \
1244 $libdrm_amdgpu_cppflags \
1245 $libx11_cppflags \
1246 $libxrandr_cppflags \
1247 $libxrender_cppflags \
1248 $libxcb_cppflags \
1249 $xorgproto_cppflags \
1250 $libxshmfence_cppflags \
1251 "
1252 #$build_dir/radv_extensions.c
1253 #$build_dir/vk_format_table.c
1254 # XXX: remove rt for now
1255 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1256 libvulkan_amd_common_files="\
1257 $src_dir/src/amd/vulkan/radv_android.c \
1258 $src_dir/src/amd/vulkan/radv_buffer.c \
1259 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1260 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1261 $src_dir/src/amd/vulkan/radv_debug.c \
1262 $build_dir/src/amd/vulkan/radv_device.c \
1263 $src_dir/src/amd/vulkan/radv_device_memory.c \
1264 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1265 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1266 $src_dir/src/amd/vulkan/radv_event.c \
1267 $src_dir/src/amd/vulkan/radv_formats.c \
1268 $src_dir/src/amd/vulkan/radv_image.c \
1269 $src_dir/src/amd/vulkan/radv_instance.c \
1270 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1271 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1272 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1273 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1277 $build_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1280 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1287 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1288 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1289 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_lower_cooperative_matrix.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_hit_attrib_derefs.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1301 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1302 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1303 $src_dir/src/amd/vulkan/radv_physical_device.c \
1304 $src_dir/src/amd/vulkan/radv_pipeline.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1308 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1309 $src_dir/src/amd/vulkan/radv_queue.c \
1310 $src_dir/src/amd/vulkan/radv_rt_common.c \
1311 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1312 $src_dir/src/amd/vulkan/radv_sampler.c \
1313 $src_dir/src/amd/vulkan/radv_sdma.c \
1314 $src_dir/src/amd/vulkan/radv_shader.c \
1315 $src_dir/src/amd/vulkan/radv_shader_args.c \
1316 $src_dir/src/amd/vulkan/radv_shader_info.c \
1317 $src_dir/src/amd/vulkan/radv_spm.c \
1318 $src_dir/src/amd/vulkan/radv_query.c \
1319 $src_dir/src/amd/vulkan/radv_video.c \
1320 $src_dir/src/amd/vulkan/radv_wsi.c \
1321 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1322 \
1323 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1324 \
1325 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1328 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1329 \
1330 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1332 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1333 \
1334 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1335 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1336 \
1337 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1338 "
1339
1340 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1341
1342 for f in $libvulkan_amd_common_files
1343 do
1344 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1345 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1346
1347 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1348 done
1349 libvulkan_amd_common_a="\
1350 $libvulkan_amd_common_a \
1351 $build_dir/xmlconfig.o"
1352 #===============================================================================
1353 # create the radeon vulkan driver
1354 soname=libvulkan_radeon.so
1355
1356 # XXX:the attempt to generalize without kludge the link stage of real programs
1357 # build is near a total and complete failure
1358 if test "${driver_link_cmd-unset}" = unset ; then
1359 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1360 -shared -static-libgcc -static-libstdc++ \
1361 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1362 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1363 -Wl,--whole-archive -Wl,--start-group \
1364 $libaco_a \
1365 $libvulkan_amd_common_a \
1366 $libvulkan_util_a \
1367 $libvulkan_runtime_a \
1368 $libvulkan_wsi_a \
1369 $libamd_common_a \
1370 $libamdgpu_addrlib_a \
1371 $libcompiler_a \
1372 $libnir_a \
1373 $libmesautil_a \
1374 -Wl,--end-group -Wl,--no-whole-archive \
1375 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1376 $zlib_ldflags \
1377 $expat_ldflags \
1378 $libelf_ldflags \
1379 -Wl,--as-needed \
1380 $libdrm_ldflags \
1381 $libdrm_amdgpu_ldflags \
1382 $libx11_ldflags \
1383 $libxrandr_ldflags \
1384 $libxrender_ldflags \
1385 $libxcb_ldflags \
1386 $libxshmfence_ldflags \
1387 -lpthread \
1388 -ldl \
1389 -Wl,--no-as-needed"
1390 fi
1391 wait
1392 eval $driver_link_cmd
1393 #===============================================================================
File builders/mesa-vulkan-amd-sh-0976dfeca29527c2175c6925d46cba84391910c3/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/generators.sh deleted (index 41cc43b..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 mkdir -p $build_dir/src/util
210
211 export PYTHONPATH=$mako
212 $python3 $src_dir/src/util/format_srgb.py \
213 >$build_dir/format_srgb.c
214
215 $python3 $src_dir/src/util/format/u_format_table.py \
216 $src_dir/src/util/format/u_format.csv \
217 >$build_dir/u_format_table.c
218
219 # wow, really?
220 mkdir -p $build_dir/src/util/format
221 $python3 $src_dir/src/util/format/u_format_table.py \
222 --header \
223 $src_dir/src/util/format/u_format.csv \
224 >$build_dir/src/util/format/u_format_pack.h
225
226 # oooof!
227 $python3 $src_dir/src/util/driconf_static.py \
228 $src_dir/src/util/00-mesa-defaults.conf \
229 $build_dir/src/util/driconf_static.h
230 unset PYTHONPATH
231 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
232 #===============================================================================
233 # amd vulkan
234 export PYTHONPATH=$mako
235 #------------------------------------------------------------------------------
236 # specific API to work around _still maintained at the time of writing _ game
237 # executable... this is the beginning of the end...
238 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
239 --beta false \
240 --xml $vulkan_api_xml \
241 --proto --weak \
242 --out-h radv_entrypoints.h \
243 --out-c radv_entrypoints.c \
244 --prefix radv \
245 --device-prefix metro_exodus \
246 --device-prefix rage2 &
247 #------------------------------------------------------------------------------
248 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
249 # --xml $vulkan_api_xml \
250 # --out-c radv_extensions.c \
251 # --out-h radv_extensions.h &
252 #------------------------------------------------------------------------------
253 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
254 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
255 # >$build_dir/vk_format_table.c &
256 #------------------------------------------------------------------------------
257 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
258 $src_dir/src/util/format/u_format.csv \
259 $src_dir/src/amd/registers/gfx10-rsrc.json \
260 $src_dir/src/amd/registers/gfx11-rsrc.json \
261 >$build_dir/gfx10_format_table.c &
262 #------------------------------------------------------------------------------
263 git_sha1=no_git_sha1_available
264 if test -d $src_dir/.git; then
265 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
266 fi
267 echo git_sha1=$git_sha1
268 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
269 unset PYTHONPATH
270 #===============================================================================
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index a8066af..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_parse_ib.c \
621 $src_dir/src/amd/common/ac_perfcounter.c \
622 $src_dir/src/amd/common/ac_shader_args.c \
623 $src_dir/src/amd/common/ac_shader_util.c \
624 $src_dir/src/amd/common/ac_shadowed_regs.c \
625 $src_dir/src/amd/common/ac_rgp.c \
626 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
627 $src_dir/src/amd/common/ac_rtld.c \
628 $src_dir/src/amd/common/ac_spm.c \
629 "
630 for f in $libamd_common_c_files
631 do
632 libamd_common_c_obj=$build_dir/$(basename $f .c).o
633 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
634
635 $cc $cppflags $f -o $libamd_common_c_obj &
636 done
637 #===============================================================================
638 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
639 cppflags="\
640 $cppflags_common \
641 -DLITTLEENDIAN_CPU \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
644 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
645 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
646 -I$src_dir/src/amd/addrlib/inc \
647 -I$src_dir/src/amd/addrlib/src/core \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
650 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
651 -I$src_dir/src/amd/addrlib/src/chip/r800 \
652 -I$src_dir/src/amd/addrlib/src \
653 -I$src_dir/src \
654 -I$src_dir/include \
655 "
656 libamdgpu_addrlib_files="\
657 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
662 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
663 $src_dir/src/amd/addrlib/src/core/coord.cpp \
664 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
669 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
670 "
671 for f in $libamdgpu_addrlib_files
672 do
673 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
674 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
675
676 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
677 done
678 #===============================================================================
679 # libcompiler required by libnir
680 cppflags="\
681 $cppflags_common \
682 -I$build_dir \
683 -I$src_dir/src/compiler \
684 -I$src_dir/src/gallium/auxiliary \
685 -I$src_dir/src/gallium/include \
686 -I$src_dir/src/mesa \
687 -I$src_dir/src \
688 -I$src_dir/include \
689 "
690 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
691 -o $build_dir/glsl_types.o &
692 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
693 -o $build_dir/nir_types.o &
694 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
695 -o $build_dir/shader_enums.o &
696 $cc $cppflags $build_dir/builtin_types.c \
697 -o $build_dir/builtin_types.o &
698 libcompiler_a="\
699 $build_dir/glsl_types.o \
700 $build_dir/nir_types.o \
701 $build_dir/shader_enums.o \
702 $build_dir/builtin_types.o \
703 "
704 #===============================================================================
705 # libnir
706 cppflags="\
707 $cppflags_common \
708 -I$build_dir \
709 -I$src_dir/src/compiler/spirv \
710 -I$src_dir/src/compiler/nir \
711 -I$src_dir/src/compiler \
712 -I$src_dir/src/gallium/auxiliary \
713 -I$src_dir/src/gallium/include \
714 -I$src_dir/src/mesa \
715 -I$src_dir/src \
716 -I$src_dir/include \
717 $xorgproto_cppflags \
718 $libxcb_cppflags \
719 $libx11_cppflags \
720 $libxrender_cppflags \
721 $libxrandr_cppflags \
722 "
723 libnir_files="\
724 $build_dir/spirv_info.c \
725 $build_dir/vtn_gather_types.c \
726 $build_dir/nir_intrinsics.c \
727 $build_dir/nir_opcodes.c \
728 $build_dir/nir_opt_algebraic.c \
729 $build_dir/nir_constant_expressions.c \
730 \
731 $src_dir/src/compiler/spirv/gl_spirv.c \
732 $src_dir/src/compiler/spirv/spirv_to_nir.c \
733 $src_dir/src/compiler/spirv/vtn_alu.c \
734 $src_dir/src/compiler/spirv/vtn_amd.c \
735 $src_dir/src/compiler/spirv/vtn_cfg.c \
736 $src_dir/src/compiler/spirv/vtn_glsl450.c \
737 $src_dir/contrib/vtn_opencl.c \
738 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
739 $src_dir/src/compiler/spirv/vtn_subgroup.c \
740 $src_dir/src/compiler/spirv/vtn_variables.c \
741 \
742 $src_dir/src/compiler/nir/nir.c \
743 $src_dir/src/compiler/nir/nir_builder.c \
744 $src_dir/src/compiler/nir/nir_builtin_builder.c \
745 $src_dir/src/compiler/nir/nir_clone.c \
746 $src_dir/src/compiler/nir/nir_control_flow.c \
747 $src_dir/src/compiler/nir/nir_deref.c \
748 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
749 $src_dir/src/compiler/nir/nir_dominance.c \
750 $src_dir/src/compiler/nir/nir_from_ssa.c \
751 $src_dir/src/compiler/nir/nir_gather_info.c \
752 $src_dir/src/compiler/nir/nir_gather_types.c \
753 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
754 $src_dir/src/compiler/nir/nir_group_loads.c \
755 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
756 $src_dir/src/compiler/nir/nir_functions.c \
757 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
758 $src_dir/src/compiler/nir/nir_instr_set.c \
759 $src_dir/src/compiler/nir/nir_legacy.c \
760 $src_dir/src/compiler/nir/nir_linking_helpers.c \
761 $src_dir/src/compiler/nir/nir_liveness.c \
762 $src_dir/src/compiler/nir/nir_loop_analyze.c \
763 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
764 $src_dir/src/compiler/nir/nir_lower_alu.c \
765 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
766 $src_dir/src/compiler/nir/nir_lower_amul.c \
767 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
768 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
769 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
770 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
771 $src_dir/src/compiler/nir/nir_lower_blend.c \
772 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
773 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
774 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
775 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
776 $src_dir/src/compiler/nir/nir_lower_clip.c \
777 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
778 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
779 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
780 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
781 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
782 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
783 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
784 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
785 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
786 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
787 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
788 $src_dir/src/compiler/nir/nir_lower_flrp.c \
789 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
790 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
791 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
792 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
793 $src_dir/src/compiler/nir/nir_lower_frexp.c \
794 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
795 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
796 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
797 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
798 $src_dir/src/compiler/nir/nir_lower_idiv.c \
799 $src_dir/src/compiler/nir/nir_lower_image.c \
800 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
801 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
802 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
803 $src_dir/src/compiler/nir/nir_lower_int64.c \
804 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
805 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
806 $src_dir/src/compiler/nir/nir_lower_io.c \
807 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
808 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
809 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
810 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
811 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
812 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
813 $src_dir/src/compiler/nir/nir_lower_mediump.c \
814 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
815 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
816 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
817 $src_dir/src/compiler/nir/nir_lower_multiview.c \
818 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
819 $src_dir/src/compiler/nir/nir_lower_packing.c \
820 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
821 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
822 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
823 $src_dir/src/compiler/nir/nir_lower_point_size.c \
824 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
825 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
826 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
827 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
828 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
829 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
830 $src_dir/src/compiler/nir/nir_lower_returns.c \
831 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
832 $src_dir/src/compiler/nir/nir_lower_samplers.c \
833 $src_dir/src/compiler/nir/nir_lower_scratch.c \
834 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
835 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
836 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
837 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
838 $src_dir/src/compiler/nir/nir_lower_system_values.c \
839 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
840 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
841 $src_dir/src/compiler/nir/nir_lower_tex.c \
842 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
843 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
844 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
845 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
846 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
847 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
848 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
849 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
850 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
851 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
852 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
853 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
854 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
855 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
856 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
857 $src_dir/src/compiler/nir/nir_metadata.c \
858 $src_dir/src/compiler/nir/nir_mod_analysis.c \
859 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
860 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
861 $src_dir/src/compiler/nir/nir_opt_access.c \
862 $src_dir/src/compiler/nir/nir_opt_barriers.c \
863 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
864 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
865 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
866 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
867 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
868 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
869 $src_dir/src/compiler/nir/nir_opt_cse.c \
870 $src_dir/src/compiler/nir/nir_opt_dce.c \
871 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
872 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
873 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
874 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
875 $src_dir/src/compiler/nir/nir_opt_gcm.c \
876 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
877 $src_dir/src/compiler/nir/nir_opt_if.c \
878 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
879 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
880 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
881 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
882 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
883 $src_dir/src/compiler/nir/nir_opt_move.c \
884 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
885 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
886 $src_dir/src/compiler/nir/nir_opt_offsets.c \
887 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
888 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
889 $src_dir/src/compiler/nir/nir_opt_preamble.c \
890 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
891 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
892 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
893 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
894 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
895 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
896 $src_dir/src/compiler/nir/nir_opt_sink.c \
897 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
898 $src_dir/src/compiler/nir/nir_opt_undef.c \
899 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
900 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
901 $src_dir/src/compiler/nir/nir_phi_builder.c \
902 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
903 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
904 $src_dir/src/compiler/nir/nir_print.c \
905 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
906 $src_dir/src/compiler/nir/nir_range_analysis.c \
907 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
908 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
909 $src_dir/src/compiler/nir/nir_repair_ssa.c \
910 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
911 $src_dir/src/compiler/nir/nir_schedule.c \
912 $src_dir/src/compiler/nir/nir_search.c \
913 $src_dir/src/compiler/nir/nir_serialize.c \
914 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
915 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
916 $src_dir/src/compiler/nir/nir_split_var_copies.c \
917 $src_dir/src/compiler/nir/nir_split_vars.c \
918 $src_dir/src/compiler/nir/nir_sweep.c \
919 $src_dir/src/compiler/nir/nir_to_lcssa.c \
920 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
921 $src_dir/src/compiler/nir/nir_validate.c \
922 $src_dir/src/compiler/nir/nir_worklist.c \
923 "
924 for f in $libnir_files
925 do
926 libnir_obj=$build_dir/$(basename $f .c).o
927 libnir_a="$libnir_a $libnir_obj"
928
929 $cc $cppflags $f -o $libnir_obj &
930 done
931 #===============================================================================
932 # libaco
933 # we don't use cppflags_common for aco because the code is not yet
934 # compatible
935 cppflags="\
936 $gcc_builtins_cppflags \
937 $gcc_attributes_cppflags \
938 $linux_glibc_cppflags \
939 $mesa_cppflags \
940 -I$build_dir \
941 -I$src_dir/src/amd/compiler \
942 -I$src_dir/src/amd/vulkan \
943 -I$build_dir/src/amd/common \
944 -I$src_dir/src/amd/common \
945 -I$build_dir/src/amd \
946 -I$src_dir/src/amd \
947 -I$src_dir/src/compiler/nir \
948 -I$src_dir/src/compiler \
949 -I$src_dir/src/mesa \
950 -I$src_dir/src/gallium/include \
951 -I$src_dir/src \
952 -I$src_dir/include \
953 "
954 libaco_files="\
955 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
956 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
957 $src_dir/src/amd/compiler/aco_dominance.cpp \
958 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
959 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
960 $src_dir/src/amd/compiler/aco_interface.cpp \
961 $src_dir/src/amd/compiler/aco_assembler.cpp \
962 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
963 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
964 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
965 $src_dir/src/amd/compiler/aco_ir.cpp \
966 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
967 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
968 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
969 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
970 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
971 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
972 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
973 $build_dir/aco_opcodes.cpp \
974 $src_dir/src/amd/compiler/aco_optimizer.cpp \
975 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
976 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
977 $src_dir/src/amd/compiler/aco_print_asm.cpp \
978 $src_dir/src/amd/compiler/aco_print_ir.cpp \
979 $src_dir/src/amd/compiler/aco_scheduler.cpp \
980 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
981 $src_dir/src/amd/compiler/aco_spill.cpp \
982 $src_dir/src/amd/compiler/aco_statistics.cpp \
983 $src_dir/src/amd/compiler/aco_validate.cpp \
984 "
985 for f in $libaco_files
986 do
987 libaco_obj=$build_dir/$(basename $f .c).o
988 libaco_a="$libaco_a $libaco_obj"
989
990 $cxx $cppflags $f -o $libaco_obj &
991 done
992 #===============================================================================
993 # libmesautils
994 cppflags="\
995 $cppflags_common \
996 -I$build_dir/src/util/format \
997 -I$build_dir/src \
998 -I$build_dir \
999 -I$src_dir/src/gallium/auxiliary \
1000 -I$src_dir/src/gallium/include \
1001 -I$src_dir/src/mesa \
1002 -I$src_dir/src/util/blake3 \
1003 -I$src_dir/src/util/format \
1004 -I$src_dir/src/util \
1005 -I$src_dir/src \
1006 -I$src_dir/include \
1007 $zlib_cppflags \
1008 "
1009 libmesautil_files="\
1010 $build_dir/format_srgb.c \
1011 $build_dir/u_format_table.c \
1012 $src_dir/src/util/anon_file.c \
1013 $src_dir/src/util/bitscan.c \
1014 $src_dir/src/util/blake3/blake3.c \
1015 $src_dir/src/util/blake3/blake3_dispatch.c \
1016 $src_dir/src/util/blake3/blake3_portable.c \
1017 $src_dir/src/util/blob.c \
1018 $src_dir/src/util/build_id.c \
1019 $src_dir/src/util/compress.c \
1020 $src_dir/src/util/crc32.c \
1021 $src_dir/src/util/dag.c \
1022 $src_dir/src/util/disk_cache.c \
1023 $src_dir/src/util/disk_cache_os.c \
1024 $src_dir/src/util/double.c \
1025 $src_dir/src/util/fast_idiv_by_const.c \
1026 $src_dir/src/util/fossilize_db.c \
1027 $src_dir/src/util/futex.c \
1028 $src_dir/src/util/half_float.c \
1029 $src_dir/src/util/hash_table.c \
1030 $src_dir/src/util/log.c \
1031 $src_dir/src/util/mesa-blake3.c \
1032 $src_dir/src/util/mesa-sha1.c \
1033 $src_dir/src/util/mesa_cache_db.c \
1034 $src_dir/src/util/mesa_cache_db_multipart.c \
1035 $src_dir/src/util/memstream.c \
1036 $src_dir/src/util/os_file.c \
1037 $src_dir/src/util/os_memory_fd.c \
1038 $src_dir/src/util/os_misc.c \
1039 $src_dir/src/util/os_socket.c \
1040 $src_dir/src/util/os_time.c \
1041 $src_dir/src/util/sha1/sha1.c \
1042 $src_dir/src/util/ralloc.c \
1043 $src_dir/src/util/rand_xor.c \
1044 $src_dir/src/util/rb_tree.c \
1045 $src_dir/src/util/register_allocate.c \
1046 $src_dir/src/util/rgtc.c \
1047 $src_dir/src/util/rwlock.c \
1048 $src_dir/src/util/set.c \
1049 $src_dir/src/util/simple_mtx.c \
1050 $src_dir/src/util/slab.c \
1051 $src_dir/src/util/softfloat.c \
1052 $src_dir/src/util/sparse_array.c \
1053 $src_dir/src/util/string_buffer.c \
1054 $src_dir/src/util/strtod.c \
1055 $src_dir/src/util/u_atomic.c \
1056 $src_dir/src/util/u_call_once.c \
1057 $src_dir/src/util/u_cpu_detect.c \
1058 $src_dir/src/util/u_debug.c \
1059 $src_dir/src/util/u_debug_stack.c \
1060 $src_dir/src/util/u_debug_symbol.c \
1061 $src_dir/src/util/u_dl.c \
1062 $src_dir/src/util/u_dynarray.c \
1063 $src_dir/src/util/u_hash_table.c \
1064 $src_dir/src/util/u_printf.c \
1065 $src_dir/src/util/format/u_format.c \
1066 $src_dir/src/util/format/u_format_bptc.c \
1067 $src_dir/src/util/format/u_format_etc.c \
1068 $src_dir/src/util/format/u_format_fxt1.c \
1069 $src_dir/src/util/format/u_format_latc.c \
1070 $src_dir/src/util/format/u_format_other.c \
1071 $src_dir/src/util/format/u_format_rgtc.c \
1072 $src_dir/src/util/format/u_format_s3tc.c \
1073 $src_dir/src/util/format/u_format_tests.c \
1074 $src_dir/src/util/format/u_format_yuv.c \
1075 $src_dir/src/util/format/u_format_zs.c \
1076 $src_dir/src/util/u_idalloc.c \
1077 $src_dir/src/util/u_math.c \
1078 $src_dir/src/util/u_mm.c \
1079 $src_dir/src/util/u_process.c \
1080 $src_dir/src/util/u_queue.c \
1081 $src_dir/src/util/u_thread.c \
1082 $src_dir/src/util/u_vector.c \
1083 $src_dir/src/util/u_worklist.c \
1084 $src_dir/src/util/vma.c \
1085 $src_dir/src/util/vl_zscan_data.c \
1086 \
1087 $src_dir/src/c11/impl/time.c \
1088 $src_dir/src/c11/impl/threads_posix.c \
1089 "
1090 for f in $libmesautil_files
1091 do
1092 libmesautil_obj=$build_dir/$(basename $f .c).o
1093 libmesautil_a="$libmesautil_a $libmesautil_obj"
1094
1095 $cc $cppflags $f -o $libmesautil_obj &
1096 done
1097 #-------------------------------------------------------------------------------
1098 # The following is for the ultra complex blake3 hash algorithm.
1099 libmesautil_asm_files="\
1100 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1101 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1102 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1103 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1104 "
1105 for f in $libmesautil_asm_files
1106 do
1107 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1108 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1109 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1110
1111 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1112 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1113 done
1114 #===============================================================================
1115 # amd vulkan
1116 cppflags="\
1117 $cppflags_common \
1118 -DPACKAGE_VERSION=\"$version\" \
1119 -I$build_dir/vulkan/util \
1120 -I$build_dir/src/util \
1121 -I$build_dir \
1122 -I$src_dir/src/amd/compiler \
1123 -I$build_dir/src/amd/common \
1124 -I$src_dir/src/amd/common \
1125 -I$src_dir/src/amd/vulkan/nir \
1126 -I$src_dir/src/amd/vulkan/meta \
1127 -I$src_dir/src/amd/vulkan \
1128 -I$src_dir/src/amd \
1129 -I$src_dir/src/gallium/auxiliary \
1130 -I$src_dir/src/gallium/include \
1131 -I$src_dir/src/vulkan/util \
1132 -I$src_dir/src/vulkan/runtime \
1133 -I$src_dir/src/vulkan/wsi \
1134 -I$src_dir/src/util \
1135 -I$src_dir/src/mesa \
1136 -I$src_dir/src/compiler/nir \
1137 -I$src_dir/src/compiler \
1138 -I$src_dir/src \
1139 -I$src_dir/include \
1140 $libdrm_cppflags \
1141 $libdrm_amdgpu_cppflags \
1142 $libx11_cppflags \
1143 $libxrandr_cppflags \
1144 $libxrender_cppflags \
1145 $libxcb_cppflags \
1146 $xorgproto_cppflags \
1147 $libxshmfence_cppflags \
1148 "
1149 #$build_dir/radv_extensions.c
1150 #$build_dir/vk_format_table.c
1151 # XXX: remove rt for now
1152 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1153 libvulkan_amd_common_files="\
1154 $src_dir/src/amd/vulkan/radv_android.c \
1155 $src_dir/src/amd/vulkan/radv_buffer.c \
1156 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1157 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1158 $src_dir/src/amd/vulkan/radv_debug.c \
1159 $build_dir/src/amd/vulkan/radv_device.c \
1160 $src_dir/src/amd/vulkan/radv_device_memory.c \
1161 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1162 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1163 $src_dir/src/amd/vulkan/radv_event.c \
1164 $src_dir/src/amd/vulkan/radv_formats.c \
1165 $src_dir/src/amd/vulkan/radv_image.c \
1166 $src_dir/src/amd/vulkan/radv_instance.c \
1167 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1176 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1177 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1178 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1179 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1180 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1181 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1182 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1183 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1184 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1189 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1190 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1191 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1192 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1193 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1194 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1195 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1196 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1197 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1198 $src_dir/src/amd/vulkan/radv_physical_device.c \
1199 $src_dir/src/amd/vulkan/radv_pipeline.c \
1200 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1201 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1202 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1203 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1204 $src_dir/src/amd/vulkan/radv_queue.c \
1205 $src_dir/src/amd/vulkan/radv_rt_common.c \
1206 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1207 $src_dir/src/amd/vulkan/radv_sampler.c \
1208 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1209 $src_dir/src/amd/vulkan/radv_shader.c \
1210 $src_dir/src/amd/vulkan/radv_shader_args.c \
1211 $src_dir/src/amd/vulkan/radv_shader_info.c \
1212 $src_dir/src/amd/vulkan/radv_spm.c \
1213 $src_dir/src/amd/vulkan/radv_query.c \
1214 $src_dir/src/amd/vulkan/radv_video.c \
1215 $src_dir/src/amd/vulkan/radv_wsi.c \
1216 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1217 \
1218 $build_dir/gfx10_format_table.c \
1219 \
1220 $build_dir/radv_entrypoints.c \
1221 \
1222 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1223 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1224 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1225 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1226 \
1227 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1228 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1229 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1230 \
1231 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1232 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1233 \
1234 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1235 "
1236
1237 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1238
1239 for f in $libvulkan_amd_common_files
1240 do
1241 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1242 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1243
1244 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1245 done
1246 libvulkan_amd_common_a="\
1247 $libvulkan_amd_common_a \
1248 $build_dir/xmlconfig.o"
1249 #===============================================================================
1250 # create the radeon vulkan driver
1251 soname=libvulkan_radeon.so
1252
1253 # XXX:the attempt to generalize without kludge the link stage of real programs
1254 # build is near a total and complete failure
1255 if test "${driver_link_cmd-unset}" = unset ; then
1256 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1257 -shared -static-libgcc -static-libstdc++ \
1258 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1259 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1260 -Wl,--whole-archive -Wl,--start-group \
1261 $libaco_a \
1262 $libvulkan_amd_common_a \
1263 $libvulkan_util_a \
1264 $libvulkan_runtime_a \
1265 $libvulkan_wsi_a \
1266 $libamd_common_a \
1267 $libamdgpu_addrlib_a \
1268 $libcompiler_a \
1269 $libnir_a \
1270 $libmesautil_a \
1271 -Wl,--end-group -Wl,--no-whole-archive \
1272 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1273 $zlib_ldflags \
1274 $expat_ldflags \
1275 $libelf_ldflags \
1276 -Wl,--as-needed \
1277 $libdrm_ldflags \
1278 $libdrm_amdgpu_ldflags \
1279 $libx11_ldflags \
1280 $libxrandr_ldflags \
1281 $libxrender_ldflags \
1282 $libxcb_ldflags \
1283 $libxshmfence_ldflags \
1284 -lpthread \
1285 -ldl \
1286 -Wl,--no-as-needed"
1287 fi
1288 wait
1289 eval $driver_link_cmd
1290 #===============================================================================
File builders/mesa-vulkan-amd-sh-17dfbc25d237c334120d66387fc466ab6d3451c1/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/generators.sh deleted (index 9e94a8c..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
157 >$build_dir/ir_expression_operation.h &
158 unset PYTHONPATH
159 #===============================================================================
160 # libnir
161 export PYTHONPATH=$mako
162 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
163 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
164 $build_dir/spirv_info.c &
165
166 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
167 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
168 $build_dir/vtn_gather_types.c &
169
170 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
171 $src_dir/src/compiler/spirv/spir-v.xml \
172 $build_dir/vtn_generator_ids.h &
173 # nir generated files
174 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
175 >$build_dir/nir_constant_expressions.c &
176
177 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
178 >$build_dir/nir_opt_algebraic.c &
179
180 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
181 >$build_dir/nir_opcodes.c &
182
183 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
184 --outdir $build_dir &
185 unset PYTHONPATH
186 #===============================================================================
187 # libaco
188 export PYTHONPATH=$mako
189 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
190 >$build_dir/aco_opcodes.h &
191 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
192 >$build_dir/aco_opcodes.cpp &
193 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
194 >$build_dir/aco_builder.h &
195 unset PYTHONPATH
196 #===============================================================================
197 # libmesautils
198 mkdir -p $build_dir/src/util
199
200 export PYTHONPATH=$mako
201 $python3 $src_dir/src/util/format_srgb.py \
202 >$build_dir/format_srgb.c
203
204 $python3 $src_dir/src/util/format/u_format_table.py \
205 $src_dir/src/util/format/u_format.csv \
206 >$build_dir/u_format_table.c
207
208 # wow, really?
209 mkdir -p $build_dir/src/util/format
210 $python3 $src_dir/src/util/format/u_format_table.py \
211 --header \
212 $src_dir/src/util/format/u_format.csv \
213 >$build_dir/src/util/format/u_format_pack.h
214
215 # oooof!
216 $python3 $src_dir/src/util/driconf_static.py \
217 $src_dir/src/util/00-mesa-defaults.conf \
218 $build_dir/src/util/driconf_static.h
219 unset PYTHONPATH
220 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
221 #===============================================================================
222 # amd vulkan
223 export PYTHONPATH=$mako
224 #------------------------------------------------------------------------------
225 # specific API to work around _still maintained at the time of writing _ game
226 # executable... this is the beginning of the end...
227 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
228 --beta false \
229 --xml $vulkan_api_xml \
230 --proto --weak \
231 --out-h radv_entrypoints.h \
232 --out-c radv_entrypoints.c \
233 --prefix radv \
234 --device-prefix metro_exodus \
235 --device-prefix rage2 &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
238 # --xml $vulkan_api_xml \
239 # --out-c radv_extensions.c \
240 # --out-h radv_extensions.h &
241 #------------------------------------------------------------------------------
242 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
243 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
244 # >$build_dir/vk_format_table.c &
245 #------------------------------------------------------------------------------
246 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
247 $src_dir/src/util/format/u_format.csv \
248 $src_dir/src/amd/registers/gfx10-rsrc.json \
249 $src_dir/src/amd/registers/gfx11-rsrc.json \
250 >$build_dir/gfx10_format_table.c &
251 #------------------------------------------------------------------------------
252 git_sha1=no_git_sha1_available
253 if test -d $src_dir/.git; then
254 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
255 fi
256 echo git_sha1=$git_sha1
257 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
258 unset PYTHONPATH
259 #===============================================================================
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 68a1d2c..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_parse_ib.c \
621 $src_dir/src/amd/common/ac_perfcounter.c \
622 $src_dir/src/amd/common/ac_shader_args.c \
623 $src_dir/src/amd/common/ac_shader_util.c \
624 $src_dir/src/amd/common/ac_shadowed_regs.c \
625 $src_dir/src/amd/common/ac_rgp.c \
626 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
627 $src_dir/src/amd/common/ac_rtld.c \
628 $src_dir/src/amd/common/ac_spm.c \
629 "
630 for f in $libamd_common_c_files
631 do
632 libamd_common_c_obj=$build_dir/$(basename $f .c).o
633 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
634
635 $cc $cppflags $f -o $libamd_common_c_obj &
636 done
637 #===============================================================================
638 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
639 cppflags="\
640 $cppflags_common \
641 -DLITTLEENDIAN_CPU \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
644 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
645 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
646 -I$src_dir/src/amd/addrlib/inc \
647 -I$src_dir/src/amd/addrlib/src/core \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
650 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
651 -I$src_dir/src/amd/addrlib/src/chip/r800 \
652 -I$src_dir/src/amd/addrlib/src \
653 -I$src_dir/src \
654 -I$src_dir/include \
655 "
656 libamdgpu_addrlib_files="\
657 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
662 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
663 $src_dir/src/amd/addrlib/src/core/coord.cpp \
664 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
669 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
670 "
671 for f in $libamdgpu_addrlib_files
672 do
673 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
674 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
675
676 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
677 done
678 #===============================================================================
679 # libcompiler required by libnir
680 cppflags="\
681 $cppflags_common \
682 -I$build_dir \
683 -I$src_dir/src/gallium/auxiliary \
684 -I$src_dir/src/gallium/include \
685 -I$src_dir/src/mesa \
686 -I$src_dir/src \
687 -I$src_dir/include \
688 "
689 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
690 -o $build_dir/glsl_types.o &
691 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
692 -o $build_dir/nir_types.o &
693 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
694 -o $build_dir/shader_enums.o &
695 libcompiler_a="\
696 $build_dir/glsl_types.o \
697 $build_dir/nir_types.o \
698 $build_dir/shader_enums.o \
699 "
700 #===============================================================================
701 # libnir
702 cppflags="\
703 $cppflags_common \
704 -I$build_dir \
705 -I$src_dir/src/compiler/spirv \
706 -I$src_dir/src/compiler/nir \
707 -I$src_dir/src/compiler \
708 -I$src_dir/src/gallium/auxiliary \
709 -I$src_dir/src/gallium/include \
710 -I$src_dir/src/mesa \
711 -I$src_dir/src \
712 -I$src_dir/include \
713 $xorgproto_cppflags \
714 $libxcb_cppflags \
715 $libx11_cppflags \
716 $libxrender_cppflags \
717 $libxrandr_cppflags \
718 "
719 libnir_files="\
720 $build_dir/spirv_info.c \
721 $build_dir/vtn_gather_types.c \
722 $build_dir/nir_intrinsics.c \
723 $build_dir/nir_opcodes.c \
724 $build_dir/nir_opt_algebraic.c \
725 $build_dir/nir_constant_expressions.c \
726 \
727 $src_dir/src/compiler/spirv/gl_spirv.c \
728 $src_dir/src/compiler/spirv/spirv_to_nir.c \
729 $src_dir/src/compiler/spirv/vtn_alu.c \
730 $src_dir/src/compiler/spirv/vtn_amd.c \
731 $src_dir/src/compiler/spirv/vtn_cfg.c \
732 $src_dir/src/compiler/spirv/vtn_glsl450.c \
733 $src_dir/contrib/vtn_opencl.c \
734 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
735 $src_dir/src/compiler/spirv/vtn_subgroup.c \
736 $src_dir/src/compiler/spirv/vtn_variables.c \
737 \
738 $src_dir/src/compiler/nir/nir.c \
739 $src_dir/src/compiler/nir/nir_builder.c \
740 $src_dir/src/compiler/nir/nir_builtin_builder.c \
741 $src_dir/src/compiler/nir/nir_clone.c \
742 $src_dir/src/compiler/nir/nir_control_flow.c \
743 $src_dir/src/compiler/nir/nir_deref.c \
744 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
745 $src_dir/src/compiler/nir/nir_dominance.c \
746 $src_dir/src/compiler/nir/nir_from_ssa.c \
747 $src_dir/src/compiler/nir/nir_gather_info.c \
748 $src_dir/src/compiler/nir/nir_gather_types.c \
749 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
750 $src_dir/src/compiler/nir/nir_group_loads.c \
751 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
752 $src_dir/src/compiler/nir/nir_inline_functions.c \
753 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
754 $src_dir/src/compiler/nir/nir_instr_set.c \
755 $src_dir/src/compiler/nir/nir_legacy.c \
756 $src_dir/src/compiler/nir/nir_linking_helpers.c \
757 $src_dir/src/compiler/nir/nir_liveness.c \
758 $src_dir/src/compiler/nir/nir_loop_analyze.c \
759 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
760 $src_dir/src/compiler/nir/nir_lower_alu.c \
761 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
762 $src_dir/src/compiler/nir/nir_lower_amul.c \
763 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
764 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
765 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
766 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
767 $src_dir/src/compiler/nir/nir_lower_blend.c \
768 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
769 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
770 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
771 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
772 $src_dir/src/compiler/nir/nir_lower_clip.c \
773 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
774 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
775 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
776 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
777 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
778 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
779 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
780 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
781 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
782 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
783 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
784 $src_dir/src/compiler/nir/nir_lower_flrp.c \
785 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
786 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
787 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
788 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
789 $src_dir/src/compiler/nir/nir_lower_frexp.c \
790 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
791 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
792 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
793 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
794 $src_dir/src/compiler/nir/nir_lower_idiv.c \
795 $src_dir/src/compiler/nir/nir_lower_image.c \
796 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
797 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
798 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
799 $src_dir/src/compiler/nir/nir_lower_int64.c \
800 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
801 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
802 $src_dir/src/compiler/nir/nir_lower_io.c \
803 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
804 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
805 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
806 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
807 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
808 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
809 $src_dir/src/compiler/nir/nir_lower_mediump.c \
810 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
811 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
812 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
813 $src_dir/src/compiler/nir/nir_lower_multiview.c \
814 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
815 $src_dir/src/compiler/nir/nir_lower_packing.c \
816 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
817 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
818 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
819 $src_dir/src/compiler/nir/nir_lower_point_size.c \
820 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
821 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
822 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
823 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
824 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
825 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
826 $src_dir/src/compiler/nir/nir_lower_returns.c \
827 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
828 $src_dir/src/compiler/nir/nir_lower_samplers.c \
829 $src_dir/src/compiler/nir/nir_lower_scratch.c \
830 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
831 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
832 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
833 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
834 $src_dir/src/compiler/nir/nir_lower_system_values.c \
835 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
836 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
837 $src_dir/src/compiler/nir/nir_lower_tex.c \
838 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
839 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
840 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
841 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
842 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
843 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
844 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
845 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
846 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
847 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
848 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
849 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
850 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
851 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
852 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
853 $src_dir/src/compiler/nir/nir_metadata.c \
854 $src_dir/src/compiler/nir/nir_mod_analysis.c \
855 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
856 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
857 $src_dir/src/compiler/nir/nir_opt_access.c \
858 $src_dir/src/compiler/nir/nir_opt_barriers.c \
859 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
860 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
861 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
862 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
863 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
864 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
865 $src_dir/src/compiler/nir/nir_opt_cse.c \
866 $src_dir/src/compiler/nir/nir_opt_dce.c \
867 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
868 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
869 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
870 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
871 $src_dir/src/compiler/nir/nir_opt_gcm.c \
872 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
873 $src_dir/src/compiler/nir/nir_opt_if.c \
874 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
875 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
876 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
877 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
878 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
879 $src_dir/src/compiler/nir/nir_opt_move.c \
880 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
881 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
882 $src_dir/src/compiler/nir/nir_opt_offsets.c \
883 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
884 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
885 $src_dir/src/compiler/nir/nir_opt_preamble.c \
886 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
887 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
888 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
889 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
890 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
891 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
892 $src_dir/src/compiler/nir/nir_opt_sink.c \
893 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
894 $src_dir/src/compiler/nir/nir_opt_undef.c \
895 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
896 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
897 $src_dir/src/compiler/nir/nir_phi_builder.c \
898 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
899 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
900 $src_dir/src/compiler/nir/nir_print.c \
901 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
902 $src_dir/src/compiler/nir/nir_range_analysis.c \
903 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
904 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
905 $src_dir/src/compiler/nir/nir_repair_ssa.c \
906 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
907 $src_dir/src/compiler/nir/nir_schedule.c \
908 $src_dir/src/compiler/nir/nir_search.c \
909 $src_dir/src/compiler/nir/nir_serialize.c \
910 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
911 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
912 $src_dir/src/compiler/nir/nir_split_var_copies.c \
913 $src_dir/src/compiler/nir/nir_split_vars.c \
914 $src_dir/src/compiler/nir/nir_sweep.c \
915 $src_dir/src/compiler/nir/nir_to_lcssa.c \
916 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
917 $src_dir/src/compiler/nir/nir_validate.c \
918 $src_dir/src/compiler/nir/nir_worklist.c \
919 "
920 for f in $libnir_files
921 do
922 libnir_obj=$build_dir/$(basename $f .c).o
923 libnir_a="$libnir_a $libnir_obj"
924
925 $cc $cppflags $f -o $libnir_obj &
926 done
927 #===============================================================================
928 # libaco
929 # we don't use cppflags_common for aco because the code is not yet
930 # compatible
931 cppflags="\
932 $gcc_builtins_cppflags \
933 $gcc_attributes_cppflags \
934 $linux_glibc_cppflags \
935 $mesa_cppflags \
936 -I$build_dir \
937 -I$src_dir/src/amd/compiler \
938 -I$src_dir/src/amd/vulkan \
939 -I$build_dir/src/amd/common \
940 -I$src_dir/src/amd/common \
941 -I$build_dir/src/amd \
942 -I$src_dir/src/amd \
943 -I$src_dir/src/compiler/nir \
944 -I$src_dir/src/compiler \
945 -I$src_dir/src/mesa \
946 -I$src_dir/src/gallium/include \
947 -I$src_dir/src \
948 -I$src_dir/include \
949 "
950 libaco_files="\
951 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
952 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
953 $src_dir/src/amd/compiler/aco_dominance.cpp \
954 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
955 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
956 $src_dir/src/amd/compiler/aco_interface.cpp \
957 $src_dir/src/amd/compiler/aco_assembler.cpp \
958 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
959 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
960 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
961 $src_dir/src/amd/compiler/aco_ir.cpp \
962 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
963 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
964 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
965 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
966 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
967 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
968 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
969 $build_dir/aco_opcodes.cpp \
970 $src_dir/src/amd/compiler/aco_optimizer.cpp \
971 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
972 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
973 $src_dir/src/amd/compiler/aco_print_asm.cpp \
974 $src_dir/src/amd/compiler/aco_print_ir.cpp \
975 $src_dir/src/amd/compiler/aco_scheduler.cpp \
976 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
977 $src_dir/src/amd/compiler/aco_spill.cpp \
978 $src_dir/src/amd/compiler/aco_statistics.cpp \
979 $src_dir/src/amd/compiler/aco_validate.cpp \
980 "
981 for f in $libaco_files
982 do
983 libaco_obj=$build_dir/$(basename $f .c).o
984 libaco_a="$libaco_a $libaco_obj"
985
986 $cxx $cppflags $f -o $libaco_obj &
987 done
988 #===============================================================================
989 # libmesautils
990 cppflags="\
991 $cppflags_common \
992 -I$build_dir/src/util/format \
993 -I$build_dir/src \
994 -I$build_dir \
995 -I$src_dir/src/gallium/auxiliary \
996 -I$src_dir/src/gallium/include \
997 -I$src_dir/src/mesa \
998 -I$src_dir/src/util/blake3 \
999 -I$src_dir/src/util/format \
1000 -I$src_dir/src/util \
1001 -I$src_dir/src \
1002 -I$src_dir/include \
1003 $zlib_cppflags \
1004 "
1005 libmesautil_files="\
1006 $build_dir/format_srgb.c \
1007 $build_dir/u_format_table.c \
1008 $src_dir/src/util/anon_file.c \
1009 $src_dir/src/util/bitscan.c \
1010 $src_dir/src/util/blake3/blake3.c \
1011 $src_dir/src/util/blake3/blake3_dispatch.c \
1012 $src_dir/src/util/blake3/blake3_portable.c \
1013 $src_dir/src/util/blob.c \
1014 $src_dir/src/util/build_id.c \
1015 $src_dir/src/util/compress.c \
1016 $src_dir/src/util/crc32.c \
1017 $src_dir/src/util/dag.c \
1018 $src_dir/src/util/disk_cache.c \
1019 $src_dir/src/util/disk_cache_os.c \
1020 $src_dir/src/util/double.c \
1021 $src_dir/src/util/fast_idiv_by_const.c \
1022 $src_dir/src/util/fossilize_db.c \
1023 $src_dir/src/util/futex.c \
1024 $src_dir/src/util/half_float.c \
1025 $src_dir/src/util/hash_table.c \
1026 $src_dir/src/util/log.c \
1027 $src_dir/src/util/mesa-blake3.c \
1028 $src_dir/src/util/mesa-sha1.c \
1029 $src_dir/src/util/mesa_cache_db.c \
1030 $src_dir/src/util/mesa_cache_db_multipart.c \
1031 $src_dir/src/util/memstream.c \
1032 $src_dir/src/util/os_file.c \
1033 $src_dir/src/util/os_memory_fd.c \
1034 $src_dir/src/util/os_misc.c \
1035 $src_dir/src/util/os_socket.c \
1036 $src_dir/src/util/os_time.c \
1037 $src_dir/src/util/sha1/sha1.c \
1038 $src_dir/src/util/ralloc.c \
1039 $src_dir/src/util/rand_xor.c \
1040 $src_dir/src/util/rb_tree.c \
1041 $src_dir/src/util/register_allocate.c \
1042 $src_dir/src/util/rgtc.c \
1043 $src_dir/src/util/rwlock.c \
1044 $src_dir/src/util/set.c \
1045 $src_dir/src/util/simple_mtx.c \
1046 $src_dir/src/util/slab.c \
1047 $src_dir/src/util/softfloat.c \
1048 $src_dir/src/util/sparse_array.c \
1049 $src_dir/src/util/string_buffer.c \
1050 $src_dir/src/util/strtod.c \
1051 $src_dir/src/util/u_atomic.c \
1052 $src_dir/src/util/u_call_once.c \
1053 $src_dir/src/util/u_cpu_detect.c \
1054 $src_dir/src/util/u_debug.c \
1055 $src_dir/src/util/u_debug_stack.c \
1056 $src_dir/src/util/u_debug_symbol.c \
1057 $src_dir/src/util/u_dl.c \
1058 $src_dir/src/util/u_dynarray.c \
1059 $src_dir/src/util/u_hash_table.c \
1060 $src_dir/src/util/u_printf.c \
1061 $src_dir/src/util/format/u_format.c \
1062 $src_dir/src/util/format/u_format_bptc.c \
1063 $src_dir/src/util/format/u_format_etc.c \
1064 $src_dir/src/util/format/u_format_fxt1.c \
1065 $src_dir/src/util/format/u_format_latc.c \
1066 $src_dir/src/util/format/u_format_other.c \
1067 $src_dir/src/util/format/u_format_rgtc.c \
1068 $src_dir/src/util/format/u_format_s3tc.c \
1069 $src_dir/src/util/format/u_format_tests.c \
1070 $src_dir/src/util/format/u_format_yuv.c \
1071 $src_dir/src/util/format/u_format_zs.c \
1072 $src_dir/src/util/u_idalloc.c \
1073 $src_dir/src/util/u_math.c \
1074 $src_dir/src/util/u_mm.c \
1075 $src_dir/src/util/u_process.c \
1076 $src_dir/src/util/u_queue.c \
1077 $src_dir/src/util/u_thread.c \
1078 $src_dir/src/util/u_vector.c \
1079 $src_dir/src/util/u_worklist.c \
1080 $src_dir/src/util/vma.c \
1081 $src_dir/src/util/vl_zscan_data.c \
1082 \
1083 $src_dir/src/c11/impl/time.c \
1084 $src_dir/src/c11/impl/threads_posix.c \
1085 "
1086 for f in $libmesautil_files
1087 do
1088 libmesautil_obj=$build_dir/$(basename $f .c).o
1089 libmesautil_a="$libmesautil_a $libmesautil_obj"
1090
1091 $cc $cppflags $f -o $libmesautil_obj &
1092 done
1093 #-------------------------------------------------------------------------------
1094 # The following is for the ultra complex blake3 hash algorithm.
1095 libmesautil_asm_files="\
1096 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1097 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1098 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1099 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1100 "
1101 for f in $libmesautil_asm_files
1102 do
1103 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1104 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1105 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1106
1107 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1108 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1109 done
1110 #===============================================================================
1111 # amd vulkan
1112 cppflags="\
1113 $cppflags_common \
1114 -DPACKAGE_VERSION=\"$version\" \
1115 -I$build_dir/vulkan/util \
1116 -I$build_dir/src/util \
1117 -I$build_dir \
1118 -I$src_dir/src/amd/compiler \
1119 -I$build_dir/src/amd/common \
1120 -I$src_dir/src/amd/common \
1121 -I$src_dir/src/amd/vulkan/nir \
1122 -I$src_dir/src/amd/vulkan/meta \
1123 -I$src_dir/src/amd/vulkan \
1124 -I$src_dir/src/amd \
1125 -I$src_dir/src/gallium/auxiliary \
1126 -I$src_dir/src/gallium/include \
1127 -I$src_dir/src/vulkan/util \
1128 -I$src_dir/src/vulkan/runtime \
1129 -I$src_dir/src/vulkan/wsi \
1130 -I$src_dir/src/util \
1131 -I$src_dir/src/mesa \
1132 -I$src_dir/src/compiler/nir \
1133 -I$src_dir/src/compiler \
1134 -I$src_dir/src \
1135 -I$src_dir/include \
1136 $libdrm_cppflags \
1137 $libdrm_amdgpu_cppflags \
1138 $libx11_cppflags \
1139 $libxrandr_cppflags \
1140 $libxrender_cppflags \
1141 $libxcb_cppflags \
1142 $xorgproto_cppflags \
1143 $libxshmfence_cppflags \
1144 "
1145 #$build_dir/radv_extensions.c
1146 #$build_dir/vk_format_table.c
1147 # XXX: remove rt for now
1148 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1149 libvulkan_amd_common_files="\
1150 $src_dir/src/amd/vulkan/radv_android.c \
1151 $src_dir/src/amd/vulkan/radv_buffer.c \
1152 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1153 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1154 $src_dir/src/amd/vulkan/radv_debug.c \
1155 $build_dir/src/amd/vulkan/radv_device.c \
1156 $src_dir/src/amd/vulkan/radv_device_memory.c \
1157 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1158 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1159 $src_dir/src/amd/vulkan/radv_event.c \
1160 $src_dir/src/amd/vulkan/radv_formats.c \
1161 $src_dir/src/amd/vulkan/radv_image.c \
1162 $src_dir/src/amd/vulkan/radv_instance.c \
1163 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1176 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1177 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1178 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1179 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1180 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1181 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1182 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1183 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1184 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1189 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1190 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1191 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1192 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1193 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1194 $src_dir/src/amd/vulkan/radv_physical_device.c \
1195 $src_dir/src/amd/vulkan/radv_pipeline.c \
1196 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1197 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1198 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1199 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1200 $src_dir/src/amd/vulkan/radv_queue.c \
1201 $src_dir/src/amd/vulkan/radv_rt_common.c \
1202 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1203 $src_dir/src/amd/vulkan/radv_sampler.c \
1204 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1205 $src_dir/src/amd/vulkan/radv_shader.c \
1206 $src_dir/src/amd/vulkan/radv_shader_args.c \
1207 $src_dir/src/amd/vulkan/radv_shader_info.c \
1208 $src_dir/src/amd/vulkan/radv_spm.c \
1209 $src_dir/src/amd/vulkan/radv_query.c \
1210 $src_dir/src/amd/vulkan/radv_video.c \
1211 $src_dir/src/amd/vulkan/radv_wsi.c \
1212 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1213 \
1214 $build_dir/gfx10_format_table.c \
1215 \
1216 $build_dir/radv_entrypoints.c \
1217 \
1218 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1219 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1220 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1221 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1222 \
1223 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1224 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1225 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1226 \
1227 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1228 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1229 \
1230 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1231 "
1232
1233 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1234
1235 for f in $libvulkan_amd_common_files
1236 do
1237 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1238 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1239
1240 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1241 done
1242 libvulkan_amd_common_a="\
1243 $libvulkan_amd_common_a \
1244 $build_dir/xmlconfig.o"
1245 #===============================================================================
1246 # create the radeon vulkan driver
1247 soname=libvulkan_radeon.so
1248
1249 # XXX:the attempt to generalize without kludge the link stage of real programs
1250 # build is near a total and complete failure
1251 if test "${driver_link_cmd-unset}" = unset ; then
1252 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1253 -shared -static-libgcc -static-libstdc++ \
1254 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1255 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1256 -Wl,--whole-archive -Wl,--start-group \
1257 $libaco_a \
1258 $libvulkan_amd_common_a \
1259 $libvulkan_util_a \
1260 $libvulkan_runtime_a \
1261 $libvulkan_wsi_a \
1262 $libamd_common_a \
1263 $libamdgpu_addrlib_a \
1264 $libcompiler_a \
1265 $libnir_a \
1266 $libmesautil_a \
1267 -Wl,--end-group -Wl,--no-whole-archive \
1268 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1269 $zlib_ldflags \
1270 $expat_ldflags \
1271 $libelf_ldflags \
1272 -Wl,--as-needed \
1273 $libdrm_ldflags \
1274 $libdrm_amdgpu_ldflags \
1275 $libx11_ldflags \
1276 $libxrandr_ldflags \
1277 $libxrender_ldflags \
1278 $libxcb_ldflags \
1279 $libxshmfence_ldflags \
1280 -lpthread \
1281 -ldl \
1282 -Wl,--no-as-needed"
1283 fi
1284 wait
1285 eval $driver_link_cmd
1286 #===============================================================================
File builders/mesa-vulkan-amd-sh-2ae94b38943f36cd02bddcf40d87063c676dcb4d/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/generators.sh deleted (index a56a3a7..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
18 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
19 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
20 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
21 #===============================================================================
22 # vulkan util
23 export PYTHONPATH=$mako
24 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
25 --beta false \
26 --xml $vulkan_api_xml \
27 --outdir $build_dir/src/vulkan/util
28
29 # our ndebug/release version
30 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
31 $build_dir/src/vulkan/util
32
33 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
34 --beta false \
35 --xml $vulkan_api_xml \
36 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
37 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
38
39 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
40 --xml $vulkan_api_xml \
41 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
42 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
43
44 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
45 --beta false \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir/src/vulkan/util &
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/src/compiler/nir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir/src/compiler/nir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir/src/compiler/nir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --beta false \
66 --xml $vulkan_api_xml \
67 --proto --weak \
68 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
69 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
70 --prefix vk_common &
71 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
72 --beta false \
73 --xml $vulkan_api_xml \
74 --proto --weak \
75 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
76 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
77 --prefix vk_cmd_enqueue &
78 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
79 --beta false \
80 --xml $vulkan_api_xml \
81 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
82 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
83 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
84 --beta false \
85 --xml $vulkan_api_xml \
86 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
87 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
88 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
89 --beta false \
90 --xml $vulkan_api_xml \
91 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
92 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
93 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
94 --beta false \
95 --xml $vulkan_api_xml \
96 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
97 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
98 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
99 --xml $vulkan_api_xml \
100 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
101 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
102 unset PYTHONPATH
103 #===============================================================================
104 # wsi x11 (Window System Interface)
105 export PYTHONPATH=$mako
106 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
107 --beta false \
108 --xml $vulkan_api_xml \
109 --proto --weak \
110 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
111 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
112 --prefix wsi &
113 unset PYTHONPATH
114 #===============================================================================
115 # amd common archive
116 $python3 $src_dir/src/amd/common/sid_tables.py \
117 $src_dir/src/amd/common/sid.h \
118 $src_dir/src/amd/registers/gfx6.json \
119 $src_dir/src/amd/registers/gfx7.json \
120 $src_dir/src/amd/registers/gfx8.json \
121 $src_dir/src/amd/registers/gfx81.json \
122 $src_dir/src/amd/registers/gfx9.json \
123 $src_dir/src/amd/registers/gfx940.json \
124 $src_dir/src/amd/registers/gfx10.json \
125 $src_dir/src/amd/registers/gfx10-rsrc.json \
126 $src_dir/src/amd/registers/gfx103.json \
127 $src_dir/src/amd/registers/gfx11.json \
128 $src_dir/src/amd/registers/gfx11-rsrc.json \
129 $src_dir/src/amd/registers/pkt3.json \
130 $src_dir/src/amd/registers/registers-manually-defined.json \
131 >$build_dir/src/amd/common/sid_tables.h &
132 $python3 $src_dir/src/amd/registers/makeregheader.py \
133 $src_dir/src/amd/registers/gfx6.json \
134 $src_dir/src/amd/registers/gfx7.json \
135 $src_dir/src/amd/registers/gfx8.json \
136 $src_dir/src/amd/registers/gfx81.json \
137 $src_dir/src/amd/registers/gfx9.json \
138 $src_dir/src/amd/registers/gfx940.json \
139 $src_dir/src/amd/registers/gfx10.json \
140 $src_dir/src/amd/registers/gfx10-rsrc.json \
141 $src_dir/src/amd/registers/gfx11.json \
142 $src_dir/src/amd/registers/gfx11-rsrc.json \
143 $src_dir/src/amd/registers/gfx103.json \
144 $src_dir/src/amd/registers/pkt3.json \
145 $src_dir/src/amd/registers/registers-manually-defined.json \
146 --sort address \
147 --guard AMDGFXREGS_H \
148 >$build_dir/src/amd/common/amdgfxregs.h &
149 #===============================================================================
150 # libcompiler required by libnir
151 export PYTHONPATH=$mako
152 #------------------------------------------------------------------------------
153 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
154 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
155 #------------------------------------------------------------------------------
156 $python3 $src_dir/src/compiler/builtin_types_h.py \
157 $build_dir/src/compiler/builtin_types.h &
158 #------------------------------------------------------------------------------
159 $python3 $src_dir/src/compiler/builtin_types_c.py \
160 $build_dir/src/compiler/builtin_types.c &
161 #------------------------------------------------------------------------------
162 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
163 $build_dir/src/compiler/builtin_types_cpp.h &
164 #------------------------------------------------------------------------------
165 unset PYTHONPATH
166 #===============================================================================
167 # libnir
168 export PYTHONPATH=$mako
169 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
170 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
171 $build_dir/src/compiler/spirv/spirv_info.c &
172
173 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/src/compiler/spirv/vtn_gather_types.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
178 $src_dir/src/compiler/spirv/spir-v.xml \
179 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
180 # nir generated files
181 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
182 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
183
184 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
185 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
186
187 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
188 >$build_dir/src/compiler/nir/nir_opcodes.c &
189
190 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
191 --outdir $build_dir/src/compiler/nir &
192 unset PYTHONPATH
193 #===============================================================================
194 # libaco
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
197 >$build_dir/src/amd/compiler/aco_opcodes.h &
198 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
199 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
200 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
201 >$build_dir/src/amd/compiler/aco_builder.h &
202 unset PYTHONPATH
203 #===============================================================================
204 # libmesautils
205 export PYTHONPATH=$mako
206 $python3 $src_dir/src/util/format_srgb.py \
207 >$build_dir/src/util/format_srgb.c
208
209 $python3 $src_dir/src/util/format/u_format_table.py \
210 $src_dir/src/util/format/u_format.csv \
211 >$build_dir/src/util/u_format_table.c
212
213 # wow, really?
214 $python3 $src_dir/src/util/format/u_format_table.py \
215 --header \
216 $src_dir/src/util/format/u_format.csv \
217 >$build_dir/src/util/format/u_format_pack.h
218
219 # oooof!
220 $python3 $src_dir/src/util/driconf_static.py \
221 $src_dir/src/util/00-mesa-defaults.conf \
222 $build_dir/src/util/driconf_static.h
223 unset PYTHONPATH
224 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
225 #===============================================================================
226 # amd vulkan
227 export PYTHONPATH=$mako
228 #------------------------------------------------------------------------------
229 # specific API to work around _still maintained at the time of writing _ game
230 # executable... this is the beginning of the end...
231 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
232 --beta false \
233 --xml $vulkan_api_xml \
234 --proto --weak \
235 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
236 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
237 --prefix radv \
238 --device-prefix metro_exodus \
239 --device-prefix rage2 &
240 #------------------------------------------------------------------------------
241 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
242 # --xml $vulkan_api_xml \
243 # --out-c radv_extensions.c \
244 # --out-h radv_extensions.h &
245 #------------------------------------------------------------------------------
246 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
247 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
248 # >$build_dir/vk_format_table.c &
249 #------------------------------------------------------------------------------
250 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
251 $src_dir/src/util/format/u_format.csv \
252 $src_dir/src/amd/registers/gfx10-rsrc.json \
253 $src_dir/src/amd/registers/gfx11-rsrc.json \
254 >$build_dir/src/amd/common/gfx10_format_table.c &
255 #------------------------------------------------------------------------------
256 git_sha1=no_git_sha1_available
257 if test -d $src_dir/.git; then
258 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
259 fi
260 echo git_sha1=$git_sha1
261 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
262 unset PYTHONPATH
263 #===============================================================================
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index f5ba672..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
763 -o $build_dir/glsl_types.o &
764 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
765 -o $build_dir/nir_types.o &
766 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
767 -o $build_dir/shader_enums.o &
768 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
769 -o $build_dir/builtin_types.o &
770 libcompiler_a="\
771 $build_dir/glsl_types.o \
772 $build_dir/nir_types.o \
773 $build_dir/shader_enums.o \
774 $build_dir/builtin_types.o \
775 "
776 #===============================================================================
777 # libnir
778 cppflags="\
779 $cppflags_common \
780 -I$build_dir/src/compiler/spirv \
781 -I$src_dir/src/compiler/spirv \
782 -I$build_dir/src/compiler/nir \
783 -I$src_dir/src/compiler/nir \
784 -I$build_dir/src/compiler \
785 -I$src_dir/src/compiler \
786 -I$build_dir/src/gallium/auxiliary \
787 -I$src_dir/src/gallium/auxiliary \
788 -I$build_dir/src/gallium/include \
789 -I$src_dir/src/gallium/include \
790 -I$build_dir/src/mesa \
791 -I$src_dir/src/mesa \
792 -I$build_dir/src \
793 -I$src_dir/src \
794 -I$build_dir/include \
795 -I$src_dir/include \
796 $xorgproto_cppflags \
797 $libxcb_cppflags \
798 $libx11_cppflags \
799 $libxrender_cppflags \
800 $libxrandr_cppflags \
801 "
802 libnir_files="\
803 $src_dir/src/compiler/spirv/gl_spirv.c \
804 $build_dir/src/compiler/spirv/spirv_info.c \
805 $src_dir/src/compiler/spirv/spirv_to_nir.c \
806 $src_dir/src/compiler/spirv/vtn_alu.c \
807 $src_dir/src/compiler/spirv/vtn_amd.c \
808 $src_dir/src/compiler/spirv/vtn_cfg.c \
809 $src_dir/src/compiler/spirv/vtn_cmat.c \
810 $build_dir/src/compiler/spirv/vtn_gather_types.c \
811 $src_dir/src/compiler/spirv/vtn_glsl450.c \
812 $src_dir/contrib/vtn_opencl.c \
813 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
814 $src_dir/src/compiler/spirv/vtn_subgroup.c \
815 $src_dir/src/compiler/spirv/vtn_variables.c \
816 \
817 $build_dir/src/compiler/nir/nir.c \
818 $src_dir/src/compiler/nir/nir_builder.c \
819 $src_dir/src/compiler/nir/nir_builtin_builder.c \
820 $src_dir/src/compiler/nir/nir_clone.c \
821 $build_dir/src/compiler/nir/nir_constant_expressions.c \
822 $src_dir/src/compiler/nir/nir_control_flow.c \
823 $src_dir/src/compiler/nir/nir_deref.c \
824 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
825 $src_dir/src/compiler/nir/nir_dominance.c \
826 $src_dir/src/compiler/nir/nir_from_ssa.c \
827 $src_dir/src/compiler/nir/nir_gather_info.c \
828 $src_dir/src/compiler/nir/nir_gather_types.c \
829 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
830 $src_dir/src/compiler/nir/nir_group_loads.c \
831 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
832 $src_dir/src/compiler/nir/nir_functions.c \
833 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
834 $src_dir/src/compiler/nir/nir_instr_set.c \
835 $build_dir/src/compiler/nir/nir_intrinsics.c \
836 $src_dir/src/compiler/nir/nir_legacy.c \
837 $src_dir/src/compiler/nir/nir_linking_helpers.c \
838 $src_dir/src/compiler/nir/nir_liveness.c \
839 $src_dir/src/compiler/nir/nir_loop_analyze.c \
840 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
841 $src_dir/src/compiler/nir/nir_lower_alu.c \
842 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
843 $src_dir/src/compiler/nir/nir_lower_amul.c \
844 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
845 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
846 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
847 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
848 $src_dir/src/compiler/nir/nir_lower_blend.c \
849 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
850 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
851 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
852 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
853 $src_dir/src/compiler/nir/nir_lower_clip.c \
854 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
855 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
856 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
857 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
858 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
859 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
860 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
861 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
862 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
863 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
864 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
865 $src_dir/src/compiler/nir/nir_lower_flrp.c \
866 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
867 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
868 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
869 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
870 $src_dir/src/compiler/nir/nir_lower_frexp.c \
871 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
872 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
873 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
874 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
875 $src_dir/src/compiler/nir/nir_lower_idiv.c \
876 $src_dir/src/compiler/nir/nir_lower_image.c \
877 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
878 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
879 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
880 $src_dir/src/compiler/nir/nir_lower_int64.c \
881 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
882 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
883 $src_dir/src/compiler/nir/nir_lower_io.c \
884 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
885 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
886 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
888 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
889 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
890 $src_dir/src/compiler/nir/nir_lower_mediump.c \
891 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
892 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
893 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
894 $src_dir/src/compiler/nir/nir_lower_multiview.c \
895 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
896 $src_dir/src/compiler/nir/nir_lower_packing.c \
897 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
898 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
899 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
900 $src_dir/src/compiler/nir/nir_lower_point_size.c \
901 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
902 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
903 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
904 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
905 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
906 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
907 $src_dir/src/compiler/nir/nir_lower_returns.c \
908 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
909 $src_dir/src/compiler/nir/nir_lower_samplers.c \
910 $src_dir/src/compiler/nir/nir_lower_scratch.c \
911 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
912 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
913 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
914 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
915 $src_dir/src/compiler/nir/nir_lower_system_values.c \
916 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
917 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
918 $src_dir/src/compiler/nir/nir_lower_tex.c \
919 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
920 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
921 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
922 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
923 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
924 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
925 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
926 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
927 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
928 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
929 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
930 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
931 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
932 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
933 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
934 $src_dir/src/compiler/nir/nir_metadata.c \
935 $src_dir/src/compiler/nir/nir_mod_analysis.c \
936 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
937 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
938 $build_dir/src/compiler/nir/nir_opcodes.c \
939 $src_dir/src/compiler/nir/nir_opt_access.c \
940 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
941 $src_dir/src/compiler/nir/nir_opt_barriers.c \
942 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
943 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
944 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
945 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
946 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
947 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
948 $src_dir/src/compiler/nir/nir_opt_cse.c \
949 $src_dir/src/compiler/nir/nir_opt_dce.c \
950 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
951 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
952 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
953 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
954 $src_dir/src/compiler/nir/nir_opt_gcm.c \
955 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
956 $src_dir/src/compiler/nir/nir_opt_if.c \
957 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
958 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
959 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
960 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
961 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
962 $src_dir/src/compiler/nir/nir_opt_move.c \
963 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
964 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
965 $src_dir/src/compiler/nir/nir_opt_offsets.c \
966 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
967 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
968 $src_dir/src/compiler/nir/nir_opt_preamble.c \
969 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
970 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
971 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
972 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
973 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
974 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
975 $src_dir/src/compiler/nir/nir_opt_sink.c \
976 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
977 $src_dir/src/compiler/nir/nir_opt_undef.c \
978 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
979 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
980 $src_dir/src/compiler/nir/nir_phi_builder.c \
981 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
982 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
983 $src_dir/src/compiler/nir/nir_print.c \
984 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
985 $src_dir/src/compiler/nir/nir_range_analysis.c \
986 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
987 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
988 $src_dir/src/compiler/nir/nir_repair_ssa.c \
989 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
990 $src_dir/src/compiler/nir/nir_schedule.c \
991 $src_dir/src/compiler/nir/nir_search.c \
992 $src_dir/src/compiler/nir/nir_serialize.c \
993 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
994 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
995 $src_dir/src/compiler/nir/nir_split_var_copies.c \
996 $src_dir/src/compiler/nir/nir_split_vars.c \
997 $src_dir/src/compiler/nir/nir_sweep.c \
998 $src_dir/src/compiler/nir/nir_to_lcssa.c \
999 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
1000 $src_dir/src/compiler/nir/nir_validate.c \
1001 $src_dir/src/compiler/nir/nir_worklist.c \
1002 "
1003 for f in $libnir_files
1004 do
1005 libnir_obj=$build_dir/$(basename $f .c).o
1006 libnir_a="$libnir_a $libnir_obj"
1007
1008 $cc $cppflags $f -o $libnir_obj &
1009 done
1010 #===============================================================================
1011 # libaco
1012 # we don't use cppflags_common for aco because the code is not yet
1013 # compatible
1014 cppflags="\
1015 $gcc_builtins_cppflags \
1016 $gcc_attributes_cppflags \
1017 $linux_glibc_cppflags \
1018 $mesa_cppflags \
1019 -I$build_dir/src/amd/compiler \
1020 -I$src_dir/src/amd/compiler \
1021 -I$build_dir/src/amd/vulkan \
1022 -I$src_dir/src/amd/vulkan \
1023 -I$build_dir/src/amd/common \
1024 -I$src_dir/src/amd/common \
1025 -I$build_dir/src/amd \
1026 -I$src_dir/src/amd \
1027 -I$build_dir/src/compiler/nir \
1028 -I$src_dir/src/compiler/nir \
1029 -I$build_dir/src/compiler \
1030 -I$src_dir/src/compiler \
1031 -I$build_dir/src/mesa \
1032 -I$src_dir/src/mesa \
1033 -I$build_dir/src/gallium/include \
1034 -I$src_dir/src/gallium/include \
1035 -I$build_dir/src \
1036 -I$src_dir/src \
1037 -I$build_dir/include \
1038 -I$src_dir/include \
1039 "
1040 libaco_files="\
1041 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1042 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1043 $src_dir/src/amd/compiler/aco_dominance.cpp \
1044 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1045 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1046 $src_dir/src/amd/compiler/aco_interface.cpp \
1047 $src_dir/src/amd/compiler/aco_assembler.cpp \
1048 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1049 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1050 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1051 $src_dir/src/amd/compiler/aco_ir.cpp \
1052 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1053 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1054 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1055 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1056 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1057 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1058 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1059 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1060 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1061 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1062 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1063 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1064 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1065 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1066 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1067 $src_dir/src/amd/compiler/aco_spill.cpp \
1068 $src_dir/src/amd/compiler/aco_statistics.cpp \
1069 $src_dir/src/amd/compiler/aco_validate.cpp \
1070 "
1071 for f in $libaco_files
1072 do
1073 libaco_obj=$build_dir/$(basename $f .c).o
1074 libaco_a="$libaco_a $libaco_obj"
1075
1076 $cxx $cppflags $f -o $libaco_obj &
1077 done
1078 #===============================================================================
1079 # libmesautils
1080 cppflags="\
1081 $cppflags_common \
1082 -I$build_dir/src/gallium/auxiliary \
1083 -I$src_dir/src/gallium/auxiliary \
1084 -I$build_dir/src/gallium/include \
1085 -I$src_dir/src/gallium/include \
1086 -I$build_dir/src/mesa \
1087 -I$src_dir/src/mesa \
1088 -I$build_dir/src/util/blake3 \
1089 -I$src_dir/src/util/blake3 \
1090 -I$build_dir/src/util/format \
1091 -I$src_dir/src/util/format \
1092 -I$build_dir/src/util \
1093 -I$src_dir/src/util \
1094 -I$build_dir/src \
1095 -I$src_dir/src \
1096 -I$build_dir/include \
1097 -I$src_dir/include \
1098 $zlib_cppflags \
1099 "
1100 libmesautil_files="\
1101 $src_dir/src/util/anon_file.c \
1102 $src_dir/src/util/bitscan.c \
1103 $src_dir/src/util/blake3/blake3.c \
1104 $src_dir/src/util/blake3/blake3_dispatch.c \
1105 $src_dir/src/util/blake3/blake3_portable.c \
1106 $src_dir/src/util/blob.c \
1107 $src_dir/src/util/build_id.c \
1108 $src_dir/src/util/compress.c \
1109 $src_dir/src/util/crc32.c \
1110 $src_dir/src/util/dag.c \
1111 $src_dir/src/util/disk_cache.c \
1112 $src_dir/src/util/disk_cache_os.c \
1113 $src_dir/src/util/double.c \
1114 $src_dir/src/util/fast_idiv_by_const.c \
1115 $build_dir/src/util/format_srgb.c \
1116 $src_dir/src/util/fossilize_db.c \
1117 $src_dir/src/util/futex.c \
1118 $src_dir/src/util/half_float.c \
1119 $src_dir/src/util/hash_table.c \
1120 $src_dir/src/util/log.c \
1121 $src_dir/src/util/mesa-blake3.c \
1122 $src_dir/src/util/mesa-sha1.c \
1123 $build_dir/src/util/mesa_cache_db.c \
1124 $src_dir/src/util/mesa_cache_db_multipart.c \
1125 $src_dir/src/util/memstream.c \
1126 $src_dir/src/util/os_file.c \
1127 $src_dir/src/util/os_memory_fd.c \
1128 $src_dir/src/util/os_misc.c \
1129 $src_dir/src/util/os_socket.c \
1130 $src_dir/src/util/os_time.c \
1131 $src_dir/src/util/sha1/sha1.c \
1132 $src_dir/src/util/ralloc.c \
1133 $src_dir/src/util/rand_xor.c \
1134 $src_dir/src/util/rb_tree.c \
1135 $src_dir/src/util/register_allocate.c \
1136 $src_dir/src/util/rgtc.c \
1137 $src_dir/src/util/rwlock.c \
1138 $src_dir/src/util/set.c \
1139 $src_dir/src/util/simple_mtx.c \
1140 $src_dir/src/util/slab.c \
1141 $src_dir/src/util/softfloat.c \
1142 $src_dir/src/util/sparse_array.c \
1143 $src_dir/src/util/string_buffer.c \
1144 $src_dir/src/util/strtod.c \
1145 $src_dir/src/util/u_atomic.c \
1146 $src_dir/src/util/u_call_once.c \
1147 $src_dir/src/util/u_cpu_detect.c \
1148 $src_dir/src/util/u_debug.c \
1149 $src_dir/src/util/u_debug_stack.c \
1150 $src_dir/src/util/u_debug_symbol.c \
1151 $src_dir/src/util/u_dl.c \
1152 $src_dir/src/util/u_dynarray.c \
1153 $build_dir/src/util/u_format_table.c \
1154 $src_dir/src/util/u_hash_table.c \
1155 $src_dir/src/util/u_printf.c \
1156 $src_dir/src/util/format/u_format.c \
1157 $src_dir/src/util/format/u_format_bptc.c \
1158 $src_dir/src/util/format/u_format_etc.c \
1159 $src_dir/src/util/format/u_format_fxt1.c \
1160 $src_dir/src/util/format/u_format_latc.c \
1161 $src_dir/src/util/format/u_format_other.c \
1162 $src_dir/src/util/format/u_format_rgtc.c \
1163 $src_dir/src/util/format/u_format_s3tc.c \
1164 $src_dir/src/util/format/u_format_tests.c \
1165 $src_dir/src/util/format/u_format_yuv.c \
1166 $src_dir/src/util/format/u_format_zs.c \
1167 $src_dir/src/util/u_idalloc.c \
1168 $src_dir/src/util/u_math.c \
1169 $src_dir/src/util/u_mm.c \
1170 $src_dir/src/util/u_process.c \
1171 $src_dir/src/util/u_queue.c \
1172 $src_dir/src/util/u_thread.c \
1173 $src_dir/src/util/u_vector.c \
1174 $src_dir/src/util/u_worklist.c \
1175 $src_dir/src/util/vma.c \
1176 $src_dir/src/util/vl_zscan_data.c \
1177 \
1178 $src_dir/src/c11/impl/time.c \
1179 $src_dir/src/c11/impl/threads_posix.c \
1180 "
1181 for f in $libmesautil_files
1182 do
1183 libmesautil_obj=$build_dir/$(basename $f .c).o
1184 libmesautil_a="$libmesautil_a $libmesautil_obj"
1185
1186 $cc $cppflags $f -o $libmesautil_obj &
1187 done
1188 #-------------------------------------------------------------------------------
1189 # The following is for the ultra complex blake3 hash algorithm.
1190 libmesautil_asm_files="\
1191 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1192 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1193 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1194 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1195 "
1196 for f in $libmesautil_asm_files
1197 do
1198 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1199 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1200 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1201
1202 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1203 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1204 done
1205 #===============================================================================
1206 # amd vulkan
1207 cppflags="\
1208 $cppflags_common \
1209 -DPACKAGE_VERSION=\"$version\" \
1210 -I$build_dir/src/amd/compiler \
1211 -I$src_dir/src/amd/compiler \
1212 -I$build_dir/src/amd/common \
1213 -I$src_dir/src/amd/common \
1214 -I$build_dir/src/amd/vulkan/nir \
1215 -I$src_dir/src/amd/vulkan/nir \
1216 -I$build_dir/src/amd/vulkan/meta \
1217 -I$src_dir/src/amd/vulkan/meta \
1218 -I$build_dir/src/amd/vulkan \
1219 -I$src_dir/src/amd/vulkan \
1220 -I$build_dir/src/amd \
1221 -I$src_dir/src/amd \
1222 -I$build_dir/src/gallium/auxiliary \
1223 -I$src_dir/src/gallium/auxiliary \
1224 -I$build_dir/src/gallium/include \
1225 -I$src_dir/src/gallium/include \
1226 -I$build_dir/src/vulkan/runtime \
1227 -I$src_dir/src/vulkan/runtime \
1228 -I$build_dir/src/vulkan/wsi \
1229 -I$src_dir/src/vulkan/wsi \
1230 -I$build_dir/src/vulkan/util \
1231 -I$src_dir/src/vulkan/util \
1232 -I$build_dir/src/mesa \
1233 -I$src_dir/src/mesa \
1234 -I$build_dir/src/compiler/nir \
1235 -I$src_dir/src/compiler/nir \
1236 -I$build_dir/src/compiler \
1237 -I$src_dir/src/compiler \
1238 -I$build_dir/src/util \
1239 -I$src_dir/src/util \
1240 -I$build_dir/src \
1241 -I$src_dir/src \
1242 -I$build_dir/include \
1243 -I$src_dir/include \
1244 $libdrm_cppflags \
1245 $libdrm_amdgpu_cppflags \
1246 $libx11_cppflags \
1247 $libxrandr_cppflags \
1248 $libxrender_cppflags \
1249 $libxcb_cppflags \
1250 $xorgproto_cppflags \
1251 $libxshmfence_cppflags \
1252 "
1253 #$build_dir/radv_extensions.c
1254 #$build_dir/vk_format_table.c
1255 # XXX: remove rt for now
1256 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1257 libvulkan_amd_common_files="\
1258 $src_dir/src/amd/vulkan/radv_android.c \
1259 $src_dir/src/amd/vulkan/radv_buffer.c \
1260 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1261 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1262 $src_dir/src/amd/vulkan/radv_debug.c \
1263 $build_dir/src/amd/vulkan/radv_device.c \
1264 $src_dir/src/amd/vulkan/radv_device_memory.c \
1265 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1266 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1267 $src_dir/src/amd/vulkan/radv_event.c \
1268 $src_dir/src/amd/vulkan/radv_formats.c \
1269 $src_dir/src/amd/vulkan/radv_image.c \
1270 $src_dir/src/amd/vulkan/radv_instance.c \
1271 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1272 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1273 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1277 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1280 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1287 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1288 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1289 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1301 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1302 $src_dir/src/amd/vulkan/radv_physical_device.c \
1303 $src_dir/src/amd/vulkan/radv_pipeline.c \
1304 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1308 $src_dir/src/amd/vulkan/radv_queue.c \
1309 $src_dir/src/amd/vulkan/radv_rt_common.c \
1310 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1311 $src_dir/src/amd/vulkan/radv_sampler.c \
1312 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1313 $src_dir/src/amd/vulkan/radv_shader.c \
1314 $src_dir/src/amd/vulkan/radv_shader_args.c \
1315 $src_dir/src/amd/vulkan/radv_shader_info.c \
1316 $src_dir/src/amd/vulkan/radv_spm.c \
1317 $src_dir/src/amd/vulkan/radv_query.c \
1318 $src_dir/src/amd/vulkan/radv_video.c \
1319 $src_dir/src/amd/vulkan/radv_wsi.c \
1320 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1321 \
1322 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1323 \
1324 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1325 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1328 \
1329 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1330 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1332 \
1333 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1334 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1335 \
1336 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1337 "
1338
1339 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1340
1341 for f in $libvulkan_amd_common_files
1342 do
1343 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1344 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1345
1346 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1347 done
1348 libvulkan_amd_common_a="\
1349 $libvulkan_amd_common_a \
1350 $build_dir/xmlconfig.o"
1351 #===============================================================================
1352 # create the radeon vulkan driver
1353 soname=libvulkan_radeon.so
1354
1355 # XXX:the attempt to generalize without kludge the link stage of real programs
1356 # build is near a total and complete failure
1357 if test "${driver_link_cmd-unset}" = unset ; then
1358 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1359 -shared -static-libgcc -static-libstdc++ \
1360 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1361 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1362 -Wl,--whole-archive -Wl,--start-group \
1363 $libaco_a \
1364 $libvulkan_amd_common_a \
1365 $libvulkan_util_a \
1366 $libvulkan_runtime_a \
1367 $libvulkan_wsi_a \
1368 $libamd_common_a \
1369 $libamdgpu_addrlib_a \
1370 $libcompiler_a \
1371 $libnir_a \
1372 $libmesautil_a \
1373 -Wl,--end-group -Wl,--no-whole-archive \
1374 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1375 $zlib_ldflags \
1376 $expat_ldflags \
1377 $libelf_ldflags \
1378 -Wl,--as-needed \
1379 $libdrm_ldflags \
1380 $libdrm_amdgpu_ldflags \
1381 $libx11_ldflags \
1382 $libxrandr_ldflags \
1383 $libxrender_ldflags \
1384 $libxcb_ldflags \
1385 $libxshmfence_ldflags \
1386 -lpthread \
1387 -ldl \
1388 -Wl,--no-as-needed"
1389 fi
1390 wait
1391 eval $driver_link_cmd
1392 #===============================================================================
File builders/mesa-vulkan-amd-sh-348eee9c974ee24dee2362b8a2b7d30d6db69091/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/generators.sh deleted (index 6556024..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
18 patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
19 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
20 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
21 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
22 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
23 #===============================================================================
24 # vulkan util
25 export PYTHONPATH=$mako
26 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
27 --beta false \
28 --xml $vulkan_api_xml \
29 --outdir $build_dir/src/vulkan/util
30
31 # our ndebug/release version
32 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
33 $build_dir/src/vulkan/util
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --beta false \
37 --xml $vulkan_api_xml \
38 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
39 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
40
41 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
42 --xml $vulkan_api_xml \
43 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
44 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
45
46 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
47 --beta false \
48 --xml $vulkan_api_xml \
49 --outdir $build_dir/src/vulkan/util &
50
51 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
52 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
53
54 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
55 >$build_dir/src/compiler/nir/nir_opcodes.h &
56
57 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
58 --outdir $build_dir/src/compiler/nir &
59
60 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
61 --outdir $build_dir/src/compiler/nir &
62 unset PYTHONPATH
63 #===============================================================================
64 # vulkan runtime
65 export PYTHONPATH=$mako
66 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
67 --beta false \
68 --xml $vulkan_api_xml \
69 --proto --weak \
70 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
71 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
72 --prefix vk_common &
73 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
74 --beta false \
75 --xml $vulkan_api_xml \
76 --proto --weak \
77 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
78 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
79 --prefix vk_cmd_enqueue &
80 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
81 --beta false \
82 --xml $vulkan_api_xml \
83 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
84 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
85 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
86 --beta false \
87 --xml $vulkan_api_xml \
88 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
89 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
90 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
91 --beta false \
92 --xml $vulkan_api_xml \
93 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
94 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
95 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
96 --beta false \
97 --xml $vulkan_api_xml \
98 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
99 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
100 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
101 --xml $vulkan_api_xml \
102 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
103 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
104 unset PYTHONPATH
105 #===============================================================================
106 # wsi x11 (Window System Interface)
107 export PYTHONPATH=$mako
108 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
109 --beta false \
110 --xml $vulkan_api_xml \
111 --proto --weak \
112 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
113 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
114 --prefix wsi &
115 unset PYTHONPATH
116 #===============================================================================
117 # amd common archive
118 $python3 $src_dir/src/amd/common/sid_tables.py \
119 $src_dir/src/amd/common/sid.h \
120 $src_dir/src/amd/registers/gfx6.json \
121 $src_dir/src/amd/registers/gfx7.json \
122 $src_dir/src/amd/registers/gfx8.json \
123 $src_dir/src/amd/registers/gfx81.json \
124 $src_dir/src/amd/registers/gfx9.json \
125 $src_dir/src/amd/registers/gfx940.json \
126 $src_dir/src/amd/registers/gfx10.json \
127 $src_dir/src/amd/registers/gfx10-rsrc.json \
128 $src_dir/src/amd/registers/gfx103.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx115.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/src/amd/common/sid_tables.h &
135 $python3 $src_dir/src/amd/registers/makeregheader.py \
136 $src_dir/src/amd/registers/gfx6.json \
137 $src_dir/src/amd/registers/gfx7.json \
138 $src_dir/src/amd/registers/gfx8.json \
139 $src_dir/src/amd/registers/gfx81.json \
140 $src_dir/src/amd/registers/gfx9.json \
141 $src_dir/src/amd/registers/gfx940.json \
142 $src_dir/src/amd/registers/gfx10.json \
143 $src_dir/src/amd/registers/gfx10-rsrc.json \
144 $src_dir/src/amd/registers/gfx11.json \
145 $src_dir/src/amd/registers/gfx115.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/src/compiler/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/src/compiler/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/src/compiler/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/src/compiler/spirv/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/src/compiler/spirv/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/src/compiler/nir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir/src/compiler/nir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/src/amd/compiler/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/src/amd/compiler/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 export PYTHONPATH=$mako
210 $python3 $src_dir/src/util/format_srgb.py \
211 >$build_dir/src/util/format_srgb.c
212
213 $python3 $src_dir/src/util/format/u_format_table.py \
214 $src_dir/src/util/format/u_format.csv \
215 >$build_dir/src/util/u_format_table.c
216
217 # wow, really?
218 $python3 $src_dir/src/util/format/u_format_table.py \
219 --header \
220 $src_dir/src/util/format/u_format.csv \
221 >$build_dir/src/util/format/u_format_pack.h
222
223 # oooof!
224 $python3 $src_dir/src/util/driconf_static.py \
225 $src_dir/src/util/00-mesa-defaults.conf \
226 $build_dir/src/util/driconf_static.h
227 unset PYTHONPATH
228 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
229 #===============================================================================
230 # amd vulkan
231 export PYTHONPATH=$mako
232 #------------------------------------------------------------------------------
233 # specific API to work around _still maintained at the time of writing _ game
234 # executable... this is the beginning of the end...
235 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
236 --beta false \
237 --xml $vulkan_api_xml \
238 --proto --weak \
239 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
240 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
241 --prefix radv \
242 --device-prefix metro_exodus \
243 --device-prefix rage2 &
244 #------------------------------------------------------------------------------
245 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
246 # --xml $vulkan_api_xml \
247 # --out-c radv_extensions.c \
248 # --out-h radv_extensions.h &
249 #------------------------------------------------------------------------------
250 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
251 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
252 # >$build_dir/vk_format_table.c &
253 #------------------------------------------------------------------------------
254 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
255 $src_dir/src/util/format/u_format.csv \
256 $src_dir/src/amd/registers/gfx10-rsrc.json \
257 $src_dir/src/amd/registers/gfx11-rsrc.json \
258 >$build_dir/src/amd/common/gfx10_format_table.c &
259 #------------------------------------------------------------------------------
260 git_sha1=no_git_sha1_available
261 if test -d $src_dir/.git; then
262 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
263 fi
264 echo git_sha1=$git_sha1
265 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
266 unset PYTHONPATH
267 #===============================================================================
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_meta.c.patch deleted (index a0757cf..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -506,9 +506,14 @@ radv_device_init_meta(struct radv_device *device)
4 if (result != VK_SUCCESS)
5 goto fail_etc_decode;
6
7 - result = radv_device_init_meta_astc_decode_state(device, on_demand);
8 - if (result != VK_SUCCESS)
9 - goto fail_astc_decode;
10 +// XXX: insanely toxic compute based stuff pulling that
11 +// disgusting khronos glslang. Should be independent
12 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
13 +// with simple and plain C written "assemblers").
14 +// blame: some trash.
15 +// result = radv_device_init_meta_astc_decode_state(device, on_demand);
16 +// if (result != VK_SUCCESS)
17 +// goto fail_astc_decode;
18
19 if (device->uses_device_generated_commands) {
20 result = radv_device_init_dgc_prepare_state(device);
21 @@ -516,35 +521,50 @@ radv_device_init_meta(struct radv_device *device)
22 goto fail_dgc;
23 }
24
25 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
26 - if (device->vk.enabled_features.nullDescriptor) {
27 - result = radv_device_init_null_accel_struct(device);
28 - if (result != VK_SUCCESS)
29 - goto fail_accel_struct;
30 - }
31 -
32 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
33 - * Work around it by forcing ACO for now.
34 - */
35 - bool use_llvm = device->physical_device->use_llvm;
36 - if (loaded_cache || use_llvm) {
37 - device->physical_device->use_llvm = false;
38 - result = radv_device_init_accel_struct_build_state(device);
39 - device->physical_device->use_llvm = use_llvm;
40 -
41 - if (result != VK_SUCCESS)
42 - goto fail_accel_struct;
43 - }
44 - }
45 +// XXX: insanely toxic compute based stuff pulling that
46 +// disgusting khronos glslang. Should be independent
47 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
48 +// with simple and plain C written "assemblers").
49 +// blame: Konstantin Seurer
50 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
51 +// if (device->vk.enabled_features.nullDescriptor) {
52 +// result = radv_device_init_null_accel_struct(device);
53 +// if (result != VK_SUCCESS)
54 +// goto fail_accel_struct;
55 +// }
56 +//
57 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
58 +// * Work around it by forcing ACO for now.
59 +// */
60 +// bool use_llvm = device->physical_device->use_llvm;
61 +// if (loaded_cache || use_llvm) {
62 +// device->physical_device->use_llvm = false;
63 +// result = radv_device_init_accel_struct_build_state(device);
64 +// device->physical_device->use_llvm = use_llvm;
65 +//
66 +// if (result != VK_SUCCESS)
67 +// goto fail_accel_struct;
68 +// }
69 +// }
70
71 return VK_SUCCESS;
72
73 -fail_accel_struct:
74 - radv_device_finish_accel_struct_build_state(device);
75 +// XXX: insanely toxic compute based stuff pulling that
76 +// disgusting khronos glslang. Should be independent
77 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
78 +// with simple and plain C written "assemblers").
79 +// blame: Konstantin Seurer
80 +//fail_accel_struct:
81 +// radv_device_finish_accel_struct_build_state(device);
82 fail_dgc:
83 radv_device_finish_dgc_prepare_state(device);
84 -fail_astc_decode:
85 - radv_device_finish_meta_astc_decode_state(device);
86 +// XXX: insanely toxic compute based stuff pulling that
87 +// disgusting khronos glslang. Should be independent
88 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
89 +// with simple and plain C written "assemblers").
90 +// blame: some trash.
91 +//fail_astc_decode:
92 +// radv_device_finish_meta_astc_decode_state(device);
93 fail_etc_decode:
94 radv_device_finish_meta_etc_decode_state(device);
95 fail_fmask_copy:
96 @@ -584,8 +604,18 @@ radv_device_finish_meta(struct radv_device *device)
97 {
98 radv_device_finish_dgc_prepare_state(device);
99 radv_device_finish_meta_etc_decode_state(device);
100 - radv_device_finish_meta_astc_decode_state(device);
101 - radv_device_finish_accel_struct_build_state(device);
102 +// XXX: insanely toxic compute based stuff pulling that
103 +// disgusting khronos glslang. Should be independent
104 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
105 +// with simple and plain C written "assemblers").
106 +// blame: some trash.
107 +// radv_device_finish_meta_astc_decode_state(device);
108 +// XXX: insanely toxic compute based stuff pulling that
109 +// disgusting khronos glslang. Should be independent
110 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
111 +// with simple and plain C written "assemblers").
112 +// blame: Konstantin Seurer
113 +// radv_device_finish_accel_struct_build_state(device);
114 radv_device_finish_meta_clear_state(device);
115 radv_device_finish_meta_resolve_state(device);
116 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_meta_copy.c.patch deleted (index 559b13e..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta_copy.c
2 +++ b/src/amd/vulkan/meta/radv_meta_copy.c
3 @@ -215,17 +215,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm
4
5 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
6 for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
7 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
8 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
9 - &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
10 - pCopyBufferToImageInfo->pRegions[r].imageOffset,
11 - pCopyBufferToImageInfo->pRegions[r].imageExtent);
12 - } else {
13 + // XXX: current astc work is omega trash
14 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
15 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
16 + // &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
17 + // pCopyBufferToImageInfo->pRegions[r].imageOffset,
18 + // pCopyBufferToImageInfo->pRegions[r].imageExtent);
19 + //} else {
20 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
21 &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
22 pCopyBufferToImageInfo->pRegions[r].imageOffset,
23 pCopyBufferToImageInfo->pRegions[r].imageExtent);
24 - }
25 + //}
26 }
27 }
28 }
29 @@ -568,15 +569,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI
30
31 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
32 for (unsigned r = 0; r < pCopyImageInfo->regionCount; r++) {
33 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
34 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
35 - &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
36 - pCopyImageInfo->pRegions[r].extent);
37 - } else {
38 + // XXX: current ASTC work is omega grade trash
39 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
40 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
41 + // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
42 + // pCopyImageInfo->pRegions[r].extent);
43 + //} else {
44 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
45 &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
46 pCopyImageInfo->pRegions[r].extent);
47 - }
48 + //}
49 }
50 }
51 }
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 25335ab..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cc $cppflags $src_dir/src/compiler/glsl_types.c \
763 -o $build_dir/glsl_types.o &
764 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
765 -o $build_dir/shader_enums.o &
766 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
767 -o $build_dir/builtin_types.o &
768 libcompiler_a="\
769 $build_dir/glsl_types.o \
770 $build_dir/shader_enums.o \
771 $build_dir/builtin_types.o \
772 "
773 #===============================================================================
774 # libnir
775 cppflags="\
776 $cppflags_common \
777 -I$build_dir/src/compiler/spirv \
778 -I$src_dir/src/compiler/spirv \
779 -I$build_dir/src/compiler/nir \
780 -I$src_dir/src/compiler/nir \
781 -I$build_dir/src/compiler \
782 -I$src_dir/src/compiler \
783 -I$build_dir/src/gallium/auxiliary \
784 -I$src_dir/src/gallium/auxiliary \
785 -I$build_dir/src/gallium/include \
786 -I$src_dir/src/gallium/include \
787 -I$build_dir/src/mesa \
788 -I$src_dir/src/mesa \
789 -I$build_dir/src \
790 -I$src_dir/src \
791 -I$build_dir/include \
792 -I$src_dir/include \
793 $xorgproto_cppflags \
794 $libxcb_cppflags \
795 $libx11_cppflags \
796 $libxrender_cppflags \
797 $libxrandr_cppflags \
798 "
799 libnir_files="\
800 $src_dir/src/compiler/spirv/gl_spirv.c \
801 $build_dir/src/compiler/spirv/spirv_info.c \
802 $src_dir/src/compiler/spirv/spirv_to_nir.c \
803 $src_dir/src/compiler/spirv/vtn_alu.c \
804 $src_dir/src/compiler/spirv/vtn_amd.c \
805 $src_dir/src/compiler/spirv/vtn_cfg.c \
806 $src_dir/src/compiler/spirv/vtn_cmat.c \
807 $build_dir/src/compiler/spirv/vtn_gather_types.c \
808 $src_dir/src/compiler/spirv/vtn_glsl450.c \
809 $src_dir/contrib/vtn_opencl.c \
810 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
811 $src_dir/src/compiler/spirv/vtn_subgroup.c \
812 $src_dir/src/compiler/spirv/vtn_variables.c \
813 \
814 $build_dir/src/compiler/nir/nir.c \
815 $src_dir/src/compiler/nir/nir_builder.c \
816 $src_dir/src/compiler/nir/nir_builtin_builder.c \
817 $src_dir/src/compiler/nir/nir_clone.c \
818 $build_dir/src/compiler/nir/nir_constant_expressions.c \
819 $src_dir/src/compiler/nir/nir_control_flow.c \
820 $src_dir/src/compiler/nir/nir_deref.c \
821 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
822 $src_dir/src/compiler/nir/nir_dominance.c \
823 $src_dir/src/compiler/nir/nir_from_ssa.c \
824 $src_dir/src/compiler/nir/nir_gather_info.c \
825 $src_dir/src/compiler/nir/nir_gather_types.c \
826 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
827 $src_dir/src/compiler/nir/nir_group_loads.c \
828 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
829 $src_dir/src/compiler/nir/nir_functions.c \
830 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
831 $src_dir/src/compiler/nir/nir_instr_set.c \
832 $build_dir/src/compiler/nir/nir_intrinsics.c \
833 $src_dir/src/compiler/nir/nir_legacy.c \
834 $src_dir/src/compiler/nir/nir_linking_helpers.c \
835 $src_dir/src/compiler/nir/nir_liveness.c \
836 $src_dir/src/compiler/nir/nir_loop_analyze.c \
837 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
838 $src_dir/src/compiler/nir/nir_lower_alu.c \
839 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
840 $src_dir/src/compiler/nir/nir_lower_amul.c \
841 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
842 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
843 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
844 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
845 $src_dir/src/compiler/nir/nir_lower_blend.c \
846 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
847 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
848 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
849 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
850 $src_dir/src/compiler/nir/nir_lower_clip.c \
851 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
852 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
853 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
854 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
855 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
856 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
857 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
858 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
859 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
860 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
861 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
862 $src_dir/src/compiler/nir/nir_lower_flrp.c \
863 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
864 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
865 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
866 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
867 $src_dir/src/compiler/nir/nir_lower_frexp.c \
868 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
869 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
870 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
871 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
872 $src_dir/src/compiler/nir/nir_lower_idiv.c \
873 $src_dir/src/compiler/nir/nir_lower_image.c \
874 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
875 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
876 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
877 $src_dir/src/compiler/nir/nir_lower_int64.c \
878 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
879 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
880 $src_dir/src/compiler/nir/nir_lower_io.c \
881 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
882 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
883 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
884 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
885 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
886 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_mediump.c \
888 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
889 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
890 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
891 $src_dir/src/compiler/nir/nir_lower_multiview.c \
892 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
893 $src_dir/src/compiler/nir/nir_lower_packing.c \
894 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
895 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
896 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
897 $src_dir/src/compiler/nir/nir_lower_point_size.c \
898 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
899 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
900 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
901 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
902 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
903 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
904 $src_dir/src/compiler/nir/nir_lower_returns.c \
905 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
906 $src_dir/src/compiler/nir/nir_lower_samplers.c \
907 $src_dir/src/compiler/nir/nir_lower_scratch.c \
908 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
909 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
910 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
911 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
912 $src_dir/src/compiler/nir/nir_lower_system_values.c \
913 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
914 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
915 $src_dir/src/compiler/nir/nir_lower_tex.c \
916 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
917 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
918 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
919 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
920 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
921 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
922 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
923 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
924 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
925 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
926 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
927 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
928 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
929 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
930 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
931 $src_dir/src/compiler/nir/nir_metadata.c \
932 $src_dir/src/compiler/nir/nir_mod_analysis.c \
933 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
934 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
935 $build_dir/src/compiler/nir/nir_opcodes.c \
936 $src_dir/src/compiler/nir/nir_opt_access.c \
937 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
938 $src_dir/src/compiler/nir/nir_opt_barriers.c \
939 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
940 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
941 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
942 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
943 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
944 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
945 $src_dir/src/compiler/nir/nir_opt_cse.c \
946 $src_dir/src/compiler/nir/nir_opt_dce.c \
947 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
948 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
949 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
950 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
951 $src_dir/src/compiler/nir/nir_opt_gcm.c \
952 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
953 $src_dir/src/compiler/nir/nir_opt_if.c \
954 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
955 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
956 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
957 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
958 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
959 $src_dir/src/compiler/nir/nir_opt_move.c \
960 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
961 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
962 $src_dir/src/compiler/nir/nir_opt_offsets.c \
963 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
964 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
965 $src_dir/src/compiler/nir/nir_opt_preamble.c \
966 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
967 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
968 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
969 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
970 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
971 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
972 $src_dir/src/compiler/nir/nir_opt_sink.c \
973 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
974 $src_dir/src/compiler/nir/nir_opt_undef.c \
975 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
976 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
977 $src_dir/src/compiler/nir/nir_phi_builder.c \
978 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
979 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
980 $src_dir/src/compiler/nir/nir_print.c \
981 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
982 $src_dir/src/compiler/nir/nir_range_analysis.c \
983 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
984 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
985 $src_dir/src/compiler/nir/nir_repair_ssa.c \
986 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
987 $src_dir/src/compiler/nir/nir_schedule.c \
988 $src_dir/src/compiler/nir/nir_search.c \
989 $src_dir/src/compiler/nir/nir_serialize.c \
990 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
991 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
992 $src_dir/src/compiler/nir/nir_split_var_copies.c \
993 $src_dir/src/compiler/nir/nir_split_vars.c \
994 $src_dir/src/compiler/nir/nir_sweep.c \
995 $src_dir/src/compiler/nir/nir_to_lcssa.c \
996 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
997 $src_dir/src/compiler/nir/nir_validate.c \
998 $src_dir/src/compiler/nir/nir_worklist.c \
999 "
1000 for f in $libnir_files
1001 do
1002 libnir_obj=$build_dir/$(basename $f .c).o
1003 libnir_a="$libnir_a $libnir_obj"
1004
1005 $cc $cppflags $f -o $libnir_obj &
1006 done
1007 #===============================================================================
1008 # libaco
1009 # we don't use cppflags_common for aco because the code is not yet
1010 # compatible
1011 cppflags="\
1012 $gcc_builtins_cppflags \
1013 $gcc_attributes_cppflags \
1014 $linux_glibc_cppflags \
1015 $mesa_cppflags \
1016 -I$build_dir/src/amd/compiler \
1017 -I$src_dir/src/amd/compiler \
1018 -I$build_dir/src/amd/vulkan \
1019 -I$src_dir/src/amd/vulkan \
1020 -I$build_dir/src/amd/common \
1021 -I$src_dir/src/amd/common \
1022 -I$build_dir/src/amd \
1023 -I$src_dir/src/amd \
1024 -I$build_dir/src/compiler/nir \
1025 -I$src_dir/src/compiler/nir \
1026 -I$build_dir/src/compiler \
1027 -I$src_dir/src/compiler \
1028 -I$build_dir/src/mesa \
1029 -I$src_dir/src/mesa \
1030 -I$build_dir/src/gallium/include \
1031 -I$src_dir/src/gallium/include \
1032 -I$build_dir/src \
1033 -I$src_dir/src \
1034 -I$build_dir/include \
1035 -I$src_dir/include \
1036 "
1037 libaco_files="\
1038 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1039 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1040 $src_dir/src/amd/compiler/aco_dominance.cpp \
1041 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1042 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1043 $src_dir/src/amd/compiler/aco_interface.cpp \
1044 $src_dir/src/amd/compiler/aco_assembler.cpp \
1045 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1046 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1047 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1048 $src_dir/src/amd/compiler/aco_ir.cpp \
1049 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1050 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1051 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1052 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1053 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1054 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1055 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1056 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1057 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1058 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1059 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1060 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1061 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1062 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1063 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1064 $src_dir/src/amd/compiler/aco_spill.cpp \
1065 $src_dir/src/amd/compiler/aco_statistics.cpp \
1066 $src_dir/src/amd/compiler/aco_validate.cpp \
1067 "
1068 for f in $libaco_files
1069 do
1070 libaco_obj=$build_dir/$(basename $f .c).o
1071 libaco_a="$libaco_a $libaco_obj"
1072
1073 $cxx $cppflags $f -o $libaco_obj &
1074 done
1075 #===============================================================================
1076 # libmesautils
1077 cppflags="\
1078 $cppflags_common \
1079 -I$build_dir/src/gallium/auxiliary \
1080 -I$src_dir/src/gallium/auxiliary \
1081 -I$build_dir/src/gallium/include \
1082 -I$src_dir/src/gallium/include \
1083 -I$build_dir/src/mesa \
1084 -I$src_dir/src/mesa \
1085 -I$build_dir/src/util/blake3 \
1086 -I$src_dir/src/util/blake3 \
1087 -I$build_dir/src/util/format \
1088 -I$src_dir/src/util/format \
1089 -I$build_dir/src/util \
1090 -I$src_dir/src/util \
1091 -I$build_dir/src \
1092 -I$src_dir/src \
1093 -I$build_dir/include \
1094 -I$src_dir/include \
1095 $zlib_cppflags \
1096 "
1097
1098 libmesautil_files="\
1099 $src_dir/src/util/anon_file.c \
1100 $src_dir/src/util/bitscan.c \
1101 $src_dir/src/util/blake3/blake3.c \
1102 $src_dir/src/util/blake3/blake3_dispatch.c \
1103 $src_dir/src/util/blake3/blake3_portable.c \
1104 $src_dir/src/util/blob.c \
1105 $src_dir/src/util/build_id.c \
1106 $src_dir/src/util/compress.c \
1107 $src_dir/src/util/crc32.c \
1108 $src_dir/src/util/dag.c \
1109 $src_dir/src/util/disk_cache.c \
1110 $src_dir/src/util/disk_cache_os.c \
1111 $src_dir/src/util/double.c \
1112 $src_dir/src/util/fast_idiv_by_const.c \
1113 $build_dir/src/util/format_srgb.c \
1114 $src_dir/src/util/fossilize_db.c \
1115 $src_dir/src/util/futex.c \
1116 $src_dir/src/util/half_float.c \
1117 $src_dir/src/util/hash_table.c \
1118 $src_dir/src/util/log.c \
1119 $src_dir/src/util/mesa-blake3.c \
1120 $src_dir/src/util/mesa-sha1.c \
1121 $build_dir/src/util/mesa_cache_db.c \
1122 $src_dir/src/util/mesa_cache_db_multipart.c \
1123 $src_dir/src/util/memstream.c \
1124 $src_dir/src/util/os_file.c \
1125 $src_dir/src/util/os_memory_fd.c \
1126 $src_dir/src/util/os_misc.c \
1127 $src_dir/src/util/os_socket.c \
1128 $src_dir/src/util/os_time.c \
1129 $src_dir/src/util/sha1/sha1.c \
1130 $src_dir/src/util/ralloc.c \
1131 $src_dir/src/util/rand_xor.c \
1132 $src_dir/src/util/rb_tree.c \
1133 $src_dir/src/util/register_allocate.c \
1134 $src_dir/src/util/rgtc.c \
1135 $src_dir/src/util/rwlock.c \
1136 $src_dir/src/util/set.c \
1137 $src_dir/src/util/simple_mtx.c \
1138 $src_dir/src/util/slab.c \
1139 $src_dir/src/util/softfloat.c \
1140 $src_dir/src/util/sparse_array.c \
1141 $src_dir/src/util/string_buffer.c \
1142 $src_dir/src/util/strtod.c \
1143 $src_dir/src/util/u_atomic.c \
1144 $src_dir/src/util/u_call_once.c \
1145 $src_dir/src/util/u_cpu_detect.c \
1146 $src_dir/src/util/u_debug.c \
1147 $src_dir/src/util/u_debug_stack.c \
1148 $src_dir/src/util/u_debug_symbol.c \
1149 $src_dir/src/util/u_dl.c \
1150 $src_dir/src/util/u_dynarray.c \
1151 $build_dir/src/util/u_format_table.c \
1152 $src_dir/src/util/u_hash_table.c \
1153 $src_dir/src/util/u_printf.c \
1154 $src_dir/src/util/format/u_format.c \
1155 $src_dir/src/util/format/u_format_bptc.c \
1156 $src_dir/src/util/format/u_format_etc.c \
1157 $src_dir/src/util/format/u_format_fxt1.c \
1158 $src_dir/src/util/format/u_format_latc.c \
1159 $src_dir/src/util/format/u_format_other.c \
1160 $src_dir/src/util/format/u_format_rgtc.c \
1161 $src_dir/src/util/format/u_format_s3tc.c \
1162 $src_dir/src/util/format/u_format_tests.c \
1163 $src_dir/src/util/format/u_format_yuv.c \
1164 $src_dir/src/util/format/u_format_zs.c \
1165 $src_dir/src/util/u_idalloc.c \
1166 $src_dir/src/util/u_math.c \
1167 $src_dir/src/util/u_mm.c \
1168 $src_dir/src/util/u_process.c \
1169 $src_dir/src/util/u_queue.c \
1170 $src_dir/src/util/u_thread.c \
1171 $src_dir/src/util/u_vector.c \
1172 $src_dir/src/util/u_worklist.c \
1173 $src_dir/src/util/vma.c \
1174 $src_dir/src/util/vl_zscan_data.c \
1175 \
1176 $src_dir/src/c11/impl/time.c \
1177 $src_dir/src/c11/impl/threads_posix.c \
1178 "
1179
1180 for f in $libmesautil_files
1181 do
1182 libmesautil_obj=$build_dir/$(basename $f .c).o
1183 libmesautil_a="$libmesautil_a $libmesautil_obj"
1184
1185 $cc $cppflags $f -o $libmesautil_obj &
1186 done
1187 #-------------------------------------------------------------------------------
1188 # The following is for the ultra complex blake3 hash algorithm.
1189 libmesautil_asm_files="\
1190 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1191 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1192 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1193 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1194 "
1195 for f in $libmesautil_asm_files
1196 do
1197 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1198 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1199 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1200
1201 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1202 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1203 done
1204 #===============================================================================
1205 # amd vulkan
1206 cppflags="\
1207 $cppflags_common \
1208 -DPACKAGE_VERSION=\"$version\" \
1209 -I$build_dir/src/amd/compiler \
1210 -I$src_dir/src/amd/compiler \
1211 -I$build_dir/src/amd/common \
1212 -I$src_dir/src/amd/common \
1213 -I$build_dir/src/amd/vulkan/nir \
1214 -I$src_dir/src/amd/vulkan/nir \
1215 -I$build_dir/src/amd/vulkan/meta \
1216 -I$src_dir/src/amd/vulkan/meta \
1217 -I$build_dir/src/amd/vulkan \
1218 -I$src_dir/src/amd/vulkan \
1219 -I$build_dir/src/amd \
1220 -I$src_dir/src/amd \
1221 -I$build_dir/src/gallium/auxiliary \
1222 -I$src_dir/src/gallium/auxiliary \
1223 -I$build_dir/src/gallium/include \
1224 -I$src_dir/src/gallium/include \
1225 -I$build_dir/src/vulkan/runtime \
1226 -I$src_dir/src/vulkan/runtime \
1227 -I$build_dir/src/vulkan/wsi \
1228 -I$src_dir/src/vulkan/wsi \
1229 -I$build_dir/src/vulkan/util \
1230 -I$src_dir/src/vulkan/util \
1231 -I$build_dir/src/mesa \
1232 -I$src_dir/src/mesa \
1233 -I$build_dir/src/compiler/nir \
1234 -I$src_dir/src/compiler/nir \
1235 -I$build_dir/src/compiler \
1236 -I$src_dir/src/compiler \
1237 -I$build_dir/src/util \
1238 -I$src_dir/src/util \
1239 -I$build_dir/src \
1240 -I$src_dir/src \
1241 -I$build_dir/include \
1242 -I$src_dir/include \
1243 $libdrm_cppflags \
1244 $libdrm_amdgpu_cppflags \
1245 $libx11_cppflags \
1246 $libxrandr_cppflags \
1247 $libxrender_cppflags \
1248 $libxcb_cppflags \
1249 $xorgproto_cppflags \
1250 $libxshmfence_cppflags \
1251 "
1252 #$build_dir/radv_extensions.c
1253 #$build_dir/vk_format_table.c
1254 # XXX: remove rt for now
1255 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1256 libvulkan_amd_common_files="\
1257 $src_dir/src/amd/vulkan/radv_android.c \
1258 $src_dir/src/amd/vulkan/radv_buffer.c \
1259 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1260 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1261 $src_dir/src/amd/vulkan/radv_debug.c \
1262 $build_dir/src/amd/vulkan/radv_device.c \
1263 $src_dir/src/amd/vulkan/radv_device_memory.c \
1264 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1265 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1266 $src_dir/src/amd/vulkan/radv_event.c \
1267 $src_dir/src/amd/vulkan/radv_formats.c \
1268 $src_dir/src/amd/vulkan/radv_image.c \
1269 $src_dir/src/amd/vulkan/radv_instance.c \
1270 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1271 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1272 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1273 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1277 $build_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1280 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1287 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1288 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1289 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_lower_cooperative_matrix.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1301 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1302 $src_dir/src/amd/vulkan/radv_physical_device.c \
1303 $src_dir/src/amd/vulkan/radv_pipeline.c \
1304 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1308 $src_dir/src/amd/vulkan/radv_queue.c \
1309 $src_dir/src/amd/vulkan/radv_rt_common.c \
1310 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1311 $src_dir/src/amd/vulkan/radv_sampler.c \
1312 $src_dir/src/amd/vulkan/radv_sdma.c \
1313 $src_dir/src/amd/vulkan/radv_shader.c \
1314 $src_dir/src/amd/vulkan/radv_shader_args.c \
1315 $src_dir/src/amd/vulkan/radv_shader_info.c \
1316 $src_dir/src/amd/vulkan/radv_spm.c \
1317 $src_dir/src/amd/vulkan/radv_query.c \
1318 $src_dir/src/amd/vulkan/radv_video.c \
1319 $src_dir/src/amd/vulkan/radv_wsi.c \
1320 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1321 \
1322 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1323 \
1324 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1325 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1328 \
1329 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1330 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1332 \
1333 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1334 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1335 \
1336 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1337 "
1338
1339 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1340
1341 for f in $libvulkan_amd_common_files
1342 do
1343 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1344 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1345
1346 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1347 done
1348 libvulkan_amd_common_a="\
1349 $libvulkan_amd_common_a \
1350 $build_dir/xmlconfig.o"
1351 #===============================================================================
1352 # create the radeon vulkan driver
1353 soname=libvulkan_radeon.so
1354
1355 # XXX:the attempt to generalize without kludge the link stage of real programs
1356 # build is near a total and complete failure
1357 if test "${driver_link_cmd-unset}" = unset ; then
1358 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1359 -shared -static-libgcc -static-libstdc++ \
1360 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1361 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1362 -Wl,--whole-archive -Wl,--start-group \
1363 $libaco_a \
1364 $libvulkan_amd_common_a \
1365 $libvulkan_util_a \
1366 $libvulkan_runtime_a \
1367 $libvulkan_wsi_a \
1368 $libamd_common_a \
1369 $libamdgpu_addrlib_a \
1370 $libcompiler_a \
1371 $libnir_a \
1372 $libmesautil_a \
1373 -Wl,--end-group -Wl,--no-whole-archive \
1374 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1375 $zlib_ldflags \
1376 $expat_ldflags \
1377 $libelf_ldflags \
1378 -Wl,--as-needed \
1379 $libdrm_ldflags \
1380 $libdrm_amdgpu_ldflags \
1381 $libx11_ldflags \
1382 $libxrandr_ldflags \
1383 $libxrender_ldflags \
1384 $libxcb_ldflags \
1385 $libxshmfence_ldflags \
1386 -lpthread \
1387 -ldl \
1388 -Wl,--no-as-needed"
1389 fi
1390 wait
1391 eval $driver_link_cmd
1392 #===============================================================================
File builders/mesa-vulkan-amd-sh-38deb97d101ef421a7a3e90798f2d6708e128dbf/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/generators.sh deleted (index 6556024..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
18 patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
19 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
20 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
21 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
22 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
23 #===============================================================================
24 # vulkan util
25 export PYTHONPATH=$mako
26 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
27 --beta false \
28 --xml $vulkan_api_xml \
29 --outdir $build_dir/src/vulkan/util
30
31 # our ndebug/release version
32 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
33 $build_dir/src/vulkan/util
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --beta false \
37 --xml $vulkan_api_xml \
38 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
39 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
40
41 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
42 --xml $vulkan_api_xml \
43 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
44 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
45
46 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
47 --beta false \
48 --xml $vulkan_api_xml \
49 --outdir $build_dir/src/vulkan/util &
50
51 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
52 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
53
54 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
55 >$build_dir/src/compiler/nir/nir_opcodes.h &
56
57 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
58 --outdir $build_dir/src/compiler/nir &
59
60 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
61 --outdir $build_dir/src/compiler/nir &
62 unset PYTHONPATH
63 #===============================================================================
64 # vulkan runtime
65 export PYTHONPATH=$mako
66 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
67 --beta false \
68 --xml $vulkan_api_xml \
69 --proto --weak \
70 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
71 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
72 --prefix vk_common &
73 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
74 --beta false \
75 --xml $vulkan_api_xml \
76 --proto --weak \
77 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
78 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
79 --prefix vk_cmd_enqueue &
80 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
81 --beta false \
82 --xml $vulkan_api_xml \
83 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
84 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
85 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
86 --beta false \
87 --xml $vulkan_api_xml \
88 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
89 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
90 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
91 --beta false \
92 --xml $vulkan_api_xml \
93 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
94 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
95 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
96 --beta false \
97 --xml $vulkan_api_xml \
98 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
99 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
100 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
101 --xml $vulkan_api_xml \
102 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
103 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
104 unset PYTHONPATH
105 #===============================================================================
106 # wsi x11 (Window System Interface)
107 export PYTHONPATH=$mako
108 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
109 --beta false \
110 --xml $vulkan_api_xml \
111 --proto --weak \
112 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
113 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
114 --prefix wsi &
115 unset PYTHONPATH
116 #===============================================================================
117 # amd common archive
118 $python3 $src_dir/src/amd/common/sid_tables.py \
119 $src_dir/src/amd/common/sid.h \
120 $src_dir/src/amd/registers/gfx6.json \
121 $src_dir/src/amd/registers/gfx7.json \
122 $src_dir/src/amd/registers/gfx8.json \
123 $src_dir/src/amd/registers/gfx81.json \
124 $src_dir/src/amd/registers/gfx9.json \
125 $src_dir/src/amd/registers/gfx940.json \
126 $src_dir/src/amd/registers/gfx10.json \
127 $src_dir/src/amd/registers/gfx10-rsrc.json \
128 $src_dir/src/amd/registers/gfx103.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx115.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/src/amd/common/sid_tables.h &
135 $python3 $src_dir/src/amd/registers/makeregheader.py \
136 $src_dir/src/amd/registers/gfx6.json \
137 $src_dir/src/amd/registers/gfx7.json \
138 $src_dir/src/amd/registers/gfx8.json \
139 $src_dir/src/amd/registers/gfx81.json \
140 $src_dir/src/amd/registers/gfx9.json \
141 $src_dir/src/amd/registers/gfx940.json \
142 $src_dir/src/amd/registers/gfx10.json \
143 $src_dir/src/amd/registers/gfx10-rsrc.json \
144 $src_dir/src/amd/registers/gfx11.json \
145 $src_dir/src/amd/registers/gfx115.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/src/compiler/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/src/compiler/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/src/compiler/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/src/compiler/spirv/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/src/compiler/spirv/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/src/compiler/nir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir/src/compiler/nir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/src/amd/compiler/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/src/amd/compiler/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 export PYTHONPATH=$mako
210 $python3 $src_dir/src/util/format_srgb.py \
211 >$build_dir/src/util/format_srgb.c
212
213 $python3 $src_dir/src/util/format/u_format_table.py \
214 $src_dir/src/util/format/u_format.csv \
215 >$build_dir/src/util/u_format_table.c
216
217 # wow, really?
218 $python3 $src_dir/src/util/format/u_format_table.py \
219 --header \
220 $src_dir/src/util/format/u_format.csv \
221 >$build_dir/src/util/format/u_format_pack.h
222
223 # oooof!
224 $python3 $src_dir/src/util/driconf_static.py \
225 $src_dir/src/util/00-mesa-defaults.conf \
226 $build_dir/src/util/driconf_static.h
227 unset PYTHONPATH
228 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
229 #===============================================================================
230 # amd vulkan
231 export PYTHONPATH=$mako
232 #------------------------------------------------------------------------------
233 # specific API to work around _still maintained at the time of writing _ game
234 # executable... this is the beginning of the end...
235 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
236 --beta false \
237 --xml $vulkan_api_xml \
238 --proto --weak \
239 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
240 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
241 --prefix radv \
242 --device-prefix metro_exodus \
243 --device-prefix rage2 &
244 #------------------------------------------------------------------------------
245 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
246 # --xml $vulkan_api_xml \
247 # --out-c radv_extensions.c \
248 # --out-h radv_extensions.h &
249 #------------------------------------------------------------------------------
250 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
251 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
252 # >$build_dir/vk_format_table.c &
253 #------------------------------------------------------------------------------
254 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
255 $src_dir/src/util/format/u_format.csv \
256 $src_dir/src/amd/registers/gfx10-rsrc.json \
257 $src_dir/src/amd/registers/gfx11-rsrc.json \
258 >$build_dir/src/amd/common/gfx10_format_table.c &
259 #------------------------------------------------------------------------------
260 git_sha1=no_git_sha1_available
261 if test -d $src_dir/.git; then
262 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
263 fi
264 echo git_sha1=$git_sha1
265 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
266 unset PYTHONPATH
267 #===============================================================================
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_meta.c.patch deleted (index a0757cf..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -506,9 +506,14 @@ radv_device_init_meta(struct radv_device *device)
4 if (result != VK_SUCCESS)
5 goto fail_etc_decode;
6
7 - result = radv_device_init_meta_astc_decode_state(device, on_demand);
8 - if (result != VK_SUCCESS)
9 - goto fail_astc_decode;
10 +// XXX: insanely toxic compute based stuff pulling that
11 +// disgusting khronos glslang. Should be independent
12 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
13 +// with simple and plain C written "assemblers").
14 +// blame: some trash.
15 +// result = radv_device_init_meta_astc_decode_state(device, on_demand);
16 +// if (result != VK_SUCCESS)
17 +// goto fail_astc_decode;
18
19 if (device->uses_device_generated_commands) {
20 result = radv_device_init_dgc_prepare_state(device);
21 @@ -516,35 +521,50 @@ radv_device_init_meta(struct radv_device *device)
22 goto fail_dgc;
23 }
24
25 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
26 - if (device->vk.enabled_features.nullDescriptor) {
27 - result = radv_device_init_null_accel_struct(device);
28 - if (result != VK_SUCCESS)
29 - goto fail_accel_struct;
30 - }
31 -
32 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
33 - * Work around it by forcing ACO for now.
34 - */
35 - bool use_llvm = device->physical_device->use_llvm;
36 - if (loaded_cache || use_llvm) {
37 - device->physical_device->use_llvm = false;
38 - result = radv_device_init_accel_struct_build_state(device);
39 - device->physical_device->use_llvm = use_llvm;
40 -
41 - if (result != VK_SUCCESS)
42 - goto fail_accel_struct;
43 - }
44 - }
45 +// XXX: insanely toxic compute based stuff pulling that
46 +// disgusting khronos glslang. Should be independent
47 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
48 +// with simple and plain C written "assemblers").
49 +// blame: Konstantin Seurer
50 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
51 +// if (device->vk.enabled_features.nullDescriptor) {
52 +// result = radv_device_init_null_accel_struct(device);
53 +// if (result != VK_SUCCESS)
54 +// goto fail_accel_struct;
55 +// }
56 +//
57 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
58 +// * Work around it by forcing ACO for now.
59 +// */
60 +// bool use_llvm = device->physical_device->use_llvm;
61 +// if (loaded_cache || use_llvm) {
62 +// device->physical_device->use_llvm = false;
63 +// result = radv_device_init_accel_struct_build_state(device);
64 +// device->physical_device->use_llvm = use_llvm;
65 +//
66 +// if (result != VK_SUCCESS)
67 +// goto fail_accel_struct;
68 +// }
69 +// }
70
71 return VK_SUCCESS;
72
73 -fail_accel_struct:
74 - radv_device_finish_accel_struct_build_state(device);
75 +// XXX: insanely toxic compute based stuff pulling that
76 +// disgusting khronos glslang. Should be independent
77 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
78 +// with simple and plain C written "assemblers").
79 +// blame: Konstantin Seurer
80 +//fail_accel_struct:
81 +// radv_device_finish_accel_struct_build_state(device);
82 fail_dgc:
83 radv_device_finish_dgc_prepare_state(device);
84 -fail_astc_decode:
85 - radv_device_finish_meta_astc_decode_state(device);
86 +// XXX: insanely toxic compute based stuff pulling that
87 +// disgusting khronos glslang. Should be independent
88 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
89 +// with simple and plain C written "assemblers").
90 +// blame: some trash.
91 +//fail_astc_decode:
92 +// radv_device_finish_meta_astc_decode_state(device);
93 fail_etc_decode:
94 radv_device_finish_meta_etc_decode_state(device);
95 fail_fmask_copy:
96 @@ -584,8 +604,18 @@ radv_device_finish_meta(struct radv_device *device)
97 {
98 radv_device_finish_dgc_prepare_state(device);
99 radv_device_finish_meta_etc_decode_state(device);
100 - radv_device_finish_meta_astc_decode_state(device);
101 - radv_device_finish_accel_struct_build_state(device);
102 +// XXX: insanely toxic compute based stuff pulling that
103 +// disgusting khronos glslang. Should be independent
104 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
105 +// with simple and plain C written "assemblers").
106 +// blame: some trash.
107 +// radv_device_finish_meta_astc_decode_state(device);
108 +// XXX: insanely toxic compute based stuff pulling that
109 +// disgusting khronos glslang. Should be independent
110 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
111 +// with simple and plain C written "assemblers").
112 +// blame: Konstantin Seurer
113 +// radv_device_finish_accel_struct_build_state(device);
114 radv_device_finish_meta_clear_state(device);
115 radv_device_finish_meta_resolve_state(device);
116 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_meta_copy.c.patch deleted (index 5431fd0..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta_copy.c
2 +++ b/src/amd/vulkan/meta/radv_meta_copy.c
3 @@ -262,17 +262,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm
4
5 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
6 for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
7 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
8 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
9 - &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
10 - pCopyBufferToImageInfo->pRegions[r].imageOffset,
11 - pCopyBufferToImageInfo->pRegions[r].imageExtent);
12 - } else {
13 + // XXX: current astc work is omega trash
14 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
15 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
16 + // &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
17 + // pCopyBufferToImageInfo->pRegions[r].imageOffset,
18 + // pCopyBufferToImageInfo->pRegions[r].imageExtent);
19 + //} else {
20 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
21 &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
22 pCopyBufferToImageInfo->pRegions[r].imageOffset,
23 pCopyBufferToImageInfo->pRegions[r].imageExtent);
24 - }
25 + //}
26 }
27 }
28 }
29 @@ -613,15 +614,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI
30 dst_extent.height = dst_extent.height / vk_format_get_blockheight(src_image->vk.format) *
31 vk_format_get_blockheight(dst_image->vk.format);
32 }
33 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
34 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
35 - &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
36 - dst_extent);
37 - } else {
38 + // XXX: current astc work is omega trash
39 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
40 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
41 + // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
42 + // dst_extent);
43 + //} else {
44 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
45 &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
46 dst_extent);
47 - }
48 + //}
49 }
50 }
51 }
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 46f972b..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cc $cppflags $src_dir/src/compiler/glsl_types.c \
763 -o $build_dir/glsl_types.o &
764 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
765 -o $build_dir/shader_enums.o &
766 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
767 -o $build_dir/builtin_types.o &
768 libcompiler_a="\
769 $build_dir/glsl_types.o \
770 $build_dir/shader_enums.o \
771 $build_dir/builtin_types.o \
772 "
773 #===============================================================================
774 # libnir
775 cppflags="\
776 $cppflags_common \
777 -I$build_dir/src/compiler/spirv \
778 -I$src_dir/src/compiler/spirv \
779 -I$build_dir/src/compiler/nir \
780 -I$src_dir/src/compiler/nir \
781 -I$build_dir/src/compiler \
782 -I$src_dir/src/compiler \
783 -I$build_dir/src/gallium/auxiliary \
784 -I$src_dir/src/gallium/auxiliary \
785 -I$build_dir/src/gallium/include \
786 -I$src_dir/src/gallium/include \
787 -I$build_dir/src/mesa \
788 -I$src_dir/src/mesa \
789 -I$build_dir/src \
790 -I$src_dir/src \
791 -I$build_dir/include \
792 -I$src_dir/include \
793 $xorgproto_cppflags \
794 $libxcb_cppflags \
795 $libx11_cppflags \
796 $libxrender_cppflags \
797 $libxrandr_cppflags \
798 "
799 libnir_files="\
800 $src_dir/src/compiler/spirv/gl_spirv.c \
801 $build_dir/src/compiler/spirv/spirv_info.c \
802 $src_dir/src/compiler/spirv/spirv_to_nir.c \
803 $src_dir/src/compiler/spirv/vtn_alu.c \
804 $src_dir/src/compiler/spirv/vtn_amd.c \
805 $src_dir/src/compiler/spirv/vtn_cfg.c \
806 $src_dir/src/compiler/spirv/vtn_cmat.c \
807 $build_dir/src/compiler/spirv/vtn_gather_types.c \
808 $src_dir/src/compiler/spirv/vtn_glsl450.c \
809 $src_dir/contrib/vtn_opencl.c \
810 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
811 $src_dir/src/compiler/spirv/vtn_subgroup.c \
812 $src_dir/src/compiler/spirv/vtn_variables.c \
813 \
814 $build_dir/src/compiler/nir/nir.c \
815 $src_dir/src/compiler/nir/nir_builder.c \
816 $src_dir/src/compiler/nir/nir_builtin_builder.c \
817 $src_dir/src/compiler/nir/nir_clone.c \
818 $build_dir/src/compiler/nir/nir_constant_expressions.c \
819 $src_dir/src/compiler/nir/nir_control_flow.c \
820 $src_dir/src/compiler/nir/nir_deref.c \
821 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
822 $src_dir/src/compiler/nir/nir_dominance.c \
823 $src_dir/src/compiler/nir/nir_from_ssa.c \
824 $src_dir/src/compiler/nir/nir_gather_info.c \
825 $src_dir/src/compiler/nir/nir_gather_types.c \
826 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
827 $src_dir/src/compiler/nir/nir_group_loads.c \
828 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
829 $src_dir/src/compiler/nir/nir_functions.c \
830 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
831 $src_dir/src/compiler/nir/nir_instr_set.c \
832 $build_dir/src/compiler/nir/nir_intrinsics.c \
833 $src_dir/src/compiler/nir/nir_legacy.c \
834 $src_dir/src/compiler/nir/nir_linking_helpers.c \
835 $src_dir/src/compiler/nir/nir_liveness.c \
836 $src_dir/src/compiler/nir/nir_loop_analyze.c \
837 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
838 $src_dir/src/compiler/nir/nir_lower_alu.c \
839 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
840 $src_dir/src/compiler/nir/nir_lower_amul.c \
841 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
842 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
843 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
844 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
845 $src_dir/src/compiler/nir/nir_lower_blend.c \
846 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
847 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
848 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
849 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
850 $src_dir/src/compiler/nir/nir_lower_clip.c \
851 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
852 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
853 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
854 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
855 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
856 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
857 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
858 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
859 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
860 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
861 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
862 $src_dir/src/compiler/nir/nir_lower_flrp.c \
863 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
864 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
865 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
866 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
867 $src_dir/src/compiler/nir/nir_lower_frexp.c \
868 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
869 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
870 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
871 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
872 $src_dir/src/compiler/nir/nir_lower_idiv.c \
873 $src_dir/src/compiler/nir/nir_lower_image.c \
874 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
875 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
876 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
877 $src_dir/src/compiler/nir/nir_lower_int64.c \
878 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
879 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
880 $src_dir/src/compiler/nir/nir_lower_io.c \
881 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
882 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
883 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
884 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
885 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
886 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_mediump.c \
888 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
889 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
890 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
891 $src_dir/src/compiler/nir/nir_lower_multiview.c \
892 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
893 $src_dir/src/compiler/nir/nir_lower_packing.c \
894 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
895 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
896 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
897 $src_dir/src/compiler/nir/nir_lower_point_size.c \
898 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
899 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
900 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
901 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
902 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
903 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
904 $src_dir/src/compiler/nir/nir_lower_returns.c \
905 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
906 $src_dir/src/compiler/nir/nir_lower_samplers.c \
907 $src_dir/src/compiler/nir/nir_lower_scratch.c \
908 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
909 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
910 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
911 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
912 $src_dir/src/compiler/nir/nir_lower_system_values.c \
913 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
914 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
915 $src_dir/src/compiler/nir/nir_lower_tex.c \
916 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
917 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
918 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
919 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
920 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
921 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
922 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
923 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
924 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
925 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
926 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
927 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
928 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
929 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
930 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
931 $src_dir/src/compiler/nir/nir_metadata.c \
932 $src_dir/src/compiler/nir/nir_mod_analysis.c \
933 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
934 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
935 $build_dir/src/compiler/nir/nir_opcodes.c \
936 $src_dir/src/compiler/nir/nir_opt_access.c \
937 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
938 $src_dir/src/compiler/nir/nir_opt_barriers.c \
939 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
940 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
941 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
942 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
943 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
944 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
945 $src_dir/src/compiler/nir/nir_opt_cse.c \
946 $src_dir/src/compiler/nir/nir_opt_dce.c \
947 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
948 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
949 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
950 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
951 $src_dir/src/compiler/nir/nir_opt_gcm.c \
952 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
953 $src_dir/src/compiler/nir/nir_opt_if.c \
954 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
955 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
956 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
957 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
958 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
959 $src_dir/src/compiler/nir/nir_opt_move.c \
960 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
961 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
962 $src_dir/src/compiler/nir/nir_opt_offsets.c \
963 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
964 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
965 $src_dir/src/compiler/nir/nir_opt_preamble.c \
966 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
967 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
968 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
969 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
970 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
971 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
972 $src_dir/src/compiler/nir/nir_opt_sink.c \
973 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
974 $src_dir/src/compiler/nir/nir_opt_undef.c \
975 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
976 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
977 $src_dir/src/compiler/nir/nir_phi_builder.c \
978 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
979 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
980 $src_dir/src/compiler/nir/nir_print.c \
981 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
982 $src_dir/src/compiler/nir/nir_range_analysis.c \
983 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
984 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
985 $src_dir/src/compiler/nir/nir_repair_ssa.c \
986 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
987 $src_dir/src/compiler/nir/nir_schedule.c \
988 $src_dir/src/compiler/nir/nir_search.c \
989 $src_dir/src/compiler/nir/nir_serialize.c \
990 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
991 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
992 $src_dir/src/compiler/nir/nir_split_var_copies.c \
993 $src_dir/src/compiler/nir/nir_split_vars.c \
994 $src_dir/src/compiler/nir/nir_sweep.c \
995 $src_dir/src/compiler/nir/nir_to_lcssa.c \
996 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
997 $src_dir/src/compiler/nir/nir_validate.c \
998 $src_dir/src/compiler/nir/nir_worklist.c \
999 "
1000 for f in $libnir_files
1001 do
1002 libnir_obj=$build_dir/$(basename $f .c).o
1003 libnir_a="$libnir_a $libnir_obj"
1004
1005 $cc $cppflags $f -o $libnir_obj &
1006 done
1007 #===============================================================================
1008 # libaco
1009 # we don't use cppflags_common for aco because the code is not yet
1010 # compatible
1011 cppflags="\
1012 $gcc_builtins_cppflags \
1013 $gcc_attributes_cppflags \
1014 $linux_glibc_cppflags \
1015 $mesa_cppflags \
1016 -I$build_dir/src/amd/compiler \
1017 -I$src_dir/src/amd/compiler \
1018 -I$build_dir/src/amd/vulkan \
1019 -I$src_dir/src/amd/vulkan \
1020 -I$build_dir/src/amd/common \
1021 -I$src_dir/src/amd/common \
1022 -I$build_dir/src/amd \
1023 -I$src_dir/src/amd \
1024 -I$build_dir/src/compiler/nir \
1025 -I$src_dir/src/compiler/nir \
1026 -I$build_dir/src/compiler \
1027 -I$src_dir/src/compiler \
1028 -I$build_dir/src/mesa \
1029 -I$src_dir/src/mesa \
1030 -I$build_dir/src/gallium/include \
1031 -I$src_dir/src/gallium/include \
1032 -I$build_dir/src \
1033 -I$src_dir/src \
1034 -I$build_dir/include \
1035 -I$src_dir/include \
1036 "
1037 libaco_files="\
1038 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1039 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1040 $src_dir/src/amd/compiler/aco_dominance.cpp \
1041 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1042 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1043 $src_dir/src/amd/compiler/aco_interface.cpp \
1044 $src_dir/src/amd/compiler/aco_assembler.cpp \
1045 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1046 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1047 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1048 $src_dir/src/amd/compiler/aco_ir.cpp \
1049 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1050 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1051 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1052 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1053 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1054 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1055 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1056 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1057 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1058 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1059 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1060 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1061 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1062 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1063 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1064 $src_dir/src/amd/compiler/aco_spill.cpp \
1065 $src_dir/src/amd/compiler/aco_statistics.cpp \
1066 $src_dir/src/amd/compiler/aco_validate.cpp \
1067 "
1068 for f in $libaco_files
1069 do
1070 libaco_obj=$build_dir/$(basename $f .c).o
1071 libaco_a="$libaco_a $libaco_obj"
1072
1073 $cxx $cppflags $f -o $libaco_obj &
1074 done
1075 #===============================================================================
1076 # libmesautils
1077 cppflags="\
1078 $cppflags_common \
1079 -I$build_dir/src/gallium/auxiliary \
1080 -I$src_dir/src/gallium/auxiliary \
1081 -I$build_dir/src/gallium/include \
1082 -I$src_dir/src/gallium/include \
1083 -I$build_dir/src/mesa \
1084 -I$src_dir/src/mesa \
1085 -I$build_dir/src/util/blake3 \
1086 -I$src_dir/src/util/blake3 \
1087 -I$build_dir/src/util/format \
1088 -I$src_dir/src/util/format \
1089 -I$build_dir/src/util \
1090 -I$src_dir/src/util \
1091 -I$build_dir/src \
1092 -I$src_dir/src \
1093 -I$build_dir/include \
1094 -I$src_dir/include \
1095 $zlib_cppflags \
1096 "
1097
1098 libmesautil_files="\
1099 $src_dir/src/util/anon_file.c \
1100 $src_dir/src/util/bitscan.c \
1101 $src_dir/src/util/blake3/blake3.c \
1102 $src_dir/src/util/blake3/blake3_dispatch.c \
1103 $src_dir/src/util/blake3/blake3_portable.c \
1104 $src_dir/src/util/blob.c \
1105 $src_dir/src/util/build_id.c \
1106 $src_dir/src/util/compress.c \
1107 $src_dir/src/util/crc32.c \
1108 $src_dir/src/util/dag.c \
1109 $src_dir/src/util/disk_cache.c \
1110 $src_dir/src/util/disk_cache_os.c \
1111 $src_dir/src/util/double.c \
1112 $src_dir/src/util/fast_idiv_by_const.c \
1113 $build_dir/src/util/format_srgb.c \
1114 $src_dir/src/util/fossilize_db.c \
1115 $src_dir/src/util/futex.c \
1116 $src_dir/src/util/half_float.c \
1117 $src_dir/src/util/hash_table.c \
1118 $src_dir/src/util/log.c \
1119 $src_dir/src/util/mesa-blake3.c \
1120 $src_dir/src/util/mesa-sha1.c \
1121 $build_dir/src/util/mesa_cache_db.c \
1122 $src_dir/src/util/mesa_cache_db_multipart.c \
1123 $src_dir/src/util/memstream.c \
1124 $src_dir/src/util/os_file.c \
1125 $src_dir/src/util/os_memory_fd.c \
1126 $src_dir/src/util/os_misc.c \
1127 $src_dir/src/util/os_socket.c \
1128 $src_dir/src/util/os_time.c \
1129 $src_dir/src/util/sha1/sha1.c \
1130 $src_dir/src/util/ralloc.c \
1131 $src_dir/src/util/rand_xor.c \
1132 $src_dir/src/util/rb_tree.c \
1133 $src_dir/src/util/register_allocate.c \
1134 $src_dir/src/util/rgtc.c \
1135 $src_dir/src/util/rwlock.c \
1136 $src_dir/src/util/set.c \
1137 $src_dir/src/util/simple_mtx.c \
1138 $src_dir/src/util/slab.c \
1139 $src_dir/src/util/softfloat.c \
1140 $src_dir/src/util/sparse_array.c \
1141 $src_dir/src/util/string_buffer.c \
1142 $src_dir/src/util/strtod.c \
1143 $src_dir/src/util/u_atomic.c \
1144 $src_dir/src/util/u_call_once.c \
1145 $src_dir/src/util/u_cpu_detect.c \
1146 $src_dir/src/util/u_debug.c \
1147 $src_dir/src/util/u_debug_stack.c \
1148 $src_dir/src/util/u_debug_symbol.c \
1149 $src_dir/src/util/u_dl.c \
1150 $src_dir/src/util/u_dynarray.c \
1151 $build_dir/src/util/u_format_table.c \
1152 $src_dir/src/util/u_hash_table.c \
1153 $src_dir/src/util/u_printf.c \
1154 $src_dir/src/util/format/u_format.c \
1155 $src_dir/src/util/format/u_format_bptc.c \
1156 $src_dir/src/util/format/u_format_etc.c \
1157 $src_dir/src/util/format/u_format_fxt1.c \
1158 $src_dir/src/util/format/u_format_latc.c \
1159 $src_dir/src/util/format/u_format_other.c \
1160 $src_dir/src/util/format/u_format_rgtc.c \
1161 $src_dir/src/util/format/u_format_s3tc.c \
1162 $src_dir/src/util/format/u_format_tests.c \
1163 $src_dir/src/util/format/u_format_yuv.c \
1164 $src_dir/src/util/format/u_format_zs.c \
1165 $src_dir/src/util/u_idalloc.c \
1166 $src_dir/src/util/u_math.c \
1167 $src_dir/src/util/u_mm.c \
1168 $src_dir/src/util/u_process.c \
1169 $src_dir/src/util/u_queue.c \
1170 $src_dir/src/util/u_thread.c \
1171 $src_dir/src/util/u_vector.c \
1172 $src_dir/src/util/u_worklist.c \
1173 $src_dir/src/util/vma.c \
1174 $src_dir/src/util/vl_zscan_data.c \
1175 \
1176 $src_dir/src/c11/impl/time.c \
1177 $src_dir/src/c11/impl/threads_posix.c \
1178 "
1179
1180 for f in $libmesautil_files
1181 do
1182 libmesautil_obj=$build_dir/$(basename $f .c).o
1183 libmesautil_a="$libmesautil_a $libmesautil_obj"
1184
1185 $cc $cppflags $f -o $libmesautil_obj &
1186 done
1187 #-------------------------------------------------------------------------------
1188 # The following is for the ultra complex blake3 hash algorithm.
1189 libmesautil_asm_files="\
1190 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1191 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1192 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1193 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1194 "
1195 for f in $libmesautil_asm_files
1196 do
1197 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1198 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1199 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1200
1201 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1202 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1203 done
1204 #===============================================================================
1205 # amd vulkan
1206 cppflags="\
1207 $cppflags_common \
1208 -DPACKAGE_VERSION=\"$version\" \
1209 -I$build_dir/src/amd/compiler \
1210 -I$src_dir/src/amd/compiler \
1211 -I$build_dir/src/amd/common \
1212 -I$src_dir/src/amd/common \
1213 -I$build_dir/src/amd/vulkan/nir \
1214 -I$src_dir/src/amd/vulkan/nir \
1215 -I$build_dir/src/amd/vulkan/meta \
1216 -I$src_dir/src/amd/vulkan/meta \
1217 -I$build_dir/src/amd/vulkan \
1218 -I$src_dir/src/amd/vulkan \
1219 -I$build_dir/src/amd \
1220 -I$src_dir/src/amd \
1221 -I$build_dir/src/gallium/auxiliary \
1222 -I$src_dir/src/gallium/auxiliary \
1223 -I$build_dir/src/gallium/include \
1224 -I$src_dir/src/gallium/include \
1225 -I$build_dir/src/vulkan/runtime \
1226 -I$src_dir/src/vulkan/runtime \
1227 -I$build_dir/src/vulkan/wsi \
1228 -I$src_dir/src/vulkan/wsi \
1229 -I$build_dir/src/vulkan/util \
1230 -I$src_dir/src/vulkan/util \
1231 -I$build_dir/src/mesa \
1232 -I$src_dir/src/mesa \
1233 -I$build_dir/src/compiler/nir \
1234 -I$src_dir/src/compiler/nir \
1235 -I$build_dir/src/compiler \
1236 -I$src_dir/src/compiler \
1237 -I$build_dir/src/util \
1238 -I$src_dir/src/util \
1239 -I$build_dir/src \
1240 -I$src_dir/src \
1241 -I$build_dir/include \
1242 -I$src_dir/include \
1243 $libdrm_cppflags \
1244 $libdrm_amdgpu_cppflags \
1245 $libx11_cppflags \
1246 $libxrandr_cppflags \
1247 $libxrender_cppflags \
1248 $libxcb_cppflags \
1249 $xorgproto_cppflags \
1250 $libxshmfence_cppflags \
1251 "
1252 #$build_dir/radv_extensions.c
1253 #$build_dir/vk_format_table.c
1254 # XXX: remove rt for now
1255 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1256 libvulkan_amd_common_files="\
1257 $src_dir/src/amd/vulkan/radv_android.c \
1258 $src_dir/src/amd/vulkan/radv_buffer.c \
1259 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1260 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1261 $src_dir/src/amd/vulkan/radv_debug.c \
1262 $build_dir/src/amd/vulkan/radv_device.c \
1263 $src_dir/src/amd/vulkan/radv_device_memory.c \
1264 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1265 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1266 $src_dir/src/amd/vulkan/radv_event.c \
1267 $src_dir/src/amd/vulkan/radv_formats.c \
1268 $src_dir/src/amd/vulkan/radv_image.c \
1269 $src_dir/src/amd/vulkan/radv_instance.c \
1270 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1271 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1272 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1273 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1277 $build_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1280 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1287 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1288 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1289 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_lower_cooperative_matrix.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_hit_attrib_derefs.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1301 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1302 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1303 $src_dir/src/amd/vulkan/radv_physical_device.c \
1304 $src_dir/src/amd/vulkan/radv_pipeline.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1308 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1309 $src_dir/src/amd/vulkan/radv_queue.c \
1310 $src_dir/src/amd/vulkan/radv_rt_common.c \
1311 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1312 $src_dir/src/amd/vulkan/radv_sampler.c \
1313 $src_dir/src/amd/vulkan/radv_sdma.c \
1314 $src_dir/src/amd/vulkan/radv_shader.c \
1315 $src_dir/src/amd/vulkan/radv_shader_args.c \
1316 $src_dir/src/amd/vulkan/radv_shader_info.c \
1317 $src_dir/src/amd/vulkan/radv_spm.c \
1318 $src_dir/src/amd/vulkan/radv_query.c \
1319 $src_dir/src/amd/vulkan/radv_video.c \
1320 $src_dir/src/amd/vulkan/radv_wsi.c \
1321 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1322 \
1323 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1324 \
1325 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1328 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1329 \
1330 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1332 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1333 \
1334 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1335 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1336 \
1337 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1338 "
1339
1340 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1341
1342 for f in $libvulkan_amd_common_files
1343 do
1344 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1345 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1346
1347 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1348 done
1349 libvulkan_amd_common_a="\
1350 $libvulkan_amd_common_a \
1351 $build_dir/xmlconfig.o"
1352 #===============================================================================
1353 # create the radeon vulkan driver
1354 soname=libvulkan_radeon.so
1355
1356 # XXX:the attempt to generalize without kludge the link stage of real programs
1357 # build is near a total and complete failure
1358 if test "${driver_link_cmd-unset}" = unset ; then
1359 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1360 -shared -static-libgcc -static-libstdc++ \
1361 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1362 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1363 -Wl,--whole-archive -Wl,--start-group \
1364 $libaco_a \
1365 $libvulkan_amd_common_a \
1366 $libvulkan_util_a \
1367 $libvulkan_runtime_a \
1368 $libvulkan_wsi_a \
1369 $libamd_common_a \
1370 $libamdgpu_addrlib_a \
1371 $libcompiler_a \
1372 $libnir_a \
1373 $libmesautil_a \
1374 -Wl,--end-group -Wl,--no-whole-archive \
1375 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1376 $zlib_ldflags \
1377 $expat_ldflags \
1378 $libelf_ldflags \
1379 -Wl,--as-needed \
1380 $libdrm_ldflags \
1381 $libdrm_amdgpu_ldflags \
1382 $libx11_ldflags \
1383 $libxrandr_ldflags \
1384 $libxrender_ldflags \
1385 $libxcb_ldflags \
1386 $libxshmfence_ldflags \
1387 -lpthread \
1388 -ldl \
1389 -Wl,--no-as-needed"
1390 fi
1391 wait
1392 eval $driver_link_cmd
1393 #===============================================================================
File builders/mesa-vulkan-amd-sh-655cbf203d15e6fc89f620eb745f6b04ae794fa6/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/generators.sh deleted (index 9e94a8c..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
157 >$build_dir/ir_expression_operation.h &
158 unset PYTHONPATH
159 #===============================================================================
160 # libnir
161 export PYTHONPATH=$mako
162 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
163 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
164 $build_dir/spirv_info.c &
165
166 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
167 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
168 $build_dir/vtn_gather_types.c &
169
170 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
171 $src_dir/src/compiler/spirv/spir-v.xml \
172 $build_dir/vtn_generator_ids.h &
173 # nir generated files
174 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
175 >$build_dir/nir_constant_expressions.c &
176
177 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
178 >$build_dir/nir_opt_algebraic.c &
179
180 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
181 >$build_dir/nir_opcodes.c &
182
183 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
184 --outdir $build_dir &
185 unset PYTHONPATH
186 #===============================================================================
187 # libaco
188 export PYTHONPATH=$mako
189 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
190 >$build_dir/aco_opcodes.h &
191 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
192 >$build_dir/aco_opcodes.cpp &
193 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
194 >$build_dir/aco_builder.h &
195 unset PYTHONPATH
196 #===============================================================================
197 # libmesautils
198 mkdir -p $build_dir/src/util
199
200 export PYTHONPATH=$mako
201 $python3 $src_dir/src/util/format_srgb.py \
202 >$build_dir/format_srgb.c
203
204 $python3 $src_dir/src/util/format/u_format_table.py \
205 $src_dir/src/util/format/u_format.csv \
206 >$build_dir/u_format_table.c
207
208 # wow, really?
209 mkdir -p $build_dir/src/util/format
210 $python3 $src_dir/src/util/format/u_format_table.py \
211 --header \
212 $src_dir/src/util/format/u_format.csv \
213 >$build_dir/src/util/format/u_format_pack.h
214
215 # oooof!
216 $python3 $src_dir/src/util/driconf_static.py \
217 $src_dir/src/util/00-mesa-defaults.conf \
218 $build_dir/src/util/driconf_static.h
219 unset PYTHONPATH
220 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
221 #===============================================================================
222 # amd vulkan
223 export PYTHONPATH=$mako
224 #------------------------------------------------------------------------------
225 # specific API to work around _still maintained at the time of writing _ game
226 # executable... this is the beginning of the end...
227 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
228 --beta false \
229 --xml $vulkan_api_xml \
230 --proto --weak \
231 --out-h radv_entrypoints.h \
232 --out-c radv_entrypoints.c \
233 --prefix radv \
234 --device-prefix metro_exodus \
235 --device-prefix rage2 &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
238 # --xml $vulkan_api_xml \
239 # --out-c radv_extensions.c \
240 # --out-h radv_extensions.h &
241 #------------------------------------------------------------------------------
242 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
243 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
244 # >$build_dir/vk_format_table.c &
245 #------------------------------------------------------------------------------
246 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
247 $src_dir/src/util/format/u_format.csv \
248 $src_dir/src/amd/registers/gfx10-rsrc.json \
249 $src_dir/src/amd/registers/gfx11-rsrc.json \
250 >$build_dir/gfx10_format_table.c &
251 #------------------------------------------------------------------------------
252 git_sha1=no_git_sha1_available
253 if test -d $src_dir/.git; then
254 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
255 fi
256 echo git_sha1=$git_sha1
257 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
258 unset PYTHONPATH
259 #===============================================================================
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 68a1d2c..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_parse_ib.c \
621 $src_dir/src/amd/common/ac_perfcounter.c \
622 $src_dir/src/amd/common/ac_shader_args.c \
623 $src_dir/src/amd/common/ac_shader_util.c \
624 $src_dir/src/amd/common/ac_shadowed_regs.c \
625 $src_dir/src/amd/common/ac_rgp.c \
626 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
627 $src_dir/src/amd/common/ac_rtld.c \
628 $src_dir/src/amd/common/ac_spm.c \
629 "
630 for f in $libamd_common_c_files
631 do
632 libamd_common_c_obj=$build_dir/$(basename $f .c).o
633 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
634
635 $cc $cppflags $f -o $libamd_common_c_obj &
636 done
637 #===============================================================================
638 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
639 cppflags="\
640 $cppflags_common \
641 -DLITTLEENDIAN_CPU \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
644 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
645 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
646 -I$src_dir/src/amd/addrlib/inc \
647 -I$src_dir/src/amd/addrlib/src/core \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
650 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
651 -I$src_dir/src/amd/addrlib/src/chip/r800 \
652 -I$src_dir/src/amd/addrlib/src \
653 -I$src_dir/src \
654 -I$src_dir/include \
655 "
656 libamdgpu_addrlib_files="\
657 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
662 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
663 $src_dir/src/amd/addrlib/src/core/coord.cpp \
664 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
669 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
670 "
671 for f in $libamdgpu_addrlib_files
672 do
673 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
674 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
675
676 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
677 done
678 #===============================================================================
679 # libcompiler required by libnir
680 cppflags="\
681 $cppflags_common \
682 -I$build_dir \
683 -I$src_dir/src/gallium/auxiliary \
684 -I$src_dir/src/gallium/include \
685 -I$src_dir/src/mesa \
686 -I$src_dir/src \
687 -I$src_dir/include \
688 "
689 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
690 -o $build_dir/glsl_types.o &
691 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
692 -o $build_dir/nir_types.o &
693 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
694 -o $build_dir/shader_enums.o &
695 libcompiler_a="\
696 $build_dir/glsl_types.o \
697 $build_dir/nir_types.o \
698 $build_dir/shader_enums.o \
699 "
700 #===============================================================================
701 # libnir
702 cppflags="\
703 $cppflags_common \
704 -I$build_dir \
705 -I$src_dir/src/compiler/spirv \
706 -I$src_dir/src/compiler/nir \
707 -I$src_dir/src/compiler \
708 -I$src_dir/src/gallium/auxiliary \
709 -I$src_dir/src/gallium/include \
710 -I$src_dir/src/mesa \
711 -I$src_dir/src \
712 -I$src_dir/include \
713 $xorgproto_cppflags \
714 $libxcb_cppflags \
715 $libx11_cppflags \
716 $libxrender_cppflags \
717 $libxrandr_cppflags \
718 "
719 libnir_files="\
720 $build_dir/spirv_info.c \
721 $build_dir/vtn_gather_types.c \
722 $build_dir/nir_intrinsics.c \
723 $build_dir/nir_opcodes.c \
724 $build_dir/nir_opt_algebraic.c \
725 $build_dir/nir_constant_expressions.c \
726 \
727 $src_dir/src/compiler/spirv/gl_spirv.c \
728 $src_dir/src/compiler/spirv/spirv_to_nir.c \
729 $src_dir/src/compiler/spirv/vtn_alu.c \
730 $src_dir/src/compiler/spirv/vtn_amd.c \
731 $src_dir/src/compiler/spirv/vtn_cfg.c \
732 $src_dir/src/compiler/spirv/vtn_glsl450.c \
733 $src_dir/contrib/vtn_opencl.c \
734 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
735 $src_dir/src/compiler/spirv/vtn_subgroup.c \
736 $src_dir/src/compiler/spirv/vtn_variables.c \
737 \
738 $src_dir/src/compiler/nir/nir.c \
739 $src_dir/src/compiler/nir/nir_builder.c \
740 $src_dir/src/compiler/nir/nir_builtin_builder.c \
741 $src_dir/src/compiler/nir/nir_clone.c \
742 $src_dir/src/compiler/nir/nir_control_flow.c \
743 $src_dir/src/compiler/nir/nir_deref.c \
744 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
745 $src_dir/src/compiler/nir/nir_dominance.c \
746 $src_dir/src/compiler/nir/nir_from_ssa.c \
747 $src_dir/src/compiler/nir/nir_gather_info.c \
748 $src_dir/src/compiler/nir/nir_gather_types.c \
749 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
750 $src_dir/src/compiler/nir/nir_group_loads.c \
751 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
752 $src_dir/src/compiler/nir/nir_inline_functions.c \
753 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
754 $src_dir/src/compiler/nir/nir_instr_set.c \
755 $src_dir/src/compiler/nir/nir_legacy.c \
756 $src_dir/src/compiler/nir/nir_linking_helpers.c \
757 $src_dir/src/compiler/nir/nir_liveness.c \
758 $src_dir/src/compiler/nir/nir_loop_analyze.c \
759 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
760 $src_dir/src/compiler/nir/nir_lower_alu.c \
761 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
762 $src_dir/src/compiler/nir/nir_lower_amul.c \
763 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
764 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
765 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
766 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
767 $src_dir/src/compiler/nir/nir_lower_blend.c \
768 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
769 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
770 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
771 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
772 $src_dir/src/compiler/nir/nir_lower_clip.c \
773 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
774 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
775 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
776 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
777 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
778 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
779 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
780 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
781 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
782 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
783 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
784 $src_dir/src/compiler/nir/nir_lower_flrp.c \
785 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
786 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
787 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
788 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
789 $src_dir/src/compiler/nir/nir_lower_frexp.c \
790 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
791 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
792 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
793 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
794 $src_dir/src/compiler/nir/nir_lower_idiv.c \
795 $src_dir/src/compiler/nir/nir_lower_image.c \
796 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
797 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
798 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
799 $src_dir/src/compiler/nir/nir_lower_int64.c \
800 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
801 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
802 $src_dir/src/compiler/nir/nir_lower_io.c \
803 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
804 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
805 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
806 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
807 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
808 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
809 $src_dir/src/compiler/nir/nir_lower_mediump.c \
810 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
811 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
812 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
813 $src_dir/src/compiler/nir/nir_lower_multiview.c \
814 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
815 $src_dir/src/compiler/nir/nir_lower_packing.c \
816 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
817 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
818 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
819 $src_dir/src/compiler/nir/nir_lower_point_size.c \
820 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
821 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
822 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
823 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
824 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
825 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
826 $src_dir/src/compiler/nir/nir_lower_returns.c \
827 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
828 $src_dir/src/compiler/nir/nir_lower_samplers.c \
829 $src_dir/src/compiler/nir/nir_lower_scratch.c \
830 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
831 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
832 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
833 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
834 $src_dir/src/compiler/nir/nir_lower_system_values.c \
835 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
836 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
837 $src_dir/src/compiler/nir/nir_lower_tex.c \
838 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
839 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
840 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
841 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
842 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
843 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
844 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
845 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
846 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
847 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
848 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
849 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
850 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
851 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
852 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
853 $src_dir/src/compiler/nir/nir_metadata.c \
854 $src_dir/src/compiler/nir/nir_mod_analysis.c \
855 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
856 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
857 $src_dir/src/compiler/nir/nir_opt_access.c \
858 $src_dir/src/compiler/nir/nir_opt_barriers.c \
859 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
860 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
861 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
862 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
863 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
864 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
865 $src_dir/src/compiler/nir/nir_opt_cse.c \
866 $src_dir/src/compiler/nir/nir_opt_dce.c \
867 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
868 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
869 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
870 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
871 $src_dir/src/compiler/nir/nir_opt_gcm.c \
872 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
873 $src_dir/src/compiler/nir/nir_opt_if.c \
874 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
875 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
876 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
877 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
878 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
879 $src_dir/src/compiler/nir/nir_opt_move.c \
880 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
881 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
882 $src_dir/src/compiler/nir/nir_opt_offsets.c \
883 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
884 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
885 $src_dir/src/compiler/nir/nir_opt_preamble.c \
886 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
887 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
888 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
889 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
890 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
891 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
892 $src_dir/src/compiler/nir/nir_opt_sink.c \
893 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
894 $src_dir/src/compiler/nir/nir_opt_undef.c \
895 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
896 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
897 $src_dir/src/compiler/nir/nir_phi_builder.c \
898 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
899 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
900 $src_dir/src/compiler/nir/nir_print.c \
901 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
902 $src_dir/src/compiler/nir/nir_range_analysis.c \
903 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
904 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
905 $src_dir/src/compiler/nir/nir_repair_ssa.c \
906 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
907 $src_dir/src/compiler/nir/nir_schedule.c \
908 $src_dir/src/compiler/nir/nir_search.c \
909 $src_dir/src/compiler/nir/nir_serialize.c \
910 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
911 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
912 $src_dir/src/compiler/nir/nir_split_var_copies.c \
913 $src_dir/src/compiler/nir/nir_split_vars.c \
914 $src_dir/src/compiler/nir/nir_sweep.c \
915 $src_dir/src/compiler/nir/nir_to_lcssa.c \
916 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
917 $src_dir/src/compiler/nir/nir_validate.c \
918 $src_dir/src/compiler/nir/nir_worklist.c \
919 "
920 for f in $libnir_files
921 do
922 libnir_obj=$build_dir/$(basename $f .c).o
923 libnir_a="$libnir_a $libnir_obj"
924
925 $cc $cppflags $f -o $libnir_obj &
926 done
927 #===============================================================================
928 # libaco
929 # we don't use cppflags_common for aco because the code is not yet
930 # compatible
931 cppflags="\
932 $gcc_builtins_cppflags \
933 $gcc_attributes_cppflags \
934 $linux_glibc_cppflags \
935 $mesa_cppflags \
936 -I$build_dir \
937 -I$src_dir/src/amd/compiler \
938 -I$src_dir/src/amd/vulkan \
939 -I$build_dir/src/amd/common \
940 -I$src_dir/src/amd/common \
941 -I$build_dir/src/amd \
942 -I$src_dir/src/amd \
943 -I$src_dir/src/compiler/nir \
944 -I$src_dir/src/compiler \
945 -I$src_dir/src/mesa \
946 -I$src_dir/src/gallium/include \
947 -I$src_dir/src \
948 -I$src_dir/include \
949 "
950 libaco_files="\
951 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
952 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
953 $src_dir/src/amd/compiler/aco_dominance.cpp \
954 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
955 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
956 $src_dir/src/amd/compiler/aco_interface.cpp \
957 $src_dir/src/amd/compiler/aco_assembler.cpp \
958 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
959 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
960 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
961 $src_dir/src/amd/compiler/aco_ir.cpp \
962 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
963 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
964 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
965 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
966 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
967 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
968 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
969 $build_dir/aco_opcodes.cpp \
970 $src_dir/src/amd/compiler/aco_optimizer.cpp \
971 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
972 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
973 $src_dir/src/amd/compiler/aco_print_asm.cpp \
974 $src_dir/src/amd/compiler/aco_print_ir.cpp \
975 $src_dir/src/amd/compiler/aco_scheduler.cpp \
976 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
977 $src_dir/src/amd/compiler/aco_spill.cpp \
978 $src_dir/src/amd/compiler/aco_statistics.cpp \
979 $src_dir/src/amd/compiler/aco_validate.cpp \
980 "
981 for f in $libaco_files
982 do
983 libaco_obj=$build_dir/$(basename $f .c).o
984 libaco_a="$libaco_a $libaco_obj"
985
986 $cxx $cppflags $f -o $libaco_obj &
987 done
988 #===============================================================================
989 # libmesautils
990 cppflags="\
991 $cppflags_common \
992 -I$build_dir/src/util/format \
993 -I$build_dir/src \
994 -I$build_dir \
995 -I$src_dir/src/gallium/auxiliary \
996 -I$src_dir/src/gallium/include \
997 -I$src_dir/src/mesa \
998 -I$src_dir/src/util/blake3 \
999 -I$src_dir/src/util/format \
1000 -I$src_dir/src/util \
1001 -I$src_dir/src \
1002 -I$src_dir/include \
1003 $zlib_cppflags \
1004 "
1005 libmesautil_files="\
1006 $build_dir/format_srgb.c \
1007 $build_dir/u_format_table.c \
1008 $src_dir/src/util/anon_file.c \
1009 $src_dir/src/util/bitscan.c \
1010 $src_dir/src/util/blake3/blake3.c \
1011 $src_dir/src/util/blake3/blake3_dispatch.c \
1012 $src_dir/src/util/blake3/blake3_portable.c \
1013 $src_dir/src/util/blob.c \
1014 $src_dir/src/util/build_id.c \
1015 $src_dir/src/util/compress.c \
1016 $src_dir/src/util/crc32.c \
1017 $src_dir/src/util/dag.c \
1018 $src_dir/src/util/disk_cache.c \
1019 $src_dir/src/util/disk_cache_os.c \
1020 $src_dir/src/util/double.c \
1021 $src_dir/src/util/fast_idiv_by_const.c \
1022 $src_dir/src/util/fossilize_db.c \
1023 $src_dir/src/util/futex.c \
1024 $src_dir/src/util/half_float.c \
1025 $src_dir/src/util/hash_table.c \
1026 $src_dir/src/util/log.c \
1027 $src_dir/src/util/mesa-blake3.c \
1028 $src_dir/src/util/mesa-sha1.c \
1029 $src_dir/src/util/mesa_cache_db.c \
1030 $src_dir/src/util/mesa_cache_db_multipart.c \
1031 $src_dir/src/util/memstream.c \
1032 $src_dir/src/util/os_file.c \
1033 $src_dir/src/util/os_memory_fd.c \
1034 $src_dir/src/util/os_misc.c \
1035 $src_dir/src/util/os_socket.c \
1036 $src_dir/src/util/os_time.c \
1037 $src_dir/src/util/sha1/sha1.c \
1038 $src_dir/src/util/ralloc.c \
1039 $src_dir/src/util/rand_xor.c \
1040 $src_dir/src/util/rb_tree.c \
1041 $src_dir/src/util/register_allocate.c \
1042 $src_dir/src/util/rgtc.c \
1043 $src_dir/src/util/rwlock.c \
1044 $src_dir/src/util/set.c \
1045 $src_dir/src/util/simple_mtx.c \
1046 $src_dir/src/util/slab.c \
1047 $src_dir/src/util/softfloat.c \
1048 $src_dir/src/util/sparse_array.c \
1049 $src_dir/src/util/string_buffer.c \
1050 $src_dir/src/util/strtod.c \
1051 $src_dir/src/util/u_atomic.c \
1052 $src_dir/src/util/u_call_once.c \
1053 $src_dir/src/util/u_cpu_detect.c \
1054 $src_dir/src/util/u_debug.c \
1055 $src_dir/src/util/u_debug_stack.c \
1056 $src_dir/src/util/u_debug_symbol.c \
1057 $src_dir/src/util/u_dl.c \
1058 $src_dir/src/util/u_dynarray.c \
1059 $src_dir/src/util/u_hash_table.c \
1060 $src_dir/src/util/u_printf.c \
1061 $src_dir/src/util/format/u_format.c \
1062 $src_dir/src/util/format/u_format_bptc.c \
1063 $src_dir/src/util/format/u_format_etc.c \
1064 $src_dir/src/util/format/u_format_fxt1.c \
1065 $src_dir/src/util/format/u_format_latc.c \
1066 $src_dir/src/util/format/u_format_other.c \
1067 $src_dir/src/util/format/u_format_rgtc.c \
1068 $src_dir/src/util/format/u_format_s3tc.c \
1069 $src_dir/src/util/format/u_format_tests.c \
1070 $src_dir/src/util/format/u_format_yuv.c \
1071 $src_dir/src/util/format/u_format_zs.c \
1072 $src_dir/src/util/u_idalloc.c \
1073 $src_dir/src/util/u_math.c \
1074 $src_dir/src/util/u_mm.c \
1075 $src_dir/src/util/u_process.c \
1076 $src_dir/src/util/u_queue.c \
1077 $src_dir/src/util/u_thread.c \
1078 $src_dir/src/util/u_vector.c \
1079 $src_dir/src/util/u_worklist.c \
1080 $src_dir/src/util/vma.c \
1081 $src_dir/src/util/vl_zscan_data.c \
1082 \
1083 $src_dir/src/c11/impl/time.c \
1084 $src_dir/src/c11/impl/threads_posix.c \
1085 "
1086 for f in $libmesautil_files
1087 do
1088 libmesautil_obj=$build_dir/$(basename $f .c).o
1089 libmesautil_a="$libmesautil_a $libmesautil_obj"
1090
1091 $cc $cppflags $f -o $libmesautil_obj &
1092 done
1093 #-------------------------------------------------------------------------------
1094 # The following is for the ultra complex blake3 hash algorithm.
1095 libmesautil_asm_files="\
1096 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1097 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1098 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1099 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1100 "
1101 for f in $libmesautil_asm_files
1102 do
1103 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1104 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1105 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1106
1107 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1108 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1109 done
1110 #===============================================================================
1111 # amd vulkan
1112 cppflags="\
1113 $cppflags_common \
1114 -DPACKAGE_VERSION=\"$version\" \
1115 -I$build_dir/vulkan/util \
1116 -I$build_dir/src/util \
1117 -I$build_dir \
1118 -I$src_dir/src/amd/compiler \
1119 -I$build_dir/src/amd/common \
1120 -I$src_dir/src/amd/common \
1121 -I$src_dir/src/amd/vulkan/nir \
1122 -I$src_dir/src/amd/vulkan/meta \
1123 -I$src_dir/src/amd/vulkan \
1124 -I$src_dir/src/amd \
1125 -I$src_dir/src/gallium/auxiliary \
1126 -I$src_dir/src/gallium/include \
1127 -I$src_dir/src/vulkan/util \
1128 -I$src_dir/src/vulkan/runtime \
1129 -I$src_dir/src/vulkan/wsi \
1130 -I$src_dir/src/util \
1131 -I$src_dir/src/mesa \
1132 -I$src_dir/src/compiler/nir \
1133 -I$src_dir/src/compiler \
1134 -I$src_dir/src \
1135 -I$src_dir/include \
1136 $libdrm_cppflags \
1137 $libdrm_amdgpu_cppflags \
1138 $libx11_cppflags \
1139 $libxrandr_cppflags \
1140 $libxrender_cppflags \
1141 $libxcb_cppflags \
1142 $xorgproto_cppflags \
1143 $libxshmfence_cppflags \
1144 "
1145 #$build_dir/radv_extensions.c
1146 #$build_dir/vk_format_table.c
1147 # XXX: remove rt for now
1148 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1149 libvulkan_amd_common_files="\
1150 $src_dir/src/amd/vulkan/radv_android.c \
1151 $src_dir/src/amd/vulkan/radv_buffer.c \
1152 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1153 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1154 $src_dir/src/amd/vulkan/radv_debug.c \
1155 $build_dir/src/amd/vulkan/radv_device.c \
1156 $src_dir/src/amd/vulkan/radv_device_memory.c \
1157 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1158 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1159 $src_dir/src/amd/vulkan/radv_event.c \
1160 $src_dir/src/amd/vulkan/radv_formats.c \
1161 $src_dir/src/amd/vulkan/radv_image.c \
1162 $src_dir/src/amd/vulkan/radv_instance.c \
1163 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1176 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1177 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1178 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1179 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1180 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1181 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1182 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1183 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1184 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1189 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1190 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1191 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1192 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1193 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1194 $src_dir/src/amd/vulkan/radv_physical_device.c \
1195 $src_dir/src/amd/vulkan/radv_pipeline.c \
1196 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1197 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1198 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1199 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1200 $src_dir/src/amd/vulkan/radv_queue.c \
1201 $src_dir/src/amd/vulkan/radv_rt_common.c \
1202 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1203 $src_dir/src/amd/vulkan/radv_sampler.c \
1204 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1205 $src_dir/src/amd/vulkan/radv_shader.c \
1206 $src_dir/src/amd/vulkan/radv_shader_args.c \
1207 $src_dir/src/amd/vulkan/radv_shader_info.c \
1208 $src_dir/src/amd/vulkan/radv_spm.c \
1209 $src_dir/src/amd/vulkan/radv_query.c \
1210 $src_dir/src/amd/vulkan/radv_video.c \
1211 $src_dir/src/amd/vulkan/radv_wsi.c \
1212 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1213 \
1214 $build_dir/gfx10_format_table.c \
1215 \
1216 $build_dir/radv_entrypoints.c \
1217 \
1218 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1219 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1220 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1221 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1222 \
1223 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1224 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1225 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1226 \
1227 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1228 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1229 \
1230 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1231 "
1232
1233 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1234
1235 for f in $libvulkan_amd_common_files
1236 do
1237 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1238 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1239
1240 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1241 done
1242 libvulkan_amd_common_a="\
1243 $libvulkan_amd_common_a \
1244 $build_dir/xmlconfig.o"
1245 #===============================================================================
1246 # create the radeon vulkan driver
1247 soname=libvulkan_radeon.so
1248
1249 # XXX:the attempt to generalize without kludge the link stage of real programs
1250 # build is near a total and complete failure
1251 if test "${driver_link_cmd-unset}" = unset ; then
1252 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1253 -shared -static-libgcc -static-libstdc++ \
1254 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1255 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1256 -Wl,--whole-archive -Wl,--start-group \
1257 $libaco_a \
1258 $libvulkan_amd_common_a \
1259 $libvulkan_util_a \
1260 $libvulkan_runtime_a \
1261 $libvulkan_wsi_a \
1262 $libamd_common_a \
1263 $libamdgpu_addrlib_a \
1264 $libcompiler_a \
1265 $libnir_a \
1266 $libmesautil_a \
1267 -Wl,--end-group -Wl,--no-whole-archive \
1268 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1269 $zlib_ldflags \
1270 $expat_ldflags \
1271 $libelf_ldflags \
1272 -Wl,--as-needed \
1273 $libdrm_ldflags \
1274 $libdrm_amdgpu_ldflags \
1275 $libx11_ldflags \
1276 $libxrandr_ldflags \
1277 $libxrender_ldflags \
1278 $libxcb_ldflags \
1279 $libxshmfence_ldflags \
1280 -lpthread \
1281 -ldl \
1282 -Wl,--no-as-needed"
1283 fi
1284 wait
1285 eval $driver_link_cmd
1286 #===============================================================================
File builders/mesa-vulkan-amd-sh-6d5174974a41e5bde96b26d00176e2b5e31dd70a/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/generators.sh deleted (index 196ea11..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
18 patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
19 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
20 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
21 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
22 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
23 #===============================================================================
24 # vulkan util
25 export PYTHONPATH=$mako
26 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
27 --beta false \
28 --xml $vulkan_api_xml \
29 --outdir $build_dir/src/vulkan/util
30
31 # our ndebug/release version
32 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
33 $build_dir/src/vulkan/util
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --beta false \
37 --xml $vulkan_api_xml \
38 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
39 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
40
41 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
42 --xml $vulkan_api_xml \
43 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
44 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
45
46 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
47 --beta false \
48 --xml $vulkan_api_xml \
49 --outdir $build_dir/src/vulkan/util &
50
51 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
52 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
53
54 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
55 >$build_dir/src/compiler/nir/nir_opcodes.h &
56
57 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
58 --outdir $build_dir/src/compiler/nir &
59
60 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
61 --outdir $build_dir/src/compiler/nir &
62 unset PYTHONPATH
63 #===============================================================================
64 # vulkan runtime
65 export PYTHONPATH=$mako
66 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
67 --beta false \
68 --xml $vulkan_api_xml \
69 --proto --weak \
70 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
71 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
72 --prefix vk_common &
73 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
74 --beta false \
75 --xml $vulkan_api_xml \
76 --proto --weak \
77 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
78 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
79 --prefix vk_cmd_enqueue &
80 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
81 --beta false \
82 --xml $vulkan_api_xml \
83 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
84 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
85 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
86 --beta false \
87 --xml $vulkan_api_xml \
88 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
89 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
90 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
91 --beta false \
92 --xml $vulkan_api_xml \
93 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
94 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
95 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
96 --beta false \
97 --xml $vulkan_api_xml \
98 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
99 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
100 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
101 --xml $vulkan_api_xml \
102 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
103 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
104 unset PYTHONPATH
105 #===============================================================================
106 # wsi x11 (Window System Interface)
107 export PYTHONPATH=$mako
108 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
109 --beta false \
110 --xml $vulkan_api_xml \
111 --proto --weak \
112 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
113 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
114 --prefix wsi &
115 unset PYTHONPATH
116 #===============================================================================
117 # amd common archive
118 $python3 $src_dir/src/amd/common/sid_tables.py \
119 $src_dir/src/amd/common/sid.h \
120 $src_dir/src/amd/registers/gfx6.json \
121 $src_dir/src/amd/registers/gfx7.json \
122 $src_dir/src/amd/registers/gfx8.json \
123 $src_dir/src/amd/registers/gfx81.json \
124 $src_dir/src/amd/registers/gfx9.json \
125 $src_dir/src/amd/registers/gfx940.json \
126 $src_dir/src/amd/registers/gfx10.json \
127 $src_dir/src/amd/registers/gfx10-rsrc.json \
128 $src_dir/src/amd/registers/gfx103.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx11-rsrc.json \
131 $src_dir/src/amd/registers/pkt3.json \
132 $src_dir/src/amd/registers/registers-manually-defined.json \
133 >$build_dir/src/amd/common/sid_tables.h &
134 $python3 $src_dir/src/amd/registers/makeregheader.py \
135 $src_dir/src/amd/registers/gfx6.json \
136 $src_dir/src/amd/registers/gfx7.json \
137 $src_dir/src/amd/registers/gfx8.json \
138 $src_dir/src/amd/registers/gfx81.json \
139 $src_dir/src/amd/registers/gfx9.json \
140 $src_dir/src/amd/registers/gfx940.json \
141 $src_dir/src/amd/registers/gfx10.json \
142 $src_dir/src/amd/registers/gfx10-rsrc.json \
143 $src_dir/src/amd/registers/gfx11.json \
144 $src_dir/src/amd/registers/gfx11-rsrc.json \
145 $src_dir/src/amd/registers/gfx103.json \
146 $src_dir/src/amd/registers/pkt3.json \
147 $src_dir/src/amd/registers/registers-manually-defined.json \
148 --sort address \
149 --guard AMDGFXREGS_H \
150 >$build_dir/src/amd/common/amdgfxregs.h &
151 #===============================================================================
152 # libcompiler required by libnir
153 export PYTHONPATH=$mako
154 #------------------------------------------------------------------------------
155 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
156 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
157 #------------------------------------------------------------------------------
158 $python3 $src_dir/src/compiler/builtin_types_h.py \
159 $build_dir/src/compiler/builtin_types.h &
160 #------------------------------------------------------------------------------
161 $python3 $src_dir/src/compiler/builtin_types_c.py \
162 $build_dir/src/compiler/builtin_types.c &
163 #------------------------------------------------------------------------------
164 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
165 $build_dir/src/compiler/builtin_types_cpp.h &
166 #------------------------------------------------------------------------------
167 unset PYTHONPATH
168 #===============================================================================
169 # libnir
170 export PYTHONPATH=$mako
171 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
172 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
173 $build_dir/src/compiler/spirv/spirv_info.c &
174
175 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
176 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
177 $build_dir/src/compiler/spirv/vtn_gather_types.c &
178
179 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
180 $src_dir/src/compiler/spirv/spir-v.xml \
181 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
182 # nir generated files
183 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
184 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
185
186 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
187 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
188
189 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
190 >$build_dir/src/compiler/nir/nir_opcodes.c &
191
192 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
193 --outdir $build_dir/src/compiler/nir &
194 unset PYTHONPATH
195 #===============================================================================
196 # libaco
197 export PYTHONPATH=$mako
198 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
199 >$build_dir/src/amd/compiler/aco_opcodes.h &
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
201 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
202 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
203 >$build_dir/src/amd/compiler/aco_builder.h &
204 unset PYTHONPATH
205 #===============================================================================
206 # libmesautils
207 export PYTHONPATH=$mako
208 $python3 $src_dir/src/util/format_srgb.py \
209 >$build_dir/src/util/format_srgb.c
210
211 $python3 $src_dir/src/util/format/u_format_table.py \
212 $src_dir/src/util/format/u_format.csv \
213 >$build_dir/src/util/u_format_table.c
214
215 # wow, really?
216 $python3 $src_dir/src/util/format/u_format_table.py \
217 --header \
218 $src_dir/src/util/format/u_format.csv \
219 >$build_dir/src/util/format/u_format_pack.h
220
221 # oooof!
222 $python3 $src_dir/src/util/driconf_static.py \
223 $src_dir/src/util/00-mesa-defaults.conf \
224 $build_dir/src/util/driconf_static.h
225 unset PYTHONPATH
226 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
227 #===============================================================================
228 # amd vulkan
229 export PYTHONPATH=$mako
230 #------------------------------------------------------------------------------
231 # specific API to work around _still maintained at the time of writing _ game
232 # executable... this is the beginning of the end...
233 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
234 --beta false \
235 --xml $vulkan_api_xml \
236 --proto --weak \
237 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
238 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
239 --prefix radv \
240 --device-prefix metro_exodus \
241 --device-prefix rage2 &
242 #------------------------------------------------------------------------------
243 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
244 # --xml $vulkan_api_xml \
245 # --out-c radv_extensions.c \
246 # --out-h radv_extensions.h &
247 #------------------------------------------------------------------------------
248 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
249 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
250 # >$build_dir/vk_format_table.c &
251 #------------------------------------------------------------------------------
252 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
253 $src_dir/src/util/format/u_format.csv \
254 $src_dir/src/amd/registers/gfx10-rsrc.json \
255 $src_dir/src/amd/registers/gfx11-rsrc.json \
256 >$build_dir/src/amd/common/gfx10_format_table.c &
257 #------------------------------------------------------------------------------
258 git_sha1=no_git_sha1_available
259 if test -d $src_dir/.git; then
260 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
261 fi
262 echo git_sha1=$git_sha1
263 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
264 unset PYTHONPATH
265 #===============================================================================
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_meta.c.patch deleted (index a0757cf..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -506,9 +506,14 @@ radv_device_init_meta(struct radv_device *device)
4 if (result != VK_SUCCESS)
5 goto fail_etc_decode;
6
7 - result = radv_device_init_meta_astc_decode_state(device, on_demand);
8 - if (result != VK_SUCCESS)
9 - goto fail_astc_decode;
10 +// XXX: insanely toxic compute based stuff pulling that
11 +// disgusting khronos glslang. Should be independent
12 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
13 +// with simple and plain C written "assemblers").
14 +// blame: some trash.
15 +// result = radv_device_init_meta_astc_decode_state(device, on_demand);
16 +// if (result != VK_SUCCESS)
17 +// goto fail_astc_decode;
18
19 if (device->uses_device_generated_commands) {
20 result = radv_device_init_dgc_prepare_state(device);
21 @@ -516,35 +521,50 @@ radv_device_init_meta(struct radv_device *device)
22 goto fail_dgc;
23 }
24
25 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
26 - if (device->vk.enabled_features.nullDescriptor) {
27 - result = radv_device_init_null_accel_struct(device);
28 - if (result != VK_SUCCESS)
29 - goto fail_accel_struct;
30 - }
31 -
32 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
33 - * Work around it by forcing ACO for now.
34 - */
35 - bool use_llvm = device->physical_device->use_llvm;
36 - if (loaded_cache || use_llvm) {
37 - device->physical_device->use_llvm = false;
38 - result = radv_device_init_accel_struct_build_state(device);
39 - device->physical_device->use_llvm = use_llvm;
40 -
41 - if (result != VK_SUCCESS)
42 - goto fail_accel_struct;
43 - }
44 - }
45 +// XXX: insanely toxic compute based stuff pulling that
46 +// disgusting khronos glslang. Should be independent
47 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
48 +// with simple and plain C written "assemblers").
49 +// blame: Konstantin Seurer
50 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
51 +// if (device->vk.enabled_features.nullDescriptor) {
52 +// result = radv_device_init_null_accel_struct(device);
53 +// if (result != VK_SUCCESS)
54 +// goto fail_accel_struct;
55 +// }
56 +//
57 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
58 +// * Work around it by forcing ACO for now.
59 +// */
60 +// bool use_llvm = device->physical_device->use_llvm;
61 +// if (loaded_cache || use_llvm) {
62 +// device->physical_device->use_llvm = false;
63 +// result = radv_device_init_accel_struct_build_state(device);
64 +// device->physical_device->use_llvm = use_llvm;
65 +//
66 +// if (result != VK_SUCCESS)
67 +// goto fail_accel_struct;
68 +// }
69 +// }
70
71 return VK_SUCCESS;
72
73 -fail_accel_struct:
74 - radv_device_finish_accel_struct_build_state(device);
75 +// XXX: insanely toxic compute based stuff pulling that
76 +// disgusting khronos glslang. Should be independent
77 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
78 +// with simple and plain C written "assemblers").
79 +// blame: Konstantin Seurer
80 +//fail_accel_struct:
81 +// radv_device_finish_accel_struct_build_state(device);
82 fail_dgc:
83 radv_device_finish_dgc_prepare_state(device);
84 -fail_astc_decode:
85 - radv_device_finish_meta_astc_decode_state(device);
86 +// XXX: insanely toxic compute based stuff pulling that
87 +// disgusting khronos glslang. Should be independent
88 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
89 +// with simple and plain C written "assemblers").
90 +// blame: some trash.
91 +//fail_astc_decode:
92 +// radv_device_finish_meta_astc_decode_state(device);
93 fail_etc_decode:
94 radv_device_finish_meta_etc_decode_state(device);
95 fail_fmask_copy:
96 @@ -584,8 +604,18 @@ radv_device_finish_meta(struct radv_device *device)
97 {
98 radv_device_finish_dgc_prepare_state(device);
99 radv_device_finish_meta_etc_decode_state(device);
100 - radv_device_finish_meta_astc_decode_state(device);
101 - radv_device_finish_accel_struct_build_state(device);
102 +// XXX: insanely toxic compute based stuff pulling that
103 +// disgusting khronos glslang. Should be independent
104 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
105 +// with simple and plain C written "assemblers").
106 +// blame: some trash.
107 +// radv_device_finish_meta_astc_decode_state(device);
108 +// XXX: insanely toxic compute based stuff pulling that
109 +// disgusting khronos glslang. Should be independent
110 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
111 +// with simple and plain C written "assemblers").
112 +// blame: Konstantin Seurer
113 +// radv_device_finish_accel_struct_build_state(device);
114 radv_device_finish_meta_clear_state(device);
115 radv_device_finish_meta_resolve_state(device);
116 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_meta_copy.c.patch deleted (index 559b13e..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta_copy.c
2 +++ b/src/amd/vulkan/meta/radv_meta_copy.c
3 @@ -215,17 +215,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm
4
5 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
6 for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
7 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
8 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
9 - &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
10 - pCopyBufferToImageInfo->pRegions[r].imageOffset,
11 - pCopyBufferToImageInfo->pRegions[r].imageExtent);
12 - } else {
13 + // XXX: current astc work is omega trash
14 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
15 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
16 + // &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
17 + // pCopyBufferToImageInfo->pRegions[r].imageOffset,
18 + // pCopyBufferToImageInfo->pRegions[r].imageExtent);
19 + //} else {
20 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
21 &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
22 pCopyBufferToImageInfo->pRegions[r].imageOffset,
23 pCopyBufferToImageInfo->pRegions[r].imageExtent);
24 - }
25 + //}
26 }
27 }
28 }
29 @@ -568,15 +569,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI
30
31 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
32 for (unsigned r = 0; r < pCopyImageInfo->regionCount; r++) {
33 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
34 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
35 - &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
36 - pCopyImageInfo->pRegions[r].extent);
37 - } else {
38 + // XXX: current ASTC work is omega grade trash
39 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
40 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
41 + // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
42 + // pCopyImageInfo->pRegions[r].extent);
43 + //} else {
44 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
45 &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
46 pCopyImageInfo->pRegions[r].extent);
47 - }
48 + //}
49 }
50 }
51 }
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 9575039..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
763 -o $build_dir/glsl_types.o &
764 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
765 -o $build_dir/nir_types.o &
766 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
767 -o $build_dir/shader_enums.o &
768 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
769 -o $build_dir/builtin_types.o &
770 libcompiler_a="\
771 $build_dir/glsl_types.o \
772 $build_dir/nir_types.o \
773 $build_dir/shader_enums.o \
774 $build_dir/builtin_types.o \
775 "
776 #===============================================================================
777 # libnir
778 cppflags="\
779 $cppflags_common \
780 -I$build_dir/src/compiler/spirv \
781 -I$src_dir/src/compiler/spirv \
782 -I$build_dir/src/compiler/nir \
783 -I$src_dir/src/compiler/nir \
784 -I$build_dir/src/compiler \
785 -I$src_dir/src/compiler \
786 -I$build_dir/src/gallium/auxiliary \
787 -I$src_dir/src/gallium/auxiliary \
788 -I$build_dir/src/gallium/include \
789 -I$src_dir/src/gallium/include \
790 -I$build_dir/src/mesa \
791 -I$src_dir/src/mesa \
792 -I$build_dir/src \
793 -I$src_dir/src \
794 -I$build_dir/include \
795 -I$src_dir/include \
796 $xorgproto_cppflags \
797 $libxcb_cppflags \
798 $libx11_cppflags \
799 $libxrender_cppflags \
800 $libxrandr_cppflags \
801 "
802 libnir_files="\
803 $src_dir/src/compiler/spirv/gl_spirv.c \
804 $build_dir/src/compiler/spirv/spirv_info.c \
805 $src_dir/src/compiler/spirv/spirv_to_nir.c \
806 $src_dir/src/compiler/spirv/vtn_alu.c \
807 $src_dir/src/compiler/spirv/vtn_amd.c \
808 $src_dir/src/compiler/spirv/vtn_cfg.c \
809 $src_dir/src/compiler/spirv/vtn_cmat.c \
810 $build_dir/src/compiler/spirv/vtn_gather_types.c \
811 $src_dir/src/compiler/spirv/vtn_glsl450.c \
812 $src_dir/contrib/vtn_opencl.c \
813 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
814 $src_dir/src/compiler/spirv/vtn_subgroup.c \
815 $src_dir/src/compiler/spirv/vtn_variables.c \
816 \
817 $build_dir/src/compiler/nir/nir.c \
818 $src_dir/src/compiler/nir/nir_builder.c \
819 $src_dir/src/compiler/nir/nir_builtin_builder.c \
820 $src_dir/src/compiler/nir/nir_clone.c \
821 $build_dir/src/compiler/nir/nir_constant_expressions.c \
822 $src_dir/src/compiler/nir/nir_control_flow.c \
823 $src_dir/src/compiler/nir/nir_deref.c \
824 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
825 $src_dir/src/compiler/nir/nir_dominance.c \
826 $src_dir/src/compiler/nir/nir_from_ssa.c \
827 $src_dir/src/compiler/nir/nir_gather_info.c \
828 $src_dir/src/compiler/nir/nir_gather_types.c \
829 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
830 $src_dir/src/compiler/nir/nir_group_loads.c \
831 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
832 $src_dir/src/compiler/nir/nir_functions.c \
833 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
834 $src_dir/src/compiler/nir/nir_instr_set.c \
835 $build_dir/src/compiler/nir/nir_intrinsics.c \
836 $src_dir/src/compiler/nir/nir_legacy.c \
837 $src_dir/src/compiler/nir/nir_linking_helpers.c \
838 $src_dir/src/compiler/nir/nir_liveness.c \
839 $src_dir/src/compiler/nir/nir_loop_analyze.c \
840 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
841 $src_dir/src/compiler/nir/nir_lower_alu.c \
842 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
843 $src_dir/src/compiler/nir/nir_lower_amul.c \
844 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
845 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
846 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
847 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
848 $src_dir/src/compiler/nir/nir_lower_blend.c \
849 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
850 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
851 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
852 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
853 $src_dir/src/compiler/nir/nir_lower_clip.c \
854 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
855 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
856 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
857 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
858 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
859 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
860 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
861 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
862 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
863 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
864 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
865 $src_dir/src/compiler/nir/nir_lower_flrp.c \
866 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
867 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
868 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
869 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
870 $src_dir/src/compiler/nir/nir_lower_frexp.c \
871 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
872 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
873 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
874 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
875 $src_dir/src/compiler/nir/nir_lower_idiv.c \
876 $src_dir/src/compiler/nir/nir_lower_image.c \
877 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
878 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
879 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
880 $src_dir/src/compiler/nir/nir_lower_int64.c \
881 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
882 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
883 $src_dir/src/compiler/nir/nir_lower_io.c \
884 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
885 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
886 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
888 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
889 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
890 $src_dir/src/compiler/nir/nir_lower_mediump.c \
891 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
892 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
893 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
894 $src_dir/src/compiler/nir/nir_lower_multiview.c \
895 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
896 $src_dir/src/compiler/nir/nir_lower_packing.c \
897 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
898 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
899 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
900 $src_dir/src/compiler/nir/nir_lower_point_size.c \
901 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
902 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
903 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
904 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
905 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
906 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
907 $src_dir/src/compiler/nir/nir_lower_returns.c \
908 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
909 $src_dir/src/compiler/nir/nir_lower_samplers.c \
910 $src_dir/src/compiler/nir/nir_lower_scratch.c \
911 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
912 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
913 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
914 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
915 $src_dir/src/compiler/nir/nir_lower_system_values.c \
916 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
917 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
918 $src_dir/src/compiler/nir/nir_lower_tex.c \
919 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
920 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
921 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
922 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
923 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
924 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
925 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
926 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
927 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
928 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
929 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
930 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
931 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
932 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
933 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
934 $src_dir/src/compiler/nir/nir_metadata.c \
935 $src_dir/src/compiler/nir/nir_mod_analysis.c \
936 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
937 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
938 $build_dir/src/compiler/nir/nir_opcodes.c \
939 $src_dir/src/compiler/nir/nir_opt_access.c \
940 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
941 $src_dir/src/compiler/nir/nir_opt_barriers.c \
942 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
943 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
944 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
945 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
946 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
947 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
948 $src_dir/src/compiler/nir/nir_opt_cse.c \
949 $src_dir/src/compiler/nir/nir_opt_dce.c \
950 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
951 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
952 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
953 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
954 $src_dir/src/compiler/nir/nir_opt_gcm.c \
955 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
956 $src_dir/src/compiler/nir/nir_opt_if.c \
957 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
958 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
959 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
960 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
961 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
962 $src_dir/src/compiler/nir/nir_opt_move.c \
963 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
964 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
965 $src_dir/src/compiler/nir/nir_opt_offsets.c \
966 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
967 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
968 $src_dir/src/compiler/nir/nir_opt_preamble.c \
969 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
970 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
971 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
972 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
973 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
974 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
975 $src_dir/src/compiler/nir/nir_opt_sink.c \
976 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
977 $src_dir/src/compiler/nir/nir_opt_undef.c \
978 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
979 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
980 $src_dir/src/compiler/nir/nir_phi_builder.c \
981 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
982 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
983 $src_dir/src/compiler/nir/nir_print.c \
984 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
985 $src_dir/src/compiler/nir/nir_range_analysis.c \
986 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
987 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
988 $src_dir/src/compiler/nir/nir_repair_ssa.c \
989 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
990 $src_dir/src/compiler/nir/nir_schedule.c \
991 $src_dir/src/compiler/nir/nir_search.c \
992 $src_dir/src/compiler/nir/nir_serialize.c \
993 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
994 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
995 $src_dir/src/compiler/nir/nir_split_var_copies.c \
996 $src_dir/src/compiler/nir/nir_split_vars.c \
997 $src_dir/src/compiler/nir/nir_sweep.c \
998 $src_dir/src/compiler/nir/nir_to_lcssa.c \
999 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
1000 $src_dir/src/compiler/nir/nir_validate.c \
1001 $src_dir/src/compiler/nir/nir_worklist.c \
1002 "
1003 for f in $libnir_files
1004 do
1005 libnir_obj=$build_dir/$(basename $f .c).o
1006 libnir_a="$libnir_a $libnir_obj"
1007
1008 $cc $cppflags $f -o $libnir_obj &
1009 done
1010 #===============================================================================
1011 # libaco
1012 # we don't use cppflags_common for aco because the code is not yet
1013 # compatible
1014 cppflags="\
1015 $gcc_builtins_cppflags \
1016 $gcc_attributes_cppflags \
1017 $linux_glibc_cppflags \
1018 $mesa_cppflags \
1019 -I$build_dir/src/amd/compiler \
1020 -I$src_dir/src/amd/compiler \
1021 -I$build_dir/src/amd/vulkan \
1022 -I$src_dir/src/amd/vulkan \
1023 -I$build_dir/src/amd/common \
1024 -I$src_dir/src/amd/common \
1025 -I$build_dir/src/amd \
1026 -I$src_dir/src/amd \
1027 -I$build_dir/src/compiler/nir \
1028 -I$src_dir/src/compiler/nir \
1029 -I$build_dir/src/compiler \
1030 -I$src_dir/src/compiler \
1031 -I$build_dir/src/mesa \
1032 -I$src_dir/src/mesa \
1033 -I$build_dir/src/gallium/include \
1034 -I$src_dir/src/gallium/include \
1035 -I$build_dir/src \
1036 -I$src_dir/src \
1037 -I$build_dir/include \
1038 -I$src_dir/include \
1039 "
1040 libaco_files="\
1041 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1042 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1043 $src_dir/src/amd/compiler/aco_dominance.cpp \
1044 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1045 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1046 $src_dir/src/amd/compiler/aco_interface.cpp \
1047 $src_dir/src/amd/compiler/aco_assembler.cpp \
1048 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1049 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1050 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1051 $src_dir/src/amd/compiler/aco_ir.cpp \
1052 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1053 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1054 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1055 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1056 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1057 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1058 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1059 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1060 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1061 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1062 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1063 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1064 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1065 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1066 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1067 $src_dir/src/amd/compiler/aco_spill.cpp \
1068 $src_dir/src/amd/compiler/aco_statistics.cpp \
1069 $src_dir/src/amd/compiler/aco_validate.cpp \
1070 "
1071 for f in $libaco_files
1072 do
1073 libaco_obj=$build_dir/$(basename $f .c).o
1074 libaco_a="$libaco_a $libaco_obj"
1075
1076 $cxx $cppflags $f -o $libaco_obj &
1077 done
1078 #===============================================================================
1079 # libmesautils
1080 cppflags="\
1081 $cppflags_common \
1082 -I$build_dir/src/gallium/auxiliary \
1083 -I$src_dir/src/gallium/auxiliary \
1084 -I$build_dir/src/gallium/include \
1085 -I$src_dir/src/gallium/include \
1086 -I$build_dir/src/mesa \
1087 -I$src_dir/src/mesa \
1088 -I$build_dir/src/util/blake3 \
1089 -I$src_dir/src/util/blake3 \
1090 -I$build_dir/src/util/format \
1091 -I$src_dir/src/util/format \
1092 -I$build_dir/src/util \
1093 -I$src_dir/src/util \
1094 -I$build_dir/src \
1095 -I$src_dir/src \
1096 -I$build_dir/include \
1097 -I$src_dir/include \
1098 $zlib_cppflags \
1099 "
1100
1101 libmesautil_files="\
1102 $src_dir/src/util/anon_file.c \
1103 $src_dir/src/util/bitscan.c \
1104 $src_dir/src/util/blake3/blake3.c \
1105 $src_dir/src/util/blake3/blake3_dispatch.c \
1106 $src_dir/src/util/blake3/blake3_portable.c \
1107 $src_dir/src/util/blob.c \
1108 $src_dir/src/util/build_id.c \
1109 $src_dir/src/util/compress.c \
1110 $src_dir/src/util/crc32.c \
1111 $src_dir/src/util/dag.c \
1112 $src_dir/src/util/disk_cache.c \
1113 $src_dir/src/util/disk_cache_os.c \
1114 $src_dir/src/util/double.c \
1115 $src_dir/src/util/fast_idiv_by_const.c \
1116 $build_dir/src/util/format_srgb.c \
1117 $src_dir/src/util/fossilize_db.c \
1118 $src_dir/src/util/futex.c \
1119 $src_dir/src/util/half_float.c \
1120 $src_dir/src/util/hash_table.c \
1121 $src_dir/src/util/log.c \
1122 $src_dir/src/util/mesa-blake3.c \
1123 $src_dir/src/util/mesa-sha1.c \
1124 $build_dir/src/util/mesa_cache_db.c \
1125 $src_dir/src/util/mesa_cache_db_multipart.c \
1126 $src_dir/src/util/memstream.c \
1127 $src_dir/src/util/os_file.c \
1128 $src_dir/src/util/os_memory_fd.c \
1129 $src_dir/src/util/os_misc.c \
1130 $src_dir/src/util/os_socket.c \
1131 $src_dir/src/util/os_time.c \
1132 $src_dir/src/util/sha1/sha1.c \
1133 $src_dir/src/util/ralloc.c \
1134 $src_dir/src/util/rand_xor.c \
1135 $src_dir/src/util/rb_tree.c \
1136 $src_dir/src/util/register_allocate.c \
1137 $src_dir/src/util/rgtc.c \
1138 $src_dir/src/util/rwlock.c \
1139 $src_dir/src/util/set.c \
1140 $src_dir/src/util/simple_mtx.c \
1141 $src_dir/src/util/slab.c \
1142 $src_dir/src/util/softfloat.c \
1143 $src_dir/src/util/sparse_array.c \
1144 $src_dir/src/util/string_buffer.c \
1145 $src_dir/src/util/strtod.c \
1146 $src_dir/src/util/u_atomic.c \
1147 $src_dir/src/util/u_call_once.c \
1148 $src_dir/src/util/u_cpu_detect.c \
1149 $src_dir/src/util/u_debug.c \
1150 $src_dir/src/util/u_debug_stack.c \
1151 $src_dir/src/util/u_debug_symbol.c \
1152 $src_dir/src/util/u_dl.c \
1153 $src_dir/src/util/u_dynarray.c \
1154 $build_dir/src/util/u_format_table.c \
1155 $src_dir/src/util/u_hash_table.c \
1156 $src_dir/src/util/u_printf.c \
1157 $src_dir/src/util/format/u_format.c \
1158 $src_dir/src/util/format/u_format_bptc.c \
1159 $src_dir/src/util/format/u_format_etc.c \
1160 $src_dir/src/util/format/u_format_fxt1.c \
1161 $src_dir/src/util/format/u_format_latc.c \
1162 $src_dir/src/util/format/u_format_other.c \
1163 $src_dir/src/util/format/u_format_rgtc.c \
1164 $src_dir/src/util/format/u_format_s3tc.c \
1165 $src_dir/src/util/format/u_format_tests.c \
1166 $src_dir/src/util/format/u_format_yuv.c \
1167 $src_dir/src/util/format/u_format_zs.c \
1168 $src_dir/src/util/u_idalloc.c \
1169 $src_dir/src/util/u_math.c \
1170 $src_dir/src/util/u_mm.c \
1171 $src_dir/src/util/u_process.c \
1172 $src_dir/src/util/u_queue.c \
1173 $src_dir/src/util/u_thread.c \
1174 $src_dir/src/util/u_vector.c \
1175 $src_dir/src/util/u_worklist.c \
1176 $src_dir/src/util/vma.c \
1177 $src_dir/src/util/vl_zscan_data.c \
1178 \
1179 $src_dir/src/c11/impl/time.c \
1180 $src_dir/src/c11/impl/threads_posix.c \
1181 "
1182
1183 for f in $libmesautil_files
1184 do
1185 libmesautil_obj=$build_dir/$(basename $f .c).o
1186 libmesautil_a="$libmesautil_a $libmesautil_obj"
1187
1188 $cc $cppflags $f -o $libmesautil_obj &
1189 done
1190 #-------------------------------------------------------------------------------
1191 # The following is for the ultra complex blake3 hash algorithm.
1192 libmesautil_asm_files="\
1193 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1194 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1195 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1196 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1197 "
1198 for f in $libmesautil_asm_files
1199 do
1200 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1201 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1202 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1203
1204 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1205 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1206 done
1207 #===============================================================================
1208 # amd vulkan
1209 cppflags="\
1210 $cppflags_common \
1211 -DPACKAGE_VERSION=\"$version\" \
1212 -I$build_dir/src/amd/compiler \
1213 -I$src_dir/src/amd/compiler \
1214 -I$build_dir/src/amd/common \
1215 -I$src_dir/src/amd/common \
1216 -I$build_dir/src/amd/vulkan/nir \
1217 -I$src_dir/src/amd/vulkan/nir \
1218 -I$build_dir/src/amd/vulkan/meta \
1219 -I$src_dir/src/amd/vulkan/meta \
1220 -I$build_dir/src/amd/vulkan \
1221 -I$src_dir/src/amd/vulkan \
1222 -I$build_dir/src/amd \
1223 -I$src_dir/src/amd \
1224 -I$build_dir/src/gallium/auxiliary \
1225 -I$src_dir/src/gallium/auxiliary \
1226 -I$build_dir/src/gallium/include \
1227 -I$src_dir/src/gallium/include \
1228 -I$build_dir/src/vulkan/runtime \
1229 -I$src_dir/src/vulkan/runtime \
1230 -I$build_dir/src/vulkan/wsi \
1231 -I$src_dir/src/vulkan/wsi \
1232 -I$build_dir/src/vulkan/util \
1233 -I$src_dir/src/vulkan/util \
1234 -I$build_dir/src/mesa \
1235 -I$src_dir/src/mesa \
1236 -I$build_dir/src/compiler/nir \
1237 -I$src_dir/src/compiler/nir \
1238 -I$build_dir/src/compiler \
1239 -I$src_dir/src/compiler \
1240 -I$build_dir/src/util \
1241 -I$src_dir/src/util \
1242 -I$build_dir/src \
1243 -I$src_dir/src \
1244 -I$build_dir/include \
1245 -I$src_dir/include \
1246 $libdrm_cppflags \
1247 $libdrm_amdgpu_cppflags \
1248 $libx11_cppflags \
1249 $libxrandr_cppflags \
1250 $libxrender_cppflags \
1251 $libxcb_cppflags \
1252 $xorgproto_cppflags \
1253 $libxshmfence_cppflags \
1254 "
1255 #$build_dir/radv_extensions.c
1256 #$build_dir/vk_format_table.c
1257 # XXX: remove rt for now
1258 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1259 libvulkan_amd_common_files="\
1260 $src_dir/src/amd/vulkan/radv_android.c \
1261 $src_dir/src/amd/vulkan/radv_buffer.c \
1262 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1263 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1264 $src_dir/src/amd/vulkan/radv_debug.c \
1265 $build_dir/src/amd/vulkan/radv_device.c \
1266 $src_dir/src/amd/vulkan/radv_device_memory.c \
1267 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1268 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1269 $src_dir/src/amd/vulkan/radv_event.c \
1270 $src_dir/src/amd/vulkan/radv_formats.c \
1271 $src_dir/src/amd/vulkan/radv_image.c \
1272 $src_dir/src/amd/vulkan/radv_instance.c \
1273 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1277 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1280 $build_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1287 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1288 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1289 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1301 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1302 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1303 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1304 $src_dir/src/amd/vulkan/radv_physical_device.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1308 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1309 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1310 $src_dir/src/amd/vulkan/radv_queue.c \
1311 $src_dir/src/amd/vulkan/radv_rt_common.c \
1312 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1313 $src_dir/src/amd/vulkan/radv_sampler.c \
1314 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1315 $src_dir/src/amd/vulkan/radv_shader.c \
1316 $src_dir/src/amd/vulkan/radv_shader_args.c \
1317 $src_dir/src/amd/vulkan/radv_shader_info.c \
1318 $src_dir/src/amd/vulkan/radv_spm.c \
1319 $src_dir/src/amd/vulkan/radv_query.c \
1320 $src_dir/src/amd/vulkan/radv_video.c \
1321 $src_dir/src/amd/vulkan/radv_wsi.c \
1322 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1323 \
1324 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1325 \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1328 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1329 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1330 \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1332 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1333 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1334 \
1335 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1336 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1337 \
1338 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1339 "
1340
1341 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1342
1343 for f in $libvulkan_amd_common_files
1344 do
1345 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1346 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1347
1348 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1349 done
1350 libvulkan_amd_common_a="\
1351 $libvulkan_amd_common_a \
1352 $build_dir/xmlconfig.o"
1353 #===============================================================================
1354 # create the radeon vulkan driver
1355 soname=libvulkan_radeon.so
1356
1357 # XXX:the attempt to generalize without kludge the link stage of real programs
1358 # build is near a total and complete failure
1359 if test "${driver_link_cmd-unset}" = unset ; then
1360 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1361 -shared -static-libgcc -static-libstdc++ \
1362 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1363 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1364 -Wl,--whole-archive -Wl,--start-group \
1365 $libaco_a \
1366 $libvulkan_amd_common_a \
1367 $libvulkan_util_a \
1368 $libvulkan_runtime_a \
1369 $libvulkan_wsi_a \
1370 $libamd_common_a \
1371 $libamdgpu_addrlib_a \
1372 $libcompiler_a \
1373 $libnir_a \
1374 $libmesautil_a \
1375 -Wl,--end-group -Wl,--no-whole-archive \
1376 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1377 $zlib_ldflags \
1378 $expat_ldflags \
1379 $libelf_ldflags \
1380 -Wl,--as-needed \
1381 $libdrm_ldflags \
1382 $libdrm_amdgpu_ldflags \
1383 $libx11_ldflags \
1384 $libxrandr_ldflags \
1385 $libxrender_ldflags \
1386 $libxcb_ldflags \
1387 $libxshmfence_ldflags \
1388 -lpthread \
1389 -ldl \
1390 -Wl,--no-as-needed"
1391 fi
1392 wait
1393 eval $driver_link_cmd
1394 #===============================================================================
File builders/mesa-vulkan-amd-sh-8b6b405a0131e20b1b54cc4e2246dc07d0e0b6fb/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators.sh deleted (index 9e94a8c..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
157 >$build_dir/ir_expression_operation.h &
158 unset PYTHONPATH
159 #===============================================================================
160 # libnir
161 export PYTHONPATH=$mako
162 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
163 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
164 $build_dir/spirv_info.c &
165
166 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
167 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
168 $build_dir/vtn_gather_types.c &
169
170 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
171 $src_dir/src/compiler/spirv/spir-v.xml \
172 $build_dir/vtn_generator_ids.h &
173 # nir generated files
174 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
175 >$build_dir/nir_constant_expressions.c &
176
177 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
178 >$build_dir/nir_opt_algebraic.c &
179
180 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
181 >$build_dir/nir_opcodes.c &
182
183 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
184 --outdir $build_dir &
185 unset PYTHONPATH
186 #===============================================================================
187 # libaco
188 export PYTHONPATH=$mako
189 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
190 >$build_dir/aco_opcodes.h &
191 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
192 >$build_dir/aco_opcodes.cpp &
193 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
194 >$build_dir/aco_builder.h &
195 unset PYTHONPATH
196 #===============================================================================
197 # libmesautils
198 mkdir -p $build_dir/src/util
199
200 export PYTHONPATH=$mako
201 $python3 $src_dir/src/util/format_srgb.py \
202 >$build_dir/format_srgb.c
203
204 $python3 $src_dir/src/util/format/u_format_table.py \
205 $src_dir/src/util/format/u_format.csv \
206 >$build_dir/u_format_table.c
207
208 # wow, really?
209 mkdir -p $build_dir/src/util/format
210 $python3 $src_dir/src/util/format/u_format_table.py \
211 --header \
212 $src_dir/src/util/format/u_format.csv \
213 >$build_dir/src/util/format/u_format_pack.h
214
215 # oooof!
216 $python3 $src_dir/src/util/driconf_static.py \
217 $src_dir/src/util/00-mesa-defaults.conf \
218 $build_dir/src/util/driconf_static.h
219 unset PYTHONPATH
220 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
221 #===============================================================================
222 # amd vulkan
223 export PYTHONPATH=$mako
224 #------------------------------------------------------------------------------
225 # specific API to work around _still maintained at the time of writing _ game
226 # executable... this is the beginning of the end...
227 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
228 --beta false \
229 --xml $vulkan_api_xml \
230 --proto --weak \
231 --out-h radv_entrypoints.h \
232 --out-c radv_entrypoints.c \
233 --prefix radv \
234 --device-prefix metro_exodus \
235 --device-prefix rage2 &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
238 # --xml $vulkan_api_xml \
239 # --out-c radv_extensions.c \
240 # --out-h radv_extensions.h &
241 #------------------------------------------------------------------------------
242 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
243 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
244 # >$build_dir/vk_format_table.c &
245 #------------------------------------------------------------------------------
246 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
247 $src_dir/src/util/format/u_format.csv \
248 $src_dir/src/amd/registers/gfx10-rsrc.json \
249 $src_dir/src/amd/registers/gfx11-rsrc.json \
250 >$build_dir/gfx10_format_table.c &
251 #------------------------------------------------------------------------------
252 git_sha1=no_git_sha1_available
253 if test -d $src_dir/.git; then
254 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
255 fi
256 echo git_sha1=$git_sha1
257 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
258 unset PYTHONPATH
259 #===============================================================================
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 136a31c..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_perfcounter.c \
621 $src_dir/src/amd/common/ac_shader_args.c \
622 $src_dir/src/amd/common/ac_shader_util.c \
623 $src_dir/src/amd/common/ac_shadowed_regs.c \
624 $src_dir/src/amd/common/ac_rgp.c \
625 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
626 $src_dir/src/amd/common/ac_rtld.c \
627 $src_dir/src/amd/common/ac_spm.c \
628 "
629 for f in $libamd_common_c_files
630 do
631 libamd_common_c_obj=$build_dir/$(basename $f .c).o
632 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
633
634 $cc $cppflags $f -o $libamd_common_c_obj &
635 done
636 #===============================================================================
637 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
638 cppflags="\
639 $cppflags_common \
640 -DLITTLEENDIAN_CPU \
641 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
644 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
645 -I$src_dir/src/amd/addrlib/inc \
646 -I$src_dir/src/amd/addrlib/src/core \
647 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
650 -I$src_dir/src/amd/addrlib/src/chip/r800 \
651 -I$src_dir/src/amd/addrlib/src \
652 -I$src_dir/src \
653 -I$src_dir/include \
654 "
655 libamdgpu_addrlib_files="\
656 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
657 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
662 $src_dir/src/amd/addrlib/src/core/coord.cpp \
663 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
664 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
669 "
670 for f in $libamdgpu_addrlib_files
671 do
672 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
673 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
674
675 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
676 done
677 #===============================================================================
678 # libcompiler required by libnir
679 cppflags="\
680 $cppflags_common \
681 -I$build_dir \
682 -I$src_dir/src/gallium/auxiliary \
683 -I$src_dir/src/gallium/include \
684 -I$src_dir/src/mesa \
685 -I$src_dir/src \
686 -I$src_dir/include \
687 "
688 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
689 -o $build_dir/glsl_types.o &
690 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
691 -o $build_dir/nir_types.o &
692 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
693 -o $build_dir/shader_enums.o &
694 libcompiler_a="\
695 $build_dir/glsl_types.o \
696 $build_dir/nir_types.o \
697 $build_dir/shader_enums.o \
698 "
699 #===============================================================================
700 # libnir
701 cppflags="\
702 $cppflags_common \
703 -I$build_dir \
704 -I$src_dir/src/compiler/spirv \
705 -I$src_dir/src/compiler/nir \
706 -I$src_dir/src/compiler \
707 -I$src_dir/src/gallium/include \
708 -I$src_dir/src/mesa \
709 -I$src_dir/src \
710 -I$src_dir/include \
711 $xorgproto_cppflags \
712 $libxcb_cppflags \
713 $libx11_cppflags \
714 $libxrender_cppflags \
715 $libxrandr_cppflags \
716 "
717 libnir_files="\
718 $build_dir/spirv_info.c \
719 $build_dir/vtn_gather_types.c \
720 $build_dir/nir_intrinsics.c \
721 $build_dir/nir_opcodes.c \
722 $build_dir/nir_opt_algebraic.c \
723 $build_dir/nir_constant_expressions.c \
724 \
725 $src_dir/src/compiler/spirv/gl_spirv.c \
726 $src_dir/src/compiler/spirv/spirv_to_nir.c \
727 $src_dir/src/compiler/spirv/vtn_alu.c \
728 $src_dir/src/compiler/spirv/vtn_amd.c \
729 $src_dir/src/compiler/spirv/vtn_cfg.c \
730 $src_dir/src/compiler/spirv/vtn_glsl450.c \
731 $src_dir/contrib/vtn_opencl.c \
732 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
733 $src_dir/src/compiler/spirv/vtn_subgroup.c \
734 $src_dir/src/compiler/spirv/vtn_variables.c \
735 \
736 $src_dir/src/compiler/nir/nir.c \
737 $src_dir/src/compiler/nir/nir_builder.c \
738 $src_dir/src/compiler/nir/nir_builtin_builder.c \
739 $src_dir/src/compiler/nir/nir_clone.c \
740 $src_dir/src/compiler/nir/nir_control_flow.c \
741 $src_dir/src/compiler/nir/nir_deref.c \
742 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
743 $src_dir/src/compiler/nir/nir_dominance.c \
744 $src_dir/src/compiler/nir/nir_from_ssa.c \
745 $src_dir/src/compiler/nir/nir_gather_info.c \
746 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
747 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
748 $src_dir/src/compiler/nir/nir_group_loads.c \
749 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
750 $src_dir/src/compiler/nir/nir_inline_functions.c \
751 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
752 $src_dir/src/compiler/nir/nir_instr_set.c \
753 $src_dir/src/compiler/nir/nir_legacy.c \
754 $src_dir/src/compiler/nir/nir_linking_helpers.c \
755 $src_dir/src/compiler/nir/nir_liveness.c \
756 $src_dir/src/compiler/nir/nir_loop_analyze.c \
757 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
758 $src_dir/src/compiler/nir/nir_lower_alu.c \
759 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
760 $src_dir/src/compiler/nir/nir_lower_amul.c \
761 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
762 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
763 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
764 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
765 $src_dir/src/compiler/nir/nir_lower_blend.c \
766 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
767 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
768 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
769 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
770 $src_dir/src/compiler/nir/nir_lower_clip.c \
771 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
772 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
773 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
774 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
775 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
776 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
777 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
778 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
779 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
780 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
781 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
782 $src_dir/src/compiler/nir/nir_lower_flrp.c \
783 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
784 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
785 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
786 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
787 $src_dir/src/compiler/nir/nir_lower_frexp.c \
788 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
789 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
790 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
791 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
792 $src_dir/src/compiler/nir/nir_lower_idiv.c \
793 $src_dir/src/compiler/nir/nir_lower_image.c \
794 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
795 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
796 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
797 $src_dir/src/compiler/nir/nir_lower_int64.c \
798 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
799 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
800 $src_dir/src/compiler/nir/nir_lower_io.c \
801 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
802 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
803 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
804 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
805 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
806 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
807 $src_dir/src/compiler/nir/nir_lower_mediump.c \
808 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
809 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
810 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
811 $src_dir/src/compiler/nir/nir_lower_multiview.c \
812 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
813 $src_dir/src/compiler/nir/nir_lower_packing.c \
814 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
815 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
816 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
817 $src_dir/src/compiler/nir/nir_lower_point_size.c \
818 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
819 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
820 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
821 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
822 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
823 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
824 $src_dir/src/compiler/nir/nir_lower_returns.c \
825 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
826 $src_dir/src/compiler/nir/nir_lower_samplers.c \
827 $src_dir/src/compiler/nir/nir_lower_scratch.c \
828 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
829 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
830 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
831 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
832 $src_dir/src/compiler/nir/nir_lower_system_values.c \
833 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
834 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
835 $src_dir/src/compiler/nir/nir_lower_tex.c \
836 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
837 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
838 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
839 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
840 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
841 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
842 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
843 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
844 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
845 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
846 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
847 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
848 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
849 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
850 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
851 $src_dir/src/compiler/nir/nir_metadata.c \
852 $src_dir/src/compiler/nir/nir_mod_analysis.c \
853 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
854 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
855 $src_dir/src/compiler/nir/nir_opt_access.c \
856 $src_dir/src/compiler/nir/nir_opt_barriers.c \
857 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
858 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
859 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
860 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
861 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
862 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
863 $src_dir/src/compiler/nir/nir_opt_cse.c \
864 $src_dir/src/compiler/nir/nir_opt_dce.c \
865 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
866 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
867 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
868 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
869 $src_dir/src/compiler/nir/nir_opt_gcm.c \
870 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
871 $src_dir/src/compiler/nir/nir_opt_if.c \
872 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
873 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
874 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
875 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
876 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
877 $src_dir/src/compiler/nir/nir_opt_move.c \
878 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
879 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
880 $src_dir/src/compiler/nir/nir_opt_offsets.c \
881 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
882 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
883 $src_dir/src/compiler/nir/nir_opt_preamble.c \
884 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
885 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
886 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
887 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
888 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
889 $src_dir/src/compiler/nir/nir_opt_sink.c \
890 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
891 $src_dir/src/compiler/nir/nir_opt_undef.c \
892 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
893 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
894 $src_dir/src/compiler/nir/nir_phi_builder.c \
895 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
896 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
897 $src_dir/src/compiler/nir/nir_print.c \
898 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
899 $src_dir/src/compiler/nir/nir_range_analysis.c \
900 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
901 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
902 $src_dir/src/compiler/nir/nir_repair_ssa.c \
903 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
904 $src_dir/src/compiler/nir/nir_schedule.c \
905 $src_dir/src/compiler/nir/nir_search.c \
906 $src_dir/src/compiler/nir/nir_serialize.c \
907 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
908 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
909 $src_dir/src/compiler/nir/nir_split_var_copies.c \
910 $src_dir/src/compiler/nir/nir_split_vars.c \
911 $src_dir/src/compiler/nir/nir_sweep.c \
912 $src_dir/src/compiler/nir/nir_to_lcssa.c \
913 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
914 $src_dir/src/compiler/nir/nir_validate.c \
915 $src_dir/src/compiler/nir/nir_worklist.c \
916 "
917 for f in $libnir_files
918 do
919 libnir_obj=$build_dir/$(basename $f .c).o
920 libnir_a="$libnir_a $libnir_obj"
921
922 $cc $cppflags $f -o $libnir_obj &
923 done
924 #===============================================================================
925 # libaco
926 # we don't use cppflags_common for aco because the code is not yet
927 # compatible
928 cppflags="\
929 $gcc_builtins_cppflags \
930 $gcc_attributes_cppflags \
931 $linux_glibc_cppflags \
932 $mesa_cppflags \
933 -I$build_dir \
934 -I$src_dir/src/amd/compiler \
935 -I$src_dir/src/amd/vulkan \
936 -I$build_dir/src/amd/common \
937 -I$src_dir/src/amd/common \
938 -I$build_dir/src/amd \
939 -I$src_dir/src/amd \
940 -I$src_dir/src/compiler/nir \
941 -I$src_dir/src/compiler \
942 -I$src_dir/src/mesa \
943 -I$src_dir/src/gallium/include \
944 -I$src_dir/src \
945 -I$src_dir/include \
946 "
947 libaco_files="\
948 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
949 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
950 $src_dir/src/amd/compiler/aco_dominance.cpp \
951 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
952 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
953 $src_dir/src/amd/compiler/aco_interface.cpp \
954 $src_dir/src/amd/compiler/aco_assembler.cpp \
955 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
956 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
957 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
958 $src_dir/src/amd/compiler/aco_ir.cpp \
959 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
960 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
961 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
962 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
963 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
964 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
965 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
966 $build_dir/aco_opcodes.cpp \
967 $src_dir/src/amd/compiler/aco_optimizer.cpp \
968 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
969 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
970 $src_dir/src/amd/compiler/aco_print_asm.cpp \
971 $src_dir/src/amd/compiler/aco_print_ir.cpp \
972 $src_dir/src/amd/compiler/aco_scheduler.cpp \
973 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
974 $src_dir/src/amd/compiler/aco_spill.cpp \
975 $src_dir/src/amd/compiler/aco_statistics.cpp \
976 $src_dir/src/amd/compiler/aco_validate.cpp \
977 "
978 for f in $libaco_files
979 do
980 libaco_obj=$build_dir/$(basename $f .c).o
981 libaco_a="$libaco_a $libaco_obj"
982
983 $cxx $cppflags $f -o $libaco_obj &
984 done
985 #===============================================================================
986 # libmesautils
987 cppflags="\
988 $cppflags_common \
989 -I$build_dir/src/util/format \
990 -I$build_dir/src \
991 -I$build_dir \
992 -I$src_dir/src/gallium/auxiliary \
993 -I$src_dir/src/gallium/include \
994 -I$src_dir/src/mesa \
995 -I$src_dir/src/util/blake3 \
996 -I$src_dir/src/util/format \
997 -I$src_dir/src/util \
998 -I$src_dir/src \
999 -I$src_dir/include \
1000 $zlib_cppflags \
1001 "
1002 libmesautil_files="\
1003 $build_dir/format_srgb.c \
1004 $build_dir/u_format_table.c \
1005 $src_dir/src/util/anon_file.c \
1006 $src_dir/src/util/bitscan.c \
1007 $src_dir/src/util/blake3/blake3.c \
1008 $src_dir/src/util/blake3/blake3_dispatch.c \
1009 $src_dir/src/util/blake3/blake3_portable.c \
1010 $src_dir/src/util/blob.c \
1011 $src_dir/src/util/build_id.c \
1012 $src_dir/src/util/compress.c \
1013 $src_dir/src/util/crc32.c \
1014 $src_dir/src/util/dag.c \
1015 $src_dir/src/util/disk_cache.c \
1016 $src_dir/src/util/disk_cache_os.c \
1017 $src_dir/src/util/double.c \
1018 $src_dir/src/util/fast_idiv_by_const.c \
1019 $src_dir/src/util/fossilize_db.c \
1020 $src_dir/src/util/futex.c \
1021 $src_dir/src/util/half_float.c \
1022 $src_dir/src/util/hash_table.c \
1023 $src_dir/src/util/log.c \
1024 $src_dir/src/util/mesa-blake3.c \
1025 $src_dir/src/util/mesa-sha1.c \
1026 $src_dir/src/util/mesa_cache_db.c \
1027 $src_dir/src/util/mesa_cache_db_multipart.c \
1028 $src_dir/src/util/memstream.c \
1029 $src_dir/src/util/os_file.c \
1030 $src_dir/src/util/os_memory_fd.c \
1031 $src_dir/src/util/os_misc.c \
1032 $src_dir/src/util/os_socket.c \
1033 $src_dir/src/util/os_time.c \
1034 $src_dir/src/util/sha1/sha1.c \
1035 $src_dir/src/util/ralloc.c \
1036 $src_dir/src/util/rand_xor.c \
1037 $src_dir/src/util/rb_tree.c \
1038 $src_dir/src/util/register_allocate.c \
1039 $src_dir/src/util/rgtc.c \
1040 $src_dir/src/util/rwlock.c \
1041 $src_dir/src/util/set.c \
1042 $src_dir/src/util/simple_mtx.c \
1043 $src_dir/src/util/slab.c \
1044 $src_dir/src/util/softfloat.c \
1045 $src_dir/src/util/sparse_array.c \
1046 $src_dir/src/util/string_buffer.c \
1047 $src_dir/src/util/strtod.c \
1048 $src_dir/src/util/u_atomic.c \
1049 $src_dir/src/util/u_call_once.c \
1050 $src_dir/src/util/u_cpu_detect.c \
1051 $src_dir/src/util/u_debug.c \
1052 $src_dir/src/util/u_debug_stack.c \
1053 $src_dir/src/util/u_debug_symbol.c \
1054 $src_dir/src/util/u_dl.c \
1055 $src_dir/src/util/u_dynarray.c \
1056 $src_dir/src/util/u_hash_table.c \
1057 $src_dir/src/util/u_printf.c \
1058 $src_dir/src/util/format/u_format.c \
1059 $src_dir/src/util/format/u_format_bptc.c \
1060 $src_dir/src/util/format/u_format_etc.c \
1061 $src_dir/src/util/format/u_format_fxt1.c \
1062 $src_dir/src/util/format/u_format_latc.c \
1063 $src_dir/src/util/format/u_format_other.c \
1064 $src_dir/src/util/format/u_format_rgtc.c \
1065 $src_dir/src/util/format/u_format_s3tc.c \
1066 $src_dir/src/util/format/u_format_tests.c \
1067 $src_dir/src/util/format/u_format_yuv.c \
1068 $src_dir/src/util/format/u_format_zs.c \
1069 $src_dir/src/util/u_idalloc.c \
1070 $src_dir/src/util/u_math.c \
1071 $src_dir/src/util/u_mm.c \
1072 $src_dir/src/util/u_process.c \
1073 $src_dir/src/util/u_queue.c \
1074 $src_dir/src/util/u_thread.c \
1075 $src_dir/src/util/u_vector.c \
1076 $src_dir/src/util/u_worklist.c \
1077 $src_dir/src/util/vma.c \
1078 \
1079 $src_dir/src/c11/impl/time.c \
1080 $src_dir/src/c11/impl/threads_posix.c \
1081 "
1082 for f in $libmesautil_files
1083 do
1084 libmesautil_obj=$build_dir/$(basename $f .c).o
1085 libmesautil_a="$libmesautil_a $libmesautil_obj"
1086
1087 $cc $cppflags $f -o $libmesautil_obj &
1088 done
1089 #-------------------------------------------------------------------------------
1090 # The following is for the ultra complex blake3 hash algorithm.
1091 libmesautil_asm_files="\
1092 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1093 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1094 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1095 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1096 "
1097 for f in $libmesautil_asm_files
1098 do
1099 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1100 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1101 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1102
1103 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1104 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1105 done
1106 #===============================================================================
1107 # amd vulkan
1108 cppflags="\
1109 $cppflags_common \
1110 -DPACKAGE_VERSION=\"$version\" \
1111 -I$build_dir/vulkan/util \
1112 -I$build_dir/src/util \
1113 -I$build_dir \
1114 -I$src_dir/src/amd/compiler \
1115 -I$build_dir/src/amd/common \
1116 -I$src_dir/src/amd/common \
1117 -I$src_dir/src/amd/vulkan/nir \
1118 -I$src_dir/src/amd/vulkan/meta \
1119 -I$src_dir/src/amd/vulkan \
1120 -I$src_dir/src/amd \
1121 -I$src_dir/src/gallium/auxiliary \
1122 -I$src_dir/src/gallium/include \
1123 -I$src_dir/src/vulkan/util \
1124 -I$src_dir/src/vulkan/runtime \
1125 -I$src_dir/src/vulkan/wsi \
1126 -I$src_dir/src/util \
1127 -I$src_dir/src/mesa \
1128 -I$src_dir/src/compiler/nir \
1129 -I$src_dir/src/compiler \
1130 -I$src_dir/src \
1131 -I$src_dir/include \
1132 $libdrm_cppflags \
1133 $libdrm_amdgpu_cppflags \
1134 $libx11_cppflags \
1135 $libxrandr_cppflags \
1136 $libxrender_cppflags \
1137 $libxcb_cppflags \
1138 $xorgproto_cppflags \
1139 $libxshmfence_cppflags \
1140 "
1141 #$build_dir/radv_extensions.c
1142 #$build_dir/vk_format_table.c
1143 # XXX: remove rt for now
1144 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1145 libvulkan_amd_common_files="\
1146 $src_dir/src/amd/vulkan/radv_android.c \
1147 $src_dir/src/amd/vulkan/radv_buffer.c \
1148 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1149 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1150 $src_dir/src/amd/vulkan/radv_debug.c \
1151 $build_dir/src/amd/vulkan/radv_device.c \
1152 $src_dir/src/amd/vulkan/radv_device_memory.c \
1153 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1154 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1155 $src_dir/src/amd/vulkan/radv_event.c \
1156 $src_dir/src/amd/vulkan/radv_formats.c \
1157 $src_dir/src/amd/vulkan/radv_image.c \
1158 $src_dir/src/amd/vulkan/radv_instance.c \
1159 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1160 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1161 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1162 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1163 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1176 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1177 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1178 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1179 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1180 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1181 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1182 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1183 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1184 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1189 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1190 $src_dir/src/amd/vulkan/radv_physical_device.c \
1191 $src_dir/src/amd/vulkan/radv_pipeline.c \
1192 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1193 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1194 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1195 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1196 $src_dir/src/amd/vulkan/radv_queue.c \
1197 $src_dir/src/amd/vulkan/radv_rt_common.c \
1198 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1199 $src_dir/src/amd/vulkan/radv_sampler.c \
1200 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1201 $src_dir/src/amd/vulkan/radv_shader.c \
1202 $src_dir/src/amd/vulkan/radv_shader_args.c \
1203 $src_dir/src/amd/vulkan/radv_shader_info.c \
1204 $src_dir/src/amd/vulkan/radv_spm.c \
1205 $src_dir/src/amd/vulkan/radv_query.c \
1206 $src_dir/src/amd/vulkan/radv_video.c \
1207 $src_dir/src/amd/vulkan/radv_wsi.c \
1208 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1209 \
1210 $build_dir/gfx10_format_table.c \
1211 \
1212 $build_dir/radv_entrypoints.c \
1213 \
1214 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1215 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1216 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1217 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1218 \
1219 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1220 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1221 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1222 \
1223 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1224 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1225 \
1226 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1227 "
1228
1229 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1230
1231 for f in $libvulkan_amd_common_files
1232 do
1233 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1234 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1235
1236 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1237 done
1238 libvulkan_amd_common_a="\
1239 $libvulkan_amd_common_a \
1240 $build_dir/xmlconfig.o"
1241 #===============================================================================
1242 # create the radeon vulkan driver
1243 soname=libvulkan_radeon.so
1244
1245 # XXX:the attempt to generalize without kludge the link stage of real programs
1246 # build is near a total and complete failure
1247 if test "${driver_link_cmd-unset}" = unset ; then
1248 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1249 -shared -static-libgcc -static-libstdc++ \
1250 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1251 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1252 -Wl,--whole-archive -Wl,--start-group \
1253 $libaco_a \
1254 $libvulkan_amd_common_a \
1255 $libvulkan_util_a \
1256 $libvulkan_runtime_a \
1257 $libvulkan_wsi_a \
1258 $libamd_common_a \
1259 $libamdgpu_addrlib_a \
1260 $libcompiler_a \
1261 $libnir_a \
1262 $libmesautil_a \
1263 -Wl,--end-group -Wl,--no-whole-archive \
1264 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1265 $zlib_ldflags \
1266 $expat_ldflags \
1267 $libelf_ldflags \
1268 -Wl,--as-needed \
1269 $libdrm_ldflags \
1270 $libdrm_amdgpu_ldflags \
1271 $libx11_ldflags \
1272 $libxrandr_ldflags \
1273 $libxrender_ldflags \
1274 $libxcb_ldflags \
1275 $libxshmfence_ldflags \
1276 -lpthread \
1277 -ldl \
1278 -Wl,--no-as-needed"
1279 fi
1280 wait
1281 eval $driver_link_cmd
1282 #===============================================================================
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/generators.sh deleted (index 6556024..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
4 sed -i $build_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
8 sed -i $build_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
16 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
17 cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
18 patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
19 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
20 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
21 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
22 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
23 #===============================================================================
24 # vulkan util
25 export PYTHONPATH=$mako
26 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
27 --beta false \
28 --xml $vulkan_api_xml \
29 --outdir $build_dir/src/vulkan/util
30
31 # our ndebug/release version
32 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
33 $build_dir/src/vulkan/util
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --beta false \
37 --xml $vulkan_api_xml \
38 --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
39 --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &
40
41 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
42 --xml $vulkan_api_xml \
43 --out-c $build_dir/src/vulkan/util/vk_extensions.c \
44 --out-h $build_dir/src/vulkan/util/vk_extensions.h &
45
46 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
47 --beta false \
48 --xml $vulkan_api_xml \
49 --outdir $build_dir/src/vulkan/util &
50
51 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
52 >$build_dir/src/compiler/nir/nir_builder_opcodes.h &
53
54 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
55 >$build_dir/src/compiler/nir/nir_opcodes.h &
56
57 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
58 --outdir $build_dir/src/compiler/nir &
59
60 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
61 --outdir $build_dir/src/compiler/nir &
62 unset PYTHONPATH
63 #===============================================================================
64 # vulkan runtime
65 export PYTHONPATH=$mako
66 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
67 --beta false \
68 --xml $vulkan_api_xml \
69 --proto --weak \
70 --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
71 --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
72 --prefix vk_common &
73 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
74 --beta false \
75 --xml $vulkan_api_xml \
76 --proto --weak \
77 --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
78 --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
79 --prefix vk_cmd_enqueue &
80 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
81 --beta false \
82 --xml $vulkan_api_xml \
83 --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
84 --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
85 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
86 --beta false \
87 --xml $vulkan_api_xml \
88 --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
89 --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
90 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
91 --beta false \
92 --xml $vulkan_api_xml \
93 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
94 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
95 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
96 --beta false \
97 --xml $vulkan_api_xml \
98 --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
99 --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
100 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
101 --xml $vulkan_api_xml \
102 --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
103 --out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
104 unset PYTHONPATH
105 #===============================================================================
106 # wsi x11 (Window System Interface)
107 export PYTHONPATH=$mako
108 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
109 --beta false \
110 --xml $vulkan_api_xml \
111 --proto --weak \
112 --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
113 --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
114 --prefix wsi &
115 unset PYTHONPATH
116 #===============================================================================
117 # amd common archive
118 $python3 $src_dir/src/amd/common/sid_tables.py \
119 $src_dir/src/amd/common/sid.h \
120 $src_dir/src/amd/registers/gfx6.json \
121 $src_dir/src/amd/registers/gfx7.json \
122 $src_dir/src/amd/registers/gfx8.json \
123 $src_dir/src/amd/registers/gfx81.json \
124 $src_dir/src/amd/registers/gfx9.json \
125 $src_dir/src/amd/registers/gfx940.json \
126 $src_dir/src/amd/registers/gfx10.json \
127 $src_dir/src/amd/registers/gfx10-rsrc.json \
128 $src_dir/src/amd/registers/gfx103.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx115.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/src/amd/common/sid_tables.h &
135 $python3 $src_dir/src/amd/registers/makeregheader.py \
136 $src_dir/src/amd/registers/gfx6.json \
137 $src_dir/src/amd/registers/gfx7.json \
138 $src_dir/src/amd/registers/gfx8.json \
139 $src_dir/src/amd/registers/gfx81.json \
140 $src_dir/src/amd/registers/gfx9.json \
141 $src_dir/src/amd/registers/gfx940.json \
142 $src_dir/src/amd/registers/gfx10.json \
143 $src_dir/src/amd/registers/gfx10-rsrc.json \
144 $src_dir/src/amd/registers/gfx11.json \
145 $src_dir/src/amd/registers/gfx115.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/src/compiler/glsl/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/src/compiler/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/src/compiler/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/src/compiler/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/src/compiler/spirv/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/src/compiler/spirv/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/src/compiler/spirv/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/src/compiler/nir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/src/compiler/nir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/src/compiler/nir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir/src/compiler/nir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/src/amd/compiler/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/src/amd/compiler/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/src/amd/compiler/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 export PYTHONPATH=$mako
210 $python3 $src_dir/src/util/format_srgb.py \
211 >$build_dir/src/util/format_srgb.c
212
213 $python3 $src_dir/src/util/format/u_format_table.py \
214 $src_dir/src/util/format/u_format.csv \
215 >$build_dir/src/util/u_format_table.c
216
217 # wow, really?
218 $python3 $src_dir/src/util/format/u_format_table.py \
219 --header \
220 $src_dir/src/util/format/u_format.csv \
221 >$build_dir/src/util/format/u_format_pack.h
222
223 # oooof!
224 $python3 $src_dir/src/util/driconf_static.py \
225 $src_dir/src/util/00-mesa-defaults.conf \
226 $build_dir/src/util/driconf_static.h
227 unset PYTHONPATH
228 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
229 #===============================================================================
230 # amd vulkan
231 export PYTHONPATH=$mako
232 #------------------------------------------------------------------------------
233 # specific API to work around _still maintained at the time of writing _ game
234 # executable... this is the beginning of the end...
235 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
236 --beta false \
237 --xml $vulkan_api_xml \
238 --proto --weak \
239 --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
240 --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
241 --prefix radv \
242 --device-prefix metro_exodus \
243 --device-prefix rage2 &
244 #------------------------------------------------------------------------------
245 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
246 # --xml $vulkan_api_xml \
247 # --out-c radv_extensions.c \
248 # --out-h radv_extensions.h &
249 #------------------------------------------------------------------------------
250 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
251 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
252 # >$build_dir/vk_format_table.c &
253 #------------------------------------------------------------------------------
254 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
255 $src_dir/src/util/format/u_format.csv \
256 $src_dir/src/amd/registers/gfx10-rsrc.json \
257 $src_dir/src/amd/registers/gfx11-rsrc.json \
258 >$build_dir/src/amd/common/gfx10_format_table.c &
259 #------------------------------------------------------------------------------
260 git_sha1=no_git_sha1_available
261 if test -d $src_dir/.git; then
262 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
263 fi
264 echo git_sha1=$git_sha1
265 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
266 unset PYTHONPATH
267 #===============================================================================
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_meta.c.patch deleted (index a0757cf..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -506,9 +506,14 @@ radv_device_init_meta(struct radv_device *device)
4 if (result != VK_SUCCESS)
5 goto fail_etc_decode;
6
7 - result = radv_device_init_meta_astc_decode_state(device, on_demand);
8 - if (result != VK_SUCCESS)
9 - goto fail_astc_decode;
10 +// XXX: insanely toxic compute based stuff pulling that
11 +// disgusting khronos glslang. Should be independent
12 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
13 +// with simple and plain C written "assemblers").
14 +// blame: some trash.
15 +// result = radv_device_init_meta_astc_decode_state(device, on_demand);
16 +// if (result != VK_SUCCESS)
17 +// goto fail_astc_decode;
18
19 if (device->uses_device_generated_commands) {
20 result = radv_device_init_dgc_prepare_state(device);
21 @@ -516,35 +521,50 @@ radv_device_init_meta(struct radv_device *device)
22 goto fail_dgc;
23 }
24
25 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
26 - if (device->vk.enabled_features.nullDescriptor) {
27 - result = radv_device_init_null_accel_struct(device);
28 - if (result != VK_SUCCESS)
29 - goto fail_accel_struct;
30 - }
31 -
32 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
33 - * Work around it by forcing ACO for now.
34 - */
35 - bool use_llvm = device->physical_device->use_llvm;
36 - if (loaded_cache || use_llvm) {
37 - device->physical_device->use_llvm = false;
38 - result = radv_device_init_accel_struct_build_state(device);
39 - device->physical_device->use_llvm = use_llvm;
40 -
41 - if (result != VK_SUCCESS)
42 - goto fail_accel_struct;
43 - }
44 - }
45 +// XXX: insanely toxic compute based stuff pulling that
46 +// disgusting khronos glslang. Should be independent
47 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
48 +// with simple and plain C written "assemblers").
49 +// blame: Konstantin Seurer
50 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
51 +// if (device->vk.enabled_features.nullDescriptor) {
52 +// result = radv_device_init_null_accel_struct(device);
53 +// if (result != VK_SUCCESS)
54 +// goto fail_accel_struct;
55 +// }
56 +//
57 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
58 +// * Work around it by forcing ACO for now.
59 +// */
60 +// bool use_llvm = device->physical_device->use_llvm;
61 +// if (loaded_cache || use_llvm) {
62 +// device->physical_device->use_llvm = false;
63 +// result = radv_device_init_accel_struct_build_state(device);
64 +// device->physical_device->use_llvm = use_llvm;
65 +//
66 +// if (result != VK_SUCCESS)
67 +// goto fail_accel_struct;
68 +// }
69 +// }
70
71 return VK_SUCCESS;
72
73 -fail_accel_struct:
74 - radv_device_finish_accel_struct_build_state(device);
75 +// XXX: insanely toxic compute based stuff pulling that
76 +// disgusting khronos glslang. Should be independent
77 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
78 +// with simple and plain C written "assemblers").
79 +// blame: Konstantin Seurer
80 +//fail_accel_struct:
81 +// radv_device_finish_accel_struct_build_state(device);
82 fail_dgc:
83 radv_device_finish_dgc_prepare_state(device);
84 -fail_astc_decode:
85 - radv_device_finish_meta_astc_decode_state(device);
86 +// XXX: insanely toxic compute based stuff pulling that
87 +// disgusting khronos glslang. Should be independent
88 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
89 +// with simple and plain C written "assemblers").
90 +// blame: some trash.
91 +//fail_astc_decode:
92 +// radv_device_finish_meta_astc_decode_state(device);
93 fail_etc_decode:
94 radv_device_finish_meta_etc_decode_state(device);
95 fail_fmask_copy:
96 @@ -584,8 +604,18 @@ radv_device_finish_meta(struct radv_device *device)
97 {
98 radv_device_finish_dgc_prepare_state(device);
99 radv_device_finish_meta_etc_decode_state(device);
100 - radv_device_finish_meta_astc_decode_state(device);
101 - radv_device_finish_accel_struct_build_state(device);
102 +// XXX: insanely toxic compute based stuff pulling that
103 +// disgusting khronos glslang. Should be independent
104 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
105 +// with simple and plain C written "assemblers").
106 +// blame: some trash.
107 +// radv_device_finish_meta_astc_decode_state(device);
108 +// XXX: insanely toxic compute based stuff pulling that
109 +// disgusting khronos glslang. Should be independent
110 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
111 +// with simple and plain C written "assemblers").
112 +// blame: Konstantin Seurer
113 +// radv_device_finish_accel_struct_build_state(device);
114 radv_device_finish_meta_clear_state(device);
115 radv_device_finish_meta_resolve_state(device);
116 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_meta_copy.c.patch deleted (index 559b13e..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta_copy.c
2 +++ b/src/amd/vulkan/meta/radv_meta_copy.c
3 @@ -215,17 +215,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm
4
5 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
6 for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) {
7 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
8 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
9 - &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
10 - pCopyBufferToImageInfo->pRegions[r].imageOffset,
11 - pCopyBufferToImageInfo->pRegions[r].imageExtent);
12 - } else {
13 + // XXX: current astc work is omega trash
14 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
15 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
16 + // &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
17 + // pCopyBufferToImageInfo->pRegions[r].imageOffset,
18 + // pCopyBufferToImageInfo->pRegions[r].imageExtent);
19 + //} else {
20 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout,
21 &pCopyBufferToImageInfo->pRegions[r].imageSubresource,
22 pCopyBufferToImageInfo->pRegions[r].imageOffset,
23 pCopyBufferToImageInfo->pRegions[r].imageExtent);
24 - }
25 + //}
26 }
27 }
28 }
29 @@ -568,15 +569,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI
30
31 const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout;
32 for (unsigned r = 0; r < pCopyImageInfo->regionCount; r++) {
33 - if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
34 - radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
35 - &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
36 - pCopyImageInfo->pRegions[r].extent);
37 - } else {
38 + // XXX: current ASTC work is omega grade trash
39 + //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) {
40 + // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
41 + // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
42 + // pCopyImageInfo->pRegions[r].extent);
43 + //} else {
44 radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout,
45 &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset,
46 pCopyImageInfo->pRegions[r].extent);
47 - }
48 + //}
49 }
50 }
51 }
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 2ae3cb0..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # directory hierarchy
400 build_dir_leaf_dirs="\
401 $build_dir/include/drm-api \
402 $build_dir/src/amd/common \
403 $build_dir/src/amd/compiler \
404 $build_dir/src/amd/vulkan/meta \
405 $build_dir/src/amd/vulkan/nir \
406 $build_dir/src/compiler/nir \
407 $build_dir/src/compiler/glsl \
408 $build_dir/src/compiler/spirv \
409 $build_dir/src/gallium/auxiliary \
410 $build_dir/src/gallium/include \
411 $build_dir/src/mesa \
412 $build_dir/src/util/format \
413 $build_dir/src/vulkan/runtime \
414 $build_dir/src/vulkan/util \
415 $build_dir/src/vulkan/wsi \
416 "
417 mkdir -p $build_dir_leaf_dirs
418 #===============================================================================
419 # all code generation should happen here (no weird interlocked deps)
420 . $src_dir/contrib/generators.sh
421 wait
422 #===============================================================================
423 # object put in libvulkan_amd_common
424 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
425 -DSYSCONFDIR=\"$sysconfdir\" \
426 -DDATADIR=\"$datadir\" \
427 \
428 -I$build_dir/src/util \
429 -I$src_dir/src/util \
430 -I$build_dir/src \
431 -I$src_dir/src \
432 -I$build_dir/include \
433 -I$src_dir/include \
434 $cppflags_common \
435 $expat_cppflags &
436 #===============================================================================
437 # vulkan util
438 cppflags="\
439 $cppflags_common \
440 -DPACKAGE_VERSION=\"$version\" \
441 -DVERSION=\"$version\" \
442 -I$build_dir/src/vulkan/runtime \
443 -I$src_dir/src/vulkan/runtime \
444 -I$build_dir/src/vulkan/util \
445 -I$src_dir/src/vulkan/util \
446 -I$build_dir/src/gallium/include \
447 -I$src_dir/src/gallium/include \
448 -I$build_dir/src/compiler/nir \
449 -I$src_dir/src/compiler/nir \
450 -I$build_dir/src/compiler \
451 -I$src_dir/src/compiler \
452 -I$build_dir/src/util \
453 -I$src_dir/src/util \
454 -I$build_dir/src \
455 -I$src_dir/src \
456 -I$build_dir/include \
457 -I$src_dir/include \
458 $libxcb_cppflags \
459 $libx11_cppflags \
460 $libxrandr_cppflags \
461 $libxrender_cppflags \
462 $xorgproto_cppflags \
463 "
464 libvulkan_util_files="\
465 $src_dir/src/vulkan/util/vk_alloc.c \
466 $build_dir/src/vulkan/util/vk_dispatch_table.c \
467 $build_dir/src/vulkan/util/vk_enum_to_str.c \
468 $build_dir/src/vulkan/util/vk_extensions.c \
469 $src_dir/src/vulkan/util/vk_format.c \
470 $src_dir/src/vulkan/util/vk_util.c \
471 "
472 for f in $libvulkan_util_files
473 do
474 libvulkan_util_obj=$build_dir/$(basename $f .c).o
475 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
476
477 $cc $cppflags $f -o $libvulkan_util_obj &
478 done
479 #===============================================================================
480 # vulkan runtime
481 cppflags="\
482 $cppflags_common \
483 -DPACKAGE_VERSION=\"$version\" \
484 -DVERSION=\"$version\" \
485 -I$build_dir/src/vulkan/runtime \
486 -I$src_dir/src/vulkan/runtime \
487 -I$build_dir/src/gallium/include \
488 -I$src_dir/src/gallium/include \
489 -I$build_dir/src/compiler/nir \
490 -I$src_dir/src/compiler/nir \
491 -I$build_dir/src/compiler \
492 -I$src_dir/src/compiler \
493 -I$build_dir/src/vulkan/util \
494 -I$src_dir/src/vulkan/util \
495 -I$build_dir/src/util \
496 -I$src_dir/src/util \
497 -I$build_dir/src \
498 -I$src_dir/src \
499 -I$build_dir/include \
500 -I$src_dir/include \
501 $libdrm_cppflags \
502 $libxcb_cppflags \
503 $libx11_cppflags \
504 $libxrandr_cppflags \
505 $libxrender_cppflags \
506 $xorgproto_cppflags \
507 "
508 libvulkan_runtime_files="\
509 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
510 $src_dir/src/vulkan/runtime/vk_blend.c \
511 $src_dir/src/vulkan/runtime/vk_buffer.c \
512 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
513 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
514 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
515 $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
516 $build_dir/src/vulkan/runtime/vk_cmd_queue.c \
517 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
518 $src_dir/src/vulkan/runtime/vk_command_pool.c \
519 $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
520 $src_dir/src/vulkan/runtime/vk_debug_report.c \
521 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
522 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
523 $src_dir/src/vulkan/runtime/vk_device_memory.c \
524 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
525 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
526 $src_dir/src/vulkan/runtime/vk_descriptors.c \
527 $src_dir/src/vulkan/runtime/vk_device.c \
528 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
529 $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c \
530 $src_dir/src/vulkan/runtime/vk_fence.c \
531 $build_dir/src/vulkan/runtime/vk_format_info.c \
532 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
533 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
534 $src_dir/src/vulkan/runtime/vk_image.c \
535 $src_dir/src/vulkan/runtime/vk_instance.c \
536 $src_dir/src/vulkan/runtime/vk_log.c \
537 $src_dir/src/vulkan/runtime/vk_meta.c \
538 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
539 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
540 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
541 $src_dir/src/vulkan/runtime/vk_nir.c \
542 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
543 $src_dir/src/vulkan/runtime/vk_object.c \
544 $src_dir/src/vulkan/runtime/vk_pipeline.c \
545 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
546 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
547 $src_dir/src/vulkan/runtime/vk_physical_device.c \
548 $build_dir/src/vulkan/runtime/vk_physical_device_features.c \
549 $build_dir/src/vulkan/runtime/vk_physical_device_properties.c \
550 $src_dir/src/vulkan/runtime/vk_query_pool.c \
551 $src_dir/src/vulkan/runtime/vk_queue.c \
552 $src_dir/src/vulkan/runtime/vk_render_pass.c \
553 $src_dir/src/vulkan/runtime/vk_sampler.c \
554 $src_dir/src/vulkan/runtime/vk_semaphore.c \
555 $src_dir/src/vulkan/runtime/vk_shader_module.c \
556 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
557 $src_dir/src/vulkan/runtime/vk_sync.c \
558 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
559 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
560 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
561 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
562 $src_dir/src/vulkan/runtime/vk_texcompress_etc2.c \
563 $src_dir/src/vulkan/runtime/vk_video.c \
564 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
565 "
566 for f in $libvulkan_runtime_files
567 do
568 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
569 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
570
571 $cc $cppflags $f -o $libvulkan_runtime_obj &
572 done
573 #===============================================================================
574 # wsi x11 (Window System Interface)
575 cppflags="\
576 $cppflags_common \
577 -I$build_dir/src/vulkan/wsi \
578 -I$src_dir/src/vulkan/wsi \
579 -I$build_dir/src/vulkan/runtime \
580 -I$src_dir/src/vulkan/runtime \
581 -I$build_dir/src/vulkan/util \
582 -I$src_dir/src/vulkan/util \
583 -I$build_dir/src/gallium/include \
584 -I$src_dir/src/gallium/include \
585 -I$build_dir/src \
586 -I$src_dir/src \
587 -I$build_dir/include/drm-uapi \
588 -I$src_dir/include/drm-uapi \
589 -I$build_dir/include \
590 -I$src_dir/include \
591 $libxcb_cppflags \
592 $libx11_cppflags \
593 $libxrandr_cppflags \
594 $libxrender_cppflags \
595 $xorgproto_cppflags \
596 $libxshmfence_cppflags \
597 $libdrm_cppflags \
598 "
599 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
600 -o $build_dir/wsi_common.o &
601 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
602 -o $build_dir/wsi_common_drm.o &
603 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
604 -o $build_dir/wsi_common_x11.o &
605 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
606 -o $build_dir/wsi_common_display.o &
607 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
608 -o $build_dir/wsi_common_headless.o &
609 $cc $cppflags $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
610 -o $build_dir/wsi_common_entrypoints.o &
611 libvulkan_wsi_a="\
612 $build_dir/wsi_common.o \
613 $build_dir/wsi_common_drm.o \
614 $build_dir/wsi_common_x11.o \
615 $build_dir/wsi_common_display.o \
616 $build_dir/wsi_common_headless.o \
617 $build_dir/wsi_common_entrypoints.o \
618 "
619 #===============================================================================
620 # amd common archive
621 cppflags="\
622 $cppflags_common \
623 -I$build_dir/src/gallium/auxiliary \
624 -I$src_dir/src/gallium/auxiliary \
625 -I$build_dir/src/gallium/include \
626 -I$src_dir/src/gallium/include \
627 -I$build_dir/src/amd/common \
628 -I$src_dir/src/amd/common \
629 -I$build_dir/src/amd \
630 -I$src_dir/src/amd \
631 -I$build_dir/src/compiler/nir \
632 -I$src_dir/src/compiler/nir \
633 -I$build_dir/src/compiler \
634 -I$src_dir/src/compiler \
635 -I$build_dir/src/mesa \
636 -I$src_dir/src/mesa \
637 -I$build_dir/src/util \
638 -I$src_dir/src/util \
639 -I$build_dir/src \
640 -I$src_dir/src \
641 -I$build_dir/include/drm-uapi \
642 -I$src_dir/include/drm-uapi \
643 -I$build_dir/include \
644 -I$src_dir/include \
645 $libdrm_cppflags \
646 $libdrm_amdgpu_cppflags \
647 $linux_drm_cppflags \
648 $libelf_cppflags \
649 "
650 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
651 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
652 #$src_dir/src/amd/common/ac_sqtt.c \
653 libamd_common_c_files="\
654 $src_dir/src/amd/common/ac_surface.c \
655 $src_dir/src/amd/common/ac_binary.c \
656 $src_dir/src/amd/common/ac_debug.c \
657 $src_dir/src/amd/common/ac_gpu_info.c \
658 $src_dir/src/amd/common/ac_msgpack.c \
659 $src_dir/src/amd/common/ac_nir.c \
660 $src_dir/src/amd/common/ac_nir_cull.c \
661 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
662 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
663 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
664 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
665 $src_dir/src/amd/common/ac_nir_lower_ps.c \
666 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
667 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
668 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
669 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
670 $src_dir/src/amd/common/ac_nir_lower_tex.c \
671 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
672 $src_dir/src/amd/common/ac_parse_ib.c \
673 $src_dir/src/amd/common/ac_perfcounter.c \
674 $src_dir/src/amd/common/ac_shader_args.c \
675 $src_dir/src/amd/common/ac_shader_util.c \
676 $src_dir/src/amd/common/ac_shadowed_regs.c \
677 $src_dir/src/amd/common/ac_rgp.c \
678 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
679 $src_dir/src/amd/common/ac_rtld.c \
680 $src_dir/src/amd/common/ac_spm.c \
681 $src_dir/src/amd/common/amd_family.c \
682 $build_dir/src/amd/common/gfx10_format_table.c \
683 "
684 for f in $libamd_common_c_files
685 do
686 libamd_common_c_obj=$build_dir/$(basename $f .c).o
687 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
688
689 $cc $cppflags $f -o $libamd_common_c_obj &
690 done
691 #===============================================================================
692 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
693 cppflags="\
694 $cppflags_common \
695 -DLITTLEENDIAN_CPU \
696 -I$build_dir/src/amd/addrlib/inc/chip/gfx11 \
697 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
698 -I$build_dir/src/amd/addrlib/inc/chip/gfx10 \
699 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
700 -I$build_dir/src/amd/addrlib/inc/chip/gfx9 \
701 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
702 -I$build_dir/src/amd/addrlib/inc/chip/r800 \
703 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
704 -I$build_dir/src/amd/addrlib/inc \
705 -I$src_dir/src/amd/addrlib/inc \
706 -I$build_dir/src/amd/addrlib/src/core \
707 -I$src_dir/src/amd/addrlib/src/core \
708 -I$build_dir/src/amd/addrlib/src/chip/gfx11 \
709 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
710 -I$build_dir/src/amd/addrlib/src/chip/gfx10 \
711 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
712 -I$build_dir/src/amd/addrlib/src/chip/gfx9 \
713 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
714 -I$build_dir/src/amd/addrlib/src/chip/r800 \
715 -I$src_dir/src/amd/addrlib/src/chip/r800 \
716 -I$build_dir/src/amd/addrlib/src \
717 -I$src_dir/src/amd/addrlib/src \
718 -I$build_dir/src \
719 -I$src_dir/src \
720 -I$build_dir/include \
721 -I$src_dir/include \
722 "
723 libamdgpu_addrlib_files="\
724 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
725 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
726 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
727 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
728 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
729 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
730 $src_dir/src/amd/addrlib/src/core/coord.cpp \
731 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
732 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
733 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
734 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
735 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
736 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
737 "
738 for f in $libamdgpu_addrlib_files
739 do
740 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
741 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
742
743 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
744 done
745 #===============================================================================
746 # libcompiler required by libnir
747 cppflags="\
748 $cppflags_common \
749 -I$build_dir/src/compiler \
750 -I$src_dir/src/compiler \
751 -I$build_dir/src/gallium/auxiliary \
752 -I$src_dir/src/gallium/auxiliary \
753 -I$build_dir/src/gallium/include \
754 -I$src_dir/src/gallium/include \
755 -I$build_dir/src/mesa \
756 -I$src_dir/src/mesa \
757 -I$build_dir/src \
758 -I$src_dir/src \
759 -I$build_dir/include \
760 -I$src_dir/include \
761 "
762 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
763 -o $build_dir/glsl_types.o &
764 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
765 -o $build_dir/nir_types.o &
766 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
767 -o $build_dir/shader_enums.o &
768 $cc $cppflags $build_dir/src/compiler/builtin_types.c \
769 -o $build_dir/builtin_types.o &
770 libcompiler_a="\
771 $build_dir/glsl_types.o \
772 $build_dir/nir_types.o \
773 $build_dir/shader_enums.o \
774 $build_dir/builtin_types.o \
775 "
776 #===============================================================================
777 # libnir
778 cppflags="\
779 $cppflags_common \
780 -I$build_dir/src/compiler/spirv \
781 -I$src_dir/src/compiler/spirv \
782 -I$build_dir/src/compiler/nir \
783 -I$src_dir/src/compiler/nir \
784 -I$build_dir/src/compiler \
785 -I$src_dir/src/compiler \
786 -I$build_dir/src/gallium/auxiliary \
787 -I$src_dir/src/gallium/auxiliary \
788 -I$build_dir/src/gallium/include \
789 -I$src_dir/src/gallium/include \
790 -I$build_dir/src/mesa \
791 -I$src_dir/src/mesa \
792 -I$build_dir/src \
793 -I$src_dir/src \
794 -I$build_dir/include \
795 -I$src_dir/include \
796 $xorgproto_cppflags \
797 $libxcb_cppflags \
798 $libx11_cppflags \
799 $libxrender_cppflags \
800 $libxrandr_cppflags \
801 "
802 libnir_files="\
803 $src_dir/src/compiler/spirv/gl_spirv.c \
804 $build_dir/src/compiler/spirv/spirv_info.c \
805 $src_dir/src/compiler/spirv/spirv_to_nir.c \
806 $src_dir/src/compiler/spirv/vtn_alu.c \
807 $src_dir/src/compiler/spirv/vtn_amd.c \
808 $src_dir/src/compiler/spirv/vtn_cfg.c \
809 $src_dir/src/compiler/spirv/vtn_cmat.c \
810 $build_dir/src/compiler/spirv/vtn_gather_types.c \
811 $src_dir/src/compiler/spirv/vtn_glsl450.c \
812 $src_dir/contrib/vtn_opencl.c \
813 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
814 $src_dir/src/compiler/spirv/vtn_subgroup.c \
815 $src_dir/src/compiler/spirv/vtn_variables.c \
816 \
817 $build_dir/src/compiler/nir/nir.c \
818 $src_dir/src/compiler/nir/nir_builder.c \
819 $src_dir/src/compiler/nir/nir_builtin_builder.c \
820 $src_dir/src/compiler/nir/nir_clone.c \
821 $build_dir/src/compiler/nir/nir_constant_expressions.c \
822 $src_dir/src/compiler/nir/nir_control_flow.c \
823 $src_dir/src/compiler/nir/nir_deref.c \
824 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
825 $src_dir/src/compiler/nir/nir_dominance.c \
826 $src_dir/src/compiler/nir/nir_from_ssa.c \
827 $src_dir/src/compiler/nir/nir_gather_info.c \
828 $src_dir/src/compiler/nir/nir_gather_types.c \
829 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
830 $src_dir/src/compiler/nir/nir_group_loads.c \
831 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
832 $src_dir/src/compiler/nir/nir_functions.c \
833 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
834 $src_dir/src/compiler/nir/nir_instr_set.c \
835 $build_dir/src/compiler/nir/nir_intrinsics.c \
836 $src_dir/src/compiler/nir/nir_legacy.c \
837 $src_dir/src/compiler/nir/nir_linking_helpers.c \
838 $src_dir/src/compiler/nir/nir_liveness.c \
839 $src_dir/src/compiler/nir/nir_loop_analyze.c \
840 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
841 $src_dir/src/compiler/nir/nir_lower_alu.c \
842 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
843 $src_dir/src/compiler/nir/nir_lower_amul.c \
844 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
845 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
846 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
847 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
848 $src_dir/src/compiler/nir/nir_lower_blend.c \
849 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
850 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
851 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
852 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
853 $src_dir/src/compiler/nir/nir_lower_clip.c \
854 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
855 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
856 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
857 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
858 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
859 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
860 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
861 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
862 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
863 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
864 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
865 $src_dir/src/compiler/nir/nir_lower_flrp.c \
866 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
867 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
868 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
869 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
870 $src_dir/src/compiler/nir/nir_lower_frexp.c \
871 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
872 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
873 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
874 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
875 $src_dir/src/compiler/nir/nir_lower_idiv.c \
876 $src_dir/src/compiler/nir/nir_lower_image.c \
877 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
878 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
879 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
880 $src_dir/src/compiler/nir/nir_lower_int64.c \
881 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
882 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
883 $src_dir/src/compiler/nir/nir_lower_io.c \
884 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
885 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
886 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
887 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
888 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
889 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
890 $src_dir/src/compiler/nir/nir_lower_mediump.c \
891 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
892 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
893 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
894 $src_dir/src/compiler/nir/nir_lower_multiview.c \
895 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
896 $src_dir/src/compiler/nir/nir_lower_packing.c \
897 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
898 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
899 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
900 $src_dir/src/compiler/nir/nir_lower_point_size.c \
901 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
902 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
903 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
904 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
905 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
906 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
907 $src_dir/src/compiler/nir/nir_lower_returns.c \
908 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
909 $src_dir/src/compiler/nir/nir_lower_samplers.c \
910 $src_dir/src/compiler/nir/nir_lower_scratch.c \
911 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
912 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
913 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
914 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
915 $src_dir/src/compiler/nir/nir_lower_system_values.c \
916 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
917 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
918 $src_dir/src/compiler/nir/nir_lower_tex.c \
919 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
920 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
921 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
922 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
923 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
924 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
925 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
926 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
927 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
928 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
929 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
930 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
931 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
932 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
933 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
934 $src_dir/src/compiler/nir/nir_metadata.c \
935 $src_dir/src/compiler/nir/nir_mod_analysis.c \
936 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
937 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
938 $build_dir/src/compiler/nir/nir_opcodes.c \
939 $src_dir/src/compiler/nir/nir_opt_access.c \
940 $build_dir/src/compiler/nir/nir_opt_algebraic.c \
941 $src_dir/src/compiler/nir/nir_opt_barriers.c \
942 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
943 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
944 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
945 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
946 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
947 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
948 $src_dir/src/compiler/nir/nir_opt_cse.c \
949 $src_dir/src/compiler/nir/nir_opt_dce.c \
950 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
951 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
952 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
953 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
954 $src_dir/src/compiler/nir/nir_opt_gcm.c \
955 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
956 $src_dir/src/compiler/nir/nir_opt_if.c \
957 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
958 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
959 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
960 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
961 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
962 $src_dir/src/compiler/nir/nir_opt_move.c \
963 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
964 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
965 $src_dir/src/compiler/nir/nir_opt_offsets.c \
966 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
967 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
968 $src_dir/src/compiler/nir/nir_opt_preamble.c \
969 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
970 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
971 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
972 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
973 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
974 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
975 $src_dir/src/compiler/nir/nir_opt_sink.c \
976 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
977 $src_dir/src/compiler/nir/nir_opt_undef.c \
978 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
979 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
980 $src_dir/src/compiler/nir/nir_phi_builder.c \
981 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
982 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
983 $src_dir/src/compiler/nir/nir_print.c \
984 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
985 $src_dir/src/compiler/nir/nir_range_analysis.c \
986 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
987 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
988 $src_dir/src/compiler/nir/nir_repair_ssa.c \
989 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
990 $src_dir/src/compiler/nir/nir_schedule.c \
991 $src_dir/src/compiler/nir/nir_search.c \
992 $src_dir/src/compiler/nir/nir_serialize.c \
993 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
994 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
995 $src_dir/src/compiler/nir/nir_split_var_copies.c \
996 $src_dir/src/compiler/nir/nir_split_vars.c \
997 $src_dir/src/compiler/nir/nir_sweep.c \
998 $src_dir/src/compiler/nir/nir_to_lcssa.c \
999 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
1000 $src_dir/src/compiler/nir/nir_validate.c \
1001 $src_dir/src/compiler/nir/nir_worklist.c \
1002 "
1003 for f in $libnir_files
1004 do
1005 libnir_obj=$build_dir/$(basename $f .c).o
1006 libnir_a="$libnir_a $libnir_obj"
1007
1008 $cc $cppflags $f -o $libnir_obj &
1009 done
1010 #===============================================================================
1011 # libaco
1012 # we don't use cppflags_common for aco because the code is not yet
1013 # compatible
1014 cppflags="\
1015 $gcc_builtins_cppflags \
1016 $gcc_attributes_cppflags \
1017 $linux_glibc_cppflags \
1018 $mesa_cppflags \
1019 -I$build_dir/src/amd/compiler \
1020 -I$src_dir/src/amd/compiler \
1021 -I$build_dir/src/amd/vulkan \
1022 -I$src_dir/src/amd/vulkan \
1023 -I$build_dir/src/amd/common \
1024 -I$src_dir/src/amd/common \
1025 -I$build_dir/src/amd \
1026 -I$src_dir/src/amd \
1027 -I$build_dir/src/compiler/nir \
1028 -I$src_dir/src/compiler/nir \
1029 -I$build_dir/src/compiler \
1030 -I$src_dir/src/compiler \
1031 -I$build_dir/src/mesa \
1032 -I$src_dir/src/mesa \
1033 -I$build_dir/src/gallium/include \
1034 -I$src_dir/src/gallium/include \
1035 -I$build_dir/src \
1036 -I$src_dir/src \
1037 -I$build_dir/include \
1038 -I$src_dir/include \
1039 "
1040 libaco_files="\
1041 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
1042 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
1043 $src_dir/src/amd/compiler/aco_dominance.cpp \
1044 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
1045 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
1046 $src_dir/src/amd/compiler/aco_interface.cpp \
1047 $src_dir/src/amd/compiler/aco_assembler.cpp \
1048 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
1049 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
1050 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
1051 $src_dir/src/amd/compiler/aco_ir.cpp \
1052 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
1053 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
1054 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
1055 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
1056 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
1057 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
1058 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
1059 $build_dir/src/amd/compiler/aco_opcodes.cpp \
1060 $src_dir/src/amd/compiler/aco_optimizer.cpp \
1061 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
1062 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
1063 $src_dir/src/amd/compiler/aco_print_asm.cpp \
1064 $src_dir/src/amd/compiler/aco_print_ir.cpp \
1065 $src_dir/src/amd/compiler/aco_scheduler.cpp \
1066 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
1067 $src_dir/src/amd/compiler/aco_spill.cpp \
1068 $src_dir/src/amd/compiler/aco_statistics.cpp \
1069 $src_dir/src/amd/compiler/aco_validate.cpp \
1070 "
1071 for f in $libaco_files
1072 do
1073 libaco_obj=$build_dir/$(basename $f .c).o
1074 libaco_a="$libaco_a $libaco_obj"
1075
1076 $cxx $cppflags $f -o $libaco_obj &
1077 done
1078 #===============================================================================
1079 # libmesautils
1080 cppflags="\
1081 $cppflags_common \
1082 -I$build_dir/src/gallium/auxiliary \
1083 -I$src_dir/src/gallium/auxiliary \
1084 -I$build_dir/src/gallium/include \
1085 -I$src_dir/src/gallium/include \
1086 -I$build_dir/src/mesa \
1087 -I$src_dir/src/mesa \
1088 -I$build_dir/src/util/blake3 \
1089 -I$src_dir/src/util/blake3 \
1090 -I$build_dir/src/util/format \
1091 -I$src_dir/src/util/format \
1092 -I$build_dir/src/util \
1093 -I$src_dir/src/util \
1094 -I$build_dir/src \
1095 -I$src_dir/src \
1096 -I$build_dir/include \
1097 -I$src_dir/include \
1098 $zlib_cppflags \
1099 "
1100
1101 libmesautil_files="\
1102 $src_dir/src/util/anon_file.c \
1103 $src_dir/src/util/bitscan.c \
1104 $src_dir/src/util/blake3/blake3.c \
1105 $src_dir/src/util/blake3/blake3_dispatch.c \
1106 $src_dir/src/util/blake3/blake3_portable.c \
1107 $src_dir/src/util/blob.c \
1108 $src_dir/src/util/build_id.c \
1109 $src_dir/src/util/compress.c \
1110 $src_dir/src/util/crc32.c \
1111 $src_dir/src/util/dag.c \
1112 $src_dir/src/util/disk_cache.c \
1113 $src_dir/src/util/disk_cache_os.c \
1114 $src_dir/src/util/double.c \
1115 $src_dir/src/util/fast_idiv_by_const.c \
1116 $build_dir/src/util/format_srgb.c \
1117 $src_dir/src/util/fossilize_db.c \
1118 $src_dir/src/util/futex.c \
1119 $src_dir/src/util/half_float.c \
1120 $src_dir/src/util/hash_table.c \
1121 $src_dir/src/util/log.c \
1122 $src_dir/src/util/mesa-blake3.c \
1123 $src_dir/src/util/mesa-sha1.c \
1124 $build_dir/src/util/mesa_cache_db.c \
1125 $src_dir/src/util/mesa_cache_db_multipart.c \
1126 $src_dir/src/util/memstream.c \
1127 $src_dir/src/util/os_file.c \
1128 $src_dir/src/util/os_memory_fd.c \
1129 $src_dir/src/util/os_misc.c \
1130 $src_dir/src/util/os_socket.c \
1131 $src_dir/src/util/os_time.c \
1132 $src_dir/src/util/sha1/sha1.c \
1133 $src_dir/src/util/ralloc.c \
1134 $src_dir/src/util/rand_xor.c \
1135 $src_dir/src/util/rb_tree.c \
1136 $src_dir/src/util/register_allocate.c \
1137 $src_dir/src/util/rgtc.c \
1138 $src_dir/src/util/rwlock.c \
1139 $src_dir/src/util/set.c \
1140 $src_dir/src/util/simple_mtx.c \
1141 $src_dir/src/util/slab.c \
1142 $src_dir/src/util/softfloat.c \
1143 $src_dir/src/util/sparse_array.c \
1144 $src_dir/src/util/string_buffer.c \
1145 $src_dir/src/util/strtod.c \
1146 $src_dir/src/util/u_atomic.c \
1147 $src_dir/src/util/u_call_once.c \
1148 $src_dir/src/util/u_cpu_detect.c \
1149 $src_dir/src/util/u_debug.c \
1150 $src_dir/src/util/u_debug_stack.c \
1151 $src_dir/src/util/u_debug_symbol.c \
1152 $src_dir/src/util/u_dl.c \
1153 $src_dir/src/util/u_dynarray.c \
1154 $build_dir/src/util/u_format_table.c \
1155 $src_dir/src/util/u_hash_table.c \
1156 $src_dir/src/util/u_printf.c \
1157 $src_dir/src/util/format/u_format.c \
1158 $src_dir/src/util/format/u_format_bptc.c \
1159 $src_dir/src/util/format/u_format_etc.c \
1160 $src_dir/src/util/format/u_format_fxt1.c \
1161 $src_dir/src/util/format/u_format_latc.c \
1162 $src_dir/src/util/format/u_format_other.c \
1163 $src_dir/src/util/format/u_format_rgtc.c \
1164 $src_dir/src/util/format/u_format_s3tc.c \
1165 $src_dir/src/util/format/u_format_tests.c \
1166 $src_dir/src/util/format/u_format_yuv.c \
1167 $src_dir/src/util/format/u_format_zs.c \
1168 $src_dir/src/util/u_idalloc.c \
1169 $src_dir/src/util/u_math.c \
1170 $src_dir/src/util/u_mm.c \
1171 $src_dir/src/util/u_process.c \
1172 $src_dir/src/util/u_queue.c \
1173 $src_dir/src/util/u_thread.c \
1174 $src_dir/src/util/u_vector.c \
1175 $src_dir/src/util/u_worklist.c \
1176 $src_dir/src/util/vma.c \
1177 $src_dir/src/util/vl_zscan_data.c \
1178 \
1179 $src_dir/src/c11/impl/time.c \
1180 $src_dir/src/c11/impl/threads_posix.c \
1181 "
1182
1183 for f in $libmesautil_files
1184 do
1185 libmesautil_obj=$build_dir/$(basename $f .c).o
1186 libmesautil_a="$libmesautil_a $libmesautil_obj"
1187
1188 $cc $cppflags $f -o $libmesautil_obj &
1189 done
1190 #-------------------------------------------------------------------------------
1191 # The following is for the ultra complex blake3 hash algorithm.
1192 libmesautil_asm_files="\
1193 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1194 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1195 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1196 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1197 "
1198 for f in $libmesautil_asm_files
1199 do
1200 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1201 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1202 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1203
1204 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1205 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1206 done
1207 #===============================================================================
1208 # amd vulkan
1209 cppflags="\
1210 $cppflags_common \
1211 -DPACKAGE_VERSION=\"$version\" \
1212 -I$build_dir/src/amd/compiler \
1213 -I$src_dir/src/amd/compiler \
1214 -I$build_dir/src/amd/common \
1215 -I$src_dir/src/amd/common \
1216 -I$build_dir/src/amd/vulkan/nir \
1217 -I$src_dir/src/amd/vulkan/nir \
1218 -I$build_dir/src/amd/vulkan/meta \
1219 -I$src_dir/src/amd/vulkan/meta \
1220 -I$build_dir/src/amd/vulkan \
1221 -I$src_dir/src/amd/vulkan \
1222 -I$build_dir/src/amd \
1223 -I$src_dir/src/amd \
1224 -I$build_dir/src/gallium/auxiliary \
1225 -I$src_dir/src/gallium/auxiliary \
1226 -I$build_dir/src/gallium/include \
1227 -I$src_dir/src/gallium/include \
1228 -I$build_dir/src/vulkan/runtime \
1229 -I$src_dir/src/vulkan/runtime \
1230 -I$build_dir/src/vulkan/wsi \
1231 -I$src_dir/src/vulkan/wsi \
1232 -I$build_dir/src/vulkan/util \
1233 -I$src_dir/src/vulkan/util \
1234 -I$build_dir/src/mesa \
1235 -I$src_dir/src/mesa \
1236 -I$build_dir/src/compiler/nir \
1237 -I$src_dir/src/compiler/nir \
1238 -I$build_dir/src/compiler \
1239 -I$src_dir/src/compiler \
1240 -I$build_dir/src/util \
1241 -I$src_dir/src/util \
1242 -I$build_dir/src \
1243 -I$src_dir/src \
1244 -I$build_dir/include \
1245 -I$src_dir/include \
1246 $libdrm_cppflags \
1247 $libdrm_amdgpu_cppflags \
1248 $libx11_cppflags \
1249 $libxrandr_cppflags \
1250 $libxrender_cppflags \
1251 $libxcb_cppflags \
1252 $xorgproto_cppflags \
1253 $libxshmfence_cppflags \
1254 "
1255 #$build_dir/radv_extensions.c
1256 #$build_dir/vk_format_table.c
1257 # XXX: remove rt for now
1258 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1259 libvulkan_amd_common_files="\
1260 $src_dir/src/amd/vulkan/radv_android.c \
1261 $src_dir/src/amd/vulkan/radv_buffer.c \
1262 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1263 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1264 $src_dir/src/amd/vulkan/radv_debug.c \
1265 $build_dir/src/amd/vulkan/radv_device.c \
1266 $src_dir/src/amd/vulkan/radv_device_memory.c \
1267 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1268 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1269 $src_dir/src/amd/vulkan/radv_event.c \
1270 $src_dir/src/amd/vulkan/radv_formats.c \
1271 $src_dir/src/amd/vulkan/radv_image.c \
1272 $src_dir/src/amd/vulkan/radv_instance.c \
1273 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1274 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1275 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1276 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1277 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1278 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1279 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1280 $build_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1281 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1282 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1283 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1284 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1285 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1286 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1287 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1288 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1289 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1290 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1291 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1292 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1293 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1294 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1295 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1296 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1297 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1298 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1299 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1300 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1301 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1302 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1303 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1304 $src_dir/src/amd/vulkan/radv_physical_device.c \
1305 $src_dir/src/amd/vulkan/radv_pipeline.c \
1306 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1307 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1308 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1309 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1310 $src_dir/src/amd/vulkan/radv_queue.c \
1311 $src_dir/src/amd/vulkan/radv_rt_common.c \
1312 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1313 $src_dir/src/amd/vulkan/radv_sampler.c \
1314 $src_dir/src/amd/vulkan/radv_sdma.c \
1315 $src_dir/src/amd/vulkan/radv_shader.c \
1316 $src_dir/src/amd/vulkan/radv_shader_args.c \
1317 $src_dir/src/amd/vulkan/radv_shader_info.c \
1318 $src_dir/src/amd/vulkan/radv_spm.c \
1319 $src_dir/src/amd/vulkan/radv_query.c \
1320 $src_dir/src/amd/vulkan/radv_video.c \
1321 $src_dir/src/amd/vulkan/radv_wsi.c \
1322 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1323 \
1324 $build_dir/src/amd/vulkan/radv_entrypoints.c \
1325 \
1326 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1327 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1328 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1329 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1330 \
1331 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1332 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1333 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1334 \
1335 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1336 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1337 \
1338 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1339 "
1340
1341 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1342
1343 for f in $libvulkan_amd_common_files
1344 do
1345 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1346 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1347
1348 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1349 done
1350 libvulkan_amd_common_a="\
1351 $libvulkan_amd_common_a \
1352 $build_dir/xmlconfig.o"
1353 #===============================================================================
1354 # create the radeon vulkan driver
1355 soname=libvulkan_radeon.so
1356
1357 # XXX:the attempt to generalize without kludge the link stage of real programs
1358 # build is near a total and complete failure
1359 if test "${driver_link_cmd-unset}" = unset ; then
1360 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1361 -shared -static-libgcc -static-libstdc++ \
1362 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1363 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1364 -Wl,--whole-archive -Wl,--start-group \
1365 $libaco_a \
1366 $libvulkan_amd_common_a \
1367 $libvulkan_util_a \
1368 $libvulkan_runtime_a \
1369 $libvulkan_wsi_a \
1370 $libamd_common_a \
1371 $libamdgpu_addrlib_a \
1372 $libcompiler_a \
1373 $libnir_a \
1374 $libmesautil_a \
1375 -Wl,--end-group -Wl,--no-whole-archive \
1376 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1377 $zlib_ldflags \
1378 $expat_ldflags \
1379 $libelf_ldflags \
1380 -Wl,--as-needed \
1381 $libdrm_ldflags \
1382 $libdrm_amdgpu_ldflags \
1383 $libx11_ldflags \
1384 $libxrandr_ldflags \
1385 $libxrender_ldflags \
1386 $libxcb_ldflags \
1387 $libxshmfence_ldflags \
1388 -lpthread \
1389 -ldl \
1390 -Wl,--no-as-needed"
1391 fi
1392 wait
1393 eval $driver_link_cmd
1394 #===============================================================================
File builders/mesa-vulkan-amd-sh-9f4f52f4f3466ba4570f163c869fc1c04b21e5c9/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/generators.sh deleted (index 9e94a8c..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
157 >$build_dir/ir_expression_operation.h &
158 unset PYTHONPATH
159 #===============================================================================
160 # libnir
161 export PYTHONPATH=$mako
162 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
163 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
164 $build_dir/spirv_info.c &
165
166 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
167 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
168 $build_dir/vtn_gather_types.c &
169
170 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
171 $src_dir/src/compiler/spirv/spir-v.xml \
172 $build_dir/vtn_generator_ids.h &
173 # nir generated files
174 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
175 >$build_dir/nir_constant_expressions.c &
176
177 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
178 >$build_dir/nir_opt_algebraic.c &
179
180 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
181 >$build_dir/nir_opcodes.c &
182
183 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
184 --outdir $build_dir &
185 unset PYTHONPATH
186 #===============================================================================
187 # libaco
188 export PYTHONPATH=$mako
189 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
190 >$build_dir/aco_opcodes.h &
191 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
192 >$build_dir/aco_opcodes.cpp &
193 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
194 >$build_dir/aco_builder.h &
195 unset PYTHONPATH
196 #===============================================================================
197 # libmesautils
198 mkdir -p $build_dir/src/util
199
200 export PYTHONPATH=$mako
201 $python3 $src_dir/src/util/format_srgb.py \
202 >$build_dir/format_srgb.c
203
204 $python3 $src_dir/src/util/format/u_format_table.py \
205 $src_dir/src/util/format/u_format.csv \
206 >$build_dir/u_format_table.c
207
208 # wow, really?
209 mkdir -p $build_dir/src/util/format
210 $python3 $src_dir/src/util/format/u_format_table.py \
211 --header \
212 $src_dir/src/util/format/u_format.csv \
213 >$build_dir/src/util/format/u_format_pack.h
214
215 # oooof!
216 $python3 $src_dir/src/util/driconf_static.py \
217 $src_dir/src/util/00-mesa-defaults.conf \
218 $build_dir/src/util/driconf_static.h
219 unset PYTHONPATH
220 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
221 #===============================================================================
222 # amd vulkan
223 export PYTHONPATH=$mako
224 #------------------------------------------------------------------------------
225 # specific API to work around _still maintained at the time of writing _ game
226 # executable... this is the beginning of the end...
227 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
228 --beta false \
229 --xml $vulkan_api_xml \
230 --proto --weak \
231 --out-h radv_entrypoints.h \
232 --out-c radv_entrypoints.c \
233 --prefix radv \
234 --device-prefix metro_exodus \
235 --device-prefix rage2 &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
238 # --xml $vulkan_api_xml \
239 # --out-c radv_extensions.c \
240 # --out-h radv_extensions.h &
241 #------------------------------------------------------------------------------
242 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
243 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
244 # >$build_dir/vk_format_table.c &
245 #------------------------------------------------------------------------------
246 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
247 $src_dir/src/util/format/u_format.csv \
248 $src_dir/src/amd/registers/gfx10-rsrc.json \
249 $src_dir/src/amd/registers/gfx11-rsrc.json \
250 >$build_dir/gfx10_format_table.c &
251 #------------------------------------------------------------------------------
252 git_sha1=no_git_sha1_available
253 if test -d $src_dir/.git; then
254 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
255 fi
256 echo git_sha1=$git_sha1
257 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
258 unset PYTHONPATH
259 #===============================================================================
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index f89327c..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_parse_ib.c \
621 $src_dir/src/amd/common/ac_perfcounter.c \
622 $src_dir/src/amd/common/ac_shader_args.c \
623 $src_dir/src/amd/common/ac_shader_util.c \
624 $src_dir/src/amd/common/ac_shadowed_regs.c \
625 $src_dir/src/amd/common/ac_rgp.c \
626 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
627 $src_dir/src/amd/common/ac_rtld.c \
628 $src_dir/src/amd/common/ac_spm.c \
629 "
630 for f in $libamd_common_c_files
631 do
632 libamd_common_c_obj=$build_dir/$(basename $f .c).o
633 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
634
635 $cc $cppflags $f -o $libamd_common_c_obj &
636 done
637 #===============================================================================
638 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
639 cppflags="\
640 $cppflags_common \
641 -DLITTLEENDIAN_CPU \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
644 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
645 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
646 -I$src_dir/src/amd/addrlib/inc \
647 -I$src_dir/src/amd/addrlib/src/core \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
650 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
651 -I$src_dir/src/amd/addrlib/src/chip/r800 \
652 -I$src_dir/src/amd/addrlib/src \
653 -I$src_dir/src \
654 -I$src_dir/include \
655 "
656 libamdgpu_addrlib_files="\
657 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
662 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
663 $src_dir/src/amd/addrlib/src/core/coord.cpp \
664 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
669 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
670 "
671 for f in $libamdgpu_addrlib_files
672 do
673 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
674 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
675
676 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
677 done
678 #===============================================================================
679 # libcompiler required by libnir
680 cppflags="\
681 $cppflags_common \
682 -I$build_dir \
683 -I$src_dir/src/gallium/auxiliary \
684 -I$src_dir/src/gallium/include \
685 -I$src_dir/src/mesa \
686 -I$src_dir/src \
687 -I$src_dir/include \
688 "
689 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
690 -o $build_dir/glsl_types.o &
691 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
692 -o $build_dir/nir_types.o &
693 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
694 -o $build_dir/shader_enums.o &
695 $cc $cppflags $src_dir/src/compiler/builtin_type_defs.c \
696 -o $build_dir/builtin_type_defs.o &
697 libcompiler_a="\
698 $build_dir/glsl_types.o \
699 $build_dir/nir_types.o \
700 $build_dir/shader_enums.o \
701 $build_dir/builtin_type_defs.o \
702 "
703 #===============================================================================
704 # libnir
705 cppflags="\
706 $cppflags_common \
707 -I$build_dir \
708 -I$src_dir/src/compiler/spirv \
709 -I$src_dir/src/compiler/nir \
710 -I$src_dir/src/compiler \
711 -I$src_dir/src/gallium/auxiliary \
712 -I$src_dir/src/gallium/include \
713 -I$src_dir/src/mesa \
714 -I$src_dir/src \
715 -I$src_dir/include \
716 $xorgproto_cppflags \
717 $libxcb_cppflags \
718 $libx11_cppflags \
719 $libxrender_cppflags \
720 $libxrandr_cppflags \
721 "
722 libnir_files="\
723 $build_dir/spirv_info.c \
724 $build_dir/vtn_gather_types.c \
725 $build_dir/nir_intrinsics.c \
726 $build_dir/nir_opcodes.c \
727 $build_dir/nir_opt_algebraic.c \
728 $build_dir/nir_constant_expressions.c \
729 \
730 $src_dir/src/compiler/spirv/gl_spirv.c \
731 $src_dir/src/compiler/spirv/spirv_to_nir.c \
732 $src_dir/src/compiler/spirv/vtn_alu.c \
733 $src_dir/src/compiler/spirv/vtn_amd.c \
734 $src_dir/src/compiler/spirv/vtn_cfg.c \
735 $src_dir/src/compiler/spirv/vtn_glsl450.c \
736 $src_dir/contrib/vtn_opencl.c \
737 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
738 $src_dir/src/compiler/spirv/vtn_subgroup.c \
739 $src_dir/src/compiler/spirv/vtn_variables.c \
740 \
741 $src_dir/src/compiler/nir/nir.c \
742 $src_dir/src/compiler/nir/nir_builder.c \
743 $src_dir/src/compiler/nir/nir_builtin_builder.c \
744 $src_dir/src/compiler/nir/nir_clone.c \
745 $src_dir/src/compiler/nir/nir_control_flow.c \
746 $src_dir/src/compiler/nir/nir_deref.c \
747 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
748 $src_dir/src/compiler/nir/nir_dominance.c \
749 $src_dir/src/compiler/nir/nir_from_ssa.c \
750 $src_dir/src/compiler/nir/nir_gather_info.c \
751 $src_dir/src/compiler/nir/nir_gather_types.c \
752 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
753 $src_dir/src/compiler/nir/nir_group_loads.c \
754 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
755 $src_dir/src/compiler/nir/nir_functions.c \
756 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
757 $src_dir/src/compiler/nir/nir_instr_set.c \
758 $src_dir/src/compiler/nir/nir_legacy.c \
759 $src_dir/src/compiler/nir/nir_linking_helpers.c \
760 $src_dir/src/compiler/nir/nir_liveness.c \
761 $src_dir/src/compiler/nir/nir_loop_analyze.c \
762 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
763 $src_dir/src/compiler/nir/nir_lower_alu.c \
764 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
765 $src_dir/src/compiler/nir/nir_lower_amul.c \
766 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
767 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
768 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
769 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
770 $src_dir/src/compiler/nir/nir_lower_blend.c \
771 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
772 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
773 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
774 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
775 $src_dir/src/compiler/nir/nir_lower_clip.c \
776 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
777 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
778 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
779 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
780 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
781 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
782 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
783 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
784 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
785 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
786 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
787 $src_dir/src/compiler/nir/nir_lower_flrp.c \
788 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
789 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
790 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
791 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
792 $src_dir/src/compiler/nir/nir_lower_frexp.c \
793 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
794 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
795 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
796 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
797 $src_dir/src/compiler/nir/nir_lower_idiv.c \
798 $src_dir/src/compiler/nir/nir_lower_image.c \
799 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
800 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
801 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
802 $src_dir/src/compiler/nir/nir_lower_int64.c \
803 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
804 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
805 $src_dir/src/compiler/nir/nir_lower_io.c \
806 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
807 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
808 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
809 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
810 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
811 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
812 $src_dir/src/compiler/nir/nir_lower_mediump.c \
813 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
814 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
815 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
816 $src_dir/src/compiler/nir/nir_lower_multiview.c \
817 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
818 $src_dir/src/compiler/nir/nir_lower_packing.c \
819 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
820 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
821 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
822 $src_dir/src/compiler/nir/nir_lower_point_size.c \
823 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
824 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
825 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
826 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
827 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
828 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
829 $src_dir/src/compiler/nir/nir_lower_returns.c \
830 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
831 $src_dir/src/compiler/nir/nir_lower_samplers.c \
832 $src_dir/src/compiler/nir/nir_lower_scratch.c \
833 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
834 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
835 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
836 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
837 $src_dir/src/compiler/nir/nir_lower_system_values.c \
838 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
839 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
840 $src_dir/src/compiler/nir/nir_lower_tex.c \
841 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
842 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
843 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
844 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
845 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
846 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
847 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
848 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
849 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
850 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
851 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
852 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
853 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
854 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
855 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
856 $src_dir/src/compiler/nir/nir_metadata.c \
857 $src_dir/src/compiler/nir/nir_mod_analysis.c \
858 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
859 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
860 $src_dir/src/compiler/nir/nir_opt_access.c \
861 $src_dir/src/compiler/nir/nir_opt_barriers.c \
862 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
863 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
864 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
865 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
866 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
867 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
868 $src_dir/src/compiler/nir/nir_opt_cse.c \
869 $src_dir/src/compiler/nir/nir_opt_dce.c \
870 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
871 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
872 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
873 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
874 $src_dir/src/compiler/nir/nir_opt_gcm.c \
875 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
876 $src_dir/src/compiler/nir/nir_opt_if.c \
877 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
878 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
879 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
880 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
881 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
882 $src_dir/src/compiler/nir/nir_opt_move.c \
883 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
884 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
885 $src_dir/src/compiler/nir/nir_opt_offsets.c \
886 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
887 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
888 $src_dir/src/compiler/nir/nir_opt_preamble.c \
889 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
890 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
891 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
892 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
893 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
894 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
895 $src_dir/src/compiler/nir/nir_opt_sink.c \
896 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
897 $src_dir/src/compiler/nir/nir_opt_undef.c \
898 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
899 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
900 $src_dir/src/compiler/nir/nir_phi_builder.c \
901 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
902 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
903 $src_dir/src/compiler/nir/nir_print.c \
904 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
905 $src_dir/src/compiler/nir/nir_range_analysis.c \
906 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
907 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
908 $src_dir/src/compiler/nir/nir_repair_ssa.c \
909 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
910 $src_dir/src/compiler/nir/nir_schedule.c \
911 $src_dir/src/compiler/nir/nir_search.c \
912 $src_dir/src/compiler/nir/nir_serialize.c \
913 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
914 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
915 $src_dir/src/compiler/nir/nir_split_var_copies.c \
916 $src_dir/src/compiler/nir/nir_split_vars.c \
917 $src_dir/src/compiler/nir/nir_sweep.c \
918 $src_dir/src/compiler/nir/nir_to_lcssa.c \
919 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
920 $src_dir/src/compiler/nir/nir_validate.c \
921 $src_dir/src/compiler/nir/nir_worklist.c \
922 "
923 for f in $libnir_files
924 do
925 libnir_obj=$build_dir/$(basename $f .c).o
926 libnir_a="$libnir_a $libnir_obj"
927
928 $cc $cppflags $f -o $libnir_obj &
929 done
930 #===============================================================================
931 # libaco
932 # we don't use cppflags_common for aco because the code is not yet
933 # compatible
934 cppflags="\
935 $gcc_builtins_cppflags \
936 $gcc_attributes_cppflags \
937 $linux_glibc_cppflags \
938 $mesa_cppflags \
939 -I$build_dir \
940 -I$src_dir/src/amd/compiler \
941 -I$src_dir/src/amd/vulkan \
942 -I$build_dir/src/amd/common \
943 -I$src_dir/src/amd/common \
944 -I$build_dir/src/amd \
945 -I$src_dir/src/amd \
946 -I$src_dir/src/compiler/nir \
947 -I$src_dir/src/compiler \
948 -I$src_dir/src/mesa \
949 -I$src_dir/src/gallium/include \
950 -I$src_dir/src \
951 -I$src_dir/include \
952 "
953 libaco_files="\
954 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
955 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
956 $src_dir/src/amd/compiler/aco_dominance.cpp \
957 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
958 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
959 $src_dir/src/amd/compiler/aco_interface.cpp \
960 $src_dir/src/amd/compiler/aco_assembler.cpp \
961 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
962 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
963 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
964 $src_dir/src/amd/compiler/aco_ir.cpp \
965 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
966 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
967 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
968 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
969 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
970 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
971 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
972 $build_dir/aco_opcodes.cpp \
973 $src_dir/src/amd/compiler/aco_optimizer.cpp \
974 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
975 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
976 $src_dir/src/amd/compiler/aco_print_asm.cpp \
977 $src_dir/src/amd/compiler/aco_print_ir.cpp \
978 $src_dir/src/amd/compiler/aco_scheduler.cpp \
979 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
980 $src_dir/src/amd/compiler/aco_spill.cpp \
981 $src_dir/src/amd/compiler/aco_statistics.cpp \
982 $src_dir/src/amd/compiler/aco_validate.cpp \
983 "
984 for f in $libaco_files
985 do
986 libaco_obj=$build_dir/$(basename $f .c).o
987 libaco_a="$libaco_a $libaco_obj"
988
989 $cxx $cppflags $f -o $libaco_obj &
990 done
991 #===============================================================================
992 # libmesautils
993 cppflags="\
994 $cppflags_common \
995 -I$build_dir/src/util/format \
996 -I$build_dir/src \
997 -I$build_dir \
998 -I$src_dir/src/gallium/auxiliary \
999 -I$src_dir/src/gallium/include \
1000 -I$src_dir/src/mesa \
1001 -I$src_dir/src/util/blake3 \
1002 -I$src_dir/src/util/format \
1003 -I$src_dir/src/util \
1004 -I$src_dir/src \
1005 -I$src_dir/include \
1006 $zlib_cppflags \
1007 "
1008 libmesautil_files="\
1009 $build_dir/format_srgb.c \
1010 $build_dir/u_format_table.c \
1011 $src_dir/src/util/anon_file.c \
1012 $src_dir/src/util/bitscan.c \
1013 $src_dir/src/util/blake3/blake3.c \
1014 $src_dir/src/util/blake3/blake3_dispatch.c \
1015 $src_dir/src/util/blake3/blake3_portable.c \
1016 $src_dir/src/util/blob.c \
1017 $src_dir/src/util/build_id.c \
1018 $src_dir/src/util/compress.c \
1019 $src_dir/src/util/crc32.c \
1020 $src_dir/src/util/dag.c \
1021 $src_dir/src/util/disk_cache.c \
1022 $src_dir/src/util/disk_cache_os.c \
1023 $src_dir/src/util/double.c \
1024 $src_dir/src/util/fast_idiv_by_const.c \
1025 $src_dir/src/util/fossilize_db.c \
1026 $src_dir/src/util/futex.c \
1027 $src_dir/src/util/half_float.c \
1028 $src_dir/src/util/hash_table.c \
1029 $src_dir/src/util/log.c \
1030 $src_dir/src/util/mesa-blake3.c \
1031 $src_dir/src/util/mesa-sha1.c \
1032 $src_dir/src/util/mesa_cache_db.c \
1033 $src_dir/src/util/mesa_cache_db_multipart.c \
1034 $src_dir/src/util/memstream.c \
1035 $src_dir/src/util/os_file.c \
1036 $src_dir/src/util/os_memory_fd.c \
1037 $src_dir/src/util/os_misc.c \
1038 $src_dir/src/util/os_socket.c \
1039 $src_dir/src/util/os_time.c \
1040 $src_dir/src/util/sha1/sha1.c \
1041 $src_dir/src/util/ralloc.c \
1042 $src_dir/src/util/rand_xor.c \
1043 $src_dir/src/util/rb_tree.c \
1044 $src_dir/src/util/register_allocate.c \
1045 $src_dir/src/util/rgtc.c \
1046 $src_dir/src/util/rwlock.c \
1047 $src_dir/src/util/set.c \
1048 $src_dir/src/util/simple_mtx.c \
1049 $src_dir/src/util/slab.c \
1050 $src_dir/src/util/softfloat.c \
1051 $src_dir/src/util/sparse_array.c \
1052 $src_dir/src/util/string_buffer.c \
1053 $src_dir/src/util/strtod.c \
1054 $src_dir/src/util/u_atomic.c \
1055 $src_dir/src/util/u_call_once.c \
1056 $src_dir/src/util/u_cpu_detect.c \
1057 $src_dir/src/util/u_debug.c \
1058 $src_dir/src/util/u_debug_stack.c \
1059 $src_dir/src/util/u_debug_symbol.c \
1060 $src_dir/src/util/u_dl.c \
1061 $src_dir/src/util/u_dynarray.c \
1062 $src_dir/src/util/u_hash_table.c \
1063 $src_dir/src/util/u_printf.c \
1064 $src_dir/src/util/format/u_format.c \
1065 $src_dir/src/util/format/u_format_bptc.c \
1066 $src_dir/src/util/format/u_format_etc.c \
1067 $src_dir/src/util/format/u_format_fxt1.c \
1068 $src_dir/src/util/format/u_format_latc.c \
1069 $src_dir/src/util/format/u_format_other.c \
1070 $src_dir/src/util/format/u_format_rgtc.c \
1071 $src_dir/src/util/format/u_format_s3tc.c \
1072 $src_dir/src/util/format/u_format_tests.c \
1073 $src_dir/src/util/format/u_format_yuv.c \
1074 $src_dir/src/util/format/u_format_zs.c \
1075 $src_dir/src/util/u_idalloc.c \
1076 $src_dir/src/util/u_math.c \
1077 $src_dir/src/util/u_mm.c \
1078 $src_dir/src/util/u_process.c \
1079 $src_dir/src/util/u_queue.c \
1080 $src_dir/src/util/u_thread.c \
1081 $src_dir/src/util/u_vector.c \
1082 $src_dir/src/util/u_worklist.c \
1083 $src_dir/src/util/vma.c \
1084 $src_dir/src/util/vl_zscan_data.c \
1085 \
1086 $src_dir/src/c11/impl/time.c \
1087 $src_dir/src/c11/impl/threads_posix.c \
1088 "
1089 for f in $libmesautil_files
1090 do
1091 libmesautil_obj=$build_dir/$(basename $f .c).o
1092 libmesautil_a="$libmesautil_a $libmesautil_obj"
1093
1094 $cc $cppflags $f -o $libmesautil_obj &
1095 done
1096 #-------------------------------------------------------------------------------
1097 # The following is for the ultra complex blake3 hash algorithm.
1098 libmesautil_asm_files="\
1099 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1100 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1101 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1102 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1103 "
1104 for f in $libmesautil_asm_files
1105 do
1106 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1107 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1108 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1109
1110 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1111 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1112 done
1113 #===============================================================================
1114 # amd vulkan
1115 cppflags="\
1116 $cppflags_common \
1117 -DPACKAGE_VERSION=\"$version\" \
1118 -I$build_dir/vulkan/util \
1119 -I$build_dir/src/util \
1120 -I$build_dir \
1121 -I$src_dir/src/amd/compiler \
1122 -I$build_dir/src/amd/common \
1123 -I$src_dir/src/amd/common \
1124 -I$src_dir/src/amd/vulkan/nir \
1125 -I$src_dir/src/amd/vulkan/meta \
1126 -I$src_dir/src/amd/vulkan \
1127 -I$src_dir/src/amd \
1128 -I$src_dir/src/gallium/auxiliary \
1129 -I$src_dir/src/gallium/include \
1130 -I$src_dir/src/vulkan/util \
1131 -I$src_dir/src/vulkan/runtime \
1132 -I$src_dir/src/vulkan/wsi \
1133 -I$src_dir/src/util \
1134 -I$src_dir/src/mesa \
1135 -I$src_dir/src/compiler/nir \
1136 -I$src_dir/src/compiler \
1137 -I$src_dir/src \
1138 -I$src_dir/include \
1139 $libdrm_cppflags \
1140 $libdrm_amdgpu_cppflags \
1141 $libx11_cppflags \
1142 $libxrandr_cppflags \
1143 $libxrender_cppflags \
1144 $libxcb_cppflags \
1145 $xorgproto_cppflags \
1146 $libxshmfence_cppflags \
1147 "
1148 #$build_dir/radv_extensions.c
1149 #$build_dir/vk_format_table.c
1150 # XXX: remove rt for now
1151 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1152 libvulkan_amd_common_files="\
1153 $src_dir/src/amd/vulkan/radv_android.c \
1154 $src_dir/src/amd/vulkan/radv_buffer.c \
1155 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1156 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1157 $src_dir/src/amd/vulkan/radv_debug.c \
1158 $build_dir/src/amd/vulkan/radv_device.c \
1159 $src_dir/src/amd/vulkan/radv_device_memory.c \
1160 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1161 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1162 $src_dir/src/amd/vulkan/radv_event.c \
1163 $src_dir/src/amd/vulkan/radv_formats.c \
1164 $src_dir/src/amd/vulkan/radv_image.c \
1165 $src_dir/src/amd/vulkan/radv_instance.c \
1166 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1176 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1177 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1178 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1179 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1180 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1181 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1182 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1183 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1184 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1189 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1190 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1191 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1192 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1193 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1194 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1195 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1196 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1197 $src_dir/src/amd/vulkan/radv_physical_device.c \
1198 $src_dir/src/amd/vulkan/radv_pipeline.c \
1199 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1200 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1201 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1202 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1203 $src_dir/src/amd/vulkan/radv_queue.c \
1204 $src_dir/src/amd/vulkan/radv_rt_common.c \
1205 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1206 $src_dir/src/amd/vulkan/radv_sampler.c \
1207 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1208 $src_dir/src/amd/vulkan/radv_shader.c \
1209 $src_dir/src/amd/vulkan/radv_shader_args.c \
1210 $src_dir/src/amd/vulkan/radv_shader_info.c \
1211 $src_dir/src/amd/vulkan/radv_spm.c \
1212 $src_dir/src/amd/vulkan/radv_query.c \
1213 $src_dir/src/amd/vulkan/radv_video.c \
1214 $src_dir/src/amd/vulkan/radv_wsi.c \
1215 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1216 \
1217 $build_dir/gfx10_format_table.c \
1218 \
1219 $build_dir/radv_entrypoints.c \
1220 \
1221 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1222 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1223 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1224 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1225 \
1226 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1227 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1228 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1229 \
1230 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1231 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1232 \
1233 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1234 "
1235
1236 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1237
1238 for f in $libvulkan_amd_common_files
1239 do
1240 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1241 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1242
1243 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1244 done
1245 libvulkan_amd_common_a="\
1246 $libvulkan_amd_common_a \
1247 $build_dir/xmlconfig.o"
1248 #===============================================================================
1249 # create the radeon vulkan driver
1250 soname=libvulkan_radeon.so
1251
1252 # XXX:the attempt to generalize without kludge the link stage of real programs
1253 # build is near a total and complete failure
1254 if test "${driver_link_cmd-unset}" = unset ; then
1255 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1256 -shared -static-libgcc -static-libstdc++ \
1257 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1258 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1259 -Wl,--whole-archive -Wl,--start-group \
1260 $libaco_a \
1261 $libvulkan_amd_common_a \
1262 $libvulkan_util_a \
1263 $libvulkan_runtime_a \
1264 $libvulkan_wsi_a \
1265 $libamd_common_a \
1266 $libamdgpu_addrlib_a \
1267 $libcompiler_a \
1268 $libnir_a \
1269 $libmesautil_a \
1270 -Wl,--end-group -Wl,--no-whole-archive \
1271 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1272 $zlib_ldflags \
1273 $expat_ldflags \
1274 $libelf_ldflags \
1275 -Wl,--as-needed \
1276 $libdrm_ldflags \
1277 $libdrm_amdgpu_ldflags \
1278 $libx11_ldflags \
1279 $libxrandr_ldflags \
1280 $libxrender_ldflags \
1281 $libxcb_ldflags \
1282 $libxshmfence_ldflags \
1283 -lpthread \
1284 -ldl \
1285 -Wl,--no-as-needed"
1286 fi
1287 wait
1288 eval $driver_link_cmd
1289 #===============================================================================
File builders/mesa-vulkan-amd-sh-b5a79000eb9dd8c62e4c62ae360d0e15173dfc48/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh deleted (index 7a17e8a..0000000)
1 git_commit=${pkg_name##*-}
2 slot=$git_commit
3 . $nyan_root/builders/mesa-vulkan/builder.sh
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh deleted (index 41cc43b..0000000)
1 #===============================================================================
2 # removing the braindamaged qsort class
3 cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c
4 sed -i $src_dir/src/compiler/nir/nir.c \
5 -e '/u_qsort.h/ d' \
6 -e 's/util_qsort_r/qsort_r/' &
7 cp -f $src_dir/src/util/mesa_cache_db.c $src_dir/src/util/mesa_cache_db.BK.c
8 sed -i $src_dir/src/util/mesa_cache_db.c \
9 -e '/u_qsort.h/ d' \
10 -e 's/util_qsort_r/qsort_r/' &
11 #===============================================================================
12 # that compute radix sort implementation ... OMFG! Text book what NOT to do.
13 # Where is the plain and simple C coded spir-v assembler for those shaders?
14 # blame: Konstantin Seurer
15 mkdir -p $build_dir/src/amd/vulkan/meta
16 cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
17 patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
18 cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
19 patch -p 1 -i $src_dir/contrib/radv_device.c.patch
20 # dudes... tracers should be cleanly compilable out... smells forced corpo crap
21 cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
22 #===============================================================================
23 # vulkan util
24 export PYTHONPATH=$mako
25 $python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
26 --beta false \
27 --xml $vulkan_api_xml \
28 --outdir $build_dir
29
30 # our ndebug/release version
31 cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
32 $build_dir
33 mkdir -p $build_dir/vulkan/util
34 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
35
36 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
37 --beta false \
38 --xml $vulkan_api_xml \
39 --out-c vk_dispatch_table.c \
40 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
41
42 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
43 --xml $vulkan_api_xml \
44 --out-c vk_extensions.c \
45 --out-h vk_extensions.h &
46
47 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
48 --beta false \
49 --xml $vulkan_api_xml \
50 --outdir $build_dir
51
52 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
53 >$build_dir/nir_builder_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
56 >$build_dir/nir_opcodes.h &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
59 --outdir $build_dir &
60
61 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
62 --outdir $build_dir &
63 unset PYTHONPATH
64 #===============================================================================
65 # vulkan runtime
66 export PYTHONPATH=$mako
67 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
68 --beta false \
69 --xml $vulkan_api_xml \
70 --proto --weak \
71 --out-h vk_common_entrypoints.h \
72 --out-c vk_common_entrypoints.c \
73 --prefix vk_common &
74 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
75 --beta false \
76 --xml $vulkan_api_xml \
77 --proto --weak \
78 --out-h vk_cmd_enqueue_entrypoints.h \
79 --out-c vk_cmd_enqueue_entrypoints.c \
80 --prefix vk_cmd_enqueue &
81 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
82 --beta false \
83 --xml $vulkan_api_xml \
84 --out-h vk_cmd_queue.h \
85 --out-c vk_cmd_queue.c &
86 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
87 --beta false \
88 --xml $vulkan_api_xml \
89 --out-h vk_dispatch_trampolines.h \
90 --out-c vk_dispatch_trampolines.c &
91 $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
92 --beta false \
93 --xml $vulkan_api_xml \
94 --out-h vk_physical_device_features.h \
95 --out-c vk_physical_device_features.c &
96 $python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
97 --beta false \
98 --xml $vulkan_api_xml \
99 --out-h vk_physical_device_properties.h \
100 --out-c vk_physical_device_properties.c &
101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
102 --xml $vulkan_api_xml \
103 --out-h vk_format_info.h \
104 --out-c vk_format_info.c &
105 unset PYTHONPATH
106 #===============================================================================
107 # wsi x11 (Window System Interface)
108 export PYTHONPATH=$mako
109 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
110 --beta false \
111 --xml $vulkan_api_xml \
112 --proto --weak \
113 --out-h wsi_common_entrypoints.h \
114 --out-c wsi_common_entrypoints.c \
115 --prefix wsi &
116 unset PYTHONPATH
117 #===============================================================================
118 # amd common archive
119 $python3 $src_dir/src/amd/common/sid_tables.py \
120 $src_dir/src/amd/common/sid.h \
121 $src_dir/src/amd/registers/gfx6.json \
122 $src_dir/src/amd/registers/gfx7.json \
123 $src_dir/src/amd/registers/gfx8.json \
124 $src_dir/src/amd/registers/gfx81.json \
125 $src_dir/src/amd/registers/gfx9.json \
126 $src_dir/src/amd/registers/gfx940.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx103.json \
130 $src_dir/src/amd/registers/gfx11.json \
131 $src_dir/src/amd/registers/gfx11-rsrc.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 >$build_dir/sid_tables.h &
135 mkdir -p $build_dir/src/amd/common
136 $python3 $src_dir/src/amd/registers/makeregheader.py \
137 $src_dir/src/amd/registers/gfx6.json \
138 $src_dir/src/amd/registers/gfx7.json \
139 $src_dir/src/amd/registers/gfx8.json \
140 $src_dir/src/amd/registers/gfx81.json \
141 $src_dir/src/amd/registers/gfx9.json \
142 $src_dir/src/amd/registers/gfx940.json \
143 $src_dir/src/amd/registers/gfx10.json \
144 $src_dir/src/amd/registers/gfx10-rsrc.json \
145 $src_dir/src/amd/registers/gfx11.json \
146 $src_dir/src/amd/registers/gfx11-rsrc.json \
147 $src_dir/src/amd/registers/gfx103.json \
148 $src_dir/src/amd/registers/pkt3.json \
149 $src_dir/src/amd/registers/registers-manually-defined.json \
150 --sort address \
151 --guard AMDGFXREGS_H \
152 >$build_dir/src/amd/common/amdgfxregs.h &
153 #===============================================================================
154 # libcompiler required by libnir
155 export PYTHONPATH=$mako
156 #------------------------------------------------------------------------------
157 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
158 >$build_dir/ir_expression_operation.h &
159 #------------------------------------------------------------------------------
160 $python3 $src_dir/src/compiler/builtin_types_h.py \
161 $build_dir/builtin_types.h &
162 #------------------------------------------------------------------------------
163 $python3 $src_dir/src/compiler/builtin_types_c.py \
164 $build_dir/builtin_types.c &
165 #------------------------------------------------------------------------------
166 $python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
167 $build_dir/builtin_types_cpp.h &
168 #------------------------------------------------------------------------------
169 unset PYTHONPATH
170 #===============================================================================
171 # libnir
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
174 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
175 $build_dir/spirv_info.c &
176
177 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
178 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
179 $build_dir/vtn_gather_types.c &
180
181 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
182 $src_dir/src/compiler/spirv/spir-v.xml \
183 $build_dir/vtn_generator_ids.h &
184 # nir generated files
185 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
186 >$build_dir/nir_constant_expressions.c &
187
188 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
189 >$build_dir/nir_opt_algebraic.c &
190
191 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
192 >$build_dir/nir_opcodes.c &
193
194 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
195 --outdir $build_dir &
196 unset PYTHONPATH
197 #===============================================================================
198 # libaco
199 export PYTHONPATH=$mako
200 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
201 >$build_dir/aco_opcodes.h &
202 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
203 >$build_dir/aco_opcodes.cpp &
204 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
205 >$build_dir/aco_builder.h &
206 unset PYTHONPATH
207 #===============================================================================
208 # libmesautils
209 mkdir -p $build_dir/src/util
210
211 export PYTHONPATH=$mako
212 $python3 $src_dir/src/util/format_srgb.py \
213 >$build_dir/format_srgb.c
214
215 $python3 $src_dir/src/util/format/u_format_table.py \
216 $src_dir/src/util/format/u_format.csv \
217 >$build_dir/u_format_table.c
218
219 # wow, really?
220 mkdir -p $build_dir/src/util/format
221 $python3 $src_dir/src/util/format/u_format_table.py \
222 --header \
223 $src_dir/src/util/format/u_format.csv \
224 >$build_dir/src/util/format/u_format_pack.h
225
226 # oooof!
227 $python3 $src_dir/src/util/driconf_static.py \
228 $src_dir/src/util/00-mesa-defaults.conf \
229 $build_dir/src/util/driconf_static.h
230 unset PYTHONPATH
231 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
232 #===============================================================================
233 # amd vulkan
234 export PYTHONPATH=$mako
235 #------------------------------------------------------------------------------
236 # specific API to work around _still maintained at the time of writing _ game
237 # executable... this is the beginning of the end...
238 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
239 --beta false \
240 --xml $vulkan_api_xml \
241 --proto --weak \
242 --out-h radv_entrypoints.h \
243 --out-c radv_entrypoints.c \
244 --prefix radv \
245 --device-prefix metro_exodus \
246 --device-prefix rage2 &
247 #------------------------------------------------------------------------------
248 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
249 # --xml $vulkan_api_xml \
250 # --out-c radv_extensions.c \
251 # --out-h radv_extensions.h &
252 #------------------------------------------------------------------------------
253 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
254 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
255 # >$build_dir/vk_format_table.c &
256 #------------------------------------------------------------------------------
257 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
258 $src_dir/src/util/format/u_format.csv \
259 $src_dir/src/amd/registers/gfx10-rsrc.json \
260 $src_dir/src/amd/registers/gfx11-rsrc.json \
261 >$build_dir/gfx10_format_table.c &
262 #------------------------------------------------------------------------------
263 git_sha1=no_git_sha1_available
264 if test -d $src_dir/.git; then
265 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
266 fi
267 echo git_sha1=$git_sha1
268 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
269 unset PYTHONPATH
270 #===============================================================================
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch deleted (index d23ec4e..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b,
4 b->used[table] = true;
5 }
6
7 +struct vk_device_entrypoint_table sqtt_device_entrypoints;
8 +struct vk_device_entrypoint_table rra_device_entrypoints;
9 +struct vk_device_entrypoint_table rmv_device_entrypoints;
10 +
11 static void
12 init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device)
13 {
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch deleted (index af7c37c..0000000)
1 --- a/src/amd/vulkan/meta/radv_meta.c
2 +++ b/src/amd/vulkan/meta/radv_meta.c
3 @@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device)
4 goto fail_dgc;
5 }
6
7 - if (device->vk.enabled_extensions.KHR_acceleration_structure) {
8 - if (device->vk.enabled_features.nullDescriptor) {
9 - result = radv_device_init_null_accel_struct(device);
10 - if (result != VK_SUCCESS)
11 - goto fail_accel_struct;
12 - }
13 -
14 - /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
15 - * Work around it by forcing ACO for now.
16 - */
17 - bool use_llvm = device->physical_device->use_llvm;
18 - if (loaded_cache || use_llvm) {
19 - device->physical_device->use_llvm = false;
20 - result = radv_device_init_accel_struct_build_state(device);
21 - device->physical_device->use_llvm = use_llvm;
22 -
23 - if (result != VK_SUCCESS)
24 - goto fail_accel_struct;
25 - }
26 - }
27 +// XXX: insanely toxic compute based stuff pulling that
28 +// disgusting khronos glslang. Should be independent
29 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
30 +// with simple and plain C written "assemblers").
31 +// blame: Konstantin Seurer
32 +// if (device->vk.enabled_extensions.KHR_acceleration_structure) {
33 +// if (device->vk.enabled_features.nullDescriptor) {
34 +// result = radv_device_init_null_accel_struct(device);
35 +// if (result != VK_SUCCESS)
36 +// goto fail_accel_struct;
37 +// }
38 +//
39 +// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM.
40 +// * Work around it by forcing ACO for now.
41 +// */
42 +// bool use_llvm = device->physical_device->use_llvm;
43 +// if (loaded_cache || use_llvm) {
44 +// device->physical_device->use_llvm = false;
45 +// result = radv_device_init_accel_struct_build_state(device);
46 +// device->physical_device->use_llvm = use_llvm;
47 +//
48 +// if (result != VK_SUCCESS)
49 +// goto fail_accel_struct;
50 +// }
51 +// }
52
53 return VK_SUCCESS;
54
55 -fail_accel_struct:
56 - radv_device_finish_accel_struct_build_state(device);
57 +// XXX: insanely toxic compute based stuff pulling that
58 +// disgusting khronos glslang. Should be independent
59 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
60 +// with simple and plain C written "assemblers").
61 +// blame: Konstantin Seurer
62 +//fail_accel_struct:
63 +// radv_device_finish_accel_struct_build_state(device);
64 fail_dgc:
65 radv_device_finish_dgc_prepare_state(device);
66 fail_etc_decode:
67 @@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device)
68 {
69 radv_device_finish_dgc_prepare_state(device);
70 radv_device_finish_meta_etc_decode_state(device);
71 - radv_device_finish_accel_struct_build_state(device);
72 +// XXX: insanely toxic compute based stuff pulling that
73 +// disgusting khronos glslang. Should be independent
74 +// of glslang and in simple C: (spir-v|gcn/rdna assembly
75 +// with simple and plain C written "assemblers").
76 +// blame: Konstantin Seurer
77 +// radv_device_finish_accel_struct_build_state(device);
78 radv_device_finish_meta_clear_state(device);
79 radv_device_finish_meta_resolve_state(device);
80 radv_device_finish_meta_blit_state(device);
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c deleted (index f871a7d..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_collect_trace_events(void){}
5 void radv_rmv_log_bo_allocate(void){}
6 void radv_rmv_log_bo_destroy(void){}
7 void radv_rmv_log_border_color_palette_create(void){}
8 void radv_rmv_log_border_color_palette_destroy(void){}
9 void radv_rmv_log_buffer_bind(void){}
10 void radv_rmv_log_command_buffer_bo_create(void){}
11 void radv_rmv_log_command_buffer_bo_destroy(void){}
12 void radv_rmv_log_compute_pipeline_create(void){}
13 void radv_rmv_log_descriptor_pool_create(void){}
14 void radv_rmv_log_event_create(void){}
15 void radv_rmv_log_graphics_pipeline_create(void){}
16 void radv_rmv_log_heap_create(void){}
17 void radv_rmv_log_image_bind(void){}
18 void radv_rmv_log_image_create(void){}
19 void radv_rmv_log_query_pool_create(void){}
20 void radv_rmv_log_resource_destroy(void){}
21 void radv_rmv_log_sparse_add_residency(void){}
22 void radv_rmv_log_sparse_remove_residency(void){}
23 void radv_rmv_log_submit(void){}
24 void radv_rmv_fill_device_info(void){}
25 void radv_memory_trace_init(void){}
26 void radv_memory_trace_finish(void){}
27 void vk_memory_trace_init(void){}
28 void vk_memory_trace_finish(void){}
29 void vk_rmv_log_buffer_create(void){}
30 void vk_rmv_log_cpu_map(void){}
31 void vk_dump_rmv_capture(void){}
32
33 /* raytracing tracing abomination */
34 bool radv_rra_trace_enabled(void) {return false;}
35 void radv_rra_trace_init(void){}
36 void radv_rra_trace_finish(void){}
37 void radv_rra_dump_trace(void){}
38
39 /* sqtt thread tracing */
40 void radv_thread_trace_init(void){}
41 void radv_thread_trace_finish(void){}
42 void radv_emit_inhibit_clockgating(void){}
43 void radv_emit_spi_config_cntl(void){}
44 void radv_sqtt_emit_relocated_shaders(void){}
45 bool radv_sqtt_init(void){return false;}
46 void radv_sqtt_finish(void){}
47
48 /* don't know, but seems related to sqtt thread tracing */
49 bool radv_is_instruction_timing_enabled(void) {return false;}
50
51 void radv_describe_dispatch(void){}
52 void radv_describe_layout_transition(void){}
53 void radv_describe_draw(void){}
54
55 void radv_describe_barrier_start(void){}
56 void radv_describe_barrier_end(void){}
57 void radv_describe_barrier_end_delayed(void){}
58
59 void radv_describe_begin_cmd_buffer(void){}
60 void radv_describe_end_cmd_buffer(void){}
61
62 void radv_describe_begin_render_pass_clear(void){}
63 void radv_describe_end_render_pass_clear(void){}
64 void radv_describe_begin_render_pass_resolve(void){}
65 void radv_describe_end_render_pass_resolve(void){}
66
67
68 /* this actually is related to the currently extremely toxic acceleration structure code */
69 void *radv_acceleration_structure_get_va(void *a)
70 {
71 return 0;
72 }
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c deleted (index d764859..0000000)
1 #include <stdio.h>
2 #include <vulkan/vulkan_core.h>
3
4 const char * vk_Result_to_str(VkResult input)
5 {
6 static char buf[64];
7 sprintf(buf, "%ld", input);
8 return buf;
9 }
10 const char *vk_ObjectType_to_ObjectName(VkObjectType type)
11 {
12 static char buf[64];
13 sprintf(buf, "0x%lx", type);
14 return buf;
15 }
16 const char *vk_ObjectType_to_str(VkObjectType type)
17 {
18 static char buf[64];
19 sprintf(buf, "0x%lx", type);
20 return buf;
21 }
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h deleted (index 85e5bec..0000000)
1 #ifndef MESA_VK_ENUM_TO_STR_H
2 #define MESA_VK_ENUM_TO_STR_H
3 #include <vulkan/vulkan_core.h>
4 const char * vk_Result_to_str(VkResult input);
5 const char *vk_ObjectType_to_ObjectName(VkObjectType type);
6 const char *vk_ObjectType_to_str(VkObjectType type);
7 #endif
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c deleted (index 68cb582..0000000)
1 /* removal of some bits of redhat/ibm/khronosGL crap */
2 #include "math.h"
3 #include "nir/nir_builtin_builder.h"
4 #include "vtn_private.h"
5 bool
6 vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
7 const uint32_t *w, unsigned count)
8 {
9 return false;
10 }
11 bool
12 vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode,
13 const uint32_t *w, unsigned count)
14 {
15 return false;
16 }
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 5a27b33..0000000)
1 #!/bin/sh
2
3 # Canonical specialized build scripts for AMD hardware on gnu/linux distros.
4 # Look for "unset", you'll find the values you can override in $1 or
5 # $build_dir/local_conf.sh file, that in order to tune the script for your
6 # specific distro/needs.
7
8 # Usage, drop the script at the top of mesa source tree, create somewhere else
9 # a build directory, cd into it, and call from there this script.
10 #===============================================================================
11 # build dir and src dir
12 build_dir=$(readlink -f .)
13 echo "build_dir=$build_dir"
14 # we are in contrib
15 src_dir=$(readlink -f $(dirname $0)/..)
16 echo "src_dir=$src_dir"
17 #===============================================================================
18 # the current configur-able variables may be individually overridden with the
19 # content of the file in $1 or $build_dir/local_conf.sh. Look for "unset"
20 # in those scripts to find what you can override to tune the build.
21 if test -f "$1"; then
22 . "$1"
23 else
24 if test -f $build_dir/local_conf.sh; then
25 . $build_dir/local_conf.sh
26 fi
27 fi
28 #===============================================================================
29 if test "${sysconfdir-unset}" = unset; then
30 sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc'
31 fi
32
33 if test "${datadir-unset}" = unset; then
34 datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share'
35 fi
36 #===============================================================================
37 # when we perform tasks in //, use "roughly" this maximum value
38 if test "${tasks_n_max-unset}" = unset; then
39 tasks_n_max=8
40 fi
41 #===============================================================================
42 if test "${version-unset}" = unset; then
43 if test -f $src_dir/VERSION; then
44 version=$(cat $src_dir/VERSION)
45 else
46 version=99.99.99-devel
47 fi
48 fi
49 #===============================================================================
50 # python/perl/ruby/javascript/lua/etc whatever...
51 if test "${python3-unset}" = unset; then
52 python3=/nyan/python/current/bin/python3
53 fi
54
55 if test "${mako-unset}" = unset; then
56 mako=/nyan/mako/current
57 fi
58 #===============================================================================
59 # all symbols are tagged hidden by default, then only the public symbol
60 # will be tagged public explicitely in the code (with extensions to C)
61 # (for the gl gallium dri driver, it's a gnu ld version script)
62 if test "${cc-unset}" = unset; then
63 cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \
64 -fno-math-errno -fno-trapping-math \
65 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
66 fi
67
68 if test "${cxx-unset}" = unset; then
69 cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \
70 -fno-math-errno -fno-trapping-math \
71 -fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include"
72 fi
73
74 if test "${as-unset}" = unset; then
75 as=as
76 fi
77
78 if test "${ar-unset}" = unset; then
79 ar='ar rcs'
80 fi
81
82 # XXX:All definitions are mesa specific, except when explicitely defined
83 # otherwise
84 # _GNU_SOURCE:
85 # glibc specific to enable all glibc extension:
86 # - HAVE_DL_ITERATE_PHDR is a GNU extension
87 # NDEBUG:
88 # turn off the debug code paths
89 # HAVE_NO_AUTOCONF:
90 # enable some definitions which were generated only by the GNU autotools
91 # in include/c99_compat.h, many gcc builtins and posix.
92 # that some macros defined there are used without the inclusion of
93 # c99_compat.h, hence must be manually provided
94 # USE_GCC_ATOMIC_BUILTINS
95 # enable the use of gcc built-ins for atomic operations in
96 # src/util/u_atomic.h
97 # HAVE_DLADDR:
98 # glibc dladdr mandatory for disk cache in utils
99 # HAVE_STRTOF:
100 # glibc provides strtof function, used in src/util/strtod.c
101 # HAVE_TIMESPEC_GET:
102 # glibc provides the timespec get function, used in threading
103 # HAVE_STRTOD_L:
104 # glibc provides strtod_l function, used in src/util/strtod.c
105 # HAVE_DL_ITERATE_PHDR:
106 # glibc provides the GNU extension dl_interate_phdr support with the
107 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
108 # HAVE_DLFCN_H:
109 # autoconf macro switch for dlfcn.h, used for shader disk cache
110 # timestamp
111 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
112 # HAVE_LINUX_FUTEX_H:
113 # enable the linux futex syscall support code (using the glibc syscall
114 # function in many src/util headers
115 # HAVE_DRI3_MODIFIERS:
116 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
117 # ENABLE_SHADER_CACHE:
118 # do enable the shader cache in the src/util/disk_cache.[hc]
119 # HAVE_FUNC_ATTRIBUTE_CONST=1:
120 # enable gcc attribute in src/util/macros.h
121 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_PURE=1:
124 # enable gcc attribute in src/util/macros.h (and intel compiler)
125 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
126 # enable gcc attribute in src/util/macros.h
127 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
128 # enable gcc attribute in src/util/macros.h
129 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
130 # enable gcc attribute for atomic in src/util.c and thread emulation
131 # HAVE_ENDIAN_H=1:
132 # autoconf macro for the endian.h header used in src/util/u_endian.h
133 # HAVE_FLOCK=1:
134 # autoconf macro for src/util/disk_cache_os.c
135 # VK_USE_PLATFORM_XCB_KHR:
136 # vulkan macro enabling x11/xcb platform support, linked to
137 # VK_USE_PLATFORM_XLIB_KHR in the code
138 # VK_USE_PLATFORM_XLIB_KHR:
139 # vulkan macro enabling x11/xlib platform support, linked to
140 # VK_USE_PLATFORM_XCB_KHR in the code
141 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
142 # xrandr stuff for vulkan
143 #
144 # XXX: removed macros which seem not to be related
145 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
146 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
147 # - HAVE_DRM_PLATFORM: egl, egl dri2
148 # - HAVE_DRI3: egl dri2, glx, gallium video layer
149 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
150 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
151 # nowhere
152 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
153 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
154 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
155 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
156 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
157 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
158 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
159 # old svga gallium driver
160 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
161 # program lexer
162 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
163 # but seems to be used directly in glx and glapi
164 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
165 # only in mapi entry headers
166 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
167 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
168 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
169 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
170 # parts
171 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
172 # software rasterizer
173 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
174 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
175 # only) usingt the glibc syscall function
176
177 gcc_builtins_cppflags="\
178 -DHAVE___BUILTIN_BSWAP32=1 \
179 -DHAVE___BUILTIN_BSWAP64=1 \
180 -DHAVE___BUILTIN_CLZ=1 \
181 -DHAVE___BUILTIN_CLZLL=1 \
182 -DHAVE___BUILTIN_CTZ=1 \
183 -DHAVE___BUILTIN_EXPECT=1 \
184 -DHAVE___BUILTIN_FFS=1 \
185 -DHAVE___BUILTIN_FFSLL=1 \
186 -DHAVE___BUILTIN_POPCOUNT=1 \
187 -DHAVE___BUILTIN_POPCOUNTLL=1 \
188 -DHAVE___BUILTIN_UNREACHABLE=1 \
189 -DUSE_GCC_ATOMIC_BUILTINS=1 \
190 "
191
192 gcc_attributes_cppflags="\
193 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
194 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
195 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
196 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
197 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
198 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
199 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
200 \
201 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
202 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
203 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
204 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
205 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
206 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
207 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
208 "
209
210 linux_glibc_cppflags="\
211 -D_GNU_SOURCE=1 \
212 -DHAVE_PTHREAD \
213 -DHAVE_PTHREAD_SETAFFINITY \
214 -DHAVE_POSIX_MEMALIGN \
215 -DHAVE_STRTOF \
216 -DHAVE_TIMESPEC_GET \
217 -DHAVE_STRTOD_L \
218 -DHAVE_DLFCN_H \
219 -DHAVE_DL_ITERATE_PHDR \
220 -DHAVE_LINUX_FUTEX_H \
221 -DHAVE_ENDIAN_H=1 \
222 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
223 -DHAVE_DLADDR=1 \
224 -DHAVE_FLOCK=1 \
225 -DMAJOR_IN_SYSMACROS=1 \
226 -DHAVE_TIMESPEC_GET=1 \
227 -DHAVE_STRUCT_TIMESPEC=1 \
228 -DALLOW_KCMP \
229 "
230 mesa_cppflags="\
231 -DNDEBUG \
232 -DHAVE_DRI3_MODIFIERS \
233 -DENABLE_SHADER_CACHE \
234 -DHAVE_COMPRESSION \
235 "
236
237 mesa_vulkan_cppflags="\
238 -DVK_USE_PLATFORM_DISPLAY_KHR \
239 -DVK_USE_PLATFORM_XCB_KHR \
240 -DVK_USE_PLATFORM_XLIB_KHR \
241 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
242 \
243 -DVIDEO_CODEC_H265DEC=0 \
244 -DVIDEO_CODEC_H264DEC=0 \
245 "
246
247 cppflags_common="\
248 $gcc_builtins_cppflags \
249 $gcc_attributes_cppflags \
250 $linux_glibc_cppflags \
251 $mesa_cppflags \
252 $mesa_vulkan_cppflags \
253 "
254 #===============================================================================
255 # expat
256 if test "${expat_cppflags-unset}" = unset; then
257 expat_cppflags='-I/nyan/expat/current/include'
258 fi
259 if test "${expat_archives-unset}" = unset; then
260 expat_archives=libexpat.a
261 fi
262 if test "${expat_ldflags-unset}" = unset; then
263 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
264 fi
265 #===============================================================================
266 if test "${libxau_cppflags-unset}" = unset; then
267 libxau_cppflags='-I/nyan/libXau/current/include'
268 fi
269 #===============================================================================
270 if test "${libxcb_cppflags-unset}" = unset; then
271 libxcb_cppflags='-I/nyan/libxcb/current/include'
272 fi
273
274 if test "${libxcb_ldflags-unset}" = unset; then
275 libxcb_ldflags="\
276 /nyan/libxcb/current/lib/libxcb-xtest.so \
277 /nyan/libxcb/current/lib/libxcb-damage.so \
278 /nyan/libxcb/current/lib/libxcb-xfixes.so \
279 /nyan/libxcb/current/lib/libxcb-xvmc.so \
280 /nyan/libxcb/current/lib/libxcb-xinerama.so \
281 /nyan/libxcb/current/lib/libxcb-dri2.so \
282 /nyan/libxcb/current/lib/libxcb-composite.so \
283 /nyan/libxcb/current/lib/libxcb-dpms.so \
284 /nyan/libxcb/current/lib/libxcb-sync.so \
285 /nyan/libxcb/current/lib/libxcb-randr.so \
286 /nyan/libxcb/current/lib/libxcb-res.so \
287 /nyan/libxcb/current/lib/libxcb.so \
288 /nyan/libxcb/current/lib/libxcb-screensaver.so \
289 /nyan/libxcb/current/lib/libxcb-xkb.so \
290 /nyan/libxcb/current/lib/libxcb-xv.so \
291 /nyan/libxcb/current/lib/libxcb-render.so \
292 /nyan/libxcb/current/lib/libxcb-shm.so \
293 /nyan/libxcb/current/lib/libxcb-dri3.so \
294 /nyan/libxcb/current/lib/libxcb-record.so \
295 /nyan/libxcb/current/lib/libxcb-xinput.so \
296 /nyan/libxcb/current/lib/libxcb-present.so \
297 /nyan/libxcb/current/lib/libxcb-glx.so \
298 /nyan/libxcb/current/lib/libxcb-shape.so \
299 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
300 "
301 fi
302 #===============================================================================
303 if test "${libxrender_cppflags-unset}" = unset; then
304 libxrender_cppflags='-I/nyan/libXrender/current/include'
305 fi
306
307 if test "${libxrender_ldflags-unset}" = unset; then
308 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
309 fi
310 #===============================================================================
311 if test "${libxrandr_cppflags-unset}" = unset; then
312 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
313 fi
314
315 if test "${libxrandr_ldflags-unset}" = unset; then
316 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
317 fi
318 #===============================================================================
319 if test "${libx11_cppflags-unset}" = unset; then
320 libx11_cppflags='-I/nyan/libX11/current/include'
321 fi
322
323 if test "${libx11_ldflags-unset}" = unset; then
324 libx11_ldflags="\
325 /nyan/libX11/current/lib/libX11.so \
326 /nyan/libX11/current/lib/libX11-xcb.so \
327 "
328 fi
329 #===============================================================================
330 if test "${libxshmfence_cppflags-unset}" = unset; then
331 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
332 fi
333
334 if test "${libxshmfence_ldflags-unset}" = unset; then
335 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
336 fi
337 #===============================================================================
338 if test "${xorgproto_cppflags-unset}" = unset; then
339 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
340 fi
341 #===============================================================================
342 if test "${libdrm_cppflags-unset}" = unset; then
343 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
344 fi
345
346 if test "${libdrm_ldflags-unset}" = unset; then
347 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
348 fi
349 #===============================================================================
350 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
351 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
352 fi
353
354 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
355 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
356 fi
357 #===============================================================================
358 if test "${linux_drm_cppflags-unset}" = unset; then
359 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
360 fi
361 #===============================================================================
362 if test "${libelf_cppflags-unset}" = unset; then
363 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
364 -I/nyan/libelf/current/include"
365 fi
366
367 if test "${libelf_archives-unset}" = unset; then
368 libelf_archives=libelf.a
369 fi
370
371 if test "${libelf_ldflags-unset}" = unset; then
372 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
373 fi
374 #===============================================================================
375 if test "${zlib_cppflags-unset}" = unset; then
376 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
377 fi
378
379 if test "${zlib_archives-unset}" = unset; then
380 zlib_archives=libz.a
381 fi
382
383 if test "${zlib_ldflags-unset}" = unset; then
384 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
385 fi
386 #===============================================================================
387 # build system compiler (the one used to compile the build system python), _not_
388 # the target compiler if you cross compile
389 if test "${build_cc-unset}" = unset; then
390 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
391 fi
392 if test "${build_ccld-unset}" = unset; then
393 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
394 fi
395 #===============================================================================
396 # the kronos registry
397 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
398 #===============================================================================
399 # all code generation should happen here (no weird interlocked deps)
400 . $src_dir/contrib/generators.sh
401 wait
402 #===============================================================================
403 # object put in libvulkan_amd_common
404 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
405 -DSYSCONFDIR=\"$sysconfdir\" \
406 -DDATADIR=\"$datadir\" \
407 \
408 -I$build_dir/src/util \
409 -I$src_dir/src \
410 -I$src_dir/include \
411 $cppflags_common \
412 $expat_cppflags &
413 #===============================================================================
414 # vulkan util
415 cppflags="\
416 $cppflags_common \
417 -DPACKAGE_VERSION=\"$version\" \
418 -DVERSION=\"$version\" \
419 -I$build_dir/vulkan/util \
420 -I$build_dir \
421 -I$src_dir/src/vulkan/util \
422 -I$src_dir/src/vulkan/runtime \
423 -I$src_dir/src/gallium/include \
424 -I$src_dir/src/util \
425 -I$src_dir/src \
426 -I$src_dir/include \
427 $libxcb_cppflags \
428 $libx11_cppflags \
429 $libxrandr_cppflags \
430 $libxrender_cppflags \
431 $xorgproto_cppflags \
432 "
433 libvulkan_util_files="\
434 $src_dir/src/vulkan/util/vk_alloc.c \
435 $build_dir/vk_dispatch_table.c \
436 $build_dir/vk_enum_to_str.c \
437 $build_dir/vk_extensions.c \
438 $src_dir/src/vulkan/util/vk_format.c \
439 $src_dir/src/vulkan/util/vk_util.c \
440 "
441 for f in $libvulkan_util_files
442 do
443 libvulkan_util_obj=$build_dir/$(basename $f .c).o
444 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
445
446 $cc $cppflags $f -o $libvulkan_util_obj &
447 done
448 #===============================================================================
449 # vulkan runtime
450 cppflags="\
451 $cppflags_common \
452 -DPACKAGE_VERSION=\"$version\" \
453 -DVERSION=\"$version\" \
454 -I$build_dir/vulkan/util \
455 -I$build_dir \
456 -I$src_dir/src/vulkan/util \
457 -I$src_dir/src/vulkan/runtime \
458 -I$src_dir/src/gallium/include \
459 -I$src_dir/src/compiler/nir \
460 -I$src_dir/src/util \
461 -I$src_dir/src \
462 -I$src_dir/include \
463 $libdrm_cppflags \
464 $libxcb_cppflags \
465 $libx11_cppflags \
466 $libxrandr_cppflags \
467 $libxrender_cppflags \
468 $xorgproto_cppflags \
469 "
470 libvulkan_runtime_files="\
471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 $src_dir/src/vulkan/runtime/vk_blend.c \
473 $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
477 $build_dir/vk_cmd_enqueue_entrypoints.c \
478 $build_dir/vk_cmd_queue.c \
479 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
480 $src_dir/src/vulkan/runtime/vk_command_pool.c \
481 $build_dir/vk_common_entrypoints.c \
482 $src_dir/src/vulkan/runtime/vk_debug_report.c \
483 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
484 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
485 $src_dir/src/vulkan/runtime/vk_device_memory.c \
486 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
487 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
488 $src_dir/src/vulkan/runtime/vk_descriptors.c \
489 $src_dir/src/vulkan/runtime/vk_device.c \
490 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
491 $build_dir/vk_dispatch_trampolines.c \
492 $src_dir/src/vulkan/runtime/vk_fence.c \
493 $build_dir/vk_format_info.c \
494 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
495 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
496 $src_dir/src/vulkan/runtime/vk_image.c \
497 $src_dir/src/vulkan/runtime/vk_instance.c \
498 $src_dir/src/vulkan/runtime/vk_log.c \
499 $src_dir/src/vulkan/runtime/vk_meta.c \
500 $src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \
501 $src_dir/src/vulkan/runtime/vk_meta_clear.c \
502 $src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \
503 $src_dir/src/vulkan/runtime/vk_nir.c \
504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
505 $src_dir/src/vulkan/runtime/vk_object.c \
506 $src_dir/src/vulkan/runtime/vk_pipeline.c \
507 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
509 $src_dir/src/vulkan/runtime/vk_physical_device.c \
510 $build_dir/vk_physical_device_features.c \
511 $build_dir/vk_physical_device_properties.c \
512 $src_dir/src/vulkan/runtime/vk_query_pool.c \
513 $src_dir/src/vulkan/runtime/vk_queue.c \
514 $src_dir/src/vulkan/runtime/vk_render_pass.c \
515 $src_dir/src/vulkan/runtime/vk_sampler.c \
516 $src_dir/src/vulkan/runtime/vk_semaphore.c \
517 $src_dir/src/vulkan/runtime/vk_shader_module.c \
518 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
519 $src_dir/src/vulkan/runtime/vk_sync.c \
520 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
521 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
522 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
523 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
524 $src_dir/src/vulkan/runtime/vk_video.c \
525 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
526 "
527 for f in $libvulkan_runtime_files
528 do
529 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
530 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
531
532 $cc $cppflags $f -o $libvulkan_runtime_obj &
533 done
534 #===============================================================================
535 # wsi x11 (Window System Interface)
536 cppflags="\
537 $cppflags_common \
538 -I$build_dir/vulkan/util \
539 -I$build_dir \
540 -I$src_dir/src \
541 -I$src_dir/src/vulkan/util \
542 -I$src_dir/src/vulkan/runtime \
543 -I$src_dir/src/gallium/include \
544 -I$src_dir/include \
545 -I$src_dir/include/drm-uapi \
546 $libxcb_cppflags \
547 $libx11_cppflags \
548 $libxrandr_cppflags \
549 $libxrender_cppflags \
550 $xorgproto_cppflags \
551 $libxshmfence_cppflags \
552 $libdrm_cppflags \
553 "
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
555 -o $build_dir/wsi_common.o &
556 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
557 -o $build_dir/wsi_common_drm.o &
558 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
559 -o $build_dir/wsi_common_x11.o &
560 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
561 -o $build_dir/wsi_common_display.o &
562 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
563 -o $build_dir/wsi_common_headless.o &
564 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
565 -o $build_dir/wsi_common_entrypoints.o &
566 libvulkan_wsi_a="\
567 $build_dir/wsi_common.o \
568 $build_dir/wsi_common_drm.o \
569 $build_dir/wsi_common_x11.o \
570 $build_dir/wsi_common_display.o \
571 $build_dir/wsi_common_headless.o \
572 $build_dir/wsi_common_entrypoints.o \
573 "
574 #===============================================================================
575 # amd common archive
576 cppflags="\
577 $cppflags_common \
578 -I$build_dir \
579 -I$src_dir/src/gallium/auxiliary \
580 -I$src_dir/src/gallium/include \
581 -I$build_dir/src/amd/common \
582 -I$src_dir/src/amd/common \
583 -I$src_dir/src/util \
584 -I$build_dir/src/amd \
585 -I$src_dir/src/amd \
586 -I$src_dir/src/compiler/nir \
587 -I$src_dir/src/compiler \
588 -I$src_dir/src/mesa \
589 -I$src_dir/src \
590 -I$src_dir/include \
591 -I$src_dir/include/drm-uapi \
592 $libdrm_cppflags \
593 $libdrm_amdgpu_cppflags \
594 $linux_drm_cppflags \
595 $libelf_cppflags \
596 "
597 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
598 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
599 #$src_dir/src/amd/common/ac_sqtt.c \
600 libamd_common_c_files="\
601 $src_dir/src/amd/common/ac_surface.c \
602 $src_dir/src/amd/common/ac_binary.c \
603 $src_dir/src/amd/common/ac_debug.c \
604 $src_dir/src/amd/common/amd_family.c \
605 $src_dir/src/amd/common/ac_gpu_info.c \
606 $src_dir/src/amd/common/ac_msgpack.c \
607 $src_dir/src/amd/common/ac_nir.c \
608 $src_dir/src/amd/common/ac_nir_cull.c \
609 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
611 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
612 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
613 $src_dir/src/amd/common/ac_nir_lower_ps.c \
614 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
615 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
616 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
617 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
618 $src_dir/src/amd/common/ac_nir_lower_tex.c \
619 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
620 $src_dir/src/amd/common/ac_parse_ib.c \
621 $src_dir/src/amd/common/ac_perfcounter.c \
622 $src_dir/src/amd/common/ac_shader_args.c \
623 $src_dir/src/amd/common/ac_shader_util.c \
624 $src_dir/src/amd/common/ac_shadowed_regs.c \
625 $src_dir/src/amd/common/ac_rgp.c \
626 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
627 $src_dir/src/amd/common/ac_rtld.c \
628 $src_dir/src/amd/common/ac_spm.c \
629 "
630 for f in $libamd_common_c_files
631 do
632 libamd_common_c_obj=$build_dir/$(basename $f .c).o
633 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
634
635 $cc $cppflags $f -o $libamd_common_c_obj &
636 done
637 #===============================================================================
638 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
639 cppflags="\
640 $cppflags_common \
641 -DLITTLEENDIAN_CPU \
642 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
643 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
644 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
645 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
646 -I$src_dir/src/amd/addrlib/inc \
647 -I$src_dir/src/amd/addrlib/src/core \
648 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
649 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
650 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
651 -I$src_dir/src/amd/addrlib/src/chip/r800 \
652 -I$src_dir/src/amd/addrlib/src \
653 -I$src_dir/src \
654 -I$src_dir/include \
655 "
656 libamdgpu_addrlib_files="\
657 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
658 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
659 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
660 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
661 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
662 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
663 $src_dir/src/amd/addrlib/src/core/coord.cpp \
664 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
665 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
666 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
667 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
668 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
669 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
670 "
671 for f in $libamdgpu_addrlib_files
672 do
673 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
674 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
675
676 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
677 done
678 #===============================================================================
679 # libcompiler required by libnir
680 cppflags="\
681 $cppflags_common \
682 -I$build_dir \
683 -I$src_dir/src/compiler \
684 -I$src_dir/src/gallium/auxiliary \
685 -I$src_dir/src/gallium/include \
686 -I$src_dir/src/mesa \
687 -I$src_dir/src \
688 -I$src_dir/include \
689 "
690 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
691 -o $build_dir/glsl_types.o &
692 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
693 -o $build_dir/nir_types.o &
694 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
695 -o $build_dir/shader_enums.o &
696 $cc $cppflags $build_dir/builtin_types.c \
697 -o $build_dir/builtin_types.o &
698 libcompiler_a="\
699 $build_dir/glsl_types.o \
700 $build_dir/nir_types.o \
701 $build_dir/shader_enums.o \
702 $build_dir/builtin_types.o \
703 "
704 #===============================================================================
705 # libnir
706 cppflags="\
707 $cppflags_common \
708 -I$build_dir \
709 -I$src_dir/src/compiler/spirv \
710 -I$src_dir/src/compiler/nir \
711 -I$src_dir/src/compiler \
712 -I$src_dir/src/gallium/auxiliary \
713 -I$src_dir/src/gallium/include \
714 -I$src_dir/src/mesa \
715 -I$src_dir/src \
716 -I$src_dir/include \
717 $xorgproto_cppflags \
718 $libxcb_cppflags \
719 $libx11_cppflags \
720 $libxrender_cppflags \
721 $libxrandr_cppflags \
722 "
723 libnir_files="\
724 $build_dir/spirv_info.c \
725 $build_dir/vtn_gather_types.c \
726 $build_dir/nir_intrinsics.c \
727 $build_dir/nir_opcodes.c \
728 $build_dir/nir_opt_algebraic.c \
729 $build_dir/nir_constant_expressions.c \
730 \
731 $src_dir/src/compiler/spirv/gl_spirv.c \
732 $src_dir/src/compiler/spirv/spirv_to_nir.c \
733 $src_dir/src/compiler/spirv/vtn_alu.c \
734 $src_dir/src/compiler/spirv/vtn_amd.c \
735 $src_dir/src/compiler/spirv/vtn_cfg.c \
736 $src_dir/src/compiler/spirv/vtn_cmat.c \
737 $src_dir/src/compiler/spirv/vtn_glsl450.c \
738 $src_dir/contrib/vtn_opencl.c \
739 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
740 $src_dir/src/compiler/spirv/vtn_subgroup.c \
741 $src_dir/src/compiler/spirv/vtn_variables.c \
742 \
743 $src_dir/src/compiler/nir/nir.c \
744 $src_dir/src/compiler/nir/nir_builder.c \
745 $src_dir/src/compiler/nir/nir_builtin_builder.c \
746 $src_dir/src/compiler/nir/nir_clone.c \
747 $src_dir/src/compiler/nir/nir_control_flow.c \
748 $src_dir/src/compiler/nir/nir_deref.c \
749 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
750 $src_dir/src/compiler/nir/nir_dominance.c \
751 $src_dir/src/compiler/nir/nir_from_ssa.c \
752 $src_dir/src/compiler/nir/nir_gather_info.c \
753 $src_dir/src/compiler/nir/nir_gather_types.c \
754 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
755 $src_dir/src/compiler/nir/nir_group_loads.c \
756 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
757 $src_dir/src/compiler/nir/nir_functions.c \
758 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
759 $src_dir/src/compiler/nir/nir_instr_set.c \
760 $src_dir/src/compiler/nir/nir_legacy.c \
761 $src_dir/src/compiler/nir/nir_linking_helpers.c \
762 $src_dir/src/compiler/nir/nir_liveness.c \
763 $src_dir/src/compiler/nir/nir_loop_analyze.c \
764 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
765 $src_dir/src/compiler/nir/nir_lower_alu.c \
766 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
767 $src_dir/src/compiler/nir/nir_lower_amul.c \
768 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
769 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
770 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
771 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
772 $src_dir/src/compiler/nir/nir_lower_blend.c \
773 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
774 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
775 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
776 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
777 $src_dir/src/compiler/nir/nir_lower_clip.c \
778 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
779 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
780 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
781 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
782 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
783 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
784 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
785 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
786 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
787 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
788 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
789 $src_dir/src/compiler/nir/nir_lower_flrp.c \
790 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
791 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
792 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
793 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
794 $src_dir/src/compiler/nir/nir_lower_frexp.c \
795 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
796 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
797 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
798 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
799 $src_dir/src/compiler/nir/nir_lower_idiv.c \
800 $src_dir/src/compiler/nir/nir_lower_image.c \
801 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
802 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
803 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
804 $src_dir/src/compiler/nir/nir_lower_int64.c \
805 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
806 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
807 $src_dir/src/compiler/nir/nir_lower_io.c \
808 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
809 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
810 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
811 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
812 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
813 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
814 $src_dir/src/compiler/nir/nir_lower_mediump.c \
815 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
816 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
817 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
818 $src_dir/src/compiler/nir/nir_lower_multiview.c \
819 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
820 $src_dir/src/compiler/nir/nir_lower_packing.c \
821 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
822 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
823 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
824 $src_dir/src/compiler/nir/nir_lower_point_size.c \
825 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
826 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
827 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
828 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
829 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
830 $src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \
831 $src_dir/src/compiler/nir/nir_lower_returns.c \
832 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
833 $src_dir/src/compiler/nir/nir_lower_samplers.c \
834 $src_dir/src/compiler/nir/nir_lower_scratch.c \
835 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
836 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
837 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
838 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
839 $src_dir/src/compiler/nir/nir_lower_system_values.c \
840 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
841 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
842 $src_dir/src/compiler/nir/nir_lower_tex.c \
843 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
844 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
845 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
846 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
847 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
848 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
849 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
850 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
851 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
852 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
853 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
854 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
855 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
856 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
857 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
858 $src_dir/src/compiler/nir/nir_metadata.c \
859 $src_dir/src/compiler/nir/nir_mod_analysis.c \
860 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
861 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
862 $src_dir/src/compiler/nir/nir_opt_access.c \
863 $src_dir/src/compiler/nir/nir_opt_barriers.c \
864 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
865 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
866 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
867 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
868 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
869 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
870 $src_dir/src/compiler/nir/nir_opt_cse.c \
871 $src_dir/src/compiler/nir/nir_opt_dce.c \
872 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
873 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
874 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
875 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
876 $src_dir/src/compiler/nir/nir_opt_gcm.c \
877 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
878 $src_dir/src/compiler/nir/nir_opt_if.c \
879 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
880 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
881 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
882 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
883 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
884 $src_dir/src/compiler/nir/nir_opt_move.c \
885 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
886 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
887 $src_dir/src/compiler/nir/nir_opt_offsets.c \
888 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
889 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
890 $src_dir/src/compiler/nir/nir_opt_preamble.c \
891 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
892 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
893 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
894 $src_dir/src/compiler/nir/nir_opt_reuse_constants.c \
895 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
896 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
897 $src_dir/src/compiler/nir/nir_opt_sink.c \
898 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
899 $src_dir/src/compiler/nir/nir_opt_undef.c \
900 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
901 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
902 $src_dir/src/compiler/nir/nir_phi_builder.c \
903 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
904 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
905 $src_dir/src/compiler/nir/nir_print.c \
906 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
907 $src_dir/src/compiler/nir/nir_range_analysis.c \
908 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
909 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
910 $src_dir/src/compiler/nir/nir_repair_ssa.c \
911 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
912 $src_dir/src/compiler/nir/nir_schedule.c \
913 $src_dir/src/compiler/nir/nir_search.c \
914 $src_dir/src/compiler/nir/nir_serialize.c \
915 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
916 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
917 $src_dir/src/compiler/nir/nir_split_var_copies.c \
918 $src_dir/src/compiler/nir/nir_split_vars.c \
919 $src_dir/src/compiler/nir/nir_sweep.c \
920 $src_dir/src/compiler/nir/nir_to_lcssa.c \
921 $src_dir/src/compiler/nir/nir_trivialize_registers.c \
922 $src_dir/src/compiler/nir/nir_validate.c \
923 $src_dir/src/compiler/nir/nir_worklist.c \
924 "
925 for f in $libnir_files
926 do
927 libnir_obj=$build_dir/$(basename $f .c).o
928 libnir_a="$libnir_a $libnir_obj"
929
930 $cc $cppflags $f -o $libnir_obj &
931 done
932 #===============================================================================
933 # libaco
934 # we don't use cppflags_common for aco because the code is not yet
935 # compatible
936 cppflags="\
937 $gcc_builtins_cppflags \
938 $gcc_attributes_cppflags \
939 $linux_glibc_cppflags \
940 $mesa_cppflags \
941 -I$build_dir \
942 -I$src_dir/src/amd/compiler \
943 -I$src_dir/src/amd/vulkan \
944 -I$build_dir/src/amd/common \
945 -I$src_dir/src/amd/common \
946 -I$build_dir/src/amd \
947 -I$src_dir/src/amd \
948 -I$src_dir/src/compiler/nir \
949 -I$src_dir/src/compiler \
950 -I$src_dir/src/mesa \
951 -I$src_dir/src/gallium/include \
952 -I$src_dir/src \
953 -I$src_dir/include \
954 "
955 libaco_files="\
956 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
957 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
958 $src_dir/src/amd/compiler/aco_dominance.cpp \
959 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
960 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
961 $src_dir/src/amd/compiler/aco_interface.cpp \
962 $src_dir/src/amd/compiler/aco_assembler.cpp \
963 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
964 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
965 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
966 $src_dir/src/amd/compiler/aco_ir.cpp \
967 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
968 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
969 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
970 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
971 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
972 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
973 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
974 $build_dir/aco_opcodes.cpp \
975 $src_dir/src/amd/compiler/aco_optimizer.cpp \
976 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
977 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
978 $src_dir/src/amd/compiler/aco_print_asm.cpp \
979 $src_dir/src/amd/compiler/aco_print_ir.cpp \
980 $src_dir/src/amd/compiler/aco_scheduler.cpp \
981 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
982 $src_dir/src/amd/compiler/aco_spill.cpp \
983 $src_dir/src/amd/compiler/aco_statistics.cpp \
984 $src_dir/src/amd/compiler/aco_validate.cpp \
985 "
986 for f in $libaco_files
987 do
988 libaco_obj=$build_dir/$(basename $f .c).o
989 libaco_a="$libaco_a $libaco_obj"
990
991 $cxx $cppflags $f -o $libaco_obj &
992 done
993 #===============================================================================
994 # libmesautils
995 cppflags="\
996 $cppflags_common \
997 -I$build_dir/src/util/format \
998 -I$build_dir/src \
999 -I$build_dir \
1000 -I$src_dir/src/gallium/auxiliary \
1001 -I$src_dir/src/gallium/include \
1002 -I$src_dir/src/mesa \
1003 -I$src_dir/src/util/blake3 \
1004 -I$src_dir/src/util/format \
1005 -I$src_dir/src/util \
1006 -I$src_dir/src \
1007 -I$src_dir/include \
1008 $zlib_cppflags \
1009 "
1010 libmesautil_files="\
1011 $build_dir/format_srgb.c \
1012 $build_dir/u_format_table.c \
1013 $src_dir/src/util/anon_file.c \
1014 $src_dir/src/util/bitscan.c \
1015 $src_dir/src/util/blake3/blake3.c \
1016 $src_dir/src/util/blake3/blake3_dispatch.c \
1017 $src_dir/src/util/blake3/blake3_portable.c \
1018 $src_dir/src/util/blob.c \
1019 $src_dir/src/util/build_id.c \
1020 $src_dir/src/util/compress.c \
1021 $src_dir/src/util/crc32.c \
1022 $src_dir/src/util/dag.c \
1023 $src_dir/src/util/disk_cache.c \
1024 $src_dir/src/util/disk_cache_os.c \
1025 $src_dir/src/util/double.c \
1026 $src_dir/src/util/fast_idiv_by_const.c \
1027 $src_dir/src/util/fossilize_db.c \
1028 $src_dir/src/util/futex.c \
1029 $src_dir/src/util/half_float.c \
1030 $src_dir/src/util/hash_table.c \
1031 $src_dir/src/util/log.c \
1032 $src_dir/src/util/mesa-blake3.c \
1033 $src_dir/src/util/mesa-sha1.c \
1034 $src_dir/src/util/mesa_cache_db.c \
1035 $src_dir/src/util/mesa_cache_db_multipart.c \
1036 $src_dir/src/util/memstream.c \
1037 $src_dir/src/util/os_file.c \
1038 $src_dir/src/util/os_memory_fd.c \
1039 $src_dir/src/util/os_misc.c \
1040 $src_dir/src/util/os_socket.c \
1041 $src_dir/src/util/os_time.c \
1042 $src_dir/src/util/sha1/sha1.c \
1043 $src_dir/src/util/ralloc.c \
1044 $src_dir/src/util/rand_xor.c \
1045 $src_dir/src/util/rb_tree.c \
1046 $src_dir/src/util/register_allocate.c \
1047 $src_dir/src/util/rgtc.c \
1048 $src_dir/src/util/rwlock.c \
1049 $src_dir/src/util/set.c \
1050 $src_dir/src/util/simple_mtx.c \
1051 $src_dir/src/util/slab.c \
1052 $src_dir/src/util/softfloat.c \
1053 $src_dir/src/util/sparse_array.c \
1054 $src_dir/src/util/string_buffer.c \
1055 $src_dir/src/util/strtod.c \
1056 $src_dir/src/util/u_atomic.c \
1057 $src_dir/src/util/u_call_once.c \
1058 $src_dir/src/util/u_cpu_detect.c \
1059 $src_dir/src/util/u_debug.c \
1060 $src_dir/src/util/u_debug_stack.c \
1061 $src_dir/src/util/u_debug_symbol.c \
1062 $src_dir/src/util/u_dl.c \
1063 $src_dir/src/util/u_dynarray.c \
1064 $src_dir/src/util/u_hash_table.c \
1065 $src_dir/src/util/u_printf.c \
1066 $src_dir/src/util/format/u_format.c \
1067 $src_dir/src/util/format/u_format_bptc.c \
1068 $src_dir/src/util/format/u_format_etc.c \
1069 $src_dir/src/util/format/u_format_fxt1.c \
1070 $src_dir/src/util/format/u_format_latc.c \
1071 $src_dir/src/util/format/u_format_other.c \
1072 $src_dir/src/util/format/u_format_rgtc.c \
1073 $src_dir/src/util/format/u_format_s3tc.c \
1074 $src_dir/src/util/format/u_format_tests.c \
1075 $src_dir/src/util/format/u_format_yuv.c \
1076 $src_dir/src/util/format/u_format_zs.c \
1077 $src_dir/src/util/u_idalloc.c \
1078 $src_dir/src/util/u_math.c \
1079 $src_dir/src/util/u_mm.c \
1080 $src_dir/src/util/u_process.c \
1081 $src_dir/src/util/u_queue.c \
1082 $src_dir/src/util/u_thread.c \
1083 $src_dir/src/util/u_vector.c \
1084 $src_dir/src/util/u_worklist.c \
1085 $src_dir/src/util/vma.c \
1086 $src_dir/src/util/vl_zscan_data.c \
1087 \
1088 $src_dir/src/c11/impl/time.c \
1089 $src_dir/src/c11/impl/threads_posix.c \
1090 "
1091 for f in $libmesautil_files
1092 do
1093 libmesautil_obj=$build_dir/$(basename $f .c).o
1094 libmesautil_a="$libmesautil_a $libmesautil_obj"
1095
1096 $cc $cppflags $f -o $libmesautil_obj &
1097 done
1098 #-------------------------------------------------------------------------------
1099 # The following is for the ultra complex blake3 hash algorithm.
1100 libmesautil_asm_files="\
1101 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1102 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1103 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1104 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1105 "
1106 for f in $libmesautil_asm_files
1107 do
1108 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1109 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1110 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1111
1112 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1113 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1114 done
1115 #===============================================================================
1116 # amd vulkan
1117 cppflags="\
1118 $cppflags_common \
1119 -DPACKAGE_VERSION=\"$version\" \
1120 -I$build_dir/vulkan/util \
1121 -I$build_dir/src/util \
1122 -I$build_dir \
1123 -I$src_dir/src/amd/compiler \
1124 -I$build_dir/src/amd/common \
1125 -I$src_dir/src/amd/common \
1126 -I$src_dir/src/amd/vulkan/nir \
1127 -I$src_dir/src/amd/vulkan/meta \
1128 -I$src_dir/src/amd/vulkan \
1129 -I$src_dir/src/amd \
1130 -I$src_dir/src/gallium/auxiliary \
1131 -I$src_dir/src/gallium/include \
1132 -I$src_dir/src/vulkan/util \
1133 -I$src_dir/src/vulkan/runtime \
1134 -I$src_dir/src/vulkan/wsi \
1135 -I$src_dir/src/util \
1136 -I$src_dir/src/mesa \
1137 -I$src_dir/src/compiler/nir \
1138 -I$src_dir/src/compiler \
1139 -I$src_dir/src \
1140 -I$src_dir/include \
1141 $libdrm_cppflags \
1142 $libdrm_amdgpu_cppflags \
1143 $libx11_cppflags \
1144 $libxrandr_cppflags \
1145 $libxrender_cppflags \
1146 $libxcb_cppflags \
1147 $xorgproto_cppflags \
1148 $libxshmfence_cppflags \
1149 "
1150 #$build_dir/radv_extensions.c
1151 #$build_dir/vk_format_table.c
1152 # XXX: remove rt for now
1153 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1154 libvulkan_amd_common_files="\
1155 $src_dir/src/amd/vulkan/radv_android.c \
1156 $src_dir/src/amd/vulkan/radv_buffer.c \
1157 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1158 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1159 $src_dir/src/amd/vulkan/radv_debug.c \
1160 $build_dir/src/amd/vulkan/radv_device.c \
1161 $src_dir/src/amd/vulkan/radv_device_memory.c \
1162 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1163 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1164 $src_dir/src/amd/vulkan/radv_event.c \
1165 $src_dir/src/amd/vulkan/radv_formats.c \
1166 $src_dir/src/amd/vulkan/radv_image.c \
1167 $src_dir/src/amd/vulkan/radv_instance.c \
1168 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1169 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1170 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1171 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1172 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1173 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1174 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1175 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1176 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1177 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1178 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1179 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1180 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1181 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1182 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1183 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1184 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1185 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1186 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1187 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1188 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1189 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1190 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1191 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1192 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1193 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1194 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1195 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1196 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1197 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1198 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1199 $src_dir/src/amd/vulkan/radv_physical_device.c \
1200 $src_dir/src/amd/vulkan/radv_pipeline.c \
1201 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1202 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1203 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1204 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1205 $src_dir/src/amd/vulkan/radv_queue.c \
1206 $src_dir/src/amd/vulkan/radv_rt_common.c \
1207 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1208 $src_dir/src/amd/vulkan/radv_sampler.c \
1209 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1210 $src_dir/src/amd/vulkan/radv_shader.c \
1211 $src_dir/src/amd/vulkan/radv_shader_args.c \
1212 $src_dir/src/amd/vulkan/radv_shader_info.c \
1213 $src_dir/src/amd/vulkan/radv_spm.c \
1214 $src_dir/src/amd/vulkan/radv_query.c \
1215 $src_dir/src/amd/vulkan/radv_video.c \
1216 $src_dir/src/amd/vulkan/radv_wsi.c \
1217 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1218 \
1219 $build_dir/gfx10_format_table.c \
1220 \
1221 $build_dir/radv_entrypoints.c \
1222 \
1223 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1224 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1225 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1226 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1227 \
1228 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1229 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1230 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1231 \
1232 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1233 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1234 \
1235 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1236 "
1237
1238 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1239
1240 for f in $libvulkan_amd_common_files
1241 do
1242 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1243 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1244
1245 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1246 done
1247 libvulkan_amd_common_a="\
1248 $libvulkan_amd_common_a \
1249 $build_dir/xmlconfig.o"
1250 #===============================================================================
1251 # create the radeon vulkan driver
1252 soname=libvulkan_radeon.so
1253
1254 # XXX:the attempt to generalize without kludge the link stage of real programs
1255 # build is near a total and complete failure
1256 if test "${driver_link_cmd-unset}" = unset ; then
1257 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1258 -shared -static-libgcc -static-libstdc++ \
1259 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1260 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1261 -Wl,--whole-archive -Wl,--start-group \
1262 $libaco_a \
1263 $libvulkan_amd_common_a \
1264 $libvulkan_util_a \
1265 $libvulkan_runtime_a \
1266 $libvulkan_wsi_a \
1267 $libamd_common_a \
1268 $libamdgpu_addrlib_a \
1269 $libcompiler_a \
1270 $libnir_a \
1271 $libmesautil_a \
1272 -Wl,--end-group -Wl,--no-whole-archive \
1273 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1274 $zlib_ldflags \
1275 $expat_ldflags \
1276 $libelf_ldflags \
1277 -Wl,--as-needed \
1278 $libdrm_ldflags \
1279 $libdrm_amdgpu_ldflags \
1280 $libx11_ldflags \
1281 $libxrandr_ldflags \
1282 $libxrender_ldflags \
1283 $libxcb_ldflags \
1284 $libxshmfence_ldflags \
1285 -lpthread \
1286 -ldl \
1287 -Wl,--no-as-needed"
1288 fi
1289 wait
1290 eval $driver_link_cmd
1291 #===============================================================================
File builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json deleted (index 9bdd2e7..0000000)
1 {
2 "ICD": {
3 "api_version": "MAX_API_VERSION",
4 "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so"
5 },
6 "file_format_version": "1.0.0"
7 }
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main