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)
Gfx stack update 87e87e1667b52802e05cca455ef6d0fabc1e14db Sylvain BERTRAND 2023-08-12 19:55:36
doc fixes fbea1d2712d6ac940171c305a4365685ae4ea2b3 Sylvain BERTRAND 2023-08-11 15:01:33
glibc is lost cb48e764d36c6e6a17fd3b86057cd9d16372866b Sylvain BERTRAND 2023-08-11 01:43:24
alsa-lib-1.2.9 3ab47daf0697640797409403e89479750e1df3a4 Sylvain BERTRAND 2023-08-09 13:13:44
update that c++ diarrhea. 830386d522bc9cac08202ded04ce501c56712db4 Sylvain BERTRAND 2023-08-08 19:58:39
cleanup 1f706f57277405496cd6432a339259801e9df90b Sylvain BERTRAND 2023-08-08 17:20:05
dwm: move from tag to toggletag 2f5184715c58a00b739857d295d375522f3f2535 Sylvain BERTRAND 2023-08-03 00:35:14
Gfx stack update e25ed24c7d1a9b145de3cad63dcd617c3b9bd6f5 Sylvain BERTRAND 2023-07-29 14:14:06
EDLF64.draft, reentrancy and thread safety f66313fdcb17b2fa8ba3f227bc26bfac94f189ee Sylvain BERTRAND 2023-07-29 14:13:12
clear a bit the EDLF64 draft. 4dd34b7fa5ae978dce295cc4a836e367d25f007d Sylvain BERTRAND 2023-07-25 14:06:13
EDLF64 re-entrancy/fix. 404ecd7028b1031ccbb88300c90674618819c5bd Sylvain BERTRAND 2023-07-18 20:30:58
Gfx stack update 8025b4f7dac102ccc5de280df2105e73a31f1910 Sylvain BERTRAND 2023-07-15 15:04:11
EDLF64: clean munmap of the executable itself 1ed67b684b7c154cbb7eea742cb8eef0c7790dbc Sylvain BERTRAND 2023-07-09 17:37:27
last ffpmeg before breaking nyanmp 36cded2ce51a6df8edfcffc71094695fa8ad871c Sylvain BERTRAND 2023-07-09 15:05:32
Gfx stack update b2050ef1941139d255c61c2c82e24e6de364c5b4 Sylvain BERTRAND 2023-07-08 16:58:03
improve EDLF64 draft 48938c705c4f10e898677ec6e321dfad8d892f3f Sylvain BERTRAND 2023-07-07 18:36:15
elf toolbox and less toxic format draft a2ab4235350f04975de513911b7a340e2eb50ef3 Sylvain BERTRAND 2023-07-07 17:26:40
update of some image pagkages 7d8a5e8a5e20ab58e585a5f9d4270054285dba8c Sylvain BERTRAND 2023-07-05 23:14:01
gcc 12.2 won't build c++ threading all the time. d8560808bd62a198bc446153602c658141238c01 Sylvain BERTRAND 2023-07-02 16:56:10
Gfx stack update 50e5991a466541ebb88456918f6cc0bad7e1bfb8 Sylvain BERTRAND 2023-07-01 13:19:49
Commit 87e87e1667b52802e05cca455ef6d0fabc1e14db - Gfx stack update
AFAIK still the same issues not being fixed in radv.
Author: Sylvain BERTRAND
Author date (UTC): 2023-08-12 19:55
Committer name: Sylvain BERTRAND
Committer date (UTC): 2023-08-12 19:55
Parent(s): fbea1d2712d6ac940171c305a4365685ae4ea2b3
Signer:
Signing key:
Signing status: N
Tree: bbc7348eb5c1b773016d59a475416e1d7bae76f4
File Lines added Lines deleted
builders/ffmpeg-9c694804fd360bb012e3ec6f295b2bb8e61e6ae9/builder.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/builder.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/amd.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_aco.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_glsl.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_nir.sh 0 2
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri2.c.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri_util.c.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri_util.h.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/drm_helper.h.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/egl.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/egl_dri2.c.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/external_deps.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_auxiliary.sh 2 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_drivers.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_frontends.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_state_trackers.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_targets.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_winsys.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gbm.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gcc_binutils.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_amd.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_egl.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_gallium_auxiliary.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_gallium_frontends.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_glsl.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_mapi.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_mesa.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_nir.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_spirv.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_util.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/glx.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/loader.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/mapi.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/matypes.h.x86_64 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/mesa.sh 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pipe_loader.c.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/dri.pc.in 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/egl.pc.in 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/gbm.pc.in 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/gl.pc.in 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/si_pipe.c.patch 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/si_uvd.c 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/util.sh 0 2
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c 0 0
builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_linux_glibc_amdgpu.sh 0 0
builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1273
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/builder.sh 0 3
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/generators.sh 0 236
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1222
builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/builder.sh 0 3
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/builder.sh 0 3
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1242
builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/builder.sh 0 3
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/generators.sh 0 242
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1236
builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/builder.sh 0 3
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1246
builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/builder.sh 0 3
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/generators.sh 0 242
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1225
builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/builder.sh 0 3
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/generators.sh 0 244
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1239
builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/builder.sh 0 3
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/generators.sh 0 236
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1210
builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/builder.sh 0 3
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/generators.sh 0 244
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1240
builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/builder.sh 0 3
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1241
builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/builder.sh 0 3
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1247
builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/builder.sh 0 3
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/generators.sh 0 244
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1240
builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/builder.sh 0 3
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1245
builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/builder.sh 0 3
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1245
builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/builder.sh 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators.sh 5 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_device.c.patch 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_meta.c.patch 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_no_tracers.c 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.c 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.h 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c 0 0
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 8 5
builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/radeon_icd.x86_64.json 0 0
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/builder.sh 0 3
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/generators.sh 0 236
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1212
builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/builder.sh 0 3
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/radv_no_tracers.c 0 69
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1241
builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/builder.sh 0 3
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/generators.sh 0 236
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_no_tracers.c 0 67
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1215
builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/builder.sh 0 3
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1275
builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/radeon_icd.x86_64.json 0 7
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/builder.sh 0 3
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/generators.sh 0 254
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/radv_device.c.patch 0 13
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/radv_meta.c.patch 0 80
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/radv_no_tracers.c 0 72
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/vk_enum_to_str.c 0 21
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/vk_enum_to_str.h 0 7
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/vtn_opencl.c 0 16
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh 0 1275
builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/radeon_icd.x86_64.json 0 7
File builders/ffmpeg-9c694804fd360bb012e3ec6f295b2bb8e61e6ae9/builder.sh copied from file builders/ffmpeg-014c02d43bbf35113d5794e4708cb84179d0c9d3/builder.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/builder.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/builder.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/amd.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/amd.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/compiler.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_aco.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/compiler_aco.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_glsl.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/compiler_glsl.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/compiler_nir.sh copied from file builders/mesa-gl-amd-sh-5df97c27dc8cafbeb27a4ca084e83328a4d1a276/contrib/compiler_nir.sh (similarity 99%) (mode: 100644) (index 2fbbf6c..f675a2e)
... ... $src_dir/src/compiler/nir/nir_lower_tex.c \
113 113 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \ $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
114 114 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \ $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
115 115 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \ $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
116 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
117 116 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \ $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
118 117 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \ $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
119 118 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \ $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
120 119 $src_dir/src/compiler/nir/nir_lower_var_copies.c \ $src_dir/src/compiler/nir/nir_lower_var_copies.c \
121 120 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \ $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
122 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
123 121 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \ $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
124 122 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \ $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
125 123 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \ $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri2.c.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/dri2.c.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri_util.c.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/dri_util.c.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/dri_util.h.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/dri_util.h.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/drm_helper.h.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/drm_helper.h.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/egl.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/egl.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/egl_dri2.c.patch copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/egl_dri2.c.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/external_deps.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/external_deps.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_auxiliary.sh copied from file builders/mesa-gl-amd-sh-51cd2965c71986d904997c15981217a6270943c0/contrib/gallium_auxiliary.sh (similarity 99%) (mode: 100644) (index fab05a8..c3ce3ce)
... ... $src_dir/src/gallium/auxiliary/util/u_bitmask.c \
114 114 $src_dir/src/gallium/auxiliary/util/u_blitter.c \ $src_dir/src/gallium/auxiliary/util/u_blitter.c \
115 115 $src_dir/src/gallium/auxiliary/util/u_cache.c \ $src_dir/src/gallium/auxiliary/util/u_cache.c \
116 116 $src_dir/src/gallium/auxiliary/util/u_compute.c \ $src_dir/src/gallium/auxiliary/util/u_compute.c \
117 $src_dir/src/gallium/auxiliary/util/u_debug_describe.c \
117 118 $src_dir/src/gallium/auxiliary/util/u_debug_flush.c \ $src_dir/src/gallium/auxiliary/util/u_debug_flush.c \
118 119 $src_dir/src/gallium/auxiliary/util/u_debug_image.c \ $src_dir/src/gallium/auxiliary/util/u_debug_image.c \
120 $src_dir/src/gallium/auxiliary/util/u_debug_refcnt.c \
119 121 $src_dir/src/gallium/auxiliary/util/u_draw.c \ $src_dir/src/gallium/auxiliary/util/u_draw.c \
120 122 $src_dir/src/gallium/auxiliary/util/u_draw_quad.c \ $src_dir/src/gallium/auxiliary/util/u_draw_quad.c \
121 123 $src_dir/src/gallium/auxiliary/util/u_driconf.c \ $src_dir/src/gallium/auxiliary/util/u_driconf.c \
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_drivers.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium_drivers.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_frontends.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium_frontends.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_state_trackers.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium_state_trackers.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_targets.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium_targets.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gallium_winsys.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gallium_winsys.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gbm.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gbm.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/gcc_binutils.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/gcc_binutils.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_amd.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_amd.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_egl.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/generators_egl.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_gallium_auxiliary.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/generators_gallium_auxiliary.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_gallium_frontends.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_gallium_frontends.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_glsl.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_glsl.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_mapi.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_mapi.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_mesa.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_mesa.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_nir.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_nir.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_spirv.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_spirv.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators_util.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators_util.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/glx.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/glx.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/loader.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/loader.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/mapi.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/mapi.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/matypes.h.x86_64 copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/matypes.h.x86_64 (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/mesa.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/mesa.sh (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pipe_loader.c.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/pipe_loader.c.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/dri.pc.in copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/pkgconfig/dri.pc.in (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/egl.pc.in copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/pkgconfig/egl.pc.in (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/gbm.pc.in copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/pkgconfig/gbm.pc.in (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/pkgconfig/gl.pc.in copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/pkgconfig/gl.pc.in (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/si_pipe.c.patch copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/si_pipe.c.patch (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/si_uvd.c copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/si_uvd.c (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/util.sh copied from file builders/mesa-gl-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/util.sh (similarity 98%) (mode: 100644) (index 6709e69..bf2cd21)
... ... $src_dir/src/util/format/u_format_zs.c \
62 62 $src_dir/src/util/u_cpu_detect.c \ $src_dir/src/util/u_cpu_detect.c \
63 63 $src_dir/src/util/u_call_once.c \ $src_dir/src/util/u_call_once.c \
64 64 $src_dir/src/util/u_debug.c \ $src_dir/src/util/u_debug.c \
65 $src_dir/src/util/u_debug_describe.c \
66 $src_dir/src/util/u_debug_refcnt.c \
67 65 $src_dir/src/util/u_debug_stack.c \ $src_dir/src/util/u_debug_stack.c \
68 66 $src_dir/src/util/u_debug_symbol.c \ $src_dir/src/util/u_debug_symbol.c \
69 67 $src_dir/src/util/u_hash_table.c \ $src_dir/src/util/u_hash_table.c \
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/vtn_opencl.c (similarity 100%)
File builders/mesa-gl-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_linux_glibc_amdgpu.sh copied from file builders/mesa-gl-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/x86_64_linux_glibc_amdgpu.sh (similarity 100%)
File builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 246a5f3..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_buffer.c \
473 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
474 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
475 $build_dir/vk_cmd_enqueue_entrypoints.c \
476 $build_dir/vk_cmd_queue.c \
477 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
478 $src_dir/src/vulkan/runtime/vk_command_pool.c \
479 $build_dir/vk_common_entrypoints.c \
480 $src_dir/src/vulkan/runtime/vk_debug_report.c \
481 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
482 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
483 $src_dir/src/vulkan/runtime/vk_device_memory.c \
484 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
485 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
486 $src_dir/src/vulkan/runtime/vk_descriptors.c \
487 $src_dir/src/vulkan/runtime/vk_device.c \
488 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
489 $build_dir/vk_dispatch_trampolines.c \
490 $src_dir/src/vulkan/runtime/vk_fence.c \
491 $build_dir/vk_format_info.c \
492 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
493 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
494 $src_dir/src/vulkan/runtime/vk_image.c \
495 $src_dir/src/vulkan/runtime/vk_instance.c \
496 $src_dir/src/vulkan/runtime/vk_log.c \
497 $src_dir/src/vulkan/runtime/vk_nir.c \
498 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
499 $src_dir/src/vulkan/runtime/vk_object.c \
500 $src_dir/src/vulkan/runtime/vk_pipeline.c \
501 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
502 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
503 $src_dir/src/vulkan/runtime/vk_physical_device.c \
504 $build_dir/vk_physical_device_features.c \
505 $src_dir/src/vulkan/runtime/vk_queue.c \
506 $src_dir/src/vulkan/runtime/vk_render_pass.c \
507 $src_dir/src/vulkan/runtime/vk_sampler.c \
508 $src_dir/src/vulkan/runtime/vk_semaphore.c \
509 $src_dir/src/vulkan/runtime/vk_shader_module.c \
510 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
511 $src_dir/src/vulkan/runtime/vk_sync.c \
512 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
513 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
514 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
515 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
516 $src_dir/src/vulkan/runtime/vk_video.c \
517 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
518 "
519 for f in $libvulkan_runtime_files
520 do
521 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
522 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
523
524 $cc $cppflags $f -o $libvulkan_runtime_obj &
525 done
526 #===============================================================================
527 # wsi x11 (Window System Interface)
528 cppflags="\
529 $cppflags_common \
530 -I$build_dir/vulkan/util \
531 -I$build_dir \
532 -I$src_dir/src \
533 -I$src_dir/src/vulkan/util \
534 -I$src_dir/src/vulkan/runtime \
535 -I$src_dir/src/gallium/include \
536 -I$src_dir/include \
537 -I$src_dir/include/drm-uapi \
538 $libxcb_cppflags \
539 $libx11_cppflags \
540 $libxrandr_cppflags \
541 $libxrender_cppflags \
542 $xorgproto_cppflags \
543 $libxshmfence_cppflags \
544 $libdrm_cppflags \
545 "
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
547 -o $build_dir/wsi_common.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
549 -o $build_dir/wsi_common_drm.o &
550 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
551 -o $build_dir/wsi_common_x11.o &
552 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
553 -o $build_dir/wsi_common_display.o &
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
555 -o $build_dir/wsi_common_headless.o &
556 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
557 -o $build_dir/wsi_common_entrypoints.o &
558 libvulkan_wsi_a="\
559 $build_dir/wsi_common.o \
560 $build_dir/wsi_common_drm.o \
561 $build_dir/wsi_common_x11.o \
562 $build_dir/wsi_common_display.o \
563 $build_dir/wsi_common_headless.o \
564 $build_dir/wsi_common_entrypoints.o \
565 "
566 #===============================================================================
567 # amd common archive
568 cppflags="\
569 $cppflags_common \
570 -I$build_dir \
571 -I$src_dir/src/gallium/auxiliary \
572 -I$src_dir/src/gallium/include \
573 -I$build_dir/src/amd/common \
574 -I$src_dir/src/amd/common \
575 -I$src_dir/src/util \
576 -I$build_dir/src/amd \
577 -I$src_dir/src/amd \
578 -I$src_dir/src/compiler/nir \
579 -I$src_dir/src/compiler \
580 -I$src_dir/src/mesa \
581 -I$src_dir/src \
582 -I$src_dir/include \
583 -I$src_dir/include/drm-uapi \
584 $libdrm_cppflags \
585 $libdrm_amdgpu_cppflags \
586 $linux_drm_cppflags \
587 $libelf_cppflags \
588 "
589 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
590 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
591 #$src_dir/src/amd/common/ac_sqtt.c \
592 libamd_common_c_files="\
593 $src_dir/src/amd/common/ac_surface.c \
594 $src_dir/src/amd/common/ac_binary.c \
595 $src_dir/src/amd/common/ac_debug.c \
596 $src_dir/src/amd/common/amd_family.c \
597 $src_dir/src/amd/common/ac_gpu_info.c \
598 $src_dir/src/amd/common/ac_msgpack.c \
599 $src_dir/src/amd/common/ac_nir.c \
600 $src_dir/src/amd/common/ac_nir_cull.c \
601 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
602 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
603 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
604 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
605 $src_dir/src/amd/common/ac_nir_lower_ps.c \
606 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
607 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
608 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
609 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_tex.c \
611 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
612 $src_dir/src/amd/common/ac_perfcounter.c \
613 $src_dir/src/amd/common/ac_shader_args.c \
614 $src_dir/src/amd/common/ac_shader_util.c \
615 $src_dir/src/amd/common/ac_shadowed_regs.c \
616 $src_dir/src/amd/common/ac_rgp.c \
617 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
618 $src_dir/src/amd/common/ac_rtld.c \
619 $src_dir/src/amd/common/ac_spm.c \
620 "
621 for f in $libamd_common_c_files
622 do
623 libamd_common_c_obj=$build_dir/$(basename $f .c).o
624 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
625
626 $cc $cppflags $f -o $libamd_common_c_obj &
627 done
628 #===============================================================================
629 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
630 cppflags="\
631 $cppflags_common \
632 -DLITTLEENDIAN_CPU \
633 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
637 -I$src_dir/src/amd/addrlib/inc \
638 -I$src_dir/src/amd/addrlib/src/core \
639 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
640 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
641 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
642 -I$src_dir/src/amd/addrlib/src/chip/r800 \
643 -I$src_dir/src/amd/addrlib/src \
644 -I$src_dir/src \
645 -I$src_dir/include \
646 "
647 libamdgpu_addrlib_files="\
648 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
649 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
650 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
652 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
653 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
654 $src_dir/src/amd/addrlib/src/core/coord.cpp \
655 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
656 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
657 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
658 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
659 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
660 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
661 "
662 for f in $libamdgpu_addrlib_files
663 do
664 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
665 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
666
667 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
668 done
669 #===============================================================================
670 # libcompiler required by libnir
671 cppflags="\
672 $cppflags_common \
673 -I$build_dir \
674 -I$src_dir/src/gallium/auxiliary \
675 -I$src_dir/src/gallium/include \
676 -I$src_dir/src/mesa \
677 -I$src_dir/src \
678 -I$src_dir/include \
679 "
680 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
681 -o $build_dir/glsl_types.o &
682 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
683 -o $build_dir/nir_types.o &
684 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
685 -o $build_dir/shader_enums.o &
686 libcompiler_a="\
687 $build_dir/glsl_types.o \
688 $build_dir/nir_types.o \
689 $build_dir/shader_enums.o \
690 "
691 #===============================================================================
692 # libnir
693 cppflags="\
694 $cppflags_common \
695 -I$build_dir \
696 -I$src_dir/src/compiler/spirv \
697 -I$src_dir/src/compiler/nir \
698 -I$src_dir/src/compiler \
699 -I$src_dir/src/gallium/include \
700 -I$src_dir/src/mesa \
701 -I$src_dir/src \
702 -I$src_dir/include \
703 $xorgproto_cppflags \
704 $libxcb_cppflags \
705 $libx11_cppflags \
706 $libxrender_cppflags \
707 $libxrandr_cppflags \
708 "
709 libnir_files="\
710 $build_dir/spirv_info.c \
711 $build_dir/vtn_gather_types.c \
712 $build_dir/nir_intrinsics.c \
713 $build_dir/nir_opcodes.c \
714 $build_dir/nir_opt_algebraic.c \
715 $build_dir/nir_constant_expressions.c \
716 \
717 $src_dir/src/compiler/spirv/gl_spirv.c \
718 $src_dir/src/compiler/spirv/spirv_to_nir.c \
719 $src_dir/src/compiler/spirv/vtn_alu.c \
720 $src_dir/src/compiler/spirv/vtn_amd.c \
721 $src_dir/src/compiler/spirv/vtn_cfg.c \
722 $src_dir/src/compiler/spirv/vtn_glsl450.c \
723 $src_dir/contrib/vtn_opencl.c \
724 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
725 $src_dir/src/compiler/spirv/vtn_subgroup.c \
726 $src_dir/src/compiler/spirv/vtn_variables.c \
727 \
728 $src_dir/src/compiler/nir/nir.c \
729 $src_dir/src/compiler/nir/nir_builder.c \
730 $src_dir/src/compiler/nir/nir_builtin_builder.c \
731 $src_dir/src/compiler/nir/nir_clone.c \
732 $src_dir/src/compiler/nir/nir_control_flow.c \
733 $src_dir/src/compiler/nir/nir_deref.c \
734 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
735 $src_dir/src/compiler/nir/nir_dominance.c \
736 $src_dir/src/compiler/nir/nir_from_ssa.c \
737 $src_dir/src/compiler/nir/nir_gather_info.c \
738 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
739 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
740 $src_dir/src/compiler/nir/nir_group_loads.c \
741 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
742 $src_dir/src/compiler/nir/nir_inline_functions.c \
743 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
744 $src_dir/src/compiler/nir/nir_instr_set.c \
745 $src_dir/src/compiler/nir/nir_linking_helpers.c \
746 $src_dir/src/compiler/nir/nir_liveness.c \
747 $src_dir/src/compiler/nir/nir_loop_analyze.c \
748 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
749 $src_dir/src/compiler/nir/nir_lower_alu.c \
750 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
751 $src_dir/src/compiler/nir/nir_lower_amul.c \
752 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
753 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
754 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
755 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
756 $src_dir/src/compiler/nir/nir_lower_blend.c \
757 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
758 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
759 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
760 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
761 $src_dir/src/compiler/nir/nir_lower_clip.c \
762 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
763 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
764 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
765 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
766 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
767 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
768 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
769 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
770 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
771 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
772 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
773 $src_dir/src/compiler/nir/nir_lower_flrp.c \
774 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
775 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
776 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
777 $src_dir/src/compiler/nir/nir_lower_frexp.c \
778 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
779 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
780 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
781 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
782 $src_dir/src/compiler/nir/nir_lower_idiv.c \
783 $src_dir/src/compiler/nir/nir_lower_image.c \
784 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
785 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
786 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
787 $src_dir/src/compiler/nir/nir_lower_int64.c \
788 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
789 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
790 $src_dir/src/compiler/nir/nir_lower_io.c \
791 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
792 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
793 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
794 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
795 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
796 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
797 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
798 $src_dir/src/compiler/nir/nir_lower_mediump.c \
799 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
800 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
801 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
802 $src_dir/src/compiler/nir/nir_lower_multiview.c \
803 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
804 $src_dir/src/compiler/nir/nir_lower_packing.c \
805 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
806 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
807 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
808 $src_dir/src/compiler/nir/nir_lower_point_size.c \
809 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
810 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
811 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
812 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
813 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
814 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
815 $src_dir/src/compiler/nir/nir_lower_returns.c \
816 $src_dir/src/compiler/nir/nir_lower_samplers.c \
817 $src_dir/src/compiler/nir/nir_lower_scratch.c \
818 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
819 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
820 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
821 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
822 $src_dir/src/compiler/nir/nir_lower_system_values.c \
823 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
824 $src_dir/src/compiler/nir/nir_lower_tex.c \
825 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
826 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
827 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
828 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
829 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
830 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
831 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
832 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
833 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
834 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
835 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
836 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
837 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
838 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
839 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
840 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
841 $src_dir/src/compiler/nir/nir_metadata.c \
842 $src_dir/src/compiler/nir/nir_mod_analysis.c \
843 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
844 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
845 $src_dir/src/compiler/nir/nir_opt_access.c \
846 $src_dir/src/compiler/nir/nir_opt_barriers.c \
847 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
848 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
849 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
850 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
851 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
852 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
853 $src_dir/src/compiler/nir/nir_opt_cse.c \
854 $src_dir/src/compiler/nir/nir_opt_dce.c \
855 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
856 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
857 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
858 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
859 $src_dir/src/compiler/nir/nir_opt_gcm.c \
860 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
861 $src_dir/src/compiler/nir/nir_opt_if.c \
862 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
863 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
864 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
865 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
866 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
867 $src_dir/src/compiler/nir/nir_opt_move.c \
868 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
869 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
870 $src_dir/src/compiler/nir/nir_opt_offsets.c \
871 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
872 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
873 $src_dir/src/compiler/nir/nir_opt_preamble.c \
874 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
875 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
876 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
877 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
878 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
879 $src_dir/src/compiler/nir/nir_opt_sink.c \
880 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
881 $src_dir/src/compiler/nir/nir_opt_undef.c \
882 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
883 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
884 $src_dir/src/compiler/nir/nir_phi_builder.c \
885 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
886 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
887 $src_dir/src/compiler/nir/nir_print.c \
888 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
889 $src_dir/src/compiler/nir/nir_range_analysis.c \
890 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
891 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
892 $src_dir/src/compiler/nir/nir_repair_ssa.c \
893 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
894 $src_dir/src/compiler/nir/nir_schedule.c \
895 $src_dir/src/compiler/nir/nir_search.c \
896 $src_dir/src/compiler/nir/nir_serialize.c \
897 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
898 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
899 $src_dir/src/compiler/nir/nir_split_var_copies.c \
900 $src_dir/src/compiler/nir/nir_split_vars.c \
901 $src_dir/src/compiler/nir/nir_sweep.c \
902 $src_dir/src/compiler/nir/nir_to_lcssa.c \
903 $src_dir/src/compiler/nir/nir_validate.c \
904 $src_dir/src/compiler/nir/nir_worklist.c \
905 "
906 for f in $libnir_files
907 do
908 libnir_obj=$build_dir/$(basename $f .c).o
909 libnir_a="$libnir_a $libnir_obj"
910
911 $cc $cppflags $f -o $libnir_obj &
912 done
913 #===============================================================================
914 # libaco
915 # we don't use cppflags_common for aco because the code is not yet
916 # compatible
917 cppflags="\
918 $gcc_builtins_cppflags \
919 $gcc_attributes_cppflags \
920 $linux_glibc_cppflags \
921 $mesa_cppflags \
922 -I$build_dir \
923 -I$src_dir/src/amd/compiler \
924 -I$src_dir/src/amd/vulkan \
925 -I$build_dir/src/amd/common \
926 -I$src_dir/src/amd/common \
927 -I$build_dir/src/amd \
928 -I$src_dir/src/amd \
929 -I$src_dir/src/compiler/nir \
930 -I$src_dir/src/compiler \
931 -I$src_dir/src/mesa \
932 -I$src_dir/src/gallium/include \
933 -I$src_dir/src \
934 -I$src_dir/include \
935 "
936 libaco_files="\
937 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
938 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
939 $src_dir/src/amd/compiler/aco_dominance.cpp \
940 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
941 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
942 $src_dir/src/amd/compiler/aco_interface.cpp \
943 $src_dir/src/amd/compiler/aco_assembler.cpp \
944 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
945 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
946 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
947 $src_dir/src/amd/compiler/aco_ir.cpp \
948 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
949 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
950 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
951 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
952 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
953 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
954 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
955 $build_dir/aco_opcodes.cpp \
956 $src_dir/src/amd/compiler/aco_optimizer.cpp \
957 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
958 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
959 $src_dir/src/amd/compiler/aco_print_asm.cpp \
960 $src_dir/src/amd/compiler/aco_print_ir.cpp \
961 $src_dir/src/amd/compiler/aco_scheduler.cpp \
962 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
963 $src_dir/src/amd/compiler/aco_spill.cpp \
964 $src_dir/src/amd/compiler/aco_statistics.cpp \
965 $src_dir/src/amd/compiler/aco_validate.cpp \
966 "
967 for f in $libaco_files
968 do
969 libaco_obj=$build_dir/$(basename $f .c).o
970 libaco_a="$libaco_a $libaco_obj"
971
972 $cxx $cppflags $f -o $libaco_obj &
973 done
974 #===============================================================================
975 # libmesautils
976 cppflags="\
977 $cppflags_common \
978 -I$build_dir/src/util/format \
979 -I$build_dir/src \
980 -I$build_dir \
981 -I$src_dir/src/gallium/auxiliary \
982 -I$src_dir/src/gallium/include \
983 -I$src_dir/src/mesa \
984 -I$src_dir/src/util/blake3 \
985 -I$src_dir/src/util/format \
986 -I$src_dir/src/util \
987 -I$src_dir/src \
988 -I$src_dir/include \
989 $zlib_cppflags \
990 "
991 libmesautil_files="\
992 $build_dir/format_srgb.c \
993 $build_dir/u_format_table.c \
994 $src_dir/src/util/anon_file.c \
995 $src_dir/src/util/bitscan.c \
996 $src_dir/src/util/blake3/blake3.c \
997 $src_dir/src/util/blake3/blake3_dispatch.c \
998 $src_dir/src/util/blake3/blake3_portable.c \
999 $src_dir/src/util/blob.c \
1000 $src_dir/src/util/build_id.c \
1001 $src_dir/src/util/compress.c \
1002 $src_dir/src/util/crc32.c \
1003 $src_dir/src/util/dag.c \
1004 $src_dir/src/util/disk_cache.c \
1005 $src_dir/src/util/disk_cache_os.c \
1006 $src_dir/src/util/double.c \
1007 $src_dir/src/util/fast_idiv_by_const.c \
1008 $src_dir/src/util/fossilize_db.c \
1009 $src_dir/src/util/futex.c \
1010 $src_dir/src/util/half_float.c \
1011 $src_dir/src/util/hash_table.c \
1012 $src_dir/src/util/log.c \
1013 $src_dir/src/util/mesa-blake3.c \
1014 $src_dir/src/util/mesa-sha1.c \
1015 $src_dir/src/util/mesa_cache_db.c \
1016 $src_dir/src/util/mesa_cache_db_multipart.c \
1017 $src_dir/src/util/memstream.c \
1018 $src_dir/src/util/os_file.c \
1019 $src_dir/src/util/os_memory_fd.c \
1020 $src_dir/src/util/os_misc.c \
1021 $src_dir/src/util/os_socket.c \
1022 $src_dir/src/util/os_time.c \
1023 $src_dir/src/util/sha1/sha1.c \
1024 $src_dir/src/util/ralloc.c \
1025 $src_dir/src/util/rand_xor.c \
1026 $src_dir/src/util/rb_tree.c \
1027 $src_dir/src/util/register_allocate.c \
1028 $src_dir/src/util/rgtc.c \
1029 $src_dir/src/util/rwlock.c \
1030 $src_dir/src/util/set.c \
1031 $src_dir/src/util/simple_mtx.c \
1032 $src_dir/src/util/slab.c \
1033 $src_dir/src/util/softfloat.c \
1034 $src_dir/src/util/sparse_array.c \
1035 $src_dir/src/util/string_buffer.c \
1036 $src_dir/src/util/strtod.c \
1037 $src_dir/src/util/u_atomic.c \
1038 $src_dir/src/util/u_call_once.c \
1039 $src_dir/src/util/u_cpu_detect.c \
1040 $src_dir/src/util/u_debug.c \
1041 $src_dir/src/util/u_debug_describe.c \
1042 $src_dir/src/util/u_debug_refcnt.c \
1043 $src_dir/src/util/u_debug_stack.c \
1044 $src_dir/src/util/u_debug_symbol.c \
1045 $src_dir/src/util/u_dl.c \
1046 $src_dir/src/util/u_dynarray.c \
1047 $src_dir/src/util/u_hash_table.c \
1048 $src_dir/src/util/u_printf.c \
1049 $src_dir/src/util/format/u_format.c \
1050 $src_dir/src/util/format/u_format_bptc.c \
1051 $src_dir/src/util/format/u_format_etc.c \
1052 $src_dir/src/util/format/u_format_fxt1.c \
1053 $src_dir/src/util/format/u_format_latc.c \
1054 $src_dir/src/util/format/u_format_other.c \
1055 $src_dir/src/util/format/u_format_rgtc.c \
1056 $src_dir/src/util/format/u_format_s3tc.c \
1057 $src_dir/src/util/format/u_format_tests.c \
1058 $src_dir/src/util/format/u_format_yuv.c \
1059 $src_dir/src/util/format/u_format_zs.c \
1060 $src_dir/src/util/u_idalloc.c \
1061 $src_dir/src/util/u_math.c \
1062 $src_dir/src/util/u_mm.c \
1063 $src_dir/src/util/u_process.c \
1064 $src_dir/src/util/u_queue.c \
1065 $src_dir/src/util/u_thread.c \
1066 $src_dir/src/util/u_vector.c \
1067 $src_dir/src/util/u_worklist.c \
1068 $src_dir/src/util/vma.c \
1069 \
1070 $src_dir/src/c11/impl/time.c \
1071 $src_dir/src/c11/impl/threads_posix.c \
1072 "
1073 for f in $libmesautil_files
1074 do
1075 libmesautil_obj=$build_dir/$(basename $f .c).o
1076 libmesautil_a="$libmesautil_a $libmesautil_obj"
1077
1078 $cc $cppflags $f -o $libmesautil_obj &
1079 done
1080 #-------------------------------------------------------------------------------
1081 # The following is for the ultra complex blake3 hash algorithm.
1082 libmesautil_asm_files="\
1083 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1084 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1085 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1086 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1087 "
1088 for f in $libmesautil_asm_files
1089 do
1090 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1091 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1092 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1093
1094 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1095 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1096 done
1097 #===============================================================================
1098 # amd vulkan
1099 cppflags="\
1100 $cppflags_common \
1101 -DPACKAGE_VERSION=\"$version\" \
1102 -I$build_dir/vulkan/util \
1103 -I$build_dir/src/util \
1104 -I$build_dir \
1105 -I$src_dir/src/amd/compiler \
1106 -I$build_dir/src/amd/common \
1107 -I$src_dir/src/amd/common \
1108 -I$src_dir/src/amd/vulkan/nir \
1109 -I$src_dir/src/amd/vulkan/meta \
1110 -I$src_dir/src/amd/vulkan \
1111 -I$src_dir/src/amd \
1112 -I$src_dir/src/gallium/auxiliary \
1113 -I$src_dir/src/gallium/include \
1114 -I$src_dir/src/vulkan/util \
1115 -I$src_dir/src/vulkan/runtime \
1116 -I$src_dir/src/vulkan/wsi \
1117 -I$src_dir/src/util \
1118 -I$src_dir/src/mesa \
1119 -I$src_dir/src/compiler/nir \
1120 -I$src_dir/src/compiler \
1121 -I$src_dir/src \
1122 -I$src_dir/include \
1123 $libdrm_cppflags \
1124 $libdrm_amdgpu_cppflags \
1125 $libx11_cppflags \
1126 $libxrandr_cppflags \
1127 $libxrender_cppflags \
1128 $libxcb_cppflags \
1129 $xorgproto_cppflags \
1130 $libxshmfence_cppflags \
1131 "
1132 #$build_dir/radv_extensions.c
1133 #$build_dir/vk_format_table.c
1134 # XXX: remove rt for now
1135 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1136 libvulkan_amd_common_files="\
1137 $src_dir/src/amd/vulkan/radv_android.c \
1138 $src_dir/src/amd/vulkan/radv_buffer.c \
1139 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1140 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1141 $src_dir/src/amd/vulkan/radv_debug.c \
1142 $build_dir/src/amd/vulkan/radv_device.c \
1143 $src_dir/src/amd/vulkan/radv_device_memory.c \
1144 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1145 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1146 $src_dir/src/amd/vulkan/radv_event.c \
1147 $src_dir/src/amd/vulkan/radv_formats.c \
1148 $src_dir/src/amd/vulkan/radv_image.c \
1149 $src_dir/src/amd/vulkan/radv_instance.c \
1150 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1151 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1152 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1153 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1154 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1155 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1156 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1157 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1158 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1159 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1160 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1161 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1162 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1163 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1167 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1168 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1169 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1170 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1171 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1172 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1173 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1174 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1175 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1176 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1177 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1178 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1179 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1180 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1181 $src_dir/src/amd/vulkan/radv_physical_device.c \
1182 $src_dir/src/amd/vulkan/radv_pipeline.c \
1183 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1184 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1185 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1186 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1187 $src_dir/src/amd/vulkan/radv_queue.c \
1188 $src_dir/src/amd/vulkan/radv_rt_common.c \
1189 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1190 $src_dir/src/amd/vulkan/radv_sampler.c \
1191 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1192 $src_dir/src/amd/vulkan/radv_shader.c \
1193 $src_dir/src/amd/vulkan/radv_shader_args.c \
1194 $src_dir/src/amd/vulkan/radv_shader_info.c \
1195 $src_dir/src/amd/vulkan/radv_spm.c \
1196 $src_dir/src/amd/vulkan/radv_query.c \
1197 $src_dir/src/amd/vulkan/radv_video.c \
1198 $src_dir/src/amd/vulkan/radv_wsi.c \
1199 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1200 \
1201 $build_dir/gfx10_format_table.c \
1202 \
1203 $build_dir/radv_entrypoints.c \
1204 \
1205 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1206 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1207 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1208 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1209 \
1210 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1211 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1212 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1213 \
1214 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1215 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1216 \
1217 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1218 "
1219
1220 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1221
1222 for f in $libvulkan_amd_common_files
1223 do
1224 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1225 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1226
1227 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1228 done
1229 libvulkan_amd_common_a="\
1230 $libvulkan_amd_common_a \
1231 $build_dir/xmlconfig.o"
1232 #===============================================================================
1233 # create the radeon vulkan driver
1234 soname=libvulkan_radeon.so
1235
1236 # XXX:the attempt to generalize without kludge the link stage of real programs
1237 # build is near a total and complete failure
1238 if test "${driver_link_cmd-unset}" = unset ; then
1239 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1240 -shared -static-libgcc -static-libstdc++ \
1241 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1242 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1243 -Wl,--whole-archive -Wl,--start-group \
1244 $libaco_a \
1245 $libvulkan_amd_common_a \
1246 $libvulkan_util_a \
1247 $libvulkan_runtime_a \
1248 $libvulkan_wsi_a \
1249 $libamd_common_a \
1250 $libamdgpu_addrlib_a \
1251 $libcompiler_a \
1252 $libnir_a \
1253 $libmesautil_a \
1254 -Wl,--end-group -Wl,--no-whole-archive \
1255 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1256 $zlib_ldflags \
1257 $expat_ldflags \
1258 $libelf_ldflags \
1259 -Wl,--as-needed \
1260 $libdrm_ldflags \
1261 $libdrm_amdgpu_ldflags \
1262 $libx11_ldflags \
1263 $libxrandr_ldflags \
1264 $libxrender_ldflags \
1265 $libxcb_ldflags \
1266 $libxshmfence_ldflags \
1267 -lpthread \
1268 -ldl \
1269 -Wl,--no-as-needed"
1270 fi
1271 wait
1272 eval $driver_link_cmd
1273 #===============================================================================
File builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/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-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/generators.sh deleted (index 526b3bf..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
16 cp -f $src_dir/src/amd/vulkan/radv_meta.c $build_dir/src/amd/vulkan
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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
40 --xml $vulkan_api_xml \
41 --out-c vk_extensions.c \
42 --out-h vk_extensions.h &
43
44 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
45 >$build_dir/nir_builder_opcodes.h &
46
47 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
48 >$build_dir/nir_opcodes.h &
49
50 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
51 --outdir $build_dir &
52
53 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
54 --outdir $build_dir &
55 unset PYTHONPATH
56 #===============================================================================
57 # vulkan runtime
58 export PYTHONPATH=$mako
59 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
60 --xml $vulkan_api_xml \
61 --proto --weak \
62 --out-h vk_common_entrypoints.h \
63 --out-c vk_common_entrypoints.c \
64 --prefix vk_common &
65 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
66 --xml $vulkan_api_xml \
67 --proto --weak \
68 --out-h vk_cmd_enqueue_entrypoints.h \
69 --out-c vk_cmd_enqueue_entrypoints.c \
70 --prefix vk_cmd_enqueue &
71 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
72 --xml $vulkan_api_xml \
73 --out-h vk_cmd_queue.h \
74 --out-c vk_cmd_queue.c &
75 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
76 --xml $vulkan_api_xml \
77 --out-h vk_dispatch_trampolines.h \
78 --out-c vk_dispatch_trampolines.c &
79 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
80 --xml $vulkan_api_xml \
81 --out-c vk_physical_device_features.c &
82 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
83 --xml $vulkan_api_xml \
84 --out-h vk_format_info.h \
85 --out-c vk_format_info.c &
86 unset PYTHONPATH
87 #===============================================================================
88 # wsi x11 (Window System Interface)
89 export PYTHONPATH=$mako
90 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
91 --xml $vulkan_api_xml \
92 --proto --weak \
93 --out-h wsi_common_entrypoints.h \
94 --out-c wsi_common_entrypoints.c \
95 --prefix wsi &
96 unset PYTHONPATH
97 #===============================================================================
98 # amd common archive
99 $python3 $src_dir/src/amd/common/sid_tables.py \
100 $src_dir/src/amd/common/sid.h \
101 $src_dir/src/amd/registers/gfx6.json \
102 $src_dir/src/amd/registers/gfx7.json \
103 $src_dir/src/amd/registers/gfx8.json \
104 $src_dir/src/amd/registers/gfx81.json \
105 $src_dir/src/amd/registers/gfx9.json \
106 $src_dir/src/amd/registers/gfx10.json \
107 $src_dir/src/amd/registers/gfx10-rsrc.json \
108 $src_dir/src/amd/registers/gfx103.json \
109 $src_dir/src/amd/registers/gfx11.json \
110 $src_dir/src/amd/registers/gfx11-rsrc.json \
111 $src_dir/src/amd/registers/pkt3.json \
112 $src_dir/src/amd/registers/registers-manually-defined.json \
113 >$build_dir/sid_tables.h &
114 mkdir -p $build_dir/src/amd/common
115 $python3 $src_dir/src/amd/registers/makeregheader.py \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx10.json \
122 $src_dir/src/amd/registers/gfx10-rsrc.json \
123 $src_dir/src/amd/registers/gfx11.json \
124 $src_dir/src/amd/registers/gfx11-rsrc.json \
125 $src_dir/src/amd/registers/gfx103.json \
126 $src_dir/src/amd/registers/pkt3.json \
127 $src_dir/src/amd/registers/registers-manually-defined.json \
128 --sort address \
129 --guard AMDGFXREGS_H \
130 >$build_dir/src/amd/common/amdgfxregs.h &
131 #===============================================================================
132 # libcompiler required by libnir
133 export PYTHONPATH=$mako
134 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
135 >$build_dir/ir_expression_operation.h &
136 unset PYTHONPATH
137 #===============================================================================
138 # libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
141 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
142 $build_dir/spirv_info.c &
143
144 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
145 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
146 $build_dir/vtn_gather_types.c &
147
148 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
149 $src_dir/src/compiler/spirv/spir-v.xml \
150 $build_dir/vtn_generator_ids.h &
151 # nir generated files
152 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
153 >$build_dir/nir_constant_expressions.c &
154
155 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
156 >$build_dir/nir_opt_algebraic.c &
157
158 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
159 >$build_dir/nir_opcodes.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
162 --outdir $build_dir &
163 unset PYTHONPATH
164 #===============================================================================
165 # libaco
166 export PYTHONPATH=$mako
167 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
168 >$build_dir/aco_opcodes.h &
169 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
170 >$build_dir/aco_opcodes.cpp &
171 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
172 >$build_dir/aco_builder.h &
173 unset PYTHONPATH
174 #===============================================================================
175 # libmesautils
176 mkdir -p $build_dir/src/util
177
178 export PYTHONPATH=$mako
179 $python3 $src_dir/src/util/format_srgb.py \
180 >$build_dir/format_srgb.c
181
182 $python3 $src_dir/src/util/format/u_format_table.py \
183 $src_dir/src/util/format/u_format.csv \
184 >$build_dir/u_format_table.c
185
186 # wow, really?
187 mkdir -p $build_dir/src/util/format
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 --header \
190 $src_dir/src/util/format/u_format.csv \
191 >$build_dir/src/util/format/u_format_pack.h
192
193 # oooof!
194 $python3 $src_dir/src/util/driconf_static.py \
195 $src_dir/src/util/00-mesa-defaults.conf \
196 $build_dir/src/util/driconf_static.h
197 unset PYTHONPATH
198 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
199 #===============================================================================
200 # amd vulkan
201 export PYTHONPATH=$mako
202 #------------------------------------------------------------------------------
203 # specific API to work around _still maintained at the time of writing _ game
204 # executable... this is the beginning of the end...
205 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
206 --xml $vulkan_api_xml \
207 --proto --weak \
208 --out-h radv_entrypoints.h \
209 --out-c radv_entrypoints.c \
210 --prefix radv \
211 --device-prefix metro_exodus \
212 --device-prefix rage2 &
213 #------------------------------------------------------------------------------
214 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
215 # --xml $vulkan_api_xml \
216 # --out-c radv_extensions.c \
217 # --out-h radv_extensions.h &
218 #------------------------------------------------------------------------------
219 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
220 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
221 # >$build_dir/vk_format_table.c &
222 #------------------------------------------------------------------------------
223 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
224 $src_dir/src/util/format/u_format.csv \
225 $src_dir/src/amd/registers/gfx10-rsrc.json \
226 $src_dir/src/amd/registers/gfx11-rsrc.json \
227 >$build_dir/gfx10_format_table.c &
228 #------------------------------------------------------------------------------
229 git_sha1=no_git_sha1_available
230 if test -d $src_dir/.git; then
231 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
232 fi
233 echo git_sha1=$git_sha1
234 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
235 unset PYTHONPATH
236 #===============================================================================
File builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/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-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/radv_meta.c.patch deleted (index ac6777c..0000000)
1 --- a/src/amd/vulkan/radv_meta.c
2 +++ b/src/amd/vulkan/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-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/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-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/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-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 787a009..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/python3/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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
481 $src_dir/src/vulkan/runtime/vk_descriptors.c \
482 $src_dir/src/vulkan/runtime/vk_device.c \
483 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
484 $build_dir/vk_dispatch_trampolines.c \
485 $src_dir/src/vulkan/runtime/vk_fence.c \
486 $build_dir/vk_format_info.c \
487 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
488 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
489 $src_dir/src/vulkan/runtime/vk_image.c \
490 $src_dir/src/vulkan/runtime/vk_instance.c \
491 $src_dir/src/vulkan/runtime/vk_log.c \
492 $src_dir/src/vulkan/runtime/vk_nir.c \
493 $src_dir/src/vulkan/runtime/vk_object.c \
494 $src_dir/src/vulkan/runtime/vk_pipeline.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
497 $src_dir/src/vulkan/runtime/vk_physical_device.c \
498 $build_dir/vk_physical_device_features.c \
499 $src_dir/src/vulkan/runtime/vk_queue.c \
500 $src_dir/src/vulkan/runtime/vk_render_pass.c \
501 $src_dir/src/vulkan/runtime/vk_sampler.c \
502 $src_dir/src/vulkan/runtime/vk_semaphore.c \
503 $src_dir/src/vulkan/runtime/vk_shader_module.c \
504 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
505 $src_dir/src/vulkan/runtime/vk_sync.c \
506 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
507 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
508 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
509 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
510 $src_dir/src/vulkan/runtime/vk_video.c \
511 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
512 "
513 for f in $libvulkan_runtime_files
514 do
515 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
516 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
517
518 $cc $cppflags $f -o $libvulkan_runtime_obj &
519 done
520 #===============================================================================
521 # wsi x11 (Window System Interface)
522 cppflags="\
523 $cppflags_common \
524 -I$build_dir/vulkan/util \
525 -I$build_dir \
526 -I$src_dir/src \
527 -I$src_dir/src/vulkan/util \
528 -I$src_dir/src/vulkan/runtime \
529 -I$src_dir/src/gallium/include \
530 -I$src_dir/include \
531 -I$src_dir/include/drm-uapi \
532 $libxcb_cppflags \
533 $libx11_cppflags \
534 $libxrandr_cppflags \
535 $libxrender_cppflags \
536 $xorgproto_cppflags \
537 $libxshmfence_cppflags \
538 $libdrm_cppflags \
539 "
540 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
541 -o $build_dir/wsi_common.o &
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
543 -o $build_dir/wsi_common_drm.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
545 -o $build_dir/wsi_common_x11.o &
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
547 -o $build_dir/wsi_common_display.o &
548 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
549 -o $build_dir/wsi_common_entrypoints.o &
550 libvulkan_wsi_a="\
551 $build_dir/wsi_common.o \
552 $build_dir/wsi_common_drm.o \
553 $build_dir/wsi_common_x11.o \
554 $build_dir/wsi_common_display.o \
555 $build_dir/wsi_common_entrypoints.o \
556 "
557 #===============================================================================
558 # amd common archive
559 cppflags="\
560 $cppflags_common \
561 -I$build_dir \
562 -I$src_dir/src/gallium/auxiliary \
563 -I$src_dir/src/gallium/include \
564 -I$build_dir/src/amd/common \
565 -I$src_dir/src/amd/common \
566 -I$src_dir/src/util \
567 -I$build_dir/src/amd \
568 -I$src_dir/src/amd \
569 -I$src_dir/src/compiler/nir \
570 -I$src_dir/src/compiler \
571 -I$src_dir/src/mesa \
572 -I$src_dir/src \
573 -I$src_dir/include \
574 -I$src_dir/include/drm-uapi \
575 $libdrm_cppflags \
576 $libdrm_amdgpu_cppflags \
577 $linux_drm_cppflags \
578 $libelf_cppflags \
579 "
580 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
581 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
582 #$src_dir/src/amd/common/ac_sqtt.c \
583 libamd_common_c_files="\
584 $src_dir/src/amd/common/ac_surface.c \
585 $src_dir/src/amd/common/ac_binary.c \
586 $src_dir/src/amd/common/ac_debug.c \
587 $src_dir/src/amd/common/amd_family.c \
588 $src_dir/src/amd/common/ac_gpu_info.c \
589 $src_dir/src/amd/common/ac_msgpack.c \
590 $src_dir/src/amd/common/ac_nir.c \
591 $src_dir/src/amd/common/ac_nir_cull.c \
592 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
593 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
594 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
595 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
596 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
597 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
598 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
599 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
600 $src_dir/src/amd/common/ac_perfcounter.c \
601 $src_dir/src/amd/common/ac_shader_args.c \
602 $src_dir/src/amd/common/ac_shader_util.c \
603 $src_dir/src/amd/common/ac_shadowed_regs.c \
604 $src_dir/src/amd/common/ac_rgp.c \
605 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
606 $src_dir/src/amd/common/ac_rtld.c \
607 $src_dir/src/amd/common/ac_spm.c \
608 "
609 for f in $libamd_common_c_files
610 do
611 libamd_common_c_obj=$build_dir/$(basename $f .c).o
612 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
613
614 $cc $cppflags $f -o $libamd_common_c_obj &
615 done
616 #===============================================================================
617 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
618 cppflags="\
619 $cppflags_common \
620 -DLITTLEENDIAN_CPU \
621 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
622 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
623 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
624 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
625 -I$src_dir/src/amd/addrlib/inc \
626 -I$src_dir/src/amd/addrlib/src/core \
627 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/src/chip/r800 \
631 -I$src_dir/src/amd/addrlib/src \
632 -I$src_dir/src \
633 -I$src_dir/include \
634 "
635 libamdgpu_addrlib_files="\
636 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
637 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
638 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
639 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
640 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
641 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
642 $src_dir/src/amd/addrlib/src/core/coord.cpp \
643 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
644 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
646 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
647 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
648 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
649 "
650 for f in $libamdgpu_addrlib_files
651 do
652 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
653 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
654
655 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
656 done
657 #===============================================================================
658 # libcompiler required by libnir
659 cppflags="\
660 $cppflags_common \
661 -I$build_dir \
662 -I$src_dir/src/gallium/auxiliary \
663 -I$src_dir/src/gallium/include \
664 -I$src_dir/src/mesa \
665 -I$src_dir/src \
666 -I$src_dir/include \
667 "
668 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
669 -o $build_dir/glsl_types.o &
670 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
671 -o $build_dir/nir_types.o &
672 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
673 -o $build_dir/shader_enums.o &
674 libcompiler_a="\
675 $build_dir/glsl_types.o \
676 $build_dir/nir_types.o \
677 $build_dir/shader_enums.o \
678 "
679 #===============================================================================
680 # libnir
681 cppflags="\
682 $cppflags_common \
683 -I$build_dir \
684 -I$src_dir/src/compiler/spirv \
685 -I$src_dir/src/compiler/nir \
686 -I$src_dir/src/compiler \
687 -I$src_dir/src/gallium/include \
688 -I$src_dir/src/mesa \
689 -I$src_dir/src \
690 -I$src_dir/include \
691 $xorgproto_cppflags \
692 $libxcb_cppflags \
693 $libx11_cppflags \
694 $libxrender_cppflags \
695 $libxrandr_cppflags \
696 "
697 libnir_files="\
698 $build_dir/spirv_info.c \
699 $build_dir/vtn_gather_types.c \
700 $build_dir/nir_intrinsics.c \
701 $build_dir/nir_opcodes.c \
702 $build_dir/nir_opt_algebraic.c \
703 $build_dir/nir_constant_expressions.c \
704 \
705 $src_dir/src/compiler/spirv/gl_spirv.c \
706 $src_dir/src/compiler/spirv/spirv_to_nir.c \
707 $src_dir/src/compiler/spirv/vtn_alu.c \
708 $src_dir/src/compiler/spirv/vtn_amd.c \
709 $src_dir/src/compiler/spirv/vtn_cfg.c \
710 $src_dir/src/compiler/spirv/vtn_glsl450.c \
711 $src_dir/contrib/vtn_opencl.c \
712 $src_dir/src/compiler/spirv/vtn_subgroup.c \
713 $src_dir/src/compiler/spirv/vtn_variables.c \
714 \
715 $src_dir/src/compiler/nir/nir.c \
716 $src_dir/src/compiler/nir/nir_builder.c \
717 $src_dir/src/compiler/nir/nir_builtin_builder.c \
718 $src_dir/src/compiler/nir/nir_clone.c \
719 $src_dir/src/compiler/nir/nir_control_flow.c \
720 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
721 $src_dir/src/compiler/nir/nir_deref.c \
722 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
723 $src_dir/src/compiler/nir/nir_dominance.c \
724 $src_dir/src/compiler/nir/nir_from_ssa.c \
725 $src_dir/src/compiler/nir/nir_gather_info.c \
726 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
727 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
728 $src_dir/src/compiler/nir/nir_group_loads.c \
729 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
730 $src_dir/src/compiler/nir/nir_inline_functions.c \
731 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
732 $src_dir/src/compiler/nir/nir_instr_set.c \
733 $src_dir/src/compiler/nir/nir_linking_helpers.c \
734 $src_dir/src/compiler/nir/nir_liveness.c \
735 $src_dir/src/compiler/nir/nir_loop_analyze.c \
736 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
737 $src_dir/src/compiler/nir/nir_lower_alu.c \
738 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
739 $src_dir/src/compiler/nir/nir_lower_amul.c \
740 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
741 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
742 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
743 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
744 $src_dir/src/compiler/nir/nir_lower_blend.c \
745 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
746 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
747 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
748 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
749 $src_dir/src/compiler/nir/nir_lower_clip.c \
750 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
751 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
752 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
753 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
754 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
755 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
756 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
757 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
758 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
759 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
760 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
761 $src_dir/src/compiler/nir/nir_lower_flrp.c \
762 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
763 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
764 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
765 $src_dir/src/compiler/nir/nir_lower_frexp.c \
766 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
767 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
768 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
769 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
770 $src_dir/src/compiler/nir/nir_lower_idiv.c \
771 $src_dir/src/compiler/nir/nir_lower_image.c \
772 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
773 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
774 $src_dir/src/compiler/nir/nir_lower_int64.c \
775 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
776 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
777 $src_dir/src/compiler/nir/nir_lower_io.c \
778 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
779 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
780 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
781 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
782 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
783 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
784 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
785 $src_dir/src/compiler/nir/nir_lower_mediump.c \
786 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
787 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
788 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
789 $src_dir/src/compiler/nir/nir_lower_multiview.c \
790 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
791 $src_dir/src/compiler/nir/nir_lower_packing.c \
792 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
793 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
794 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
795 $src_dir/src/compiler/nir/nir_lower_point_size.c \
796 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
797 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
798 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
799 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
800 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
801 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
802 $src_dir/src/compiler/nir/nir_lower_returns.c \
803 $src_dir/src/compiler/nir/nir_lower_samplers.c \
804 $src_dir/src/compiler/nir/nir_lower_scratch.c \
805 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
806 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
807 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
808 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
809 $src_dir/src/compiler/nir/nir_lower_system_values.c \
810 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
811 $src_dir/src/compiler/nir/nir_lower_tex.c \
812 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
813 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
814 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
815 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
816 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
817 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
818 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
819 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
820 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
821 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
822 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
823 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
824 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
825 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
826 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
827 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
828 $src_dir/src/compiler/nir/nir_metadata.c \
829 $src_dir/src/compiler/nir/nir_mod_analysis.c \
830 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
831 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
832 $src_dir/src/compiler/nir/nir_opt_access.c \
833 $src_dir/src/compiler/nir/nir_opt_barriers.c \
834 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
835 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
836 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
837 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
838 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
839 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
840 $src_dir/src/compiler/nir/nir_opt_cse.c \
841 $src_dir/src/compiler/nir/nir_opt_dce.c \
842 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
843 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
844 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
845 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
846 $src_dir/src/compiler/nir/nir_opt_gcm.c \
847 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
848 $src_dir/src/compiler/nir/nir_opt_if.c \
849 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
850 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
851 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
852 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
853 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
854 $src_dir/src/compiler/nir/nir_opt_move.c \
855 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
856 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
857 $src_dir/src/compiler/nir/nir_opt_offsets.c \
858 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
859 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
860 $src_dir/src/compiler/nir/nir_opt_preamble.c \
861 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
862 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
863 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
864 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
865 $src_dir/src/compiler/nir/nir_opt_sink.c \
866 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
867 $src_dir/src/compiler/nir/nir_opt_undef.c \
868 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
869 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
870 $src_dir/src/compiler/nir/nir_phi_builder.c \
871 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
872 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
873 $src_dir/src/compiler/nir/nir_print.c \
874 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
875 $src_dir/src/compiler/nir/nir_range_analysis.c \
876 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
877 $src_dir/src/compiler/nir/nir_repair_ssa.c \
878 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
879 $src_dir/src/compiler/nir/nir_schedule.c \
880 $src_dir/src/compiler/nir/nir_search.c \
881 $src_dir/src/compiler/nir/nir_serialize.c \
882 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
883 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
884 $src_dir/src/compiler/nir/nir_split_var_copies.c \
885 $src_dir/src/compiler/nir/nir_split_vars.c \
886 $src_dir/src/compiler/nir/nir_sweep.c \
887 $src_dir/src/compiler/nir/nir_to_lcssa.c \
888 $src_dir/src/compiler/nir/nir_validate.c \
889 $src_dir/src/compiler/nir/nir_worklist.c \
890 "
891 for f in $libnir_files
892 do
893 libnir_obj=$build_dir/$(basename $f .c).o
894 libnir_a="$libnir_a $libnir_obj"
895
896 $cc $cppflags $f -o $libnir_obj &
897 done
898 #===============================================================================
899 # libaco
900 # we don't use cppflags_common for aco because the code is not yet
901 # compatible
902 cppflags="\
903 $gcc_builtins_cppflags \
904 $gcc_attributes_cppflags \
905 $linux_glibc_cppflags \
906 $mesa_cppflags \
907 -I$build_dir \
908 -I$src_dir/src/amd/compiler \
909 -I$src_dir/src/amd/vulkan \
910 -I$build_dir/src/amd/common \
911 -I$src_dir/src/amd/common \
912 -I$build_dir/src/amd \
913 -I$src_dir/src/amd \
914 -I$src_dir/src/compiler/nir \
915 -I$src_dir/src/compiler \
916 -I$src_dir/src/mesa \
917 -I$src_dir/src/gallium/include \
918 -I$src_dir/src \
919 -I$src_dir/include \
920 "
921 libaco_files="\
922 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
923 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
924 $src_dir/src/amd/compiler/aco_dominance.cpp \
925 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
926 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
927 $src_dir/src/amd/compiler/aco_interface.cpp \
928 $src_dir/src/amd/compiler/aco_assembler.cpp \
929 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
930 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
931 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
932 $src_dir/src/amd/compiler/aco_ir.cpp \
933 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
934 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
935 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
936 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
937 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
938 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
939 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
940 $build_dir/aco_opcodes.cpp \
941 $src_dir/src/amd/compiler/aco_optimizer.cpp \
942 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
943 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
944 $src_dir/src/amd/compiler/aco_print_asm.cpp \
945 $src_dir/src/amd/compiler/aco_print_ir.cpp \
946 $src_dir/src/amd/compiler/aco_scheduler.cpp \
947 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
948 $src_dir/src/amd/compiler/aco_spill.cpp \
949 $src_dir/src/amd/compiler/aco_statistics.cpp \
950 $src_dir/src/amd/compiler/aco_validate.cpp \
951 "
952 for f in $libaco_files
953 do
954 libaco_obj=$build_dir/$(basename $f .c).o
955 libaco_a="$libaco_a $libaco_obj"
956
957 $cxx $cppflags $f -o $libaco_obj &
958 done
959 #===============================================================================
960 # libmesautils
961 cppflags="\
962 $cppflags_common \
963 -I$build_dir/src/util/format \
964 -I$build_dir/src \
965 -I$build_dir \
966 -I$src_dir/src/gallium/auxiliary \
967 -I$src_dir/src/gallium/include \
968 -I$src_dir/src/mesa \
969 -I$src_dir/src/util/format \
970 -I$src_dir/src/util \
971 -I$src_dir/src \
972 -I$src_dir/include \
973 $zlib_cppflags \
974 "
975 libmesautil_files="\
976 $build_dir/format_srgb.c \
977 $build_dir/u_format_table.c \
978 $src_dir/src/util/anon_file.c \
979 $src_dir/src/util/bitscan.c \
980 $src_dir/src/util/blob.c \
981 $src_dir/src/util/build_id.c \
982 $src_dir/src/util/compress.c \
983 $src_dir/src/util/crc32.c \
984 $src_dir/src/util/dag.c \
985 $src_dir/src/util/disk_cache.c \
986 $src_dir/src/util/disk_cache_os.c \
987 $src_dir/src/util/double.c \
988 $src_dir/src/util/fast_idiv_by_const.c \
989 $src_dir/src/util/fossilize_db.c \
990 $src_dir/src/util/futex.c \
991 $src_dir/src/util/half_float.c \
992 $src_dir/src/util/hash_table.c \
993 $src_dir/src/util/log.c \
994 $src_dir/src/util/mesa-sha1.c \
995 $src_dir/src/util/mesa_cache_db.c \
996 $src_dir/src/util/mesa_cache_db_multipart.c \
997 $src_dir/src/util/memstream.c \
998 $src_dir/src/util/os_file.c \
999 $src_dir/src/util/os_memory_fd.c \
1000 $src_dir/src/util/os_misc.c \
1001 $src_dir/src/util/os_socket.c \
1002 $src_dir/src/util/os_time.c \
1003 $src_dir/src/util/sha1/sha1.c \
1004 $src_dir/src/util/ralloc.c \
1005 $src_dir/src/util/rand_xor.c \
1006 $src_dir/src/util/rb_tree.c \
1007 $src_dir/src/util/register_allocate.c \
1008 $src_dir/src/util/rgtc.c \
1009 $src_dir/src/util/rwlock.c \
1010 $src_dir/src/util/set.c \
1011 $src_dir/src/util/simple_mtx.c \
1012 $src_dir/src/util/slab.c \
1013 $src_dir/src/util/softfloat.c \
1014 $src_dir/src/util/sparse_array.c \
1015 $src_dir/src/util/string_buffer.c \
1016 $src_dir/src/util/strtod.c \
1017 $src_dir/src/util/u_atomic.c \
1018 $src_dir/src/util/u_call_once.c \
1019 $src_dir/src/util/u_cpu_detect.c \
1020 $src_dir/src/util/u_debug.c \
1021 $src_dir/src/util/u_debug_describe.c \
1022 $src_dir/src/util/u_debug_refcnt.c \
1023 $src_dir/src/util/u_debug_stack.c \
1024 $src_dir/src/util/u_debug_symbol.c \
1025 $src_dir/src/util/u_dl.c \
1026 $src_dir/src/util/u_hash_table.c \
1027 $src_dir/src/util/u_printf.c \
1028 $src_dir/src/util/format/u_format.c \
1029 $src_dir/src/util/format/u_format_bptc.c \
1030 $src_dir/src/util/format/u_format_etc.c \
1031 $src_dir/src/util/format/u_format_fxt1.c \
1032 $src_dir/src/util/format/u_format_latc.c \
1033 $src_dir/src/util/format/u_format_other.c \
1034 $src_dir/src/util/format/u_format_rgtc.c \
1035 $src_dir/src/util/format/u_format_s3tc.c \
1036 $src_dir/src/util/format/u_format_tests.c \
1037 $src_dir/src/util/format/u_format_yuv.c \
1038 $src_dir/src/util/format/u_format_zs.c \
1039 $src_dir/src/util/u_idalloc.c \
1040 $src_dir/src/util/u_math.c \
1041 $src_dir/src/util/u_mm.c \
1042 $src_dir/src/util/u_process.c \
1043 $src_dir/src/util/u_queue.c \
1044 $src_dir/src/util/u_thread.c \
1045 $src_dir/src/util/u_vector.c \
1046 $src_dir/src/util/u_worklist.c \
1047 $src_dir/src/util/vma.c \
1048 \
1049 $src_dir/src/c11/impl/time.c \
1050 $src_dir/src/c11/impl/threads_posix.c \
1051 "
1052 for f in $libmesautil_files
1053 do
1054 libmesautil_obj=$build_dir/$(basename $f .c).o
1055 libmesautil_a="$libmesautil_a $libmesautil_obj"
1056
1057 $cc $cppflags $f -o $libmesautil_obj &
1058 done
1059 #===============================================================================
1060 # amd vulkan
1061 cppflags="\
1062 $cppflags_common \
1063 -DPACKAGE_VERSION=\"$version\" \
1064 -I$build_dir/vulkan/util \
1065 -I$build_dir/src/util \
1066 -I$build_dir \
1067 -I$src_dir/src/amd/compiler \
1068 -I$build_dir/src/amd/common \
1069 -I$src_dir/src/amd/common \
1070 -I$src_dir/src/amd/vulkan \
1071 -I$src_dir/src/amd \
1072 -I$src_dir/src/gallium/auxiliary \
1073 -I$src_dir/src/gallium/include \
1074 -I$src_dir/src/vulkan/util \
1075 -I$src_dir/src/vulkan/runtime \
1076 -I$src_dir/src/vulkan/wsi \
1077 -I$src_dir/src/util \
1078 -I$src_dir/src/mesa \
1079 -I$src_dir/src/compiler/nir \
1080 -I$src_dir/src/compiler \
1081 -I$src_dir/src \
1082 -I$src_dir/include \
1083 $libdrm_cppflags \
1084 $libdrm_amdgpu_cppflags \
1085 $libx11_cppflags \
1086 $libxrandr_cppflags \
1087 $libxrender_cppflags \
1088 $libxcb_cppflags \
1089 $xorgproto_cppflags \
1090 $libxshmfence_cppflags \
1091 "
1092 #$build_dir/radv_extensions.c
1093 #$build_dir/vk_format_table.c
1094 # XXX: remove rt for now
1095 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1096 libvulkan_amd_common_files="\
1097 $src_dir/src/amd/vulkan/radv_android.c \
1098 $src_dir/src/amd/vulkan/radv_buffer.c \
1099 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1100 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1101 $src_dir/src/amd/vulkan/radv_debug.c \
1102 $build_dir/src/amd/vulkan/radv_device.c \
1103 $src_dir/src/amd/vulkan/radv_device_memory.c \
1104 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1105 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1106 $src_dir/src/amd/vulkan/radv_event.c \
1107 $src_dir/src/amd/vulkan/radv_formats.c \
1108 $src_dir/src/amd/vulkan/radv_image.c \
1109 $src_dir/src/amd/vulkan/radv_instance.c \
1110 $build_dir/src/amd/vulkan/radv_meta.c \
1111 $src_dir/src/amd/vulkan/radv_meta_blit.c \
1112 $src_dir/src/amd/vulkan/radv_meta_blit2d.c \
1113 $src_dir/src/amd/vulkan/radv_meta_buffer.c \
1114 $src_dir/src/amd/vulkan/radv_meta_bufimage.c \
1115 $src_dir/src/amd/vulkan/radv_meta_clear.c \
1116 $src_dir/src/amd/vulkan/radv_meta_dcc_retile.c \
1117 $src_dir/src/amd/vulkan/radv_meta_copy.c \
1118 $src_dir/src/amd/vulkan/radv_meta_copy_vrs_htile.c \
1119 $src_dir/src/amd/vulkan/radv_meta_decompress.c \
1120 $src_dir/src/amd/vulkan/radv_meta_etc_decode.c \
1121 $src_dir/src/amd/vulkan/radv_meta_fast_clear.c \
1122 $src_dir/src/amd/vulkan/radv_meta_fmask_copy.c \
1123 $src_dir/src/amd/vulkan/radv_meta_fmask_expand.c \
1124 $src_dir/src/amd/vulkan/radv_meta_resolve.c \
1125 $src_dir/src/amd/vulkan/radv_meta_resolve_cs.c \
1126 $src_dir/src/amd/vulkan/radv_meta_resolve_fs.c \
1127 $src_dir/src/amd/vulkan/radv_nir_apply_pipeline_layout.c \
1128 $src_dir/src/amd/vulkan/radv_nir_lower_abi.c \
1129 $src_dir/src/amd/vulkan/radv_nir_lower_vs_inputs.c \
1130 $src_dir/src/amd/vulkan/radv_nir_lower_ray_queries.c \
1131 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1132 $src_dir/src/amd/vulkan/radv_physical_device.c \
1133 $src_dir/src/amd/vulkan/radv_pipeline.c \
1134 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1135 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1136 $src_dir/src/amd/vulkan/radv_queue.c \
1137 $src_dir/src/amd/vulkan/radv_rt_common.c \
1138 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1139 $src_dir/src/amd/vulkan/radv_sampler.c \
1140 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1141 $src_dir/src/amd/vulkan/radv_shader.c \
1142 $src_dir/src/amd/vulkan/radv_shader_args.c \
1143 $src_dir/src/amd/vulkan/radv_shader_info.c \
1144 $src_dir/src/amd/vulkan/radv_spm.c \
1145 $src_dir/src/amd/vulkan/radv_query.c \
1146 $src_dir/src/amd/vulkan/radv_video.c \
1147 $src_dir/src/amd/vulkan/radv_wsi.c \
1148 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1149 \
1150 $build_dir/gfx10_format_table.c \
1151 \
1152 $build_dir/radv_entrypoints.c \
1153 \
1154 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1155 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1156 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1157 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1158 \
1159 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1160 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1161 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1162 \
1163 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1164 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1165 \
1166 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1167 "
1168
1169 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1170
1171 for f in $libvulkan_amd_common_files
1172 do
1173 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1174 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1175
1176 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1177 done
1178 libvulkan_amd_common_a="\
1179 $libvulkan_amd_common_a \
1180 $build_dir/xmlconfig.o"
1181 #===============================================================================
1182 # create the radeon vulkan driver
1183 soname=libvulkan_radeon.so
1184
1185 # XXX:the attempt to generalize without kludge the link stage of real programs
1186 # build is near a total and complete failure
1187 if test "${driver_link_cmd-unset}" = unset ; then
1188 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1189 -shared -static-libgcc -static-libstdc++ \
1190 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1191 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1192 -Wl,--whole-archive -Wl,--start-group \
1193 $libaco_a \
1194 $libvulkan_amd_common_a \
1195 $libvulkan_util_a \
1196 $libvulkan_runtime_a \
1197 $libvulkan_wsi_a \
1198 $libamd_common_a \
1199 $libamdgpu_addrlib_a \
1200 $libcompiler_a \
1201 $libnir_a \
1202 $libmesautil_a \
1203 -Wl,--end-group -Wl,--no-whole-archive \
1204 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1205 $zlib_ldflags \
1206 $expat_ldflags \
1207 $libelf_ldflags \
1208 -Wl,--as-needed \
1209 $libdrm_ldflags \
1210 $libdrm_amdgpu_ldflags \
1211 $libx11_ldflags \
1212 $libxrandr_ldflags \
1213 $libxrender_ldflags \
1214 $libxcb_ldflags \
1215 $libxshmfence_ldflags \
1216 -lpthread \
1217 -ldl \
1218 -Wl,--no-as-needed"
1219 fi
1220 wait
1221 eval $driver_link_cmd
1222 #===============================================================================
File builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-39824457283bf194c2e2773c19708848027121e1/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 72c6dd9..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
719 $src_dir/src/compiler/spirv/vtn_subgroup.c \
720 $src_dir/src/compiler/spirv/vtn_variables.c \
721 \
722 $src_dir/src/compiler/nir/nir.c \
723 $src_dir/src/compiler/nir/nir_builder.c \
724 $src_dir/src/compiler/nir/nir_builtin_builder.c \
725 $src_dir/src/compiler/nir/nir_clone.c \
726 $src_dir/src/compiler/nir/nir_control_flow.c \
727 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
728 $src_dir/src/compiler/nir/nir_deref.c \
729 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
730 $src_dir/src/compiler/nir/nir_dominance.c \
731 $src_dir/src/compiler/nir/nir_from_ssa.c \
732 $src_dir/src/compiler/nir/nir_gather_info.c \
733 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
734 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
735 $src_dir/src/compiler/nir/nir_group_loads.c \
736 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
737 $src_dir/src/compiler/nir/nir_inline_functions.c \
738 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
739 $src_dir/src/compiler/nir/nir_instr_set.c \
740 $src_dir/src/compiler/nir/nir_linking_helpers.c \
741 $src_dir/src/compiler/nir/nir_liveness.c \
742 $src_dir/src/compiler/nir/nir_loop_analyze.c \
743 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
744 $src_dir/src/compiler/nir/nir_lower_alu.c \
745 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
746 $src_dir/src/compiler/nir/nir_lower_amul.c \
747 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
748 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
749 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
750 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
751 $src_dir/src/compiler/nir/nir_lower_blend.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
754 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
755 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
756 $src_dir/src/compiler/nir/nir_lower_clip.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
759 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
760 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
761 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
764 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
765 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
766 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
767 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
768 $src_dir/src/compiler/nir/nir_lower_flrp.c \
769 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
772 $src_dir/src/compiler/nir/nir_lower_frexp.c \
773 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
774 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
775 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
776 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
777 $src_dir/src/compiler/nir/nir_lower_idiv.c \
778 $src_dir/src/compiler/nir/nir_lower_image.c \
779 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
780 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
781 $src_dir/src/compiler/nir/nir_lower_int64.c \
782 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
783 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
784 $src_dir/src/compiler/nir/nir_lower_io.c \
785 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
789 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
790 $src_dir/src/compiler/nir/nir_lower_legacy_atomics.c \
791 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
792 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
793 $src_dir/src/compiler/nir/nir_lower_mediump.c \
794 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
795 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
796 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
797 $src_dir/src/compiler/nir/nir_lower_multiview.c \
798 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
799 $src_dir/src/compiler/nir/nir_lower_packing.c \
800 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
801 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
802 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
803 $src_dir/src/compiler/nir/nir_lower_point_size.c \
804 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
805 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
806 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
807 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
808 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
809 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
810 $src_dir/src/compiler/nir/nir_lower_returns.c \
811 $src_dir/src/compiler/nir/nir_lower_samplers.c \
812 $src_dir/src/compiler/nir/nir_lower_scratch.c \
813 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
814 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
815 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
816 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
817 $src_dir/src/compiler/nir/nir_lower_system_values.c \
818 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
819 $src_dir/src/compiler/nir/nir_lower_tex.c \
820 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
821 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
822 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
823 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
824 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
825 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
826 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
827 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
828 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
829 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
830 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
831 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
832 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
833 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
834 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
835 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
836 $src_dir/src/compiler/nir/nir_metadata.c \
837 $src_dir/src/compiler/nir/nir_mod_analysis.c \
838 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
839 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
840 $src_dir/src/compiler/nir/nir_opt_access.c \
841 $src_dir/src/compiler/nir/nir_opt_barriers.c \
842 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
843 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
844 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
845 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
846 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
847 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
848 $src_dir/src/compiler/nir/nir_opt_cse.c \
849 $src_dir/src/compiler/nir/nir_opt_dce.c \
850 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
851 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
852 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
853 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
854 $src_dir/src/compiler/nir/nir_opt_gcm.c \
855 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
856 $src_dir/src/compiler/nir/nir_opt_if.c \
857 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
858 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
859 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
860 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
861 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
862 $src_dir/src/compiler/nir/nir_opt_move.c \
863 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
864 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
865 $src_dir/src/compiler/nir/nir_opt_offsets.c \
866 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
867 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
868 $src_dir/src/compiler/nir/nir_opt_preamble.c \
869 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
870 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
871 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
872 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
873 $src_dir/src/compiler/nir/nir_opt_sink.c \
874 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
875 $src_dir/src/compiler/nir/nir_opt_undef.c \
876 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
877 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
878 $src_dir/src/compiler/nir/nir_phi_builder.c \
879 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
880 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
881 $src_dir/src/compiler/nir/nir_print.c \
882 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
883 $src_dir/src/compiler/nir/nir_range_analysis.c \
884 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
885 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
886 $src_dir/src/compiler/nir/nir_repair_ssa.c \
887 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
888 $src_dir/src/compiler/nir/nir_schedule.c \
889 $src_dir/src/compiler/nir/nir_search.c \
890 $src_dir/src/compiler/nir/nir_serialize.c \
891 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
892 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
893 $src_dir/src/compiler/nir/nir_split_var_copies.c \
894 $src_dir/src/compiler/nir/nir_split_vars.c \
895 $src_dir/src/compiler/nir/nir_sweep.c \
896 $src_dir/src/compiler/nir/nir_to_lcssa.c \
897 $src_dir/src/compiler/nir/nir_validate.c \
898 $src_dir/src/compiler/nir/nir_worklist.c \
899 "
900 for f in $libnir_files
901 do
902 libnir_obj=$build_dir/$(basename $f .c).o
903 libnir_a="$libnir_a $libnir_obj"
904
905 $cc $cppflags $f -o $libnir_obj &
906 done
907 #===============================================================================
908 # libaco
909 # we don't use cppflags_common for aco because the code is not yet
910 # compatible
911 cppflags="\
912 $gcc_builtins_cppflags \
913 $gcc_attributes_cppflags \
914 $linux_glibc_cppflags \
915 $mesa_cppflags \
916 -I$build_dir \
917 -I$src_dir/src/amd/compiler \
918 -I$src_dir/src/amd/vulkan \
919 -I$build_dir/src/amd/common \
920 -I$src_dir/src/amd/common \
921 -I$build_dir/src/amd \
922 -I$src_dir/src/amd \
923 -I$src_dir/src/compiler/nir \
924 -I$src_dir/src/compiler \
925 -I$src_dir/src/mesa \
926 -I$src_dir/src/gallium/include \
927 -I$src_dir/src \
928 -I$src_dir/include \
929 "
930 libaco_files="\
931 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
932 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
933 $src_dir/src/amd/compiler/aco_dominance.cpp \
934 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
935 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
936 $src_dir/src/amd/compiler/aco_interface.cpp \
937 $src_dir/src/amd/compiler/aco_assembler.cpp \
938 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
939 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
940 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
941 $src_dir/src/amd/compiler/aco_ir.cpp \
942 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
943 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
944 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
945 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
946 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
947 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
948 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
949 $build_dir/aco_opcodes.cpp \
950 $src_dir/src/amd/compiler/aco_optimizer.cpp \
951 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
952 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
953 $src_dir/src/amd/compiler/aco_print_asm.cpp \
954 $src_dir/src/amd/compiler/aco_print_ir.cpp \
955 $src_dir/src/amd/compiler/aco_scheduler.cpp \
956 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
957 $src_dir/src/amd/compiler/aco_spill.cpp \
958 $src_dir/src/amd/compiler/aco_statistics.cpp \
959 $src_dir/src/amd/compiler/aco_validate.cpp \
960 "
961 for f in $libaco_files
962 do
963 libaco_obj=$build_dir/$(basename $f .c).o
964 libaco_a="$libaco_a $libaco_obj"
965
966 $cxx $cppflags $f -o $libaco_obj &
967 done
968 #===============================================================================
969 # libmesautils
970 cppflags="\
971 $cppflags_common \
972 -I$build_dir/src/util/format \
973 -I$build_dir/src \
974 -I$build_dir \
975 -I$src_dir/src/gallium/auxiliary \
976 -I$src_dir/src/gallium/include \
977 -I$src_dir/src/mesa \
978 -I$src_dir/src/util/format \
979 -I$src_dir/src/util \
980 -I$src_dir/src \
981 -I$src_dir/include \
982 $zlib_cppflags \
983 "
984 libmesautil_files="\
985 $build_dir/format_srgb.c \
986 $build_dir/u_format_table.c \
987 $src_dir/src/util/anon_file.c \
988 $src_dir/src/util/bitscan.c \
989 $src_dir/src/util/blob.c \
990 $src_dir/src/util/build_id.c \
991 $src_dir/src/util/compress.c \
992 $src_dir/src/util/crc32.c \
993 $src_dir/src/util/dag.c \
994 $src_dir/src/util/disk_cache.c \
995 $src_dir/src/util/disk_cache_os.c \
996 $src_dir/src/util/double.c \
997 $src_dir/src/util/fast_idiv_by_const.c \
998 $src_dir/src/util/fossilize_db.c \
999 $src_dir/src/util/futex.c \
1000 $src_dir/src/util/half_float.c \
1001 $src_dir/src/util/hash_table.c \
1002 $src_dir/src/util/log.c \
1003 $src_dir/src/util/mesa-sha1.c \
1004 $src_dir/src/util/mesa_cache_db.c \
1005 $src_dir/src/util/mesa_cache_db_multipart.c \
1006 $src_dir/src/util/memstream.c \
1007 $src_dir/src/util/os_file.c \
1008 $src_dir/src/util/os_memory_fd.c \
1009 $src_dir/src/util/os_misc.c \
1010 $src_dir/src/util/os_socket.c \
1011 $src_dir/src/util/os_time.c \
1012 $src_dir/src/util/sha1/sha1.c \
1013 $src_dir/src/util/ralloc.c \
1014 $src_dir/src/util/rand_xor.c \
1015 $src_dir/src/util/rb_tree.c \
1016 $src_dir/src/util/register_allocate.c \
1017 $src_dir/src/util/rgtc.c \
1018 $src_dir/src/util/rwlock.c \
1019 $src_dir/src/util/set.c \
1020 $src_dir/src/util/simple_mtx.c \
1021 $src_dir/src/util/slab.c \
1022 $src_dir/src/util/softfloat.c \
1023 $src_dir/src/util/sparse_array.c \
1024 $src_dir/src/util/string_buffer.c \
1025 $src_dir/src/util/strtod.c \
1026 $src_dir/src/util/u_atomic.c \
1027 $src_dir/src/util/u_call_once.c \
1028 $src_dir/src/util/u_cpu_detect.c \
1029 $src_dir/src/util/u_debug.c \
1030 $src_dir/src/util/u_debug_describe.c \
1031 $src_dir/src/util/u_debug_refcnt.c \
1032 $src_dir/src/util/u_debug_stack.c \
1033 $src_dir/src/util/u_debug_symbol.c \
1034 $src_dir/src/util/u_dl.c \
1035 $src_dir/src/util/u_hash_table.c \
1036 $src_dir/src/util/u_printf.c \
1037 $src_dir/src/util/format/u_format.c \
1038 $src_dir/src/util/format/u_format_bptc.c \
1039 $src_dir/src/util/format/u_format_etc.c \
1040 $src_dir/src/util/format/u_format_fxt1.c \
1041 $src_dir/src/util/format/u_format_latc.c \
1042 $src_dir/src/util/format/u_format_other.c \
1043 $src_dir/src/util/format/u_format_rgtc.c \
1044 $src_dir/src/util/format/u_format_s3tc.c \
1045 $src_dir/src/util/format/u_format_tests.c \
1046 $src_dir/src/util/format/u_format_yuv.c \
1047 $src_dir/src/util/format/u_format_zs.c \
1048 $src_dir/src/util/u_idalloc.c \
1049 $src_dir/src/util/u_math.c \
1050 $src_dir/src/util/u_mm.c \
1051 $src_dir/src/util/u_process.c \
1052 $src_dir/src/util/u_queue.c \
1053 $src_dir/src/util/u_thread.c \
1054 $src_dir/src/util/u_vector.c \
1055 $src_dir/src/util/u_worklist.c \
1056 $src_dir/src/util/vma.c \
1057 \
1058 $src_dir/src/c11/impl/time.c \
1059 $src_dir/src/c11/impl/threads_posix.c \
1060 "
1061 for f in $libmesautil_files
1062 do
1063 libmesautil_obj=$build_dir/$(basename $f .c).o
1064 libmesautil_a="$libmesautil_a $libmesautil_obj"
1065
1066 $cc $cppflags $f -o $libmesautil_obj &
1067 done
1068 #===============================================================================
1069 # amd vulkan
1070 cppflags="\
1071 $cppflags_common \
1072 -DPACKAGE_VERSION=\"$version\" \
1073 -I$build_dir/vulkan/util \
1074 -I$build_dir/src/util \
1075 -I$build_dir \
1076 -I$src_dir/src/amd/compiler \
1077 -I$build_dir/src/amd/common \
1078 -I$src_dir/src/amd/common \
1079 -I$src_dir/src/amd/vulkan/nir \
1080 -I$src_dir/src/amd/vulkan/meta \
1081 -I$src_dir/src/amd/vulkan \
1082 -I$src_dir/src/amd \
1083 -I$src_dir/src/gallium/auxiliary \
1084 -I$src_dir/src/gallium/include \
1085 -I$src_dir/src/vulkan/util \
1086 -I$src_dir/src/vulkan/runtime \
1087 -I$src_dir/src/vulkan/wsi \
1088 -I$src_dir/src/util \
1089 -I$src_dir/src/mesa \
1090 -I$src_dir/src/compiler/nir \
1091 -I$src_dir/src/compiler \
1092 -I$src_dir/src \
1093 -I$src_dir/include \
1094 $libdrm_cppflags \
1095 $libdrm_amdgpu_cppflags \
1096 $libx11_cppflags \
1097 $libxrandr_cppflags \
1098 $libxrender_cppflags \
1099 $libxcb_cppflags \
1100 $xorgproto_cppflags \
1101 $libxshmfence_cppflags \
1102 "
1103 #$build_dir/radv_extensions.c
1104 #$build_dir/vk_format_table.c
1105 # XXX: remove rt for now
1106 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1107 libvulkan_amd_common_files="\
1108 $src_dir/src/amd/vulkan/radv_android.c \
1109 $src_dir/src/amd/vulkan/radv_buffer.c \
1110 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1111 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1112 $src_dir/src/amd/vulkan/radv_debug.c \
1113 $build_dir/src/amd/vulkan/radv_device.c \
1114 $src_dir/src/amd/vulkan/radv_device_memory.c \
1115 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1116 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1117 $src_dir/src/amd/vulkan/radv_event.c \
1118 $src_dir/src/amd/vulkan/radv_formats.c \
1119 $src_dir/src/amd/vulkan/radv_image.c \
1120 $src_dir/src/amd/vulkan/radv_instance.c \
1121 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1137 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1148 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1149 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1150 $src_dir/src/amd/vulkan/radv_physical_device.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1153 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1154 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1155 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1156 $src_dir/src/amd/vulkan/radv_queue.c \
1157 $src_dir/src/amd/vulkan/radv_rt_common.c \
1158 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1159 $src_dir/src/amd/vulkan/radv_sampler.c \
1160 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1161 $src_dir/src/amd/vulkan/radv_shader.c \
1162 $src_dir/src/amd/vulkan/radv_shader_args.c \
1163 $src_dir/src/amd/vulkan/radv_shader_info.c \
1164 $src_dir/src/amd/vulkan/radv_spm.c \
1165 $src_dir/src/amd/vulkan/radv_query.c \
1166 $src_dir/src/amd/vulkan/radv_video.c \
1167 $src_dir/src/amd/vulkan/radv_wsi.c \
1168 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1169 \
1170 $build_dir/gfx10_format_table.c \
1171 \
1172 $build_dir/radv_entrypoints.c \
1173 \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1175 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1176 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1177 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1178 \
1179 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1180 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1181 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1182 \
1183 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1184 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1185 \
1186 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1187 "
1188
1189 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1190
1191 for f in $libvulkan_amd_common_files
1192 do
1193 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1194 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1195
1196 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1197 done
1198 libvulkan_amd_common_a="\
1199 $libvulkan_amd_common_a \
1200 $build_dir/xmlconfig.o"
1201 #===============================================================================
1202 # create the radeon vulkan driver
1203 soname=libvulkan_radeon.so
1204
1205 # XXX:the attempt to generalize without kludge the link stage of real programs
1206 # build is near a total and complete failure
1207 if test "${driver_link_cmd-unset}" = unset ; then
1208 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1209 -shared -static-libgcc -static-libstdc++ \
1210 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1211 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1212 -Wl,--whole-archive -Wl,--start-group \
1213 $libaco_a \
1214 $libvulkan_amd_common_a \
1215 $libvulkan_util_a \
1216 $libvulkan_runtime_a \
1217 $libvulkan_wsi_a \
1218 $libamd_common_a \
1219 $libamdgpu_addrlib_a \
1220 $libcompiler_a \
1221 $libnir_a \
1222 $libmesautil_a \
1223 -Wl,--end-group -Wl,--no-whole-archive \
1224 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1225 $zlib_ldflags \
1226 $expat_ldflags \
1227 $libelf_ldflags \
1228 -Wl,--as-needed \
1229 $libdrm_ldflags \
1230 $libdrm_amdgpu_ldflags \
1231 $libx11_ldflags \
1232 $libxrandr_ldflags \
1233 $libxrender_ldflags \
1234 $libxcb_ldflags \
1235 $libxshmfence_ldflags \
1236 -lpthread \
1237 -ldl \
1238 -Wl,--no-as-needed"
1239 fi
1240 wait
1241 eval $driver_link_cmd
1242 #===============================================================================
File builders/mesa-vulkan-amd-sh-4621a6db5084c4bdaef57900d4306bd4e4bcda3a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/generators.sh deleted (index e4368ff..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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39
40 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
41 --xml $vulkan_api_xml \
42 --out-c vk_extensions.c \
43 --out-h vk_extensions.h &
44
45 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --xml $vulkan_api_xml \
66 --proto --weak \
67 --out-h vk_common_entrypoints.h \
68 --out-c vk_common_entrypoints.c \
69 --prefix vk_common &
70 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
71 --xml $vulkan_api_xml \
72 --proto --weak \
73 --out-h vk_cmd_enqueue_entrypoints.h \
74 --out-c vk_cmd_enqueue_entrypoints.c \
75 --prefix vk_cmd_enqueue &
76 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
77 --xml $vulkan_api_xml \
78 --out-h vk_cmd_queue.h \
79 --out-c vk_cmd_queue.c &
80 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
81 --xml $vulkan_api_xml \
82 --out-h vk_dispatch_trampolines.h \
83 --out-c vk_dispatch_trampolines.c &
84 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
85 --xml $vulkan_api_xml \
86 --out-h vk_physical_device_features.h \
87 --out-c vk_physical_device_features.c &
88 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
89 --xml $vulkan_api_xml \
90 --out-h vk_format_info.h \
91 --out-c vk_format_info.c &
92 unset PYTHONPATH
93 #===============================================================================
94 # wsi x11 (Window System Interface)
95 export PYTHONPATH=$mako
96 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
97 --xml $vulkan_api_xml \
98 --proto --weak \
99 --out-h wsi_common_entrypoints.h \
100 --out-c wsi_common_entrypoints.c \
101 --prefix wsi &
102 unset PYTHONPATH
103 #===============================================================================
104 # amd common archive
105 $python3 $src_dir/src/amd/common/sid_tables.py \
106 $src_dir/src/amd/common/sid.h \
107 $src_dir/src/amd/registers/gfx6.json \
108 $src_dir/src/amd/registers/gfx7.json \
109 $src_dir/src/amd/registers/gfx8.json \
110 $src_dir/src/amd/registers/gfx81.json \
111 $src_dir/src/amd/registers/gfx9.json \
112 $src_dir/src/amd/registers/gfx10.json \
113 $src_dir/src/amd/registers/gfx10-rsrc.json \
114 $src_dir/src/amd/registers/gfx103.json \
115 $src_dir/src/amd/registers/gfx11.json \
116 $src_dir/src/amd/registers/gfx11-rsrc.json \
117 $src_dir/src/amd/registers/pkt3.json \
118 $src_dir/src/amd/registers/registers-manually-defined.json \
119 >$build_dir/sid_tables.h &
120 mkdir -p $build_dir/src/amd/common
121 $python3 $src_dir/src/amd/registers/makeregheader.py \
122 $src_dir/src/amd/registers/gfx6.json \
123 $src_dir/src/amd/registers/gfx7.json \
124 $src_dir/src/amd/registers/gfx8.json \
125 $src_dir/src/amd/registers/gfx81.json \
126 $src_dir/src/amd/registers/gfx9.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx11-rsrc.json \
131 $src_dir/src/amd/registers/gfx103.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 --sort address \
135 --guard AMDGFXREGS_H \
136 >$build_dir/src/amd/common/amdgfxregs.h &
137 #===============================================================================
138 # libcompiler required by libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
141 >$build_dir/ir_expression_operation.h &
142 unset PYTHONPATH
143 #===============================================================================
144 # libnir
145 export PYTHONPATH=$mako
146 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
147 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
148 $build_dir/spirv_info.c &
149
150 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
151 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
152 $build_dir/vtn_gather_types.c &
153
154 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
155 $src_dir/src/compiler/spirv/spir-v.xml \
156 $build_dir/vtn_generator_ids.h &
157 # nir generated files
158 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
159 >$build_dir/nir_constant_expressions.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
162 >$build_dir/nir_opt_algebraic.c &
163
164 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
165 >$build_dir/nir_opcodes.c &
166
167 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
168 --outdir $build_dir &
169 unset PYTHONPATH
170 #===============================================================================
171 # libaco
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
174 >$build_dir/aco_opcodes.h &
175 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
176 >$build_dir/aco_opcodes.cpp &
177 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
178 >$build_dir/aco_builder.h &
179 unset PYTHONPATH
180 #===============================================================================
181 # libmesautils
182 mkdir -p $build_dir/src/util
183
184 export PYTHONPATH=$mako
185 $python3 $src_dir/src/util/format_srgb.py \
186 >$build_dir/format_srgb.c
187
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 $src_dir/src/util/format/u_format.csv \
190 >$build_dir/u_format_table.c
191
192 # wow, really?
193 mkdir -p $build_dir/src/util/format
194 $python3 $src_dir/src/util/format/u_format_table.py \
195 --header \
196 $src_dir/src/util/format/u_format.csv \
197 >$build_dir/src/util/format/u_format_pack.h
198
199 # oooof!
200 $python3 $src_dir/src/util/driconf_static.py \
201 $src_dir/src/util/00-mesa-defaults.conf \
202 $build_dir/src/util/driconf_static.h
203 unset PYTHONPATH
204 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
205 #===============================================================================
206 # amd vulkan
207 export PYTHONPATH=$mako
208 #------------------------------------------------------------------------------
209 # specific API to work around _still maintained at the time of writing _ game
210 # executable... this is the beginning of the end...
211 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
212 --xml $vulkan_api_xml \
213 --proto --weak \
214 --out-h radv_entrypoints.h \
215 --out-c radv_entrypoints.c \
216 --prefix radv \
217 --device-prefix metro_exodus \
218 --device-prefix rage2 &
219 #------------------------------------------------------------------------------
220 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
221 # --xml $vulkan_api_xml \
222 # --out-c radv_extensions.c \
223 # --out-h radv_extensions.h &
224 #------------------------------------------------------------------------------
225 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
226 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
227 # >$build_dir/vk_format_table.c &
228 #------------------------------------------------------------------------------
229 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
230 $src_dir/src/util/format/u_format.csv \
231 $src_dir/src/amd/registers/gfx10-rsrc.json \
232 $src_dir/src/amd/registers/gfx11-rsrc.json \
233 >$build_dir/gfx10_format_table.c &
234 #------------------------------------------------------------------------------
235 git_sha1=no_git_sha1_available
236 if test -d $src_dir/.git; then
237 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
238 fi
239 echo git_sha1=$git_sha1
240 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
241 unset PYTHONPATH
242 #===============================================================================
File builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-4de9a4b2b8c41864aadae89be705ef125a745a0a/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 16c7212..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
599 $src_dir/src/amd/common/ac_nir_lower_ps.c \
600 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
601 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
602 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
603 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
605 $src_dir/src/amd/common/ac_perfcounter.c \
606 $src_dir/src/amd/common/ac_shader_args.c \
607 $src_dir/src/amd/common/ac_shader_util.c \
608 $src_dir/src/amd/common/ac_shadowed_regs.c \
609 $src_dir/src/amd/common/ac_rgp.c \
610 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
611 $src_dir/src/amd/common/ac_rtld.c \
612 $src_dir/src/amd/common/ac_spm.c \
613 "
614 for f in $libamd_common_c_files
615 do
616 libamd_common_c_obj=$build_dir/$(basename $f .c).o
617 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
618
619 $cc $cppflags $f -o $libamd_common_c_obj &
620 done
621 #===============================================================================
622 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
623 cppflags="\
624 $cppflags_common \
625 -DLITTLEENDIAN_CPU \
626 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
629 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
630 -I$src_dir/src/amd/addrlib/inc \
631 -I$src_dir/src/amd/addrlib/src/core \
632 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
635 -I$src_dir/src/amd/addrlib/src/chip/r800 \
636 -I$src_dir/src/amd/addrlib/src \
637 -I$src_dir/src \
638 -I$src_dir/include \
639 "
640 libamdgpu_addrlib_files="\
641 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
642 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
647 $src_dir/src/amd/addrlib/src/core/coord.cpp \
648 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
649 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
654 "
655 for f in $libamdgpu_addrlib_files
656 do
657 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
658 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
659
660 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
661 done
662 #===============================================================================
663 # libcompiler required by libnir
664 cppflags="\
665 $cppflags_common \
666 -I$build_dir \
667 -I$src_dir/src/gallium/auxiliary \
668 -I$src_dir/src/gallium/include \
669 -I$src_dir/src/mesa \
670 -I$src_dir/src \
671 -I$src_dir/include \
672 "
673 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
674 -o $build_dir/glsl_types.o &
675 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
676 -o $build_dir/nir_types.o &
677 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
678 -o $build_dir/shader_enums.o &
679 libcompiler_a="\
680 $build_dir/glsl_types.o \
681 $build_dir/nir_types.o \
682 $build_dir/shader_enums.o \
683 "
684 #===============================================================================
685 # libnir
686 cppflags="\
687 $cppflags_common \
688 -I$build_dir \
689 -I$src_dir/src/compiler/spirv \
690 -I$src_dir/src/compiler/nir \
691 -I$src_dir/src/compiler \
692 -I$src_dir/src/gallium/include \
693 -I$src_dir/src/mesa \
694 -I$src_dir/src \
695 -I$src_dir/include \
696 $xorgproto_cppflags \
697 $libxcb_cppflags \
698 $libx11_cppflags \
699 $libxrender_cppflags \
700 $libxrandr_cppflags \
701 "
702 libnir_files="\
703 $build_dir/spirv_info.c \
704 $build_dir/vtn_gather_types.c \
705 $build_dir/nir_intrinsics.c \
706 $build_dir/nir_opcodes.c \
707 $build_dir/nir_opt_algebraic.c \
708 $build_dir/nir_constant_expressions.c \
709 \
710 $src_dir/src/compiler/spirv/gl_spirv.c \
711 $src_dir/src/compiler/spirv/spirv_to_nir.c \
712 $src_dir/src/compiler/spirv/vtn_alu.c \
713 $src_dir/src/compiler/spirv/vtn_amd.c \
714 $src_dir/src/compiler/spirv/vtn_cfg.c \
715 $src_dir/src/compiler/spirv/vtn_glsl450.c \
716 $src_dir/contrib/vtn_opencl.c \
717 $src_dir/src/compiler/spirv/vtn_subgroup.c \
718 $src_dir/src/compiler/spirv/vtn_variables.c \
719 \
720 $src_dir/src/compiler/nir/nir.c \
721 $src_dir/src/compiler/nir/nir_builder.c \
722 $src_dir/src/compiler/nir/nir_builtin_builder.c \
723 $src_dir/src/compiler/nir/nir_clone.c \
724 $src_dir/src/compiler/nir/nir_control_flow.c \
725 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
726 $src_dir/src/compiler/nir/nir_deref.c \
727 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
728 $src_dir/src/compiler/nir/nir_dominance.c \
729 $src_dir/src/compiler/nir/nir_from_ssa.c \
730 $src_dir/src/compiler/nir/nir_gather_info.c \
731 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
732 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
733 $src_dir/src/compiler/nir/nir_group_loads.c \
734 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
735 $src_dir/src/compiler/nir/nir_inline_functions.c \
736 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
737 $src_dir/src/compiler/nir/nir_instr_set.c \
738 $src_dir/src/compiler/nir/nir_linking_helpers.c \
739 $src_dir/src/compiler/nir/nir_liveness.c \
740 $src_dir/src/compiler/nir/nir_loop_analyze.c \
741 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
742 $src_dir/src/compiler/nir/nir_lower_alu.c \
743 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
744 $src_dir/src/compiler/nir/nir_lower_amul.c \
745 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
746 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
747 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
748 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
749 $src_dir/src/compiler/nir/nir_lower_blend.c \
750 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
751 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
752 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
753 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
754 $src_dir/src/compiler/nir/nir_lower_clip.c \
755 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
756 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
757 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
758 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
759 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
760 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
761 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
762 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
763 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
764 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
765 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
766 $src_dir/src/compiler/nir/nir_lower_flrp.c \
767 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
768 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
769 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
770 $src_dir/src/compiler/nir/nir_lower_frexp.c \
771 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
772 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
773 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
774 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
775 $src_dir/src/compiler/nir/nir_lower_idiv.c \
776 $src_dir/src/compiler/nir/nir_lower_image.c \
777 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
778 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
779 $src_dir/src/compiler/nir/nir_lower_int64.c \
780 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
781 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
782 $src_dir/src/compiler/nir/nir_lower_io.c \
783 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
784 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
785 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
787 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
788 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
789 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
790 $src_dir/src/compiler/nir/nir_lower_mediump.c \
791 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
792 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
793 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
794 $src_dir/src/compiler/nir/nir_lower_multiview.c \
795 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
796 $src_dir/src/compiler/nir/nir_lower_packing.c \
797 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
798 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
799 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
800 $src_dir/src/compiler/nir/nir_lower_point_size.c \
801 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
802 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
803 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
804 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
805 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
806 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
807 $src_dir/src/compiler/nir/nir_lower_returns.c \
808 $src_dir/src/compiler/nir/nir_lower_samplers.c \
809 $src_dir/src/compiler/nir/nir_lower_scratch.c \
810 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
811 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
812 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
813 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
814 $src_dir/src/compiler/nir/nir_lower_system_values.c \
815 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
816 $src_dir/src/compiler/nir/nir_lower_tex.c \
817 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
818 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
819 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
820 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
821 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
822 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
823 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
824 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
825 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
826 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
827 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
828 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
829 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
830 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
831 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
832 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
833 $src_dir/src/compiler/nir/nir_metadata.c \
834 $src_dir/src/compiler/nir/nir_mod_analysis.c \
835 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
836 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
837 $src_dir/src/compiler/nir/nir_opt_access.c \
838 $src_dir/src/compiler/nir/nir_opt_barriers.c \
839 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
840 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
841 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
842 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
843 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
844 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
845 $src_dir/src/compiler/nir/nir_opt_cse.c \
846 $src_dir/src/compiler/nir/nir_opt_dce.c \
847 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
848 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
849 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
850 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
851 $src_dir/src/compiler/nir/nir_opt_gcm.c \
852 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
853 $src_dir/src/compiler/nir/nir_opt_if.c \
854 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
855 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
856 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
857 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
858 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
859 $src_dir/src/compiler/nir/nir_opt_move.c \
860 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
861 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
862 $src_dir/src/compiler/nir/nir_opt_offsets.c \
863 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
864 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
865 $src_dir/src/compiler/nir/nir_opt_preamble.c \
866 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
867 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
868 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
869 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
870 $src_dir/src/compiler/nir/nir_opt_sink.c \
871 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
872 $src_dir/src/compiler/nir/nir_opt_undef.c \
873 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
874 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
875 $src_dir/src/compiler/nir/nir_phi_builder.c \
876 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
877 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
878 $src_dir/src/compiler/nir/nir_print.c \
879 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
880 $src_dir/src/compiler/nir/nir_range_analysis.c \
881 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
882 $src_dir/src/compiler/nir/nir_repair_ssa.c \
883 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
884 $src_dir/src/compiler/nir/nir_schedule.c \
885 $src_dir/src/compiler/nir/nir_search.c \
886 $src_dir/src/compiler/nir/nir_serialize.c \
887 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
888 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
889 $src_dir/src/compiler/nir/nir_split_var_copies.c \
890 $src_dir/src/compiler/nir/nir_split_vars.c \
891 $src_dir/src/compiler/nir/nir_sweep.c \
892 $src_dir/src/compiler/nir/nir_to_lcssa.c \
893 $src_dir/src/compiler/nir/nir_validate.c \
894 $src_dir/src/compiler/nir/nir_worklist.c \
895 "
896 for f in $libnir_files
897 do
898 libnir_obj=$build_dir/$(basename $f .c).o
899 libnir_a="$libnir_a $libnir_obj"
900
901 $cc $cppflags $f -o $libnir_obj &
902 done
903 #===============================================================================
904 # libaco
905 # we don't use cppflags_common for aco because the code is not yet
906 # compatible
907 cppflags="\
908 $gcc_builtins_cppflags \
909 $gcc_attributes_cppflags \
910 $linux_glibc_cppflags \
911 $mesa_cppflags \
912 -I$build_dir \
913 -I$src_dir/src/amd/compiler \
914 -I$src_dir/src/amd/vulkan \
915 -I$build_dir/src/amd/common \
916 -I$src_dir/src/amd/common \
917 -I$build_dir/src/amd \
918 -I$src_dir/src/amd \
919 -I$src_dir/src/compiler/nir \
920 -I$src_dir/src/compiler \
921 -I$src_dir/src/mesa \
922 -I$src_dir/src/gallium/include \
923 -I$src_dir/src \
924 -I$src_dir/include \
925 "
926 libaco_files="\
927 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
928 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
929 $src_dir/src/amd/compiler/aco_dominance.cpp \
930 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
931 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
932 $src_dir/src/amd/compiler/aco_interface.cpp \
933 $src_dir/src/amd/compiler/aco_assembler.cpp \
934 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
935 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
936 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
937 $src_dir/src/amd/compiler/aco_ir.cpp \
938 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
939 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
940 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
941 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
942 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
943 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
944 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
945 $build_dir/aco_opcodes.cpp \
946 $src_dir/src/amd/compiler/aco_optimizer.cpp \
947 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
948 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
949 $src_dir/src/amd/compiler/aco_print_asm.cpp \
950 $src_dir/src/amd/compiler/aco_print_ir.cpp \
951 $src_dir/src/amd/compiler/aco_scheduler.cpp \
952 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
953 $src_dir/src/amd/compiler/aco_spill.cpp \
954 $src_dir/src/amd/compiler/aco_statistics.cpp \
955 $src_dir/src/amd/compiler/aco_validate.cpp \
956 "
957 for f in $libaco_files
958 do
959 libaco_obj=$build_dir/$(basename $f .c).o
960 libaco_a="$libaco_a $libaco_obj"
961
962 $cxx $cppflags $f -o $libaco_obj &
963 done
964 #===============================================================================
965 # libmesautils
966 cppflags="\
967 $cppflags_common \
968 -I$build_dir/src/util/format \
969 -I$build_dir/src \
970 -I$build_dir \
971 -I$src_dir/src/gallium/auxiliary \
972 -I$src_dir/src/gallium/include \
973 -I$src_dir/src/mesa \
974 -I$src_dir/src/util/format \
975 -I$src_dir/src/util \
976 -I$src_dir/src \
977 -I$src_dir/include \
978 $zlib_cppflags \
979 "
980 libmesautil_files="\
981 $build_dir/format_srgb.c \
982 $build_dir/u_format_table.c \
983 $src_dir/src/util/anon_file.c \
984 $src_dir/src/util/bitscan.c \
985 $src_dir/src/util/blob.c \
986 $src_dir/src/util/build_id.c \
987 $src_dir/src/util/compress.c \
988 $src_dir/src/util/crc32.c \
989 $src_dir/src/util/dag.c \
990 $src_dir/src/util/disk_cache.c \
991 $src_dir/src/util/disk_cache_os.c \
992 $src_dir/src/util/double.c \
993 $src_dir/src/util/fast_idiv_by_const.c \
994 $src_dir/src/util/fossilize_db.c \
995 $src_dir/src/util/futex.c \
996 $src_dir/src/util/half_float.c \
997 $src_dir/src/util/hash_table.c \
998 $src_dir/src/util/log.c \
999 $src_dir/src/util/mesa-sha1.c \
1000 $src_dir/src/util/mesa_cache_db.c \
1001 $src_dir/src/util/mesa_cache_db_multipart.c \
1002 $src_dir/src/util/memstream.c \
1003 $src_dir/src/util/os_file.c \
1004 $src_dir/src/util/os_memory_fd.c \
1005 $src_dir/src/util/os_misc.c \
1006 $src_dir/src/util/os_socket.c \
1007 $src_dir/src/util/os_time.c \
1008 $src_dir/src/util/sha1/sha1.c \
1009 $src_dir/src/util/ralloc.c \
1010 $src_dir/src/util/rand_xor.c \
1011 $src_dir/src/util/rb_tree.c \
1012 $src_dir/src/util/register_allocate.c \
1013 $src_dir/src/util/rgtc.c \
1014 $src_dir/src/util/rwlock.c \
1015 $src_dir/src/util/set.c \
1016 $src_dir/src/util/simple_mtx.c \
1017 $src_dir/src/util/slab.c \
1018 $src_dir/src/util/softfloat.c \
1019 $src_dir/src/util/sparse_array.c \
1020 $src_dir/src/util/string_buffer.c \
1021 $src_dir/src/util/strtod.c \
1022 $src_dir/src/util/u_atomic.c \
1023 $src_dir/src/util/u_call_once.c \
1024 $src_dir/src/util/u_cpu_detect.c \
1025 $src_dir/src/util/u_debug.c \
1026 $src_dir/src/util/u_debug_describe.c \
1027 $src_dir/src/util/u_debug_refcnt.c \
1028 $src_dir/src/util/u_debug_stack.c \
1029 $src_dir/src/util/u_debug_symbol.c \
1030 $src_dir/src/util/u_dl.c \
1031 $src_dir/src/util/u_hash_table.c \
1032 $src_dir/src/util/u_printf.c \
1033 $src_dir/src/util/format/u_format.c \
1034 $src_dir/src/util/format/u_format_bptc.c \
1035 $src_dir/src/util/format/u_format_etc.c \
1036 $src_dir/src/util/format/u_format_fxt1.c \
1037 $src_dir/src/util/format/u_format_latc.c \
1038 $src_dir/src/util/format/u_format_other.c \
1039 $src_dir/src/util/format/u_format_rgtc.c \
1040 $src_dir/src/util/format/u_format_s3tc.c \
1041 $src_dir/src/util/format/u_format_tests.c \
1042 $src_dir/src/util/format/u_format_yuv.c \
1043 $src_dir/src/util/format/u_format_zs.c \
1044 $src_dir/src/util/u_idalloc.c \
1045 $src_dir/src/util/u_math.c \
1046 $src_dir/src/util/u_mm.c \
1047 $src_dir/src/util/u_process.c \
1048 $src_dir/src/util/u_queue.c \
1049 $src_dir/src/util/u_thread.c \
1050 $src_dir/src/util/u_vector.c \
1051 $src_dir/src/util/u_worklist.c \
1052 $src_dir/src/util/vma.c \
1053 \
1054 $src_dir/src/c11/impl/time.c \
1055 $src_dir/src/c11/impl/threads_posix.c \
1056 "
1057 for f in $libmesautil_files
1058 do
1059 libmesautil_obj=$build_dir/$(basename $f .c).o
1060 libmesautil_a="$libmesautil_a $libmesautil_obj"
1061
1062 $cc $cppflags $f -o $libmesautil_obj &
1063 done
1064 #===============================================================================
1065 # amd vulkan
1066 cppflags="\
1067 $cppflags_common \
1068 -DPACKAGE_VERSION=\"$version\" \
1069 -I$build_dir/vulkan/util \
1070 -I$build_dir/src/util \
1071 -I$build_dir \
1072 -I$src_dir/src/amd/compiler \
1073 -I$build_dir/src/amd/common \
1074 -I$src_dir/src/amd/common \
1075 -I$src_dir/src/amd/vulkan/nir \
1076 -I$src_dir/src/amd/vulkan/meta \
1077 -I$src_dir/src/amd/vulkan \
1078 -I$src_dir/src/amd \
1079 -I$src_dir/src/gallium/auxiliary \
1080 -I$src_dir/src/gallium/include \
1081 -I$src_dir/src/vulkan/util \
1082 -I$src_dir/src/vulkan/runtime \
1083 -I$src_dir/src/vulkan/wsi \
1084 -I$src_dir/src/util \
1085 -I$src_dir/src/mesa \
1086 -I$src_dir/src/compiler/nir \
1087 -I$src_dir/src/compiler \
1088 -I$src_dir/src \
1089 -I$src_dir/include \
1090 $libdrm_cppflags \
1091 $libdrm_amdgpu_cppflags \
1092 $libx11_cppflags \
1093 $libxrandr_cppflags \
1094 $libxrender_cppflags \
1095 $libxcb_cppflags \
1096 $xorgproto_cppflags \
1097 $libxshmfence_cppflags \
1098 "
1099 #$build_dir/radv_extensions.c
1100 #$build_dir/vk_format_table.c
1101 # XXX: remove rt for now
1102 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1103 libvulkan_amd_common_files="\
1104 $src_dir/src/amd/vulkan/radv_android.c \
1105 $src_dir/src/amd/vulkan/radv_buffer.c \
1106 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1107 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1108 $src_dir/src/amd/vulkan/radv_debug.c \
1109 $build_dir/src/amd/vulkan/radv_device.c \
1110 $src_dir/src/amd/vulkan/radv_device_memory.c \
1111 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1112 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1113 $src_dir/src/amd/vulkan/radv_event.c \
1114 $src_dir/src/amd/vulkan/radv_formats.c \
1115 $src_dir/src/amd/vulkan/radv_image.c \
1116 $src_dir/src/amd/vulkan/radv_instance.c \
1117 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1118 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1119 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1120 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1134 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1135 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1136 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1145 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1146 $src_dir/src/amd/vulkan/radv_physical_device.c \
1147 $src_dir/src/amd/vulkan/radv_pipeline.c \
1148 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1149 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1150 $src_dir/src/amd/vulkan/radv_queue.c \
1151 $src_dir/src/amd/vulkan/radv_rt_common.c \
1152 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1153 $src_dir/src/amd/vulkan/radv_sampler.c \
1154 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1155 $src_dir/src/amd/vulkan/radv_shader.c \
1156 $src_dir/src/amd/vulkan/radv_shader_args.c \
1157 $src_dir/src/amd/vulkan/radv_shader_info.c \
1158 $src_dir/src/amd/vulkan/radv_spm.c \
1159 $src_dir/src/amd/vulkan/radv_query.c \
1160 $src_dir/src/amd/vulkan/radv_video.c \
1161 $src_dir/src/amd/vulkan/radv_wsi.c \
1162 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1163 \
1164 $build_dir/gfx10_format_table.c \
1165 \
1166 $build_dir/radv_entrypoints.c \
1167 \
1168 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1169 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1170 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1171 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1172 \
1173 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1174 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1175 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1176 \
1177 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1178 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1179 \
1180 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1181 "
1182
1183 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1184
1185 for f in $libvulkan_amd_common_files
1186 do
1187 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1188 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1189
1190 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1191 done
1192 libvulkan_amd_common_a="\
1193 $libvulkan_amd_common_a \
1194 $build_dir/xmlconfig.o"
1195 #===============================================================================
1196 # create the radeon vulkan driver
1197 soname=libvulkan_radeon.so
1198
1199 # XXX:the attempt to generalize without kludge the link stage of real programs
1200 # build is near a total and complete failure
1201 if test "${driver_link_cmd-unset}" = unset ; then
1202 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1203 -shared -static-libgcc -static-libstdc++ \
1204 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1205 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1206 -Wl,--whole-archive -Wl,--start-group \
1207 $libaco_a \
1208 $libvulkan_amd_common_a \
1209 $libvulkan_util_a \
1210 $libvulkan_runtime_a \
1211 $libvulkan_wsi_a \
1212 $libamd_common_a \
1213 $libamdgpu_addrlib_a \
1214 $libcompiler_a \
1215 $libnir_a \
1216 $libmesautil_a \
1217 -Wl,--end-group -Wl,--no-whole-archive \
1218 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1219 $zlib_ldflags \
1220 $expat_ldflags \
1221 $libelf_ldflags \
1222 -Wl,--as-needed \
1223 $libdrm_ldflags \
1224 $libdrm_amdgpu_ldflags \
1225 $libx11_ldflags \
1226 $libxrandr_ldflags \
1227 $libxrender_ldflags \
1228 $libxcb_ldflags \
1229 $libxshmfence_ldflags \
1230 -lpthread \
1231 -ldl \
1232 -Wl,--no-as-needed"
1233 fi
1234 wait
1235 eval $driver_link_cmd
1236 #===============================================================================
File builders/mesa-vulkan-amd-sh-4de9a4b2b8c41864aadae89be705ef125a745a0a/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-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/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-51cd2965c71986d904997c15981217a6270943c0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index e8e0fc0..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
495 $src_dir/src/vulkan/runtime/vk_object.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
498 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
499 $src_dir/src/vulkan/runtime/vk_physical_device.c \
500 $build_dir/vk_physical_device_features.c \
501 $src_dir/src/vulkan/runtime/vk_queue.c \
502 $src_dir/src/vulkan/runtime/vk_render_pass.c \
503 $src_dir/src/vulkan/runtime/vk_sampler.c \
504 $src_dir/src/vulkan/runtime/vk_semaphore.c \
505 $src_dir/src/vulkan/runtime/vk_shader_module.c \
506 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
507 $src_dir/src/vulkan/runtime/vk_sync.c \
508 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
509 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
510 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
511 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
512 $src_dir/src/vulkan/runtime/vk_video.c \
513 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
514 "
515 for f in $libvulkan_runtime_files
516 do
517 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
518 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
519
520 $cc $cppflags $f -o $libvulkan_runtime_obj &
521 done
522 #===============================================================================
523 # wsi x11 (Window System Interface)
524 cppflags="\
525 $cppflags_common \
526 -I$build_dir/vulkan/util \
527 -I$build_dir \
528 -I$src_dir/src \
529 -I$src_dir/src/vulkan/util \
530 -I$src_dir/src/vulkan/runtime \
531 -I$src_dir/src/gallium/include \
532 -I$src_dir/include \
533 -I$src_dir/include/drm-uapi \
534 $libxcb_cppflags \
535 $libx11_cppflags \
536 $libxrandr_cppflags \
537 $libxrender_cppflags \
538 $xorgproto_cppflags \
539 $libxshmfence_cppflags \
540 $libdrm_cppflags \
541 "
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
543 -o $build_dir/wsi_common.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
545 -o $build_dir/wsi_common_drm.o &
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
547 -o $build_dir/wsi_common_x11.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
549 -o $build_dir/wsi_common_display.o &
550 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
551 -o $build_dir/wsi_common_headless.o &
552 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
553 -o $build_dir/wsi_common_entrypoints.o &
554 libvulkan_wsi_a="\
555 $build_dir/wsi_common.o \
556 $build_dir/wsi_common_drm.o \
557 $build_dir/wsi_common_x11.o \
558 $build_dir/wsi_common_display.o \
559 $build_dir/wsi_common_headless.o \
560 $build_dir/wsi_common_entrypoints.o \
561 "
562 #===============================================================================
563 # amd common archive
564 cppflags="\
565 $cppflags_common \
566 -I$build_dir \
567 -I$src_dir/src/gallium/auxiliary \
568 -I$src_dir/src/gallium/include \
569 -I$build_dir/src/amd/common \
570 -I$src_dir/src/amd/common \
571 -I$src_dir/src/util \
572 -I$build_dir/src/amd \
573 -I$src_dir/src/amd \
574 -I$src_dir/src/compiler/nir \
575 -I$src_dir/src/compiler \
576 -I$src_dir/src/mesa \
577 -I$src_dir/src \
578 -I$src_dir/include \
579 -I$src_dir/include/drm-uapi \
580 $libdrm_cppflags \
581 $libdrm_amdgpu_cppflags \
582 $linux_drm_cppflags \
583 $libelf_cppflags \
584 "
585 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
586 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
587 #$src_dir/src/amd/common/ac_sqtt.c \
588 libamd_common_c_files="\
589 $src_dir/src/amd/common/ac_surface.c \
590 $src_dir/src/amd/common/ac_binary.c \
591 $src_dir/src/amd/common/ac_debug.c \
592 $src_dir/src/amd/common/amd_family.c \
593 $src_dir/src/amd/common/ac_gpu_info.c \
594 $src_dir/src/amd/common/ac_msgpack.c \
595 $src_dir/src/amd/common/ac_nir.c \
596 $src_dir/src/amd/common/ac_nir_cull.c \
597 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
598 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
599 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
600 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
601 $src_dir/src/amd/common/ac_nir_lower_ps.c \
602 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
603 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
604 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
606 $src_dir/src/amd/common/ac_nir_lower_tex.c \
607 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
608 $src_dir/src/amd/common/ac_perfcounter.c \
609 $src_dir/src/amd/common/ac_shader_args.c \
610 $src_dir/src/amd/common/ac_shader_util.c \
611 $src_dir/src/amd/common/ac_shadowed_regs.c \
612 $src_dir/src/amd/common/ac_rgp.c \
613 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
614 $src_dir/src/amd/common/ac_rtld.c \
615 $src_dir/src/amd/common/ac_spm.c \
616 "
617 for f in $libamd_common_c_files
618 do
619 libamd_common_c_obj=$build_dir/$(basename $f .c).o
620 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
621
622 $cc $cppflags $f -o $libamd_common_c_obj &
623 done
624 #===============================================================================
625 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
626 cppflags="\
627 $cppflags_common \
628 -DLITTLEENDIAN_CPU \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
630 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
631 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
632 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
633 -I$src_dir/src/amd/addrlib/inc \
634 -I$src_dir/src/amd/addrlib/src/core \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
636 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
637 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
638 -I$src_dir/src/amd/addrlib/src/chip/r800 \
639 -I$src_dir/src/amd/addrlib/src \
640 -I$src_dir/src \
641 -I$src_dir/include \
642 "
643 libamdgpu_addrlib_files="\
644 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
648 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
649 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
650 $src_dir/src/amd/addrlib/src/core/coord.cpp \
651 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
653 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
655 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
656 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
657 "
658 for f in $libamdgpu_addrlib_files
659 do
660 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
661 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
662
663 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
664 done
665 #===============================================================================
666 # libcompiler required by libnir
667 cppflags="\
668 $cppflags_common \
669 -I$build_dir \
670 -I$src_dir/src/gallium/auxiliary \
671 -I$src_dir/src/gallium/include \
672 -I$src_dir/src/mesa \
673 -I$src_dir/src \
674 -I$src_dir/include \
675 "
676 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
677 -o $build_dir/glsl_types.o &
678 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
679 -o $build_dir/nir_types.o &
680 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
681 -o $build_dir/shader_enums.o &
682 libcompiler_a="\
683 $build_dir/glsl_types.o \
684 $build_dir/nir_types.o \
685 $build_dir/shader_enums.o \
686 "
687 #===============================================================================
688 # libnir
689 cppflags="\
690 $cppflags_common \
691 -I$build_dir \
692 -I$src_dir/src/compiler/spirv \
693 -I$src_dir/src/compiler/nir \
694 -I$src_dir/src/compiler \
695 -I$src_dir/src/gallium/include \
696 -I$src_dir/src/mesa \
697 -I$src_dir/src \
698 -I$src_dir/include \
699 $xorgproto_cppflags \
700 $libxcb_cppflags \
701 $libx11_cppflags \
702 $libxrender_cppflags \
703 $libxrandr_cppflags \
704 "
705 libnir_files="\
706 $build_dir/spirv_info.c \
707 $build_dir/vtn_gather_types.c \
708 $build_dir/nir_intrinsics.c \
709 $build_dir/nir_opcodes.c \
710 $build_dir/nir_opt_algebraic.c \
711 $build_dir/nir_constant_expressions.c \
712 \
713 $src_dir/src/compiler/spirv/gl_spirv.c \
714 $src_dir/src/compiler/spirv/spirv_to_nir.c \
715 $src_dir/src/compiler/spirv/vtn_alu.c \
716 $src_dir/src/compiler/spirv/vtn_amd.c \
717 $src_dir/src/compiler/spirv/vtn_cfg.c \
718 $src_dir/src/compiler/spirv/vtn_glsl450.c \
719 $src_dir/contrib/vtn_opencl.c \
720 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
721 $src_dir/src/compiler/spirv/vtn_subgroup.c \
722 $src_dir/src/compiler/spirv/vtn_variables.c \
723 \
724 $src_dir/src/compiler/nir/nir.c \
725 $src_dir/src/compiler/nir/nir_builder.c \
726 $src_dir/src/compiler/nir/nir_builtin_builder.c \
727 $src_dir/src/compiler/nir/nir_clone.c \
728 $src_dir/src/compiler/nir/nir_control_flow.c \
729 $src_dir/src/compiler/nir/nir_deref.c \
730 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
731 $src_dir/src/compiler/nir/nir_dominance.c \
732 $src_dir/src/compiler/nir/nir_from_ssa.c \
733 $src_dir/src/compiler/nir/nir_gather_info.c \
734 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
735 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
736 $src_dir/src/compiler/nir/nir_group_loads.c \
737 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
738 $src_dir/src/compiler/nir/nir_inline_functions.c \
739 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
740 $src_dir/src/compiler/nir/nir_instr_set.c \
741 $src_dir/src/compiler/nir/nir_linking_helpers.c \
742 $src_dir/src/compiler/nir/nir_liveness.c \
743 $src_dir/src/compiler/nir/nir_loop_analyze.c \
744 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
745 $src_dir/src/compiler/nir/nir_lower_alu.c \
746 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
747 $src_dir/src/compiler/nir/nir_lower_amul.c \
748 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
749 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
750 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
751 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
752 $src_dir/src/compiler/nir/nir_lower_blend.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
754 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
755 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
756 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
757 $src_dir/src/compiler/nir/nir_lower_clip.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
759 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
760 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
761 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
762 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
764 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
765 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
766 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
767 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
768 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
769 $src_dir/src/compiler/nir/nir_lower_flrp.c \
770 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
772 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
773 $src_dir/src/compiler/nir/nir_lower_frexp.c \
774 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
775 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
776 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
777 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
778 $src_dir/src/compiler/nir/nir_lower_idiv.c \
779 $src_dir/src/compiler/nir/nir_lower_image.c \
780 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
781 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
782 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
783 $src_dir/src/compiler/nir/nir_lower_int64.c \
784 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
785 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
786 $src_dir/src/compiler/nir/nir_lower_io.c \
787 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
789 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
791 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
792 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
793 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
794 $src_dir/src/compiler/nir/nir_lower_mediump.c \
795 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
796 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
797 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
798 $src_dir/src/compiler/nir/nir_lower_multiview.c \
799 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
800 $src_dir/src/compiler/nir/nir_lower_packing.c \
801 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
802 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
803 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
804 $src_dir/src/compiler/nir/nir_lower_point_size.c \
805 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
806 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
807 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
808 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
809 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
810 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
811 $src_dir/src/compiler/nir/nir_lower_returns.c \
812 $src_dir/src/compiler/nir/nir_lower_samplers.c \
813 $src_dir/src/compiler/nir/nir_lower_scratch.c \
814 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
815 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
816 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
817 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
818 $src_dir/src/compiler/nir/nir_lower_system_values.c \
819 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
820 $src_dir/src/compiler/nir/nir_lower_tex.c \
821 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
822 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
823 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
824 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
825 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
826 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
827 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
828 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
829 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
830 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
831 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
832 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
834 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
835 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
836 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
837 $src_dir/src/compiler/nir/nir_metadata.c \
838 $src_dir/src/compiler/nir/nir_mod_analysis.c \
839 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
840 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
841 $src_dir/src/compiler/nir/nir_opt_access.c \
842 $src_dir/src/compiler/nir/nir_opt_barriers.c \
843 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
844 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
845 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
846 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
847 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
848 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
849 $src_dir/src/compiler/nir/nir_opt_cse.c \
850 $src_dir/src/compiler/nir/nir_opt_dce.c \
851 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
852 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
853 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
854 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
855 $src_dir/src/compiler/nir/nir_opt_gcm.c \
856 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
857 $src_dir/src/compiler/nir/nir_opt_if.c \
858 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
859 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
860 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
861 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
862 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
863 $src_dir/src/compiler/nir/nir_opt_move.c \
864 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
865 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
866 $src_dir/src/compiler/nir/nir_opt_offsets.c \
867 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
868 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
869 $src_dir/src/compiler/nir/nir_opt_preamble.c \
870 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
871 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
872 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
873 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
874 $src_dir/src/compiler/nir/nir_opt_sink.c \
875 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
876 $src_dir/src/compiler/nir/nir_opt_undef.c \
877 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
878 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
879 $src_dir/src/compiler/nir/nir_phi_builder.c \
880 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
881 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
882 $src_dir/src/compiler/nir/nir_print.c \
883 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
884 $src_dir/src/compiler/nir/nir_range_analysis.c \
885 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
886 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
887 $src_dir/src/compiler/nir/nir_repair_ssa.c \
888 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
889 $src_dir/src/compiler/nir/nir_schedule.c \
890 $src_dir/src/compiler/nir/nir_search.c \
891 $src_dir/src/compiler/nir/nir_serialize.c \
892 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
893 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
894 $src_dir/src/compiler/nir/nir_split_var_copies.c \
895 $src_dir/src/compiler/nir/nir_split_vars.c \
896 $src_dir/src/compiler/nir/nir_sweep.c \
897 $src_dir/src/compiler/nir/nir_to_lcssa.c \
898 $src_dir/src/compiler/nir/nir_validate.c \
899 $src_dir/src/compiler/nir/nir_worklist.c \
900 "
901 for f in $libnir_files
902 do
903 libnir_obj=$build_dir/$(basename $f .c).o
904 libnir_a="$libnir_a $libnir_obj"
905
906 $cc $cppflags $f -o $libnir_obj &
907 done
908 #===============================================================================
909 # libaco
910 # we don't use cppflags_common for aco because the code is not yet
911 # compatible
912 cppflags="\
913 $gcc_builtins_cppflags \
914 $gcc_attributes_cppflags \
915 $linux_glibc_cppflags \
916 $mesa_cppflags \
917 -I$build_dir \
918 -I$src_dir/src/amd/compiler \
919 -I$src_dir/src/amd/vulkan \
920 -I$build_dir/src/amd/common \
921 -I$src_dir/src/amd/common \
922 -I$build_dir/src/amd \
923 -I$src_dir/src/amd \
924 -I$src_dir/src/compiler/nir \
925 -I$src_dir/src/compiler \
926 -I$src_dir/src/mesa \
927 -I$src_dir/src/gallium/include \
928 -I$src_dir/src \
929 -I$src_dir/include \
930 "
931 libaco_files="\
932 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
933 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
934 $src_dir/src/amd/compiler/aco_dominance.cpp \
935 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
936 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
937 $src_dir/src/amd/compiler/aco_interface.cpp \
938 $src_dir/src/amd/compiler/aco_assembler.cpp \
939 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
940 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
941 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
942 $src_dir/src/amd/compiler/aco_ir.cpp \
943 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
944 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
945 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
946 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
947 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
948 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
949 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
950 $build_dir/aco_opcodes.cpp \
951 $src_dir/src/amd/compiler/aco_optimizer.cpp \
952 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
953 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
954 $src_dir/src/amd/compiler/aco_print_asm.cpp \
955 $src_dir/src/amd/compiler/aco_print_ir.cpp \
956 $src_dir/src/amd/compiler/aco_scheduler.cpp \
957 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
958 $src_dir/src/amd/compiler/aco_spill.cpp \
959 $src_dir/src/amd/compiler/aco_statistics.cpp \
960 $src_dir/src/amd/compiler/aco_validate.cpp \
961 "
962 for f in $libaco_files
963 do
964 libaco_obj=$build_dir/$(basename $f .c).o
965 libaco_a="$libaco_a $libaco_obj"
966
967 $cxx $cppflags $f -o $libaco_obj &
968 done
969 #===============================================================================
970 # libmesautils
971 cppflags="\
972 $cppflags_common \
973 -I$build_dir/src/util/format \
974 -I$build_dir/src \
975 -I$build_dir \
976 -I$src_dir/src/gallium/auxiliary \
977 -I$src_dir/src/gallium/include \
978 -I$src_dir/src/mesa \
979 -I$src_dir/src/util/format \
980 -I$src_dir/src/util \
981 -I$src_dir/src \
982 -I$src_dir/include \
983 $zlib_cppflags \
984 "
985 libmesautil_files="\
986 $build_dir/format_srgb.c \
987 $build_dir/u_format_table.c \
988 $src_dir/src/util/anon_file.c \
989 $src_dir/src/util/bitscan.c \
990 $src_dir/src/util/blob.c \
991 $src_dir/src/util/build_id.c \
992 $src_dir/src/util/compress.c \
993 $src_dir/src/util/crc32.c \
994 $src_dir/src/util/dag.c \
995 $src_dir/src/util/disk_cache.c \
996 $src_dir/src/util/disk_cache_os.c \
997 $src_dir/src/util/double.c \
998 $src_dir/src/util/fast_idiv_by_const.c \
999 $src_dir/src/util/fossilize_db.c \
1000 $src_dir/src/util/futex.c \
1001 $src_dir/src/util/half_float.c \
1002 $src_dir/src/util/hash_table.c \
1003 $src_dir/src/util/log.c \
1004 $src_dir/src/util/mesa-sha1.c \
1005 $src_dir/src/util/mesa_cache_db.c \
1006 $src_dir/src/util/mesa_cache_db_multipart.c \
1007 $src_dir/src/util/memstream.c \
1008 $src_dir/src/util/os_file.c \
1009 $src_dir/src/util/os_memory_fd.c \
1010 $src_dir/src/util/os_misc.c \
1011 $src_dir/src/util/os_socket.c \
1012 $src_dir/src/util/os_time.c \
1013 $src_dir/src/util/sha1/sha1.c \
1014 $src_dir/src/util/ralloc.c \
1015 $src_dir/src/util/rand_xor.c \
1016 $src_dir/src/util/rb_tree.c \
1017 $src_dir/src/util/register_allocate.c \
1018 $src_dir/src/util/rgtc.c \
1019 $src_dir/src/util/rwlock.c \
1020 $src_dir/src/util/set.c \
1021 $src_dir/src/util/simple_mtx.c \
1022 $src_dir/src/util/slab.c \
1023 $src_dir/src/util/softfloat.c \
1024 $src_dir/src/util/sparse_array.c \
1025 $src_dir/src/util/string_buffer.c \
1026 $src_dir/src/util/strtod.c \
1027 $src_dir/src/util/u_atomic.c \
1028 $src_dir/src/util/u_call_once.c \
1029 $src_dir/src/util/u_cpu_detect.c \
1030 $src_dir/src/util/u_debug.c \
1031 $src_dir/src/util/u_debug_describe.c \
1032 $src_dir/src/util/u_debug_refcnt.c \
1033 $src_dir/src/util/u_debug_stack.c \
1034 $src_dir/src/util/u_debug_symbol.c \
1035 $src_dir/src/util/u_dl.c \
1036 $src_dir/src/util/u_dynarray.c \
1037 $src_dir/src/util/u_hash_table.c \
1038 $src_dir/src/util/u_printf.c \
1039 $src_dir/src/util/format/u_format.c \
1040 $src_dir/src/util/format/u_format_bptc.c \
1041 $src_dir/src/util/format/u_format_etc.c \
1042 $src_dir/src/util/format/u_format_fxt1.c \
1043 $src_dir/src/util/format/u_format_latc.c \
1044 $src_dir/src/util/format/u_format_other.c \
1045 $src_dir/src/util/format/u_format_rgtc.c \
1046 $src_dir/src/util/format/u_format_s3tc.c \
1047 $src_dir/src/util/format/u_format_tests.c \
1048 $src_dir/src/util/format/u_format_yuv.c \
1049 $src_dir/src/util/format/u_format_zs.c \
1050 $src_dir/src/util/u_idalloc.c \
1051 $src_dir/src/util/u_math.c \
1052 $src_dir/src/util/u_mm.c \
1053 $src_dir/src/util/u_process.c \
1054 $src_dir/src/util/u_queue.c \
1055 $src_dir/src/util/u_thread.c \
1056 $src_dir/src/util/u_vector.c \
1057 $src_dir/src/util/u_worklist.c \
1058 $src_dir/src/util/vma.c \
1059 \
1060 $src_dir/src/c11/impl/time.c \
1061 $src_dir/src/c11/impl/threads_posix.c \
1062 "
1063 for f in $libmesautil_files
1064 do
1065 libmesautil_obj=$build_dir/$(basename $f .c).o
1066 libmesautil_a="$libmesautil_a $libmesautil_obj"
1067
1068 $cc $cppflags $f -o $libmesautil_obj &
1069 done
1070 #===============================================================================
1071 # amd vulkan
1072 cppflags="\
1073 $cppflags_common \
1074 -DPACKAGE_VERSION=\"$version\" \
1075 -I$build_dir/vulkan/util \
1076 -I$build_dir/src/util \
1077 -I$build_dir \
1078 -I$src_dir/src/amd/compiler \
1079 -I$build_dir/src/amd/common \
1080 -I$src_dir/src/amd/common \
1081 -I$src_dir/src/amd/vulkan/nir \
1082 -I$src_dir/src/amd/vulkan/meta \
1083 -I$src_dir/src/amd/vulkan \
1084 -I$src_dir/src/amd \
1085 -I$src_dir/src/gallium/auxiliary \
1086 -I$src_dir/src/gallium/include \
1087 -I$src_dir/src/vulkan/util \
1088 -I$src_dir/src/vulkan/runtime \
1089 -I$src_dir/src/vulkan/wsi \
1090 -I$src_dir/src/util \
1091 -I$src_dir/src/mesa \
1092 -I$src_dir/src/compiler/nir \
1093 -I$src_dir/src/compiler \
1094 -I$src_dir/src \
1095 -I$src_dir/include \
1096 $libdrm_cppflags \
1097 $libdrm_amdgpu_cppflags \
1098 $libx11_cppflags \
1099 $libxrandr_cppflags \
1100 $libxrender_cppflags \
1101 $libxcb_cppflags \
1102 $xorgproto_cppflags \
1103 $libxshmfence_cppflags \
1104 "
1105 #$build_dir/radv_extensions.c
1106 #$build_dir/vk_format_table.c
1107 # XXX: remove rt for now
1108 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1109 libvulkan_amd_common_files="\
1110 $src_dir/src/amd/vulkan/radv_android.c \
1111 $src_dir/src/amd/vulkan/radv_buffer.c \
1112 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1113 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1114 $src_dir/src/amd/vulkan/radv_debug.c \
1115 $build_dir/src/amd/vulkan/radv_device.c \
1116 $src_dir/src/amd/vulkan/radv_device_memory.c \
1117 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1118 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1119 $src_dir/src/amd/vulkan/radv_event.c \
1120 $src_dir/src/amd/vulkan/radv_formats.c \
1121 $src_dir/src/amd/vulkan/radv_image.c \
1122 $src_dir/src/amd/vulkan/radv_instance.c \
1123 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1137 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1138 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1139 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1148 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1149 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1150 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1151 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1152 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1153 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1154 $src_dir/src/amd/vulkan/radv_physical_device.c \
1155 $src_dir/src/amd/vulkan/radv_pipeline.c \
1156 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1157 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1158 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1159 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1160 $src_dir/src/amd/vulkan/radv_queue.c \
1161 $src_dir/src/amd/vulkan/radv_rt_common.c \
1162 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1163 $src_dir/src/amd/vulkan/radv_sampler.c \
1164 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1165 $src_dir/src/amd/vulkan/radv_shader.c \
1166 $src_dir/src/amd/vulkan/radv_shader_args.c \
1167 $src_dir/src/amd/vulkan/radv_shader_info.c \
1168 $src_dir/src/amd/vulkan/radv_spm.c \
1169 $src_dir/src/amd/vulkan/radv_query.c \
1170 $src_dir/src/amd/vulkan/radv_video.c \
1171 $src_dir/src/amd/vulkan/radv_wsi.c \
1172 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1173 \
1174 $build_dir/gfx10_format_table.c \
1175 \
1176 $build_dir/radv_entrypoints.c \
1177 \
1178 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1179 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1180 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1181 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1182 \
1183 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1184 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1185 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1186 \
1187 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1188 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1189 \
1190 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1191 "
1192
1193 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1194
1195 for f in $libvulkan_amd_common_files
1196 do
1197 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1198 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1199
1200 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1201 done
1202 libvulkan_amd_common_a="\
1203 $libvulkan_amd_common_a \
1204 $build_dir/xmlconfig.o"
1205 #===============================================================================
1206 # create the radeon vulkan driver
1207 soname=libvulkan_radeon.so
1208
1209 # XXX:the attempt to generalize without kludge the link stage of real programs
1210 # build is near a total and complete failure
1211 if test "${driver_link_cmd-unset}" = unset ; then
1212 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1213 -shared -static-libgcc -static-libstdc++ \
1214 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1215 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1216 -Wl,--whole-archive -Wl,--start-group \
1217 $libaco_a \
1218 $libvulkan_amd_common_a \
1219 $libvulkan_util_a \
1220 $libvulkan_runtime_a \
1221 $libvulkan_wsi_a \
1222 $libamd_common_a \
1223 $libamdgpu_addrlib_a \
1224 $libcompiler_a \
1225 $libnir_a \
1226 $libmesautil_a \
1227 -Wl,--end-group -Wl,--no-whole-archive \
1228 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1229 $zlib_ldflags \
1230 $expat_ldflags \
1231 $libelf_ldflags \
1232 -Wl,--as-needed \
1233 $libdrm_ldflags \
1234 $libdrm_amdgpu_ldflags \
1235 $libx11_ldflags \
1236 $libxrandr_ldflags \
1237 $libxrender_ldflags \
1238 $libxcb_ldflags \
1239 $libxshmfence_ldflags \
1240 -lpthread \
1241 -ldl \
1242 -Wl,--no-as-needed"
1243 fi
1244 wait
1245 eval $driver_link_cmd
1246 #===============================================================================
File builders/mesa-vulkan-amd-sh-51cd2965c71986d904997c15981217a6270943c0/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/generators.sh deleted (index 6d42770..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
16 cp -f $src_dir/src/amd/vulkan/radv_meta.c $build_dir/src/amd/vulkan
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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39
40 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
41 --xml $vulkan_api_xml \
42 --out-c vk_extensions.c \
43 --out-h vk_extensions.h &
44
45 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --xml $vulkan_api_xml \
66 --proto --weak \
67 --out-h vk_common_entrypoints.h \
68 --out-c vk_common_entrypoints.c \
69 --prefix vk_common &
70 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
71 --xml $vulkan_api_xml \
72 --proto --weak \
73 --out-h vk_cmd_enqueue_entrypoints.h \
74 --out-c vk_cmd_enqueue_entrypoints.c \
75 --prefix vk_cmd_enqueue &
76 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
77 --xml $vulkan_api_xml \
78 --out-h vk_cmd_queue.h \
79 --out-c vk_cmd_queue.c &
80 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
81 --xml $vulkan_api_xml \
82 --out-h vk_dispatch_trampolines.h \
83 --out-c vk_dispatch_trampolines.c &
84 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
85 --xml $vulkan_api_xml \
86 --out-h vk_physical_device_features.h \
87 --out-c vk_physical_device_features.c &
88 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
89 --xml $vulkan_api_xml \
90 --out-h vk_format_info.h \
91 --out-c vk_format_info.c &
92 unset PYTHONPATH
93 #===============================================================================
94 # wsi x11 (Window System Interface)
95 export PYTHONPATH=$mako
96 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
97 --xml $vulkan_api_xml \
98 --proto --weak \
99 --out-h wsi_common_entrypoints.h \
100 --out-c wsi_common_entrypoints.c \
101 --prefix wsi &
102 unset PYTHONPATH
103 #===============================================================================
104 # amd common archive
105 $python3 $src_dir/src/amd/common/sid_tables.py \
106 $src_dir/src/amd/common/sid.h \
107 $src_dir/src/amd/registers/gfx6.json \
108 $src_dir/src/amd/registers/gfx7.json \
109 $src_dir/src/amd/registers/gfx8.json \
110 $src_dir/src/amd/registers/gfx81.json \
111 $src_dir/src/amd/registers/gfx9.json \
112 $src_dir/src/amd/registers/gfx10.json \
113 $src_dir/src/amd/registers/gfx10-rsrc.json \
114 $src_dir/src/amd/registers/gfx103.json \
115 $src_dir/src/amd/registers/gfx11.json \
116 $src_dir/src/amd/registers/gfx11-rsrc.json \
117 $src_dir/src/amd/registers/pkt3.json \
118 $src_dir/src/amd/registers/registers-manually-defined.json \
119 >$build_dir/sid_tables.h &
120 mkdir -p $build_dir/src/amd/common
121 $python3 $src_dir/src/amd/registers/makeregheader.py \
122 $src_dir/src/amd/registers/gfx6.json \
123 $src_dir/src/amd/registers/gfx7.json \
124 $src_dir/src/amd/registers/gfx8.json \
125 $src_dir/src/amd/registers/gfx81.json \
126 $src_dir/src/amd/registers/gfx9.json \
127 $src_dir/src/amd/registers/gfx10.json \
128 $src_dir/src/amd/registers/gfx10-rsrc.json \
129 $src_dir/src/amd/registers/gfx11.json \
130 $src_dir/src/amd/registers/gfx11-rsrc.json \
131 $src_dir/src/amd/registers/gfx103.json \
132 $src_dir/src/amd/registers/pkt3.json \
133 $src_dir/src/amd/registers/registers-manually-defined.json \
134 --sort address \
135 --guard AMDGFXREGS_H \
136 >$build_dir/src/amd/common/amdgfxregs.h &
137 #===============================================================================
138 # libcompiler required by libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
141 >$build_dir/ir_expression_operation.h &
142 unset PYTHONPATH
143 #===============================================================================
144 # libnir
145 export PYTHONPATH=$mako
146 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
147 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
148 $build_dir/spirv_info.c &
149
150 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
151 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
152 $build_dir/vtn_gather_types.c &
153
154 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
155 $src_dir/src/compiler/spirv/spir-v.xml \
156 $build_dir/vtn_generator_ids.h &
157 # nir generated files
158 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
159 >$build_dir/nir_constant_expressions.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
162 >$build_dir/nir_opt_algebraic.c &
163
164 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
165 >$build_dir/nir_opcodes.c &
166
167 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
168 --outdir $build_dir &
169 unset PYTHONPATH
170 #===============================================================================
171 # libaco
172 export PYTHONPATH=$mako
173 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
174 >$build_dir/aco_opcodes.h &
175 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
176 >$build_dir/aco_opcodes.cpp &
177 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
178 >$build_dir/aco_builder.h &
179 unset PYTHONPATH
180 #===============================================================================
181 # libmesautils
182 mkdir -p $build_dir/src/util
183
184 export PYTHONPATH=$mako
185 $python3 $src_dir/src/util/format_srgb.py \
186 >$build_dir/format_srgb.c
187
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 $src_dir/src/util/format/u_format.csv \
190 >$build_dir/u_format_table.c
191
192 # wow, really?
193 mkdir -p $build_dir/src/util/format
194 $python3 $src_dir/src/util/format/u_format_table.py \
195 --header \
196 $src_dir/src/util/format/u_format.csv \
197 >$build_dir/src/util/format/u_format_pack.h
198
199 # oooof!
200 $python3 $src_dir/src/util/driconf_static.py \
201 $src_dir/src/util/00-mesa-defaults.conf \
202 $build_dir/src/util/driconf_static.h
203 unset PYTHONPATH
204 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
205 #===============================================================================
206 # amd vulkan
207 export PYTHONPATH=$mako
208 #------------------------------------------------------------------------------
209 # specific API to work around _still maintained at the time of writing _ game
210 # executable... this is the beginning of the end...
211 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
212 --xml $vulkan_api_xml \
213 --proto --weak \
214 --out-h radv_entrypoints.h \
215 --out-c radv_entrypoints.c \
216 --prefix radv \
217 --device-prefix metro_exodus \
218 --device-prefix rage2 &
219 #------------------------------------------------------------------------------
220 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
221 # --xml $vulkan_api_xml \
222 # --out-c radv_extensions.c \
223 # --out-h radv_extensions.h &
224 #------------------------------------------------------------------------------
225 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
226 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
227 # >$build_dir/vk_format_table.c &
228 #------------------------------------------------------------------------------
229 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
230 $src_dir/src/util/format/u_format.csv \
231 $src_dir/src/amd/registers/gfx10-rsrc.json \
232 $src_dir/src/amd/registers/gfx11-rsrc.json \
233 >$build_dir/gfx10_format_table.c &
234 #------------------------------------------------------------------------------
235 git_sha1=no_git_sha1_available
236 if test -d $src_dir/.git; then
237 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
238 fi
239 echo git_sha1=$git_sha1
240 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
241 unset PYTHONPATH
242 #===============================================================================
File builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/radv_meta.c.patch deleted (index ac6777c..0000000)
1 --- a/src/amd/vulkan/radv_meta.c
2 +++ b/src/amd/vulkan/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 126e8f8..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
481 $src_dir/src/vulkan/runtime/vk_descriptors.c \
482 $src_dir/src/vulkan/runtime/vk_device.c \
483 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
484 $build_dir/vk_dispatch_trampolines.c \
485 $src_dir/src/vulkan/runtime/vk_fence.c \
486 $build_dir/vk_format_info.c \
487 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
488 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
489 $src_dir/src/vulkan/runtime/vk_image.c \
490 $src_dir/src/vulkan/runtime/vk_instance.c \
491 $src_dir/src/vulkan/runtime/vk_log.c \
492 $src_dir/src/vulkan/runtime/vk_nir.c \
493 $src_dir/src/vulkan/runtime/vk_object.c \
494 $src_dir/src/vulkan/runtime/vk_pipeline.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
497 $src_dir/src/vulkan/runtime/vk_physical_device.c \
498 $build_dir/vk_physical_device_features.c \
499 $src_dir/src/vulkan/runtime/vk_queue.c \
500 $src_dir/src/vulkan/runtime/vk_render_pass.c \
501 $src_dir/src/vulkan/runtime/vk_sampler.c \
502 $src_dir/src/vulkan/runtime/vk_semaphore.c \
503 $src_dir/src/vulkan/runtime/vk_shader_module.c \
504 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
505 $src_dir/src/vulkan/runtime/vk_sync.c \
506 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
507 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
508 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
509 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
510 $src_dir/src/vulkan/runtime/vk_video.c \
511 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
512 "
513 for f in $libvulkan_runtime_files
514 do
515 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
516 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
517
518 $cc $cppflags $f -o $libvulkan_runtime_obj &
519 done
520 #===============================================================================
521 # wsi x11 (Window System Interface)
522 cppflags="\
523 $cppflags_common \
524 -I$build_dir/vulkan/util \
525 -I$build_dir \
526 -I$src_dir/src \
527 -I$src_dir/src/vulkan/util \
528 -I$src_dir/src/vulkan/runtime \
529 -I$src_dir/src/gallium/include \
530 -I$src_dir/include \
531 -I$src_dir/include/drm-uapi \
532 $libxcb_cppflags \
533 $libx11_cppflags \
534 $libxrandr_cppflags \
535 $libxrender_cppflags \
536 $xorgproto_cppflags \
537 $libxshmfence_cppflags \
538 $libdrm_cppflags \
539 "
540 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
541 -o $build_dir/wsi_common.o &
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
543 -o $build_dir/wsi_common_drm.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
545 -o $build_dir/wsi_common_x11.o &
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
547 -o $build_dir/wsi_common_display.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
549 -o $build_dir/wsi_common_headless.o &
550 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
551 -o $build_dir/wsi_common_entrypoints.o &
552 libvulkan_wsi_a="\
553 $build_dir/wsi_common.o \
554 $build_dir/wsi_common_drm.o \
555 $build_dir/wsi_common_x11.o \
556 $build_dir/wsi_common_display.o \
557 $build_dir/wsi_common_headless.o \
558 $build_dir/wsi_common_entrypoints.o \
559 "
560 #===============================================================================
561 # amd common archive
562 cppflags="\
563 $cppflags_common \
564 -I$build_dir \
565 -I$src_dir/src/gallium/auxiliary \
566 -I$src_dir/src/gallium/include \
567 -I$build_dir/src/amd/common \
568 -I$src_dir/src/amd/common \
569 -I$src_dir/src/util \
570 -I$build_dir/src/amd \
571 -I$src_dir/src/amd \
572 -I$src_dir/src/compiler/nir \
573 -I$src_dir/src/compiler \
574 -I$src_dir/src/mesa \
575 -I$src_dir/src \
576 -I$src_dir/include \
577 -I$src_dir/include/drm-uapi \
578 $libdrm_cppflags \
579 $libdrm_amdgpu_cppflags \
580 $linux_drm_cppflags \
581 $libelf_cppflags \
582 "
583 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
584 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
585 #$src_dir/src/amd/common/ac_sqtt.c \
586 libamd_common_c_files="\
587 $src_dir/src/amd/common/ac_surface.c \
588 $src_dir/src/amd/common/ac_binary.c \
589 $src_dir/src/amd/common/ac_debug.c \
590 $src_dir/src/amd/common/amd_family.c \
591 $src_dir/src/amd/common/ac_gpu_info.c \
592 $src_dir/src/amd/common/ac_msgpack.c \
593 $src_dir/src/amd/common/ac_nir.c \
594 $src_dir/src/amd/common/ac_nir_cull.c \
595 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
596 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
597 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
598 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
599 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
600 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
601 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
602 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
603 $src_dir/src/amd/common/ac_perfcounter.c \
604 $src_dir/src/amd/common/ac_shader_args.c \
605 $src_dir/src/amd/common/ac_shader_util.c \
606 $src_dir/src/amd/common/ac_shadowed_regs.c \
607 $src_dir/src/amd/common/ac_rgp.c \
608 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
609 $src_dir/src/amd/common/ac_rtld.c \
610 $src_dir/src/amd/common/ac_spm.c \
611 "
612 for f in $libamd_common_c_files
613 do
614 libamd_common_c_obj=$build_dir/$(basename $f .c).o
615 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
616
617 $cc $cppflags $f -o $libamd_common_c_obj &
618 done
619 #===============================================================================
620 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
621 cppflags="\
622 $cppflags_common \
623 -DLITTLEENDIAN_CPU \
624 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
625 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
626 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
627 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
628 -I$src_dir/src/amd/addrlib/inc \
629 -I$src_dir/src/amd/addrlib/src/core \
630 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
631 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
632 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
633 -I$src_dir/src/amd/addrlib/src/chip/r800 \
634 -I$src_dir/src/amd/addrlib/src \
635 -I$src_dir/src \
636 -I$src_dir/include \
637 "
638 libamdgpu_addrlib_files="\
639 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
640 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
641 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
642 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
645 $src_dir/src/amd/addrlib/src/core/coord.cpp \
646 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
647 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
648 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
649 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
650 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
651 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
652 "
653 for f in $libamdgpu_addrlib_files
654 do
655 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
656 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
657
658 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
659 done
660 #===============================================================================
661 # libcompiler required by libnir
662 cppflags="\
663 $cppflags_common \
664 -I$build_dir \
665 -I$src_dir/src/gallium/auxiliary \
666 -I$src_dir/src/gallium/include \
667 -I$src_dir/src/mesa \
668 -I$src_dir/src \
669 -I$src_dir/include \
670 "
671 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
672 -o $build_dir/glsl_types.o &
673 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
674 -o $build_dir/nir_types.o &
675 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
676 -o $build_dir/shader_enums.o &
677 libcompiler_a="\
678 $build_dir/glsl_types.o \
679 $build_dir/nir_types.o \
680 $build_dir/shader_enums.o \
681 "
682 #===============================================================================
683 # libnir
684 cppflags="\
685 $cppflags_common \
686 -I$build_dir \
687 -I$src_dir/src/compiler/spirv \
688 -I$src_dir/src/compiler/nir \
689 -I$src_dir/src/compiler \
690 -I$src_dir/src/gallium/include \
691 -I$src_dir/src/mesa \
692 -I$src_dir/src \
693 -I$src_dir/include \
694 $xorgproto_cppflags \
695 $libxcb_cppflags \
696 $libx11_cppflags \
697 $libxrender_cppflags \
698 $libxrandr_cppflags \
699 "
700 libnir_files="\
701 $build_dir/spirv_info.c \
702 $build_dir/vtn_gather_types.c \
703 $build_dir/nir_intrinsics.c \
704 $build_dir/nir_opcodes.c \
705 $build_dir/nir_opt_algebraic.c \
706 $build_dir/nir_constant_expressions.c \
707 \
708 $src_dir/src/compiler/spirv/gl_spirv.c \
709 $src_dir/src/compiler/spirv/spirv_to_nir.c \
710 $src_dir/src/compiler/spirv/vtn_alu.c \
711 $src_dir/src/compiler/spirv/vtn_amd.c \
712 $src_dir/src/compiler/spirv/vtn_cfg.c \
713 $src_dir/src/compiler/spirv/vtn_glsl450.c \
714 $src_dir/contrib/vtn_opencl.c \
715 $src_dir/src/compiler/spirv/vtn_subgroup.c \
716 $src_dir/src/compiler/spirv/vtn_variables.c \
717 \
718 $src_dir/src/compiler/nir/nir.c \
719 $src_dir/src/compiler/nir/nir_builder.c \
720 $src_dir/src/compiler/nir/nir_builtin_builder.c \
721 $src_dir/src/compiler/nir/nir_clone.c \
722 $src_dir/src/compiler/nir/nir_control_flow.c \
723 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
724 $src_dir/src/compiler/nir/nir_deref.c \
725 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
726 $src_dir/src/compiler/nir/nir_dominance.c \
727 $src_dir/src/compiler/nir/nir_from_ssa.c \
728 $src_dir/src/compiler/nir/nir_gather_info.c \
729 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
730 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
731 $src_dir/src/compiler/nir/nir_group_loads.c \
732 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
733 $src_dir/src/compiler/nir/nir_inline_functions.c \
734 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
735 $src_dir/src/compiler/nir/nir_instr_set.c \
736 $src_dir/src/compiler/nir/nir_linking_helpers.c \
737 $src_dir/src/compiler/nir/nir_liveness.c \
738 $src_dir/src/compiler/nir/nir_loop_analyze.c \
739 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
740 $src_dir/src/compiler/nir/nir_lower_alu.c \
741 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
742 $src_dir/src/compiler/nir/nir_lower_amul.c \
743 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
744 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
745 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
746 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
747 $src_dir/src/compiler/nir/nir_lower_blend.c \
748 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
749 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
750 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
751 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
752 $src_dir/src/compiler/nir/nir_lower_clip.c \
753 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
754 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
755 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
756 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
757 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
758 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
759 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
760 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
761 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
762 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
763 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
764 $src_dir/src/compiler/nir/nir_lower_flrp.c \
765 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
766 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
767 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
768 $src_dir/src/compiler/nir/nir_lower_frexp.c \
769 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
770 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
771 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
772 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
773 $src_dir/src/compiler/nir/nir_lower_idiv.c \
774 $src_dir/src/compiler/nir/nir_lower_image.c \
775 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
776 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
777 $src_dir/src/compiler/nir/nir_lower_int64.c \
778 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
779 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
780 $src_dir/src/compiler/nir/nir_lower_io.c \
781 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
782 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
783 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
784 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
785 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
786 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
787 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
788 $src_dir/src/compiler/nir/nir_lower_mediump.c \
789 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
790 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
791 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
792 $src_dir/src/compiler/nir/nir_lower_multiview.c \
793 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
794 $src_dir/src/compiler/nir/nir_lower_packing.c \
795 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
796 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
797 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
798 $src_dir/src/compiler/nir/nir_lower_point_size.c \
799 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
800 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
801 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
802 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
803 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
804 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
805 $src_dir/src/compiler/nir/nir_lower_returns.c \
806 $src_dir/src/compiler/nir/nir_lower_samplers.c \
807 $src_dir/src/compiler/nir/nir_lower_scratch.c \
808 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
809 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
810 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
811 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
812 $src_dir/src/compiler/nir/nir_lower_system_values.c \
813 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
814 $src_dir/src/compiler/nir/nir_lower_tex.c \
815 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
816 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
817 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
818 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
819 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
820 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
821 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
822 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
823 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
824 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
825 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
826 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
827 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
828 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
829 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
830 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
831 $src_dir/src/compiler/nir/nir_metadata.c \
832 $src_dir/src/compiler/nir/nir_mod_analysis.c \
833 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
834 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
835 $src_dir/src/compiler/nir/nir_opt_access.c \
836 $src_dir/src/compiler/nir/nir_opt_barriers.c \
837 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
838 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
839 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
840 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
841 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
842 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
843 $src_dir/src/compiler/nir/nir_opt_cse.c \
844 $src_dir/src/compiler/nir/nir_opt_dce.c \
845 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
846 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
847 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
848 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
849 $src_dir/src/compiler/nir/nir_opt_gcm.c \
850 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
851 $src_dir/src/compiler/nir/nir_opt_if.c \
852 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
853 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
854 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
855 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
856 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
857 $src_dir/src/compiler/nir/nir_opt_move.c \
858 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
859 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
860 $src_dir/src/compiler/nir/nir_opt_offsets.c \
861 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
862 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
863 $src_dir/src/compiler/nir/nir_opt_preamble.c \
864 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
865 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
866 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
867 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
868 $src_dir/src/compiler/nir/nir_opt_sink.c \
869 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
870 $src_dir/src/compiler/nir/nir_opt_undef.c \
871 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
872 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
873 $src_dir/src/compiler/nir/nir_phi_builder.c \
874 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
875 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
876 $src_dir/src/compiler/nir/nir_print.c \
877 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
878 $src_dir/src/compiler/nir/nir_range_analysis.c \
879 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
880 $src_dir/src/compiler/nir/nir_repair_ssa.c \
881 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
882 $src_dir/src/compiler/nir/nir_schedule.c \
883 $src_dir/src/compiler/nir/nir_search.c \
884 $src_dir/src/compiler/nir/nir_serialize.c \
885 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
886 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
887 $src_dir/src/compiler/nir/nir_split_var_copies.c \
888 $src_dir/src/compiler/nir/nir_split_vars.c \
889 $src_dir/src/compiler/nir/nir_sweep.c \
890 $src_dir/src/compiler/nir/nir_to_lcssa.c \
891 $src_dir/src/compiler/nir/nir_validate.c \
892 $src_dir/src/compiler/nir/nir_worklist.c \
893 "
894 for f in $libnir_files
895 do
896 libnir_obj=$build_dir/$(basename $f .c).o
897 libnir_a="$libnir_a $libnir_obj"
898
899 $cc $cppflags $f -o $libnir_obj &
900 done
901 #===============================================================================
902 # libaco
903 # we don't use cppflags_common for aco because the code is not yet
904 # compatible
905 cppflags="\
906 $gcc_builtins_cppflags \
907 $gcc_attributes_cppflags \
908 $linux_glibc_cppflags \
909 $mesa_cppflags \
910 -I$build_dir \
911 -I$src_dir/src/amd/compiler \
912 -I$src_dir/src/amd/vulkan \
913 -I$build_dir/src/amd/common \
914 -I$src_dir/src/amd/common \
915 -I$build_dir/src/amd \
916 -I$src_dir/src/amd \
917 -I$src_dir/src/compiler/nir \
918 -I$src_dir/src/compiler \
919 -I$src_dir/src/mesa \
920 -I$src_dir/src/gallium/include \
921 -I$src_dir/src \
922 -I$src_dir/include \
923 "
924 libaco_files="\
925 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
926 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
927 $src_dir/src/amd/compiler/aco_dominance.cpp \
928 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
929 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
930 $src_dir/src/amd/compiler/aco_interface.cpp \
931 $src_dir/src/amd/compiler/aco_assembler.cpp \
932 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
933 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
934 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
935 $src_dir/src/amd/compiler/aco_ir.cpp \
936 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
937 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
938 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
939 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
940 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
941 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
942 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
943 $build_dir/aco_opcodes.cpp \
944 $src_dir/src/amd/compiler/aco_optimizer.cpp \
945 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
946 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
947 $src_dir/src/amd/compiler/aco_print_asm.cpp \
948 $src_dir/src/amd/compiler/aco_print_ir.cpp \
949 $src_dir/src/amd/compiler/aco_scheduler.cpp \
950 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
951 $src_dir/src/amd/compiler/aco_spill.cpp \
952 $src_dir/src/amd/compiler/aco_statistics.cpp \
953 $src_dir/src/amd/compiler/aco_validate.cpp \
954 "
955 for f in $libaco_files
956 do
957 libaco_obj=$build_dir/$(basename $f .c).o
958 libaco_a="$libaco_a $libaco_obj"
959
960 $cxx $cppflags $f -o $libaco_obj &
961 done
962 #===============================================================================
963 # libmesautils
964 cppflags="\
965 $cppflags_common \
966 -I$build_dir/src/util/format \
967 -I$build_dir/src \
968 -I$build_dir \
969 -I$src_dir/src/gallium/auxiliary \
970 -I$src_dir/src/gallium/include \
971 -I$src_dir/src/mesa \
972 -I$src_dir/src/util/format \
973 -I$src_dir/src/util \
974 -I$src_dir/src \
975 -I$src_dir/include \
976 $zlib_cppflags \
977 "
978 libmesautil_files="\
979 $build_dir/format_srgb.c \
980 $build_dir/u_format_table.c \
981 $src_dir/src/util/anon_file.c \
982 $src_dir/src/util/bitscan.c \
983 $src_dir/src/util/blob.c \
984 $src_dir/src/util/build_id.c \
985 $src_dir/src/util/compress.c \
986 $src_dir/src/util/crc32.c \
987 $src_dir/src/util/dag.c \
988 $src_dir/src/util/disk_cache.c \
989 $src_dir/src/util/disk_cache_os.c \
990 $src_dir/src/util/double.c \
991 $src_dir/src/util/fast_idiv_by_const.c \
992 $src_dir/src/util/fossilize_db.c \
993 $src_dir/src/util/futex.c \
994 $src_dir/src/util/half_float.c \
995 $src_dir/src/util/hash_table.c \
996 $src_dir/src/util/log.c \
997 $src_dir/src/util/mesa-sha1.c \
998 $src_dir/src/util/mesa_cache_db.c \
999 $src_dir/src/util/mesa_cache_db_multipart.c \
1000 $src_dir/src/util/memstream.c \
1001 $src_dir/src/util/os_file.c \
1002 $src_dir/src/util/os_memory_fd.c \
1003 $src_dir/src/util/os_misc.c \
1004 $src_dir/src/util/os_socket.c \
1005 $src_dir/src/util/os_time.c \
1006 $src_dir/src/util/sha1/sha1.c \
1007 $src_dir/src/util/ralloc.c \
1008 $src_dir/src/util/rand_xor.c \
1009 $src_dir/src/util/rb_tree.c \
1010 $src_dir/src/util/register_allocate.c \
1011 $src_dir/src/util/rgtc.c \
1012 $src_dir/src/util/rwlock.c \
1013 $src_dir/src/util/set.c \
1014 $src_dir/src/util/simple_mtx.c \
1015 $src_dir/src/util/slab.c \
1016 $src_dir/src/util/softfloat.c \
1017 $src_dir/src/util/sparse_array.c \
1018 $src_dir/src/util/string_buffer.c \
1019 $src_dir/src/util/strtod.c \
1020 $src_dir/src/util/u_atomic.c \
1021 $src_dir/src/util/u_call_once.c \
1022 $src_dir/src/util/u_cpu_detect.c \
1023 $src_dir/src/util/u_debug.c \
1024 $src_dir/src/util/u_debug_describe.c \
1025 $src_dir/src/util/u_debug_refcnt.c \
1026 $src_dir/src/util/u_debug_stack.c \
1027 $src_dir/src/util/u_debug_symbol.c \
1028 $src_dir/src/util/u_dl.c \
1029 $src_dir/src/util/u_hash_table.c \
1030 $src_dir/src/util/u_printf.c \
1031 $src_dir/src/util/format/u_format.c \
1032 $src_dir/src/util/format/u_format_bptc.c \
1033 $src_dir/src/util/format/u_format_etc.c \
1034 $src_dir/src/util/format/u_format_fxt1.c \
1035 $src_dir/src/util/format/u_format_latc.c \
1036 $src_dir/src/util/format/u_format_other.c \
1037 $src_dir/src/util/format/u_format_rgtc.c \
1038 $src_dir/src/util/format/u_format_s3tc.c \
1039 $src_dir/src/util/format/u_format_tests.c \
1040 $src_dir/src/util/format/u_format_yuv.c \
1041 $src_dir/src/util/format/u_format_zs.c \
1042 $src_dir/src/util/u_idalloc.c \
1043 $src_dir/src/util/u_math.c \
1044 $src_dir/src/util/u_mm.c \
1045 $src_dir/src/util/u_process.c \
1046 $src_dir/src/util/u_queue.c \
1047 $src_dir/src/util/u_thread.c \
1048 $src_dir/src/util/u_vector.c \
1049 $src_dir/src/util/u_worklist.c \
1050 $src_dir/src/util/vma.c \
1051 \
1052 $src_dir/src/c11/impl/time.c \
1053 $src_dir/src/c11/impl/threads_posix.c \
1054 "
1055 for f in $libmesautil_files
1056 do
1057 libmesautil_obj=$build_dir/$(basename $f .c).o
1058 libmesautil_a="$libmesautil_a $libmesautil_obj"
1059
1060 $cc $cppflags $f -o $libmesautil_obj &
1061 done
1062 #===============================================================================
1063 # amd vulkan
1064 cppflags="\
1065 $cppflags_common \
1066 -DPACKAGE_VERSION=\"$version\" \
1067 -I$build_dir/vulkan/util \
1068 -I$build_dir/src/util \
1069 -I$build_dir \
1070 -I$src_dir/src/amd/compiler \
1071 -I$build_dir/src/amd/common \
1072 -I$src_dir/src/amd/common \
1073 -I$src_dir/src/amd/vulkan \
1074 -I$src_dir/src/amd \
1075 -I$src_dir/src/gallium/auxiliary \
1076 -I$src_dir/src/gallium/include \
1077 -I$src_dir/src/vulkan/util \
1078 -I$src_dir/src/vulkan/runtime \
1079 -I$src_dir/src/vulkan/wsi \
1080 -I$src_dir/src/util \
1081 -I$src_dir/src/mesa \
1082 -I$src_dir/src/compiler/nir \
1083 -I$src_dir/src/compiler \
1084 -I$src_dir/src \
1085 -I$src_dir/include \
1086 $libdrm_cppflags \
1087 $libdrm_amdgpu_cppflags \
1088 $libx11_cppflags \
1089 $libxrandr_cppflags \
1090 $libxrender_cppflags \
1091 $libxcb_cppflags \
1092 $xorgproto_cppflags \
1093 $libxshmfence_cppflags \
1094 "
1095 #$build_dir/radv_extensions.c
1096 #$build_dir/vk_format_table.c
1097 # XXX: remove rt for now
1098 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1099 libvulkan_amd_common_files="\
1100 $src_dir/src/amd/vulkan/radv_android.c \
1101 $src_dir/src/amd/vulkan/radv_buffer.c \
1102 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1103 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1104 $src_dir/src/amd/vulkan/radv_debug.c \
1105 $build_dir/src/amd/vulkan/radv_device.c \
1106 $src_dir/src/amd/vulkan/radv_device_memory.c \
1107 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1108 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1109 $src_dir/src/amd/vulkan/radv_event.c \
1110 $src_dir/src/amd/vulkan/radv_formats.c \
1111 $src_dir/src/amd/vulkan/radv_image.c \
1112 $src_dir/src/amd/vulkan/radv_instance.c \
1113 $build_dir/src/amd/vulkan/radv_meta.c \
1114 $src_dir/src/amd/vulkan/radv_meta_blit.c \
1115 $src_dir/src/amd/vulkan/radv_meta_blit2d.c \
1116 $src_dir/src/amd/vulkan/radv_meta_buffer.c \
1117 $src_dir/src/amd/vulkan/radv_meta_bufimage.c \
1118 $src_dir/src/amd/vulkan/radv_meta_clear.c \
1119 $src_dir/src/amd/vulkan/radv_meta_dcc_retile.c \
1120 $src_dir/src/amd/vulkan/radv_meta_copy.c \
1121 $src_dir/src/amd/vulkan/radv_meta_copy_vrs_htile.c \
1122 $src_dir/src/amd/vulkan/radv_meta_decompress.c \
1123 $src_dir/src/amd/vulkan/radv_meta_etc_decode.c \
1124 $src_dir/src/amd/vulkan/radv_meta_fast_clear.c \
1125 $src_dir/src/amd/vulkan/radv_meta_fmask_copy.c \
1126 $src_dir/src/amd/vulkan/radv_meta_fmask_expand.c \
1127 $src_dir/src/amd/vulkan/radv_meta_resolve.c \
1128 $src_dir/src/amd/vulkan/radv_meta_resolve_cs.c \
1129 $src_dir/src/amd/vulkan/radv_meta_resolve_fs.c \
1130 $src_dir/src/amd/vulkan/radv_nir_apply_pipeline_layout.c \
1131 $src_dir/src/amd/vulkan/radv_nir_lower_abi.c \
1132 $src_dir/src/amd/vulkan/radv_nir_lower_vs_inputs.c \
1133 $src_dir/src/amd/vulkan/radv_nir_lower_ray_queries.c \
1134 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1135 $src_dir/src/amd/vulkan/radv_physical_device.c \
1136 $src_dir/src/amd/vulkan/radv_pipeline.c \
1137 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1138 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1139 $src_dir/src/amd/vulkan/radv_queue.c \
1140 $src_dir/src/amd/vulkan/radv_rt_common.c \
1141 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1142 $src_dir/src/amd/vulkan/radv_sampler.c \
1143 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1144 $src_dir/src/amd/vulkan/radv_shader.c \
1145 $src_dir/src/amd/vulkan/radv_shader_args.c \
1146 $src_dir/src/amd/vulkan/radv_shader_info.c \
1147 $src_dir/src/amd/vulkan/radv_spm.c \
1148 $src_dir/src/amd/vulkan/radv_query.c \
1149 $src_dir/src/amd/vulkan/radv_video.c \
1150 $src_dir/src/amd/vulkan/radv_wsi.c \
1151 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1152 \
1153 $build_dir/gfx10_format_table.c \
1154 \
1155 $build_dir/radv_entrypoints.c \
1156 \
1157 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1158 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1159 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1160 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1161 \
1162 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1163 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1164 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1165 \
1166 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1167 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1168 \
1169 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1170 "
1171
1172 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1173
1174 for f in $libvulkan_amd_common_files
1175 do
1176 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1177 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1178
1179 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1180 done
1181 libvulkan_amd_common_a="\
1182 $libvulkan_amd_common_a \
1183 $build_dir/xmlconfig.o"
1184 #===============================================================================
1185 # create the radeon vulkan driver
1186 soname=libvulkan_radeon.so
1187
1188 # XXX:the attempt to generalize without kludge the link stage of real programs
1189 # build is near a total and complete failure
1190 if test "${driver_link_cmd-unset}" = unset ; then
1191 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1192 -shared -static-libgcc -static-libstdc++ \
1193 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1194 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1195 -Wl,--whole-archive -Wl,--start-group \
1196 $libaco_a \
1197 $libvulkan_amd_common_a \
1198 $libvulkan_util_a \
1199 $libvulkan_runtime_a \
1200 $libvulkan_wsi_a \
1201 $libamd_common_a \
1202 $libamdgpu_addrlib_a \
1203 $libcompiler_a \
1204 $libnir_a \
1205 $libmesautil_a \
1206 -Wl,--end-group -Wl,--no-whole-archive \
1207 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1208 $zlib_ldflags \
1209 $expat_ldflags \
1210 $libelf_ldflags \
1211 -Wl,--as-needed \
1212 $libdrm_ldflags \
1213 $libdrm_amdgpu_ldflags \
1214 $libx11_ldflags \
1215 $libxrandr_ldflags \
1216 $libxrender_ldflags \
1217 $libxcb_ldflags \
1218 $libxshmfence_ldflags \
1219 -lpthread \
1220 -ldl \
1221 -Wl,--no-as-needed"
1222 fi
1223 wait
1224 eval $driver_link_cmd
1225 #===============================================================================
File builders/mesa-vulkan-amd-sh-5b5fd8d437626f0c6bbb68cc9cc532619f31ac73/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/generators.sh deleted (index 99e572f..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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39
40 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
41 --xml $vulkan_api_xml \
42 --out-c vk_extensions.c \
43 --out-h vk_extensions.h &
44
45 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --xml $vulkan_api_xml \
66 --proto --weak \
67 --out-h vk_common_entrypoints.h \
68 --out-c vk_common_entrypoints.c \
69 --prefix vk_common &
70 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
71 --xml $vulkan_api_xml \
72 --proto --weak \
73 --out-h vk_cmd_enqueue_entrypoints.h \
74 --out-c vk_cmd_enqueue_entrypoints.c \
75 --prefix vk_cmd_enqueue &
76 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
77 --xml $vulkan_api_xml \
78 --out-h vk_cmd_queue.h \
79 --out-c vk_cmd_queue.c &
80 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
81 --xml $vulkan_api_xml \
82 --out-h vk_dispatch_trampolines.h \
83 --out-c vk_dispatch_trampolines.c &
84 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
85 --xml $vulkan_api_xml \
86 --out-h vk_physical_device_features.h \
87 --out-c vk_physical_device_features.c &
88 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
89 --xml $vulkan_api_xml \
90 --out-h vk_format_info.h \
91 --out-c vk_format_info.c &
92 unset PYTHONPATH
93 #===============================================================================
94 # wsi x11 (Window System Interface)
95 export PYTHONPATH=$mako
96 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
97 --xml $vulkan_api_xml \
98 --proto --weak \
99 --out-h wsi_common_entrypoints.h \
100 --out-c wsi_common_entrypoints.c \
101 --prefix wsi &
102 unset PYTHONPATH
103 #===============================================================================
104 # amd common archive
105 $python3 $src_dir/src/amd/common/sid_tables.py \
106 $src_dir/src/amd/common/sid.h \
107 $src_dir/src/amd/registers/gfx6.json \
108 $src_dir/src/amd/registers/gfx7.json \
109 $src_dir/src/amd/registers/gfx8.json \
110 $src_dir/src/amd/registers/gfx81.json \
111 $src_dir/src/amd/registers/gfx9.json \
112 $src_dir/src/amd/registers/gfx940.json \
113 $src_dir/src/amd/registers/gfx10.json \
114 $src_dir/src/amd/registers/gfx10-rsrc.json \
115 $src_dir/src/amd/registers/gfx103.json \
116 $src_dir/src/amd/registers/gfx11.json \
117 $src_dir/src/amd/registers/gfx11-rsrc.json \
118 $src_dir/src/amd/registers/pkt3.json \
119 $src_dir/src/amd/registers/registers-manually-defined.json \
120 >$build_dir/sid_tables.h &
121 mkdir -p $build_dir/src/amd/common
122 $python3 $src_dir/src/amd/registers/makeregheader.py \
123 $src_dir/src/amd/registers/gfx6.json \
124 $src_dir/src/amd/registers/gfx7.json \
125 $src_dir/src/amd/registers/gfx8.json \
126 $src_dir/src/amd/registers/gfx81.json \
127 $src_dir/src/amd/registers/gfx9.json \
128 $src_dir/src/amd/registers/gfx940.json \
129 $src_dir/src/amd/registers/gfx10.json \
130 $src_dir/src/amd/registers/gfx10-rsrc.json \
131 $src_dir/src/amd/registers/gfx11.json \
132 $src_dir/src/amd/registers/gfx11-rsrc.json \
133 $src_dir/src/amd/registers/gfx103.json \
134 $src_dir/src/amd/registers/pkt3.json \
135 $src_dir/src/amd/registers/registers-manually-defined.json \
136 --sort address \
137 --guard AMDGFXREGS_H \
138 >$build_dir/src/amd/common/amdgfxregs.h &
139 #===============================================================================
140 # libcompiler required by libnir
141 export PYTHONPATH=$mako
142 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
143 >$build_dir/ir_expression_operation.h &
144 unset PYTHONPATH
145 #===============================================================================
146 # libnir
147 export PYTHONPATH=$mako
148 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
149 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
150 $build_dir/spirv_info.c &
151
152 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
153 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
154 $build_dir/vtn_gather_types.c &
155
156 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
157 $src_dir/src/compiler/spirv/spir-v.xml \
158 $build_dir/vtn_generator_ids.h &
159 # nir generated files
160 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
161 >$build_dir/nir_constant_expressions.c &
162
163 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
164 >$build_dir/nir_opt_algebraic.c &
165
166 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
167 >$build_dir/nir_opcodes.c &
168
169 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
170 --outdir $build_dir &
171 unset PYTHONPATH
172 #===============================================================================
173 # libaco
174 export PYTHONPATH=$mako
175 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
176 >$build_dir/aco_opcodes.h &
177 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
178 >$build_dir/aco_opcodes.cpp &
179 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
180 >$build_dir/aco_builder.h &
181 unset PYTHONPATH
182 #===============================================================================
183 # libmesautils
184 mkdir -p $build_dir/src/util
185
186 export PYTHONPATH=$mako
187 $python3 $src_dir/src/util/format_srgb.py \
188 >$build_dir/format_srgb.c
189
190 $python3 $src_dir/src/util/format/u_format_table.py \
191 $src_dir/src/util/format/u_format.csv \
192 >$build_dir/u_format_table.c
193
194 # wow, really?
195 mkdir -p $build_dir/src/util/format
196 $python3 $src_dir/src/util/format/u_format_table.py \
197 --header \
198 $src_dir/src/util/format/u_format.csv \
199 >$build_dir/src/util/format/u_format_pack.h
200
201 # oooof!
202 $python3 $src_dir/src/util/driconf_static.py \
203 $src_dir/src/util/00-mesa-defaults.conf \
204 $build_dir/src/util/driconf_static.h
205 unset PYTHONPATH
206 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
207 #===============================================================================
208 # amd vulkan
209 export PYTHONPATH=$mako
210 #------------------------------------------------------------------------------
211 # specific API to work around _still maintained at the time of writing _ game
212 # executable... this is the beginning of the end...
213 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
214 --xml $vulkan_api_xml \
215 --proto --weak \
216 --out-h radv_entrypoints.h \
217 --out-c radv_entrypoints.c \
218 --prefix radv \
219 --device-prefix metro_exodus \
220 --device-prefix rage2 &
221 #------------------------------------------------------------------------------
222 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
223 # --xml $vulkan_api_xml \
224 # --out-c radv_extensions.c \
225 # --out-h radv_extensions.h &
226 #------------------------------------------------------------------------------
227 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
228 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
229 # >$build_dir/vk_format_table.c &
230 #------------------------------------------------------------------------------
231 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
232 $src_dir/src/util/format/u_format.csv \
233 $src_dir/src/amd/registers/gfx10-rsrc.json \
234 $src_dir/src/amd/registers/gfx11-rsrc.json \
235 >$build_dir/gfx10_format_table.c &
236 #------------------------------------------------------------------------------
237 git_sha1=no_git_sha1_available
238 if test -d $src_dir/.git; then
239 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
240 fi
241 echo git_sha1=$git_sha1
242 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
243 unset PYTHONPATH
244 #===============================================================================
File builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-60cfe15d799fdc5a57a691844cc30e49b3f74a47/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index b82a95c..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_subgroup.c \
719 $src_dir/src/compiler/spirv/vtn_variables.c \
720 \
721 $src_dir/src/compiler/nir/nir.c \
722 $src_dir/src/compiler/nir/nir_builder.c \
723 $src_dir/src/compiler/nir/nir_builtin_builder.c \
724 $src_dir/src/compiler/nir/nir_clone.c \
725 $src_dir/src/compiler/nir/nir_control_flow.c \
726 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
727 $src_dir/src/compiler/nir/nir_deref.c \
728 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
729 $src_dir/src/compiler/nir/nir_dominance.c \
730 $src_dir/src/compiler/nir/nir_from_ssa.c \
731 $src_dir/src/compiler/nir/nir_gather_info.c \
732 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
733 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
734 $src_dir/src/compiler/nir/nir_group_loads.c \
735 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
736 $src_dir/src/compiler/nir/nir_inline_functions.c \
737 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
738 $src_dir/src/compiler/nir/nir_instr_set.c \
739 $src_dir/src/compiler/nir/nir_linking_helpers.c \
740 $src_dir/src/compiler/nir/nir_liveness.c \
741 $src_dir/src/compiler/nir/nir_loop_analyze.c \
742 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
743 $src_dir/src/compiler/nir/nir_lower_alu.c \
744 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
745 $src_dir/src/compiler/nir/nir_lower_amul.c \
746 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
747 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
748 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
749 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
750 $src_dir/src/compiler/nir/nir_lower_blend.c \
751 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
753 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
754 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
755 $src_dir/src/compiler/nir/nir_lower_clip.c \
756 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
758 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
759 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
760 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
761 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
763 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
764 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
765 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
766 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
767 $src_dir/src/compiler/nir/nir_lower_flrp.c \
768 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
769 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
771 $src_dir/src/compiler/nir/nir_lower_frexp.c \
772 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
773 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
774 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
775 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
776 $src_dir/src/compiler/nir/nir_lower_idiv.c \
777 $src_dir/src/compiler/nir/nir_lower_image.c \
778 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
779 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
780 $src_dir/src/compiler/nir/nir_lower_int64.c \
781 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
782 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
783 $src_dir/src/compiler/nir/nir_lower_io.c \
784 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
785 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
788 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
789 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
791 $src_dir/src/compiler/nir/nir_lower_mediump.c \
792 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
793 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
794 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
795 $src_dir/src/compiler/nir/nir_lower_multiview.c \
796 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
797 $src_dir/src/compiler/nir/nir_lower_packing.c \
798 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
799 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
800 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
801 $src_dir/src/compiler/nir/nir_lower_point_size.c \
802 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
803 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
804 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
805 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
806 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
807 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
808 $src_dir/src/compiler/nir/nir_lower_returns.c \
809 $src_dir/src/compiler/nir/nir_lower_samplers.c \
810 $src_dir/src/compiler/nir/nir_lower_scratch.c \
811 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
812 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
813 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
814 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
815 $src_dir/src/compiler/nir/nir_lower_system_values.c \
816 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
817 $src_dir/src/compiler/nir/nir_lower_tex.c \
818 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
819 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
820 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
821 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
822 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
823 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
824 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
825 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
826 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
827 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
828 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
829 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
830 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
831 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
832 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
833 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
834 $src_dir/src/compiler/nir/nir_metadata.c \
835 $src_dir/src/compiler/nir/nir_mod_analysis.c \
836 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
837 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
838 $src_dir/src/compiler/nir/nir_opt_access.c \
839 $src_dir/src/compiler/nir/nir_opt_barriers.c \
840 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
841 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
842 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
843 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
844 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
845 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
846 $src_dir/src/compiler/nir/nir_opt_cse.c \
847 $src_dir/src/compiler/nir/nir_opt_dce.c \
848 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
849 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
850 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
851 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
852 $src_dir/src/compiler/nir/nir_opt_gcm.c \
853 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
854 $src_dir/src/compiler/nir/nir_opt_if.c \
855 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
856 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
857 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
858 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
859 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
860 $src_dir/src/compiler/nir/nir_opt_move.c \
861 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
862 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
863 $src_dir/src/compiler/nir/nir_opt_offsets.c \
864 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
865 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
866 $src_dir/src/compiler/nir/nir_opt_preamble.c \
867 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
868 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
869 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
870 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
871 $src_dir/src/compiler/nir/nir_opt_sink.c \
872 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
873 $src_dir/src/compiler/nir/nir_opt_undef.c \
874 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
875 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
876 $src_dir/src/compiler/nir/nir_phi_builder.c \
877 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
878 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
879 $src_dir/src/compiler/nir/nir_print.c \
880 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
881 $src_dir/src/compiler/nir/nir_range_analysis.c \
882 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
883 $src_dir/src/compiler/nir/nir_repair_ssa.c \
884 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
885 $src_dir/src/compiler/nir/nir_schedule.c \
886 $src_dir/src/compiler/nir/nir_search.c \
887 $src_dir/src/compiler/nir/nir_serialize.c \
888 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
889 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
890 $src_dir/src/compiler/nir/nir_split_var_copies.c \
891 $src_dir/src/compiler/nir/nir_split_vars.c \
892 $src_dir/src/compiler/nir/nir_sweep.c \
893 $src_dir/src/compiler/nir/nir_to_lcssa.c \
894 $src_dir/src/compiler/nir/nir_validate.c \
895 $src_dir/src/compiler/nir/nir_worklist.c \
896 "
897 for f in $libnir_files
898 do
899 libnir_obj=$build_dir/$(basename $f .c).o
900 libnir_a="$libnir_a $libnir_obj"
901
902 $cc $cppflags $f -o $libnir_obj &
903 done
904 #===============================================================================
905 # libaco
906 # we don't use cppflags_common for aco because the code is not yet
907 # compatible
908 cppflags="\
909 $gcc_builtins_cppflags \
910 $gcc_attributes_cppflags \
911 $linux_glibc_cppflags \
912 $mesa_cppflags \
913 -I$build_dir \
914 -I$src_dir/src/amd/compiler \
915 -I$src_dir/src/amd/vulkan \
916 -I$build_dir/src/amd/common \
917 -I$src_dir/src/amd/common \
918 -I$build_dir/src/amd \
919 -I$src_dir/src/amd \
920 -I$src_dir/src/compiler/nir \
921 -I$src_dir/src/compiler \
922 -I$src_dir/src/mesa \
923 -I$src_dir/src/gallium/include \
924 -I$src_dir/src \
925 -I$src_dir/include \
926 "
927 libaco_files="\
928 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
929 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
930 $src_dir/src/amd/compiler/aco_dominance.cpp \
931 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
932 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
933 $src_dir/src/amd/compiler/aco_interface.cpp \
934 $src_dir/src/amd/compiler/aco_assembler.cpp \
935 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
936 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
937 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
938 $src_dir/src/amd/compiler/aco_ir.cpp \
939 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
940 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
941 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
942 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
943 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
944 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
945 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
946 $build_dir/aco_opcodes.cpp \
947 $src_dir/src/amd/compiler/aco_optimizer.cpp \
948 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
949 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
950 $src_dir/src/amd/compiler/aco_print_asm.cpp \
951 $src_dir/src/amd/compiler/aco_print_ir.cpp \
952 $src_dir/src/amd/compiler/aco_scheduler.cpp \
953 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
954 $src_dir/src/amd/compiler/aco_spill.cpp \
955 $src_dir/src/amd/compiler/aco_statistics.cpp \
956 $src_dir/src/amd/compiler/aco_validate.cpp \
957 "
958 for f in $libaco_files
959 do
960 libaco_obj=$build_dir/$(basename $f .c).o
961 libaco_a="$libaco_a $libaco_obj"
962
963 $cxx $cppflags $f -o $libaco_obj &
964 done
965 #===============================================================================
966 # libmesautils
967 cppflags="\
968 $cppflags_common \
969 -I$build_dir/src/util/format \
970 -I$build_dir/src \
971 -I$build_dir \
972 -I$src_dir/src/gallium/auxiliary \
973 -I$src_dir/src/gallium/include \
974 -I$src_dir/src/mesa \
975 -I$src_dir/src/util/format \
976 -I$src_dir/src/util \
977 -I$src_dir/src \
978 -I$src_dir/include \
979 $zlib_cppflags \
980 "
981 libmesautil_files="\
982 $build_dir/format_srgb.c \
983 $build_dir/u_format_table.c \
984 $src_dir/src/util/anon_file.c \
985 $src_dir/src/util/bitscan.c \
986 $src_dir/src/util/blob.c \
987 $src_dir/src/util/build_id.c \
988 $src_dir/src/util/compress.c \
989 $src_dir/src/util/crc32.c \
990 $src_dir/src/util/dag.c \
991 $src_dir/src/util/disk_cache.c \
992 $src_dir/src/util/disk_cache_os.c \
993 $src_dir/src/util/double.c \
994 $src_dir/src/util/fast_idiv_by_const.c \
995 $src_dir/src/util/fossilize_db.c \
996 $src_dir/src/util/futex.c \
997 $src_dir/src/util/half_float.c \
998 $src_dir/src/util/hash_table.c \
999 $src_dir/src/util/log.c \
1000 $src_dir/src/util/mesa-sha1.c \
1001 $src_dir/src/util/mesa_cache_db.c \
1002 $src_dir/src/util/mesa_cache_db_multipart.c \
1003 $src_dir/src/util/memstream.c \
1004 $src_dir/src/util/os_file.c \
1005 $src_dir/src/util/os_memory_fd.c \
1006 $src_dir/src/util/os_misc.c \
1007 $src_dir/src/util/os_socket.c \
1008 $src_dir/src/util/os_time.c \
1009 $src_dir/src/util/sha1/sha1.c \
1010 $src_dir/src/util/ralloc.c \
1011 $src_dir/src/util/rand_xor.c \
1012 $src_dir/src/util/rb_tree.c \
1013 $src_dir/src/util/register_allocate.c \
1014 $src_dir/src/util/rgtc.c \
1015 $src_dir/src/util/rwlock.c \
1016 $src_dir/src/util/set.c \
1017 $src_dir/src/util/simple_mtx.c \
1018 $src_dir/src/util/slab.c \
1019 $src_dir/src/util/softfloat.c \
1020 $src_dir/src/util/sparse_array.c \
1021 $src_dir/src/util/string_buffer.c \
1022 $src_dir/src/util/strtod.c \
1023 $src_dir/src/util/u_atomic.c \
1024 $src_dir/src/util/u_call_once.c \
1025 $src_dir/src/util/u_cpu_detect.c \
1026 $src_dir/src/util/u_debug.c \
1027 $src_dir/src/util/u_debug_describe.c \
1028 $src_dir/src/util/u_debug_refcnt.c \
1029 $src_dir/src/util/u_debug_stack.c \
1030 $src_dir/src/util/u_debug_symbol.c \
1031 $src_dir/src/util/u_dl.c \
1032 $src_dir/src/util/u_hash_table.c \
1033 $src_dir/src/util/u_printf.c \
1034 $src_dir/src/util/format/u_format.c \
1035 $src_dir/src/util/format/u_format_bptc.c \
1036 $src_dir/src/util/format/u_format_etc.c \
1037 $src_dir/src/util/format/u_format_fxt1.c \
1038 $src_dir/src/util/format/u_format_latc.c \
1039 $src_dir/src/util/format/u_format_other.c \
1040 $src_dir/src/util/format/u_format_rgtc.c \
1041 $src_dir/src/util/format/u_format_s3tc.c \
1042 $src_dir/src/util/format/u_format_tests.c \
1043 $src_dir/src/util/format/u_format_yuv.c \
1044 $src_dir/src/util/format/u_format_zs.c \
1045 $src_dir/src/util/u_idalloc.c \
1046 $src_dir/src/util/u_math.c \
1047 $src_dir/src/util/u_mm.c \
1048 $src_dir/src/util/u_process.c \
1049 $src_dir/src/util/u_queue.c \
1050 $src_dir/src/util/u_thread.c \
1051 $src_dir/src/util/u_vector.c \
1052 $src_dir/src/util/u_worklist.c \
1053 $src_dir/src/util/vma.c \
1054 \
1055 $src_dir/src/c11/impl/time.c \
1056 $src_dir/src/c11/impl/threads_posix.c \
1057 "
1058 for f in $libmesautil_files
1059 do
1060 libmesautil_obj=$build_dir/$(basename $f .c).o
1061 libmesautil_a="$libmesautil_a $libmesautil_obj"
1062
1063 $cc $cppflags $f -o $libmesautil_obj &
1064 done
1065 #===============================================================================
1066 # amd vulkan
1067 cppflags="\
1068 $cppflags_common \
1069 -DPACKAGE_VERSION=\"$version\" \
1070 -I$build_dir/vulkan/util \
1071 -I$build_dir/src/util \
1072 -I$build_dir \
1073 -I$src_dir/src/amd/compiler \
1074 -I$build_dir/src/amd/common \
1075 -I$src_dir/src/amd/common \
1076 -I$src_dir/src/amd/vulkan/nir \
1077 -I$src_dir/src/amd/vulkan/meta \
1078 -I$src_dir/src/amd/vulkan \
1079 -I$src_dir/src/amd \
1080 -I$src_dir/src/gallium/auxiliary \
1081 -I$src_dir/src/gallium/include \
1082 -I$src_dir/src/vulkan/util \
1083 -I$src_dir/src/vulkan/runtime \
1084 -I$src_dir/src/vulkan/wsi \
1085 -I$src_dir/src/util \
1086 -I$src_dir/src/mesa \
1087 -I$src_dir/src/compiler/nir \
1088 -I$src_dir/src/compiler \
1089 -I$src_dir/src \
1090 -I$src_dir/include \
1091 $libdrm_cppflags \
1092 $libdrm_amdgpu_cppflags \
1093 $libx11_cppflags \
1094 $libxrandr_cppflags \
1095 $libxrender_cppflags \
1096 $libxcb_cppflags \
1097 $xorgproto_cppflags \
1098 $libxshmfence_cppflags \
1099 "
1100 #$build_dir/radv_extensions.c
1101 #$build_dir/vk_format_table.c
1102 # XXX: remove rt for now
1103 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1104 libvulkan_amd_common_files="\
1105 $src_dir/src/amd/vulkan/radv_android.c \
1106 $src_dir/src/amd/vulkan/radv_buffer.c \
1107 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1108 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1109 $src_dir/src/amd/vulkan/radv_debug.c \
1110 $build_dir/src/amd/vulkan/radv_device.c \
1111 $src_dir/src/amd/vulkan/radv_device_memory.c \
1112 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1113 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1114 $src_dir/src/amd/vulkan/radv_event.c \
1115 $src_dir/src/amd/vulkan/radv_formats.c \
1116 $src_dir/src/amd/vulkan/radv_image.c \
1117 $src_dir/src/amd/vulkan/radv_instance.c \
1118 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1119 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1120 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1135 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1136 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1146 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1147 $src_dir/src/amd/vulkan/radv_physical_device.c \
1148 $src_dir/src/amd/vulkan/radv_pipeline.c \
1149 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1150 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1153 $src_dir/src/amd/vulkan/radv_queue.c \
1154 $src_dir/src/amd/vulkan/radv_rt_common.c \
1155 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1156 $src_dir/src/amd/vulkan/radv_sampler.c \
1157 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1158 $src_dir/src/amd/vulkan/radv_shader.c \
1159 $src_dir/src/amd/vulkan/radv_shader_args.c \
1160 $src_dir/src/amd/vulkan/radv_shader_info.c \
1161 $src_dir/src/amd/vulkan/radv_spm.c \
1162 $src_dir/src/amd/vulkan/radv_query.c \
1163 $src_dir/src/amd/vulkan/radv_video.c \
1164 $src_dir/src/amd/vulkan/radv_wsi.c \
1165 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1166 \
1167 $build_dir/gfx10_format_table.c \
1168 \
1169 $build_dir/radv_entrypoints.c \
1170 \
1171 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1172 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1173 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1175 \
1176 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1177 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1178 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1179 \
1180 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1181 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1182 \
1183 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1184 "
1185
1186 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1187
1188 for f in $libvulkan_amd_common_files
1189 do
1190 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1191 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1192
1193 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1194 done
1195 libvulkan_amd_common_a="\
1196 $libvulkan_amd_common_a \
1197 $build_dir/xmlconfig.o"
1198 #===============================================================================
1199 # create the radeon vulkan driver
1200 soname=libvulkan_radeon.so
1201
1202 # XXX:the attempt to generalize without kludge the link stage of real programs
1203 # build is near a total and complete failure
1204 if test "${driver_link_cmd-unset}" = unset ; then
1205 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1206 -shared -static-libgcc -static-libstdc++ \
1207 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1208 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1209 -Wl,--whole-archive -Wl,--start-group \
1210 $libaco_a \
1211 $libvulkan_amd_common_a \
1212 $libvulkan_util_a \
1213 $libvulkan_runtime_a \
1214 $libvulkan_wsi_a \
1215 $libamd_common_a \
1216 $libamdgpu_addrlib_a \
1217 $libcompiler_a \
1218 $libnir_a \
1219 $libmesautil_a \
1220 -Wl,--end-group -Wl,--no-whole-archive \
1221 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1222 $zlib_ldflags \
1223 $expat_ldflags \
1224 $libelf_ldflags \
1225 -Wl,--as-needed \
1226 $libdrm_ldflags \
1227 $libdrm_amdgpu_ldflags \
1228 $libx11_ldflags \
1229 $libxrandr_ldflags \
1230 $libxrender_ldflags \
1231 $libxcb_ldflags \
1232 $libxshmfence_ldflags \
1233 -lpthread \
1234 -ldl \
1235 -Wl,--no-as-needed"
1236 fi
1237 wait
1238 eval $driver_link_cmd
1239 #===============================================================================
File builders/mesa-vulkan-amd-sh-60cfe15d799fdc5a57a691844cc30e49b3f74a47/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/generators.sh deleted (index 526b3bf..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
16 cp -f $src_dir/src/amd/vulkan/radv_meta.c $build_dir/src/amd/vulkan
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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
40 --xml $vulkan_api_xml \
41 --out-c vk_extensions.c \
42 --out-h vk_extensions.h &
43
44 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
45 >$build_dir/nir_builder_opcodes.h &
46
47 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
48 >$build_dir/nir_opcodes.h &
49
50 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
51 --outdir $build_dir &
52
53 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
54 --outdir $build_dir &
55 unset PYTHONPATH
56 #===============================================================================
57 # vulkan runtime
58 export PYTHONPATH=$mako
59 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
60 --xml $vulkan_api_xml \
61 --proto --weak \
62 --out-h vk_common_entrypoints.h \
63 --out-c vk_common_entrypoints.c \
64 --prefix vk_common &
65 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
66 --xml $vulkan_api_xml \
67 --proto --weak \
68 --out-h vk_cmd_enqueue_entrypoints.h \
69 --out-c vk_cmd_enqueue_entrypoints.c \
70 --prefix vk_cmd_enqueue &
71 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
72 --xml $vulkan_api_xml \
73 --out-h vk_cmd_queue.h \
74 --out-c vk_cmd_queue.c &
75 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
76 --xml $vulkan_api_xml \
77 --out-h vk_dispatch_trampolines.h \
78 --out-c vk_dispatch_trampolines.c &
79 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
80 --xml $vulkan_api_xml \
81 --out-c vk_physical_device_features.c &
82 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
83 --xml $vulkan_api_xml \
84 --out-h vk_format_info.h \
85 --out-c vk_format_info.c &
86 unset PYTHONPATH
87 #===============================================================================
88 # wsi x11 (Window System Interface)
89 export PYTHONPATH=$mako
90 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
91 --xml $vulkan_api_xml \
92 --proto --weak \
93 --out-h wsi_common_entrypoints.h \
94 --out-c wsi_common_entrypoints.c \
95 --prefix wsi &
96 unset PYTHONPATH
97 #===============================================================================
98 # amd common archive
99 $python3 $src_dir/src/amd/common/sid_tables.py \
100 $src_dir/src/amd/common/sid.h \
101 $src_dir/src/amd/registers/gfx6.json \
102 $src_dir/src/amd/registers/gfx7.json \
103 $src_dir/src/amd/registers/gfx8.json \
104 $src_dir/src/amd/registers/gfx81.json \
105 $src_dir/src/amd/registers/gfx9.json \
106 $src_dir/src/amd/registers/gfx10.json \
107 $src_dir/src/amd/registers/gfx10-rsrc.json \
108 $src_dir/src/amd/registers/gfx103.json \
109 $src_dir/src/amd/registers/gfx11.json \
110 $src_dir/src/amd/registers/gfx11-rsrc.json \
111 $src_dir/src/amd/registers/pkt3.json \
112 $src_dir/src/amd/registers/registers-manually-defined.json \
113 >$build_dir/sid_tables.h &
114 mkdir -p $build_dir/src/amd/common
115 $python3 $src_dir/src/amd/registers/makeregheader.py \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx10.json \
122 $src_dir/src/amd/registers/gfx10-rsrc.json \
123 $src_dir/src/amd/registers/gfx11.json \
124 $src_dir/src/amd/registers/gfx11-rsrc.json \
125 $src_dir/src/amd/registers/gfx103.json \
126 $src_dir/src/amd/registers/pkt3.json \
127 $src_dir/src/amd/registers/registers-manually-defined.json \
128 --sort address \
129 --guard AMDGFXREGS_H \
130 >$build_dir/src/amd/common/amdgfxregs.h &
131 #===============================================================================
132 # libcompiler required by libnir
133 export PYTHONPATH=$mako
134 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
135 >$build_dir/ir_expression_operation.h &
136 unset PYTHONPATH
137 #===============================================================================
138 # libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
141 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
142 $build_dir/spirv_info.c &
143
144 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
145 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
146 $build_dir/vtn_gather_types.c &
147
148 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
149 $src_dir/src/compiler/spirv/spir-v.xml \
150 $build_dir/vtn_generator_ids.h &
151 # nir generated files
152 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
153 >$build_dir/nir_constant_expressions.c &
154
155 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
156 >$build_dir/nir_opt_algebraic.c &
157
158 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
159 >$build_dir/nir_opcodes.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
162 --outdir $build_dir &
163 unset PYTHONPATH
164 #===============================================================================
165 # libaco
166 export PYTHONPATH=$mako
167 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
168 >$build_dir/aco_opcodes.h &
169 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
170 >$build_dir/aco_opcodes.cpp &
171 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
172 >$build_dir/aco_builder.h &
173 unset PYTHONPATH
174 #===============================================================================
175 # libmesautils
176 mkdir -p $build_dir/src/util
177
178 export PYTHONPATH=$mako
179 $python3 $src_dir/src/util/format_srgb.py \
180 >$build_dir/format_srgb.c
181
182 $python3 $src_dir/src/util/format/u_format_table.py \
183 $src_dir/src/util/format/u_format.csv \
184 >$build_dir/u_format_table.c
185
186 # wow, really?
187 mkdir -p $build_dir/src/util/format
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 --header \
190 $src_dir/src/util/format/u_format.csv \
191 >$build_dir/src/util/format/u_format_pack.h
192
193 # oooof!
194 $python3 $src_dir/src/util/driconf_static.py \
195 $src_dir/src/util/00-mesa-defaults.conf \
196 $build_dir/src/util/driconf_static.h
197 unset PYTHONPATH
198 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
199 #===============================================================================
200 # amd vulkan
201 export PYTHONPATH=$mako
202 #------------------------------------------------------------------------------
203 # specific API to work around _still maintained at the time of writing _ game
204 # executable... this is the beginning of the end...
205 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
206 --xml $vulkan_api_xml \
207 --proto --weak \
208 --out-h radv_entrypoints.h \
209 --out-c radv_entrypoints.c \
210 --prefix radv \
211 --device-prefix metro_exodus \
212 --device-prefix rage2 &
213 #------------------------------------------------------------------------------
214 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
215 # --xml $vulkan_api_xml \
216 # --out-c radv_extensions.c \
217 # --out-h radv_extensions.h &
218 #------------------------------------------------------------------------------
219 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
220 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
221 # >$build_dir/vk_format_table.c &
222 #------------------------------------------------------------------------------
223 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
224 $src_dir/src/util/format/u_format.csv \
225 $src_dir/src/amd/registers/gfx10-rsrc.json \
226 $src_dir/src/amd/registers/gfx11-rsrc.json \
227 >$build_dir/gfx10_format_table.c &
228 #------------------------------------------------------------------------------
229 git_sha1=no_git_sha1_available
230 if test -d $src_dir/.git; then
231 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
232 fi
233 echo git_sha1=$git_sha1
234 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
235 unset PYTHONPATH
236 #===============================================================================
File builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_device.c.patch deleted (index 7cd2727..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -90,6 +90,10 @@ typedef void *drmDevicePtr;
4 #define CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC_FAST
5 #endif
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 VkResult radv_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission);
12
13 static void
File builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_meta.c.patch deleted (index ac6777c..0000000)
1 --- a/src/amd/vulkan/radv_meta.c
2 +++ b/src/amd/vulkan/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/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-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 2d50f08..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/python3/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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 "
225 mesa_cppflags="\
226 -DNDEBUG \
227 -DHAVE_DRI3_MODIFIERS \
228 -DENABLE_SHADER_CACHE \
229 -DHAVE_COMPRESSION \
230 "
231
232 mesa_vulkan_cppflags="\
233 -DVK_USE_PLATFORM_DISPLAY_KHR \
234 -DVK_USE_PLATFORM_XCB_KHR \
235 -DVK_USE_PLATFORM_XLIB_KHR \
236 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
237 \
238 -DVIDEO_CODEC_H265DEC=0 \
239 -DVIDEO_CODEC_H264DEC=0 \
240 "
241
242 cppflags_common="\
243 $gcc_builtins_cppflags \
244 $gcc_attributes_cppflags \
245 $linux_glibc_cppflags \
246 $mesa_cppflags \
247 $mesa_vulkan_cppflags \
248 "
249 #===============================================================================
250 # expat
251 if test "${expat_cppflags-unset}" = unset; then
252 expat_cppflags='-I/nyan/expat/current/include'
253 fi
254 if test "${expat_archives-unset}" = unset; then
255 expat_archives=libexpat.a
256 fi
257 if test "${expat_ldflags-unset}" = unset; then
258 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
259 fi
260 #===============================================================================
261 if test "${libxau_cppflags-unset}" = unset; then
262 libxau_cppflags='-I/nyan/libXau/current/include'
263 fi
264 #===============================================================================
265 if test "${libxcb_cppflags-unset}" = unset; then
266 libxcb_cppflags='-I/nyan/libxcb/current/include'
267 fi
268
269 if test "${libxcb_ldflags-unset}" = unset; then
270 libxcb_ldflags="\
271 /nyan/libxcb/current/lib/libxcb-xtest.so \
272 /nyan/libxcb/current/lib/libxcb-damage.so \
273 /nyan/libxcb/current/lib/libxcb-xfixes.so \
274 /nyan/libxcb/current/lib/libxcb-xvmc.so \
275 /nyan/libxcb/current/lib/libxcb-xinerama.so \
276 /nyan/libxcb/current/lib/libxcb-dri2.so \
277 /nyan/libxcb/current/lib/libxcb-composite.so \
278 /nyan/libxcb/current/lib/libxcb-dpms.so \
279 /nyan/libxcb/current/lib/libxcb-sync.so \
280 /nyan/libxcb/current/lib/libxcb-randr.so \
281 /nyan/libxcb/current/lib/libxcb-res.so \
282 /nyan/libxcb/current/lib/libxcb.so \
283 /nyan/libxcb/current/lib/libxcb-screensaver.so \
284 /nyan/libxcb/current/lib/libxcb-xkb.so \
285 /nyan/libxcb/current/lib/libxcb-xv.so \
286 /nyan/libxcb/current/lib/libxcb-render.so \
287 /nyan/libxcb/current/lib/libxcb-shm.so \
288 /nyan/libxcb/current/lib/libxcb-dri3.so \
289 /nyan/libxcb/current/lib/libxcb-record.so \
290 /nyan/libxcb/current/lib/libxcb-xinput.so \
291 /nyan/libxcb/current/lib/libxcb-present.so \
292 /nyan/libxcb/current/lib/libxcb-glx.so \
293 /nyan/libxcb/current/lib/libxcb-shape.so \
294 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
295 "
296 fi
297 #===============================================================================
298 if test "${libxrender_cppflags-unset}" = unset; then
299 libxrender_cppflags='-I/nyan/libXrender/current/include'
300 fi
301
302 if test "${libxrender_ldflags-unset}" = unset; then
303 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
304 fi
305 #===============================================================================
306 if test "${libxrandr_cppflags-unset}" = unset; then
307 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
308 fi
309
310 if test "${libxrandr_ldflags-unset}" = unset; then
311 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
312 fi
313 #===============================================================================
314 if test "${libx11_cppflags-unset}" = unset; then
315 libx11_cppflags='-I/nyan/libX11/current/include'
316 fi
317
318 if test "${libx11_ldflags-unset}" = unset; then
319 libx11_ldflags="\
320 /nyan/libX11/current/lib/libX11.so \
321 /nyan/libX11/current/lib/libX11-xcb.so \
322 "
323 fi
324 #===============================================================================
325 if test "${libxshmfence_cppflags-unset}" = unset; then
326 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
327 fi
328
329 if test "${libxshmfence_ldflags-unset}" = unset; then
330 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
331 fi
332 #===============================================================================
333 if test "${xorgproto_cppflags-unset}" = unset; then
334 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
335 fi
336 #===============================================================================
337 if test "${libdrm_cppflags-unset}" = unset; then
338 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
339 fi
340
341 if test "${libdrm_ldflags-unset}" = unset; then
342 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
343 fi
344 #===============================================================================
345 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
346 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
347 fi
348
349 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
350 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
351 fi
352 #===============================================================================
353 if test "${linux_drm_cppflags-unset}" = unset; then
354 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
355 fi
356 #===============================================================================
357 if test "${libelf_cppflags-unset}" = unset; then
358 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
359 -I/nyan/libelf/current/include"
360 fi
361
362 if test "${libelf_archives-unset}" = unset; then
363 libelf_archives=libelf.a
364 fi
365
366 if test "${libelf_ldflags-unset}" = unset; then
367 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
368 fi
369 #===============================================================================
370 if test "${zlib_cppflags-unset}" = unset; then
371 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
372 fi
373
374 if test "${zlib_archives-unset}" = unset; then
375 zlib_archives=libz.a
376 fi
377
378 if test "${zlib_ldflags-unset}" = unset; then
379 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
380 fi
381 #===============================================================================
382 # build system compiler (the one used to compile the build system python), _not_
383 # the target compiler if you cross compile
384 if test "${build_cc-unset}" = unset; then
385 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
386 fi
387 if test "${build_ccld-unset}" = unset; then
388 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
389 fi
390 #===============================================================================
391 # the kronos registry
392 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
393 #===============================================================================
394 # all code generation should happen here (no weird interlocked deps)
395 . $src_dir/contrib/generators.sh
396 wait
397 #===============================================================================
398 # object put in libvulkan_amd_common
399 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
400 -DSYSCONFDIR=\"$sysconfdir\" \
401 -DDATADIR=\"$datadir\" \
402 \
403 -I$build_dir/src/util \
404 -I$src_dir/src \
405 -I$src_dir/include \
406 $cppflags_common \
407 $expat_cppflags &
408 #===============================================================================
409 # vulkan util
410 cppflags="\
411 $cppflags_common \
412 -DPACKAGE_VERSION=\"$version\" \
413 -DVERSION=\"$version\" \
414 -I$build_dir/vulkan/util \
415 -I$build_dir \
416 -I$src_dir/src/vulkan/util \
417 -I$src_dir/src/vulkan/runtime \
418 -I$src_dir/src/gallium/include \
419 -I$src_dir/src/util \
420 -I$src_dir/src \
421 -I$src_dir/include \
422 $libxcb_cppflags \
423 $libx11_cppflags \
424 $libxrandr_cppflags \
425 $libxrender_cppflags \
426 $xorgproto_cppflags \
427 "
428 libvulkan_util_files="\
429 $src_dir/src/vulkan/util/vk_alloc.c \
430 $build_dir/vk_dispatch_table.c \
431 $build_dir/vk_enum_to_str.c \
432 $build_dir/vk_extensions.c \
433 $src_dir/src/vulkan/util/vk_format.c \
434 $src_dir/src/vulkan/util/vk_util.c \
435 "
436 for f in $libvulkan_util_files
437 do
438 libvulkan_util_obj=$build_dir/$(basename $f .c).o
439 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
440
441 $cc $cppflags $f -o $libvulkan_util_obj &
442 done
443 #===============================================================================
444 # vulkan runtime
445 cppflags="\
446 $cppflags_common \
447 -DPACKAGE_VERSION=\"$version\" \
448 -DVERSION=\"$version\" \
449 -I$build_dir/vulkan/util \
450 -I$build_dir \
451 -I$src_dir/src/vulkan/util \
452 -I$src_dir/src/vulkan/runtime \
453 -I$src_dir/src/gallium/include \
454 -I$src_dir/src/compiler/nir \
455 -I$src_dir/src/util \
456 -I$src_dir/src \
457 -I$src_dir/include \
458 $libdrm_cppflags \
459 $libxcb_cppflags \
460 $libx11_cppflags \
461 $libxrandr_cppflags \
462 $libxrender_cppflags \
463 $xorgproto_cppflags \
464 "
465 libvulkan_runtime_files="\
466 $src_dir/src/vulkan/runtime/vk_buffer.c \
467 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
468 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
469 $build_dir/vk_cmd_enqueue_entrypoints.c \
470 $build_dir/vk_cmd_queue.c \
471 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
472 $src_dir/src/vulkan/runtime/vk_command_pool.c \
473 $build_dir/vk_common_entrypoints.c \
474 $src_dir/src/vulkan/runtime/vk_debug_report.c \
475 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
476 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
477 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
478 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
479 $src_dir/src/vulkan/runtime/vk_descriptors.c \
480 $src_dir/src/vulkan/runtime/vk_device.c \
481 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
482 $build_dir/vk_dispatch_trampolines.c \
483 $src_dir/src/vulkan/runtime/vk_fence.c \
484 $build_dir/vk_format_info.c \
485 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
486 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
487 $src_dir/src/vulkan/runtime/vk_image.c \
488 $src_dir/src/vulkan/runtime/vk_instance.c \
489 $src_dir/src/vulkan/runtime/vk_log.c \
490 $src_dir/src/vulkan/runtime/vk_nir.c \
491 $src_dir/src/vulkan/runtime/vk_object.c \
492 $src_dir/src/vulkan/runtime/vk_pipeline.c \
493 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
494 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
495 $src_dir/src/vulkan/runtime/vk_physical_device.c \
496 $build_dir/vk_physical_device_features.c \
497 $src_dir/src/vulkan/runtime/vk_queue.c \
498 $src_dir/src/vulkan/runtime/vk_render_pass.c \
499 $src_dir/src/vulkan/runtime/vk_sampler.c \
500 $src_dir/src/vulkan/runtime/vk_semaphore.c \
501 $src_dir/src/vulkan/runtime/vk_shader_module.c \
502 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
503 $src_dir/src/vulkan/runtime/vk_sync.c \
504 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
505 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
506 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
507 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
508 $src_dir/src/vulkan/runtime/vk_video.c \
509 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
510 "
511 for f in $libvulkan_runtime_files
512 do
513 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
514 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
515
516 $cc $cppflags $f -o $libvulkan_runtime_obj &
517 done
518 #===============================================================================
519 # wsi x11 (Window System Interface)
520 cppflags="\
521 $cppflags_common \
522 -I$build_dir/vulkan/util \
523 -I$build_dir \
524 -I$src_dir/src \
525 -I$src_dir/src/vulkan/util \
526 -I$src_dir/src/vulkan/runtime \
527 -I$src_dir/src/gallium/include \
528 -I$src_dir/include \
529 -I$src_dir/include/drm-uapi \
530 $libxcb_cppflags \
531 $libx11_cppflags \
532 $libxrandr_cppflags \
533 $libxrender_cppflags \
534 $xorgproto_cppflags \
535 $libxshmfence_cppflags \
536 $libdrm_cppflags \
537 "
538 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
539 -o $build_dir/wsi_common.o &
540 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
541 -o $build_dir/wsi_common_drm.o &
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
543 -o $build_dir/wsi_common_x11.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
545 -o $build_dir/wsi_common_display.o &
546 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
547 -o $build_dir/wsi_common_entrypoints.o &
548 libvulkan_wsi_a="\
549 $build_dir/wsi_common.o \
550 $build_dir/wsi_common_drm.o \
551 $build_dir/wsi_common_x11.o \
552 $build_dir/wsi_common_display.o \
553 $build_dir/wsi_common_entrypoints.o \
554 "
555 #===============================================================================
556 # amd common archive
557 cppflags="\
558 $cppflags_common \
559 -I$build_dir \
560 -I$src_dir/src/gallium/auxiliary \
561 -I$src_dir/src/gallium/include \
562 -I$build_dir/src/amd/common \
563 -I$src_dir/src/amd/common \
564 -I$src_dir/src/util \
565 -I$build_dir/src/amd \
566 -I$src_dir/src/amd \
567 -I$src_dir/src/compiler/nir \
568 -I$src_dir/src/compiler \
569 -I$src_dir/src/mesa \
570 -I$src_dir/src \
571 -I$src_dir/include \
572 -I$src_dir/include/drm-uapi \
573 $libdrm_cppflags \
574 $libdrm_amdgpu_cppflags \
575 $linux_drm_cppflags \
576 $libelf_cppflags \
577 "
578 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
579 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
580 #$src_dir/src/amd/common/ac_sqtt.c \
581 libamd_common_c_files="\
582 $src_dir/src/amd/common/ac_surface.c \
583 $src_dir/src/amd/common/ac_binary.c \
584 $src_dir/src/amd/common/ac_debug.c \
585 $src_dir/src/amd/common/amd_family.c \
586 $src_dir/src/amd/common/ac_gpu_info.c \
587 $src_dir/src/amd/common/ac_msgpack.c \
588 $src_dir/src/amd/common/ac_nir.c \
589 $src_dir/src/amd/common/ac_nir_cull.c \
590 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
591 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
592 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
593 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
594 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
595 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
596 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
597 $src_dir/src/amd/common/ac_perfcounter.c \
598 $src_dir/src/amd/common/ac_shader_args.c \
599 $src_dir/src/amd/common/ac_shader_util.c \
600 $src_dir/src/amd/common/ac_shadowed_regs.c \
601 $src_dir/src/amd/common/ac_rgp.c \
602 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
603 $src_dir/src/amd/common/ac_rtld.c \
604 $src_dir/src/amd/common/ac_spm.c \
605 "
606 for f in $libamd_common_c_files
607 do
608 libamd_common_c_obj=$build_dir/$(basename $f .c).o
609 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
610
611 $cc $cppflags $f -o $libamd_common_c_obj &
612 done
613 #===============================================================================
614 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
615 cppflags="\
616 $cppflags_common \
617 -DLITTLEENDIAN_CPU \
618 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
619 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
620 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
621 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
622 -I$src_dir/src/amd/addrlib/inc \
623 -I$src_dir/src/amd/addrlib/src/core \
624 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
625 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
626 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
627 -I$src_dir/src/amd/addrlib/src/chip/r800 \
628 -I$src_dir/src/amd/addrlib/src \
629 -I$src_dir/src \
630 -I$src_dir/include \
631 "
632 libamdgpu_addrlib_files="\
633 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
634 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
635 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
636 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
637 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
638 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
639 $src_dir/src/amd/addrlib/src/core/coord.cpp \
640 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
641 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
642 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
643 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
644 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
645 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
646 "
647 for f in $libamdgpu_addrlib_files
648 do
649 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
650 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
651
652 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
653 done
654 #===============================================================================
655 # libcompiler required by libnir
656 cppflags="\
657 $cppflags_common \
658 -I$build_dir \
659 -I$src_dir/src/gallium/auxiliary \
660 -I$src_dir/src/gallium/include \
661 -I$src_dir/src/mesa \
662 -I$src_dir/src \
663 -I$src_dir/include \
664 "
665 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
666 -o $build_dir/glsl_types.o &
667 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
668 -o $build_dir/nir_types.o &
669 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
670 -o $build_dir/shader_enums.o &
671 libcompiler_a="\
672 $build_dir/glsl_types.o \
673 $build_dir/nir_types.o \
674 $build_dir/shader_enums.o \
675 "
676 #===============================================================================
677 # libnir
678 cppflags="\
679 $cppflags_common \
680 -I$build_dir \
681 -I$src_dir/src/compiler/spirv \
682 -I$src_dir/src/compiler/nir \
683 -I$src_dir/src/compiler \
684 -I$src_dir/src/gallium/include \
685 -I$src_dir/src/mesa \
686 -I$src_dir/src \
687 -I$src_dir/include \
688 $xorgproto_cppflags \
689 $libxcb_cppflags \
690 $libx11_cppflags \
691 $libxrender_cppflags \
692 $libxrandr_cppflags \
693 "
694 libnir_files="\
695 $build_dir/spirv_info.c \
696 $build_dir/vtn_gather_types.c \
697 $build_dir/nir_intrinsics.c \
698 $build_dir/nir_opcodes.c \
699 $build_dir/nir_opt_algebraic.c \
700 $build_dir/nir_constant_expressions.c \
701 \
702 $src_dir/src/compiler/spirv/gl_spirv.c \
703 $src_dir/src/compiler/spirv/spirv_to_nir.c \
704 $src_dir/src/compiler/spirv/vtn_alu.c \
705 $src_dir/src/compiler/spirv/vtn_amd.c \
706 $src_dir/src/compiler/spirv/vtn_cfg.c \
707 $src_dir/src/compiler/spirv/vtn_glsl450.c \
708 $src_dir/contrib/vtn_opencl.c \
709 $src_dir/src/compiler/spirv/vtn_subgroup.c \
710 $src_dir/src/compiler/spirv/vtn_variables.c \
711 \
712 $src_dir/src/compiler/nir/nir.c \
713 $src_dir/src/compiler/nir/nir_builder.c \
714 $src_dir/src/compiler/nir/nir_builtin_builder.c \
715 $src_dir/src/compiler/nir/nir_clone.c \
716 $src_dir/src/compiler/nir/nir_control_flow.c \
717 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
718 $src_dir/src/compiler/nir/nir_deref.c \
719 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
720 $src_dir/src/compiler/nir/nir_dominance.c \
721 $src_dir/src/compiler/nir/nir_from_ssa.c \
722 $src_dir/src/compiler/nir/nir_gather_info.c \
723 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
724 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
725 $src_dir/src/compiler/nir/nir_group_loads.c \
726 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
727 $src_dir/src/compiler/nir/nir_inline_functions.c \
728 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
729 $src_dir/src/compiler/nir/nir_instr_set.c \
730 $src_dir/src/compiler/nir/nir_linking_helpers.c \
731 $src_dir/src/compiler/nir/nir_liveness.c \
732 $src_dir/src/compiler/nir/nir_loop_analyze.c \
733 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
734 $src_dir/src/compiler/nir/nir_lower_alu.c \
735 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
736 $src_dir/src/compiler/nir/nir_lower_amul.c \
737 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
738 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
739 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
740 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
741 $src_dir/src/compiler/nir/nir_lower_blend.c \
742 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
743 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
744 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
745 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
746 $src_dir/src/compiler/nir/nir_lower_clip.c \
747 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
748 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
749 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
750 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
751 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
752 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
753 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
754 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
755 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
756 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
757 $src_dir/src/compiler/nir/nir_lower_flrp.c \
758 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
759 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
760 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
761 $src_dir/src/compiler/nir/nir_lower_frexp.c \
762 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
763 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
764 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
765 $src_dir/src/compiler/nir/nir_lower_idiv.c \
766 $src_dir/src/compiler/nir/nir_lower_image.c \
767 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
768 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
769 $src_dir/src/compiler/nir/nir_lower_int64.c \
770 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
771 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
772 $src_dir/src/compiler/nir/nir_lower_io.c \
773 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
774 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
775 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
776 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
777 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
778 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
779 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
780 $src_dir/src/compiler/nir/nir_lower_mediump.c \
781 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
782 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
783 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
784 $src_dir/src/compiler/nir/nir_lower_multiview.c \
785 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
786 $src_dir/src/compiler/nir/nir_lower_packing.c \
787 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
788 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
789 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_point_size.c \
791 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
792 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
793 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
794 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
795 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
796 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
797 $src_dir/src/compiler/nir/nir_lower_returns.c \
798 $src_dir/src/compiler/nir/nir_lower_samplers.c \
799 $src_dir/src/compiler/nir/nir_lower_scratch.c \
800 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
801 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
802 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
803 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
804 $src_dir/src/compiler/nir/nir_lower_system_values.c \
805 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
806 $src_dir/src/compiler/nir/nir_lower_tex.c \
807 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
808 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
809 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
810 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
811 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
812 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
813 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
814 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
815 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
816 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
817 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
818 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
819 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
820 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
821 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
822 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
823 $src_dir/src/compiler/nir/nir_metadata.c \
824 $src_dir/src/compiler/nir/nir_mod_analysis.c \
825 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
826 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
827 $src_dir/src/compiler/nir/nir_opt_access.c \
828 $src_dir/src/compiler/nir/nir_opt_barriers.c \
829 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
830 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
831 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
832 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
833 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
834 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
835 $src_dir/src/compiler/nir/nir_opt_cse.c \
836 $src_dir/src/compiler/nir/nir_opt_dce.c \
837 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
838 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
839 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
840 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
841 $src_dir/src/compiler/nir/nir_opt_gcm.c \
842 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
843 $src_dir/src/compiler/nir/nir_opt_if.c \
844 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
845 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
846 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
847 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
848 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
849 $src_dir/src/compiler/nir/nir_opt_move.c \
850 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
851 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
852 $src_dir/src/compiler/nir/nir_opt_offsets.c \
853 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
854 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
855 $src_dir/src/compiler/nir/nir_opt_preamble.c \
856 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
857 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
858 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
859 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
860 $src_dir/src/compiler/nir/nir_opt_sink.c \
861 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
862 $src_dir/src/compiler/nir/nir_opt_undef.c \
863 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
864 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
865 $src_dir/src/compiler/nir/nir_phi_builder.c \
866 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
867 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
868 $src_dir/src/compiler/nir/nir_print.c \
869 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
870 $src_dir/src/compiler/nir/nir_range_analysis.c \
871 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
872 $src_dir/src/compiler/nir/nir_repair_ssa.c \
873 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
874 $src_dir/src/compiler/nir/nir_schedule.c \
875 $src_dir/src/compiler/nir/nir_search.c \
876 $src_dir/src/compiler/nir/nir_serialize.c \
877 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
878 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
879 $src_dir/src/compiler/nir/nir_split_var_copies.c \
880 $src_dir/src/compiler/nir/nir_split_vars.c \
881 $src_dir/src/compiler/nir/nir_sweep.c \
882 $src_dir/src/compiler/nir/nir_to_lcssa.c \
883 $src_dir/src/compiler/nir/nir_validate.c \
884 $src_dir/src/compiler/nir/nir_worklist.c \
885 "
886 for f in $libnir_files
887 do
888 libnir_obj=$build_dir/$(basename $f .c).o
889 libnir_a="$libnir_a $libnir_obj"
890
891 $cc $cppflags $f -o $libnir_obj &
892 done
893 #===============================================================================
894 # libaco
895 # we don't use cppflags_common for aco because the code is not yet
896 # compatible
897 cppflags="\
898 $gcc_builtins_cppflags \
899 $gcc_attributes_cppflags \
900 $linux_glibc_cppflags \
901 $mesa_cppflags \
902 -I$build_dir \
903 -I$src_dir/src/amd/compiler \
904 -I$src_dir/src/amd/vulkan \
905 -I$build_dir/src/amd/common \
906 -I$src_dir/src/amd/common \
907 -I$build_dir/src/amd \
908 -I$src_dir/src/amd \
909 -I$src_dir/src/compiler/nir \
910 -I$src_dir/src/compiler \
911 -I$src_dir/src/mesa \
912 -I$src_dir/src/gallium/include \
913 -I$src_dir/src \
914 -I$src_dir/include \
915 "
916 libaco_files="\
917 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
918 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
919 $src_dir/src/amd/compiler/aco_dominance.cpp \
920 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
921 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
922 $src_dir/src/amd/compiler/aco_interface.cpp \
923 $src_dir/src/amd/compiler/aco_assembler.cpp \
924 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
925 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
926 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
927 $src_dir/src/amd/compiler/aco_ir.cpp \
928 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
929 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
930 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
931 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
932 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
933 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
934 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
935 $build_dir/aco_opcodes.cpp \
936 $src_dir/src/amd/compiler/aco_optimizer.cpp \
937 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
938 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
939 $src_dir/src/amd/compiler/aco_print_asm.cpp \
940 $src_dir/src/amd/compiler/aco_print_ir.cpp \
941 $src_dir/src/amd/compiler/aco_scheduler.cpp \
942 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
943 $src_dir/src/amd/compiler/aco_spill.cpp \
944 $src_dir/src/amd/compiler/aco_statistics.cpp \
945 $src_dir/src/amd/compiler/aco_validate.cpp \
946 "
947 for f in $libaco_files
948 do
949 libaco_obj=$build_dir/$(basename $f .c).o
950 libaco_a="$libaco_a $libaco_obj"
951
952 $cxx $cppflags $f -o $libaco_obj &
953 done
954 #===============================================================================
955 # libmesautils
956 cppflags="\
957 $cppflags_common \
958 -I$build_dir/src/util/format \
959 -I$build_dir/src \
960 -I$build_dir \
961 -I$src_dir/src/gallium/auxiliary \
962 -I$src_dir/src/gallium/include \
963 -I$src_dir/src/mesa \
964 -I$src_dir/src/util/format \
965 -I$src_dir/src/util \
966 -I$src_dir/src \
967 -I$src_dir/include \
968 $zlib_cppflags \
969 "
970 libmesautil_files="\
971 $build_dir/format_srgb.c \
972 $build_dir/u_format_table.c \
973 $src_dir/src/util/anon_file.c \
974 $src_dir/src/util/bitscan.c \
975 $src_dir/src/util/blob.c \
976 $src_dir/src/util/build_id.c \
977 $src_dir/src/util/compress.c \
978 $src_dir/src/util/crc32.c \
979 $src_dir/src/util/dag.c \
980 $src_dir/src/util/disk_cache.c \
981 $src_dir/src/util/disk_cache_os.c \
982 $src_dir/src/util/double.c \
983 $src_dir/src/util/fast_idiv_by_const.c \
984 $src_dir/src/util/fossilize_db.c \
985 $src_dir/src/util/futex.c \
986 $src_dir/src/util/half_float.c \
987 $src_dir/src/util/hash_table.c \
988 $src_dir/src/util/log.c \
989 $src_dir/src/util/mesa-sha1.c \
990 $src_dir/src/util/mesa_cache_db.c \
991 $src_dir/src/util/mesa_cache_db_multipart.c \
992 $src_dir/src/util/memstream.c \
993 $src_dir/src/util/os_file.c \
994 $src_dir/src/util/os_memory_fd.c \
995 $src_dir/src/util/os_misc.c \
996 $src_dir/src/util/os_socket.c \
997 $src_dir/src/util/os_time.c \
998 $src_dir/src/util/sha1/sha1.c \
999 $src_dir/src/util/ralloc.c \
1000 $src_dir/src/util/rand_xor.c \
1001 $src_dir/src/util/rb_tree.c \
1002 $src_dir/src/util/register_allocate.c \
1003 $src_dir/src/util/rgtc.c \
1004 $src_dir/src/util/rwlock.c \
1005 $src_dir/src/util/set.c \
1006 $src_dir/src/util/simple_mtx.c \
1007 $src_dir/src/util/slab.c \
1008 $src_dir/src/util/softfloat.c \
1009 $src_dir/src/util/sparse_array.c \
1010 $src_dir/src/util/string_buffer.c \
1011 $src_dir/src/util/strtod.c \
1012 $src_dir/src/util/u_atomic.c \
1013 $src_dir/src/util/u_call_once.c \
1014 $src_dir/src/util/u_cpu_detect.c \
1015 $src_dir/src/util/u_debug.c \
1016 $src_dir/src/util/u_debug_describe.c \
1017 $src_dir/src/util/u_debug_refcnt.c \
1018 $src_dir/src/util/u_debug_stack.c \
1019 $src_dir/src/util/u_debug_symbol.c \
1020 $src_dir/src/util/u_dl.c \
1021 $src_dir/src/util/u_hash_table.c \
1022 $src_dir/src/util/u_printf.c \
1023 $src_dir/src/util/format/u_format.c \
1024 $src_dir/src/util/format/u_format_bptc.c \
1025 $src_dir/src/util/format/u_format_etc.c \
1026 $src_dir/src/util/format/u_format_fxt1.c \
1027 $src_dir/src/util/format/u_format_latc.c \
1028 $src_dir/src/util/format/u_format_other.c \
1029 $src_dir/src/util/format/u_format_rgtc.c \
1030 $src_dir/src/util/format/u_format_s3tc.c \
1031 $src_dir/src/util/format/u_format_tests.c \
1032 $src_dir/src/util/format/u_format_yuv.c \
1033 $src_dir/src/util/format/u_format_zs.c \
1034 $src_dir/src/util/u_idalloc.c \
1035 $src_dir/src/util/u_math.c \
1036 $src_dir/src/util/u_mm.c \
1037 $src_dir/src/util/u_process.c \
1038 $src_dir/src/util/u_queue.c \
1039 $src_dir/src/util/u_thread.c \
1040 $src_dir/src/util/u_vector.c \
1041 $src_dir/src/util/u_worklist.c \
1042 $src_dir/src/util/vma.c \
1043 \
1044 $src_dir/src/c11/impl/time.c \
1045 $src_dir/src/c11/impl/threads_posix.c \
1046 "
1047 for f in $libmesautil_files
1048 do
1049 libmesautil_obj=$build_dir/$(basename $f .c).o
1050 libmesautil_a="$libmesautil_a $libmesautil_obj"
1051
1052 $cc $cppflags $f -o $libmesautil_obj &
1053 done
1054 #===============================================================================
1055 # amd vulkan
1056 cppflags="\
1057 $cppflags_common \
1058 -DPACKAGE_VERSION=\"$version\" \
1059 -I$build_dir/vulkan/util \
1060 -I$build_dir/src/util \
1061 -I$build_dir \
1062 -I$src_dir/src/amd/compiler \
1063 -I$build_dir/src/amd/common \
1064 -I$src_dir/src/amd/common \
1065 -I$src_dir/src/amd/vulkan \
1066 -I$src_dir/src/amd \
1067 -I$src_dir/src/gallium/auxiliary \
1068 -I$src_dir/src/gallium/include \
1069 -I$src_dir/src/vulkan/util \
1070 -I$src_dir/src/vulkan/runtime \
1071 -I$src_dir/src/vulkan/wsi \
1072 -I$src_dir/src/util \
1073 -I$src_dir/src/mesa \
1074 -I$src_dir/src/compiler/nir \
1075 -I$src_dir/src/compiler \
1076 -I$src_dir/src \
1077 -I$src_dir/include \
1078 $libdrm_cppflags \
1079 $libdrm_amdgpu_cppflags \
1080 $libx11_cppflags \
1081 $libxrandr_cppflags \
1082 $libxrender_cppflags \
1083 $libxcb_cppflags \
1084 $xorgproto_cppflags \
1085 $libxshmfence_cppflags \
1086 "
1087 #$build_dir/radv_extensions.c
1088 #$build_dir/vk_format_table.c
1089 # XXX: remove rt for now
1090 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1091 libvulkan_amd_common_files="\
1092 $src_dir/src/amd/vulkan/radv_android.c \
1093 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1094 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1095 $src_dir/src/amd/vulkan/radv_debug.c \
1096 $build_dir/src/amd/vulkan/radv_device.c \
1097 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1098 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1099 $src_dir/src/amd/vulkan/radv_formats.c \
1100 $src_dir/src/amd/vulkan/radv_image.c \
1101 $build_dir/src/amd/vulkan/radv_meta.c \
1102 $src_dir/src/amd/vulkan/radv_meta_blit.c \
1103 $src_dir/src/amd/vulkan/radv_meta_blit2d.c \
1104 $src_dir/src/amd/vulkan/radv_meta_buffer.c \
1105 $src_dir/src/amd/vulkan/radv_meta_bufimage.c \
1106 $src_dir/src/amd/vulkan/radv_meta_clear.c \
1107 $src_dir/src/amd/vulkan/radv_meta_dcc_retile.c \
1108 $src_dir/src/amd/vulkan/radv_meta_copy.c \
1109 $src_dir/src/amd/vulkan/radv_meta_copy_vrs_htile.c \
1110 $src_dir/src/amd/vulkan/radv_meta_decompress.c \
1111 $src_dir/src/amd/vulkan/radv_meta_etc_decode.c \
1112 $src_dir/src/amd/vulkan/radv_meta_fast_clear.c \
1113 $src_dir/src/amd/vulkan/radv_meta_fmask_copy.c \
1114 $src_dir/src/amd/vulkan/radv_meta_fmask_expand.c \
1115 $src_dir/src/amd/vulkan/radv_meta_resolve.c \
1116 $src_dir/src/amd/vulkan/radv_meta_resolve_cs.c \
1117 $src_dir/src/amd/vulkan/radv_meta_resolve_fs.c \
1118 $src_dir/src/amd/vulkan/radv_nir_apply_pipeline_layout.c \
1119 $src_dir/src/amd/vulkan/radv_nir_lower_abi.c \
1120 $src_dir/src/amd/vulkan/radv_nir_lower_vs_inputs.c \
1121 $src_dir/src/amd/vulkan/radv_nir_lower_ray_queries.c \
1122 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1123 $src_dir/src/amd/vulkan/radv_pipeline.c \
1124 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1125 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1126 $src_dir/src/amd/vulkan/radv_rt_common.c \
1127 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1128 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1129 $src_dir/src/amd/vulkan/radv_shader.c \
1130 $src_dir/src/amd/vulkan/radv_shader_args.c \
1131 $src_dir/src/amd/vulkan/radv_shader_info.c \
1132 $src_dir/src/amd/vulkan/radv_spm.c \
1133 $src_dir/src/amd/vulkan/radv_query.c \
1134 $src_dir/src/amd/vulkan/radv_video.c \
1135 $src_dir/src/amd/vulkan/radv_wsi.c \
1136 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1137 \
1138 $build_dir/gfx10_format_table.c \
1139 \
1140 $build_dir/radv_entrypoints.c \
1141 \
1142 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1143 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1144 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1145 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1146 \
1147 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1148 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1149 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1150 \
1151 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1152 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1153 \
1154 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1155 "
1156
1157 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1158
1159 for f in $libvulkan_amd_common_files
1160 do
1161 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1162 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1163
1164 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1165 done
1166 libvulkan_amd_common_a="\
1167 $libvulkan_amd_common_a \
1168 $build_dir/xmlconfig.o"
1169 #===============================================================================
1170 # create the radeon vulkan driver
1171 soname=libvulkan_radeon.so
1172
1173 # XXX:the attempt to generalize without kludge the link stage of real programs
1174 # build is near a total and complete failure
1175 if test "${driver_link_cmd-unset}" = unset ; then
1176 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1177 -shared -static-libgcc -static-libstdc++ \
1178 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1179 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1180 -Wl,--whole-archive -Wl,--start-group \
1181 $libaco_a \
1182 $libvulkan_amd_common_a \
1183 $libvulkan_util_a \
1184 $libvulkan_runtime_a \
1185 $libvulkan_wsi_a \
1186 $libamd_common_a \
1187 $libamdgpu_addrlib_a \
1188 $libcompiler_a \
1189 $libnir_a \
1190 $libmesautil_a \
1191 -Wl,--end-group -Wl,--no-whole-archive \
1192 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1193 $zlib_ldflags \
1194 $expat_ldflags \
1195 $libelf_ldflags \
1196 -Wl,--as-needed \
1197 $libdrm_ldflags \
1198 $libdrm_amdgpu_ldflags \
1199 $libx11_ldflags \
1200 $libxrandr_ldflags \
1201 $libxrender_ldflags \
1202 $libxcb_ldflags \
1203 $libxshmfence_ldflags \
1204 -lpthread \
1205 -ldl \
1206 -Wl,--no-as-needed"
1207 fi
1208 wait
1209 eval $driver_link_cmd
1210 #===============================================================================
File builders/mesa-vulkan-amd-sh-616d595d18d54c8e39e64386a5a2ac2be8e5fef9/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-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/generators.sh deleted (index 99e572f..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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39
40 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
41 --xml $vulkan_api_xml \
42 --out-c vk_extensions.c \
43 --out-h vk_extensions.h &
44
45 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --xml $vulkan_api_xml \
66 --proto --weak \
67 --out-h vk_common_entrypoints.h \
68 --out-c vk_common_entrypoints.c \
69 --prefix vk_common &
70 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
71 --xml $vulkan_api_xml \
72 --proto --weak \
73 --out-h vk_cmd_enqueue_entrypoints.h \
74 --out-c vk_cmd_enqueue_entrypoints.c \
75 --prefix vk_cmd_enqueue &
76 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
77 --xml $vulkan_api_xml \
78 --out-h vk_cmd_queue.h \
79 --out-c vk_cmd_queue.c &
80 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
81 --xml $vulkan_api_xml \
82 --out-h vk_dispatch_trampolines.h \
83 --out-c vk_dispatch_trampolines.c &
84 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
85 --xml $vulkan_api_xml \
86 --out-h vk_physical_device_features.h \
87 --out-c vk_physical_device_features.c &
88 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
89 --xml $vulkan_api_xml \
90 --out-h vk_format_info.h \
91 --out-c vk_format_info.c &
92 unset PYTHONPATH
93 #===============================================================================
94 # wsi x11 (Window System Interface)
95 export PYTHONPATH=$mako
96 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
97 --xml $vulkan_api_xml \
98 --proto --weak \
99 --out-h wsi_common_entrypoints.h \
100 --out-c wsi_common_entrypoints.c \
101 --prefix wsi &
102 unset PYTHONPATH
103 #===============================================================================
104 # amd common archive
105 $python3 $src_dir/src/amd/common/sid_tables.py \
106 $src_dir/src/amd/common/sid.h \
107 $src_dir/src/amd/registers/gfx6.json \
108 $src_dir/src/amd/registers/gfx7.json \
109 $src_dir/src/amd/registers/gfx8.json \
110 $src_dir/src/amd/registers/gfx81.json \
111 $src_dir/src/amd/registers/gfx9.json \
112 $src_dir/src/amd/registers/gfx940.json \
113 $src_dir/src/amd/registers/gfx10.json \
114 $src_dir/src/amd/registers/gfx10-rsrc.json \
115 $src_dir/src/amd/registers/gfx103.json \
116 $src_dir/src/amd/registers/gfx11.json \
117 $src_dir/src/amd/registers/gfx11-rsrc.json \
118 $src_dir/src/amd/registers/pkt3.json \
119 $src_dir/src/amd/registers/registers-manually-defined.json \
120 >$build_dir/sid_tables.h &
121 mkdir -p $build_dir/src/amd/common
122 $python3 $src_dir/src/amd/registers/makeregheader.py \
123 $src_dir/src/amd/registers/gfx6.json \
124 $src_dir/src/amd/registers/gfx7.json \
125 $src_dir/src/amd/registers/gfx8.json \
126 $src_dir/src/amd/registers/gfx81.json \
127 $src_dir/src/amd/registers/gfx9.json \
128 $src_dir/src/amd/registers/gfx940.json \
129 $src_dir/src/amd/registers/gfx10.json \
130 $src_dir/src/amd/registers/gfx10-rsrc.json \
131 $src_dir/src/amd/registers/gfx11.json \
132 $src_dir/src/amd/registers/gfx11-rsrc.json \
133 $src_dir/src/amd/registers/gfx103.json \
134 $src_dir/src/amd/registers/pkt3.json \
135 $src_dir/src/amd/registers/registers-manually-defined.json \
136 --sort address \
137 --guard AMDGFXREGS_H \
138 >$build_dir/src/amd/common/amdgfxregs.h &
139 #===============================================================================
140 # libcompiler required by libnir
141 export PYTHONPATH=$mako
142 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
143 >$build_dir/ir_expression_operation.h &
144 unset PYTHONPATH
145 #===============================================================================
146 # libnir
147 export PYTHONPATH=$mako
148 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
149 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
150 $build_dir/spirv_info.c &
151
152 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
153 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
154 $build_dir/vtn_gather_types.c &
155
156 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
157 $src_dir/src/compiler/spirv/spir-v.xml \
158 $build_dir/vtn_generator_ids.h &
159 # nir generated files
160 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
161 >$build_dir/nir_constant_expressions.c &
162
163 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
164 >$build_dir/nir_opt_algebraic.c &
165
166 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
167 >$build_dir/nir_opcodes.c &
168
169 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
170 --outdir $build_dir &
171 unset PYTHONPATH
172 #===============================================================================
173 # libaco
174 export PYTHONPATH=$mako
175 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
176 >$build_dir/aco_opcodes.h &
177 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
178 >$build_dir/aco_opcodes.cpp &
179 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
180 >$build_dir/aco_builder.h &
181 unset PYTHONPATH
182 #===============================================================================
183 # libmesautils
184 mkdir -p $build_dir/src/util
185
186 export PYTHONPATH=$mako
187 $python3 $src_dir/src/util/format_srgb.py \
188 >$build_dir/format_srgb.c
189
190 $python3 $src_dir/src/util/format/u_format_table.py \
191 $src_dir/src/util/format/u_format.csv \
192 >$build_dir/u_format_table.c
193
194 # wow, really?
195 mkdir -p $build_dir/src/util/format
196 $python3 $src_dir/src/util/format/u_format_table.py \
197 --header \
198 $src_dir/src/util/format/u_format.csv \
199 >$build_dir/src/util/format/u_format_pack.h
200
201 # oooof!
202 $python3 $src_dir/src/util/driconf_static.py \
203 $src_dir/src/util/00-mesa-defaults.conf \
204 $build_dir/src/util/driconf_static.h
205 unset PYTHONPATH
206 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
207 #===============================================================================
208 # amd vulkan
209 export PYTHONPATH=$mako
210 #------------------------------------------------------------------------------
211 # specific API to work around _still maintained at the time of writing _ game
212 # executable... this is the beginning of the end...
213 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
214 --xml $vulkan_api_xml \
215 --proto --weak \
216 --out-h radv_entrypoints.h \
217 --out-c radv_entrypoints.c \
218 --prefix radv \
219 --device-prefix metro_exodus \
220 --device-prefix rage2 &
221 #------------------------------------------------------------------------------
222 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
223 # --xml $vulkan_api_xml \
224 # --out-c radv_extensions.c \
225 # --out-h radv_extensions.h &
226 #------------------------------------------------------------------------------
227 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
228 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
229 # >$build_dir/vk_format_table.c &
230 #------------------------------------------------------------------------------
231 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
232 $src_dir/src/util/format/u_format.csv \
233 $src_dir/src/amd/registers/gfx10-rsrc.json \
234 $src_dir/src/amd/registers/gfx11-rsrc.json \
235 >$build_dir/gfx10_format_table.c &
236 #------------------------------------------------------------------------------
237 git_sha1=no_git_sha1_available
238 if test -d $src_dir/.git; then
239 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
240 fi
241 echo git_sha1=$git_sha1
242 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
243 unset PYTHONPATH
244 #===============================================================================
File builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6a78af1dbb0da2ad2606c489ce91181532845a91/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 2c35fbc..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
719 $src_dir/src/compiler/spirv/vtn_subgroup.c \
720 $src_dir/src/compiler/spirv/vtn_variables.c \
721 \
722 $src_dir/src/compiler/nir/nir.c \
723 $src_dir/src/compiler/nir/nir_builder.c \
724 $src_dir/src/compiler/nir/nir_builtin_builder.c \
725 $src_dir/src/compiler/nir/nir_clone.c \
726 $src_dir/src/compiler/nir/nir_control_flow.c \
727 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
728 $src_dir/src/compiler/nir/nir_deref.c \
729 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
730 $src_dir/src/compiler/nir/nir_dominance.c \
731 $src_dir/src/compiler/nir/nir_from_ssa.c \
732 $src_dir/src/compiler/nir/nir_gather_info.c \
733 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
734 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
735 $src_dir/src/compiler/nir/nir_group_loads.c \
736 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
737 $src_dir/src/compiler/nir/nir_inline_functions.c \
738 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
739 $src_dir/src/compiler/nir/nir_instr_set.c \
740 $src_dir/src/compiler/nir/nir_linking_helpers.c \
741 $src_dir/src/compiler/nir/nir_liveness.c \
742 $src_dir/src/compiler/nir/nir_loop_analyze.c \
743 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
744 $src_dir/src/compiler/nir/nir_lower_alu.c \
745 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
746 $src_dir/src/compiler/nir/nir_lower_amul.c \
747 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
748 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
749 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
750 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
751 $src_dir/src/compiler/nir/nir_lower_blend.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
754 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
755 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
756 $src_dir/src/compiler/nir/nir_lower_clip.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
759 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
760 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
761 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
764 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
765 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
766 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
767 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
768 $src_dir/src/compiler/nir/nir_lower_flrp.c \
769 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
772 $src_dir/src/compiler/nir/nir_lower_frexp.c \
773 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
774 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
775 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
776 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
777 $src_dir/src/compiler/nir/nir_lower_idiv.c \
778 $src_dir/src/compiler/nir/nir_lower_image.c \
779 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
780 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
781 $src_dir/src/compiler/nir/nir_lower_int64.c \
782 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
783 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
784 $src_dir/src/compiler/nir/nir_lower_io.c \
785 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
789 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
790 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
791 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
792 $src_dir/src/compiler/nir/nir_lower_mediump.c \
793 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
794 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
795 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
796 $src_dir/src/compiler/nir/nir_lower_multiview.c \
797 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
798 $src_dir/src/compiler/nir/nir_lower_packing.c \
799 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
800 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
801 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
802 $src_dir/src/compiler/nir/nir_lower_point_size.c \
803 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
804 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
805 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
806 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
807 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
808 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
809 $src_dir/src/compiler/nir/nir_lower_returns.c \
810 $src_dir/src/compiler/nir/nir_lower_samplers.c \
811 $src_dir/src/compiler/nir/nir_lower_scratch.c \
812 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
813 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
814 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
815 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
816 $src_dir/src/compiler/nir/nir_lower_system_values.c \
817 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
818 $src_dir/src/compiler/nir/nir_lower_tex.c \
819 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
820 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
821 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
822 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
823 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
824 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
825 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
826 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
827 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
828 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
829 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
830 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
831 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
832 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
833 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
834 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
835 $src_dir/src/compiler/nir/nir_metadata.c \
836 $src_dir/src/compiler/nir/nir_mod_analysis.c \
837 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
838 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
839 $src_dir/src/compiler/nir/nir_opt_access.c \
840 $src_dir/src/compiler/nir/nir_opt_barriers.c \
841 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
842 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
843 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
844 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
845 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
846 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
847 $src_dir/src/compiler/nir/nir_opt_cse.c \
848 $src_dir/src/compiler/nir/nir_opt_dce.c \
849 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
850 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
851 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
852 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
853 $src_dir/src/compiler/nir/nir_opt_gcm.c \
854 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
855 $src_dir/src/compiler/nir/nir_opt_if.c \
856 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
857 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
858 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
859 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
860 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
861 $src_dir/src/compiler/nir/nir_opt_move.c \
862 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
863 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
864 $src_dir/src/compiler/nir/nir_opt_offsets.c \
865 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
866 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
867 $src_dir/src/compiler/nir/nir_opt_preamble.c \
868 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
869 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
870 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
871 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
872 $src_dir/src/compiler/nir/nir_opt_sink.c \
873 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
874 $src_dir/src/compiler/nir/nir_opt_undef.c \
875 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
876 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
877 $src_dir/src/compiler/nir/nir_phi_builder.c \
878 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
879 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
880 $src_dir/src/compiler/nir/nir_print.c \
881 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
882 $src_dir/src/compiler/nir/nir_range_analysis.c \
883 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
884 $src_dir/src/compiler/nir/nir_repair_ssa.c \
885 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
886 $src_dir/src/compiler/nir/nir_schedule.c \
887 $src_dir/src/compiler/nir/nir_search.c \
888 $src_dir/src/compiler/nir/nir_serialize.c \
889 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
890 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
891 $src_dir/src/compiler/nir/nir_split_var_copies.c \
892 $src_dir/src/compiler/nir/nir_split_vars.c \
893 $src_dir/src/compiler/nir/nir_sweep.c \
894 $src_dir/src/compiler/nir/nir_to_lcssa.c \
895 $src_dir/src/compiler/nir/nir_validate.c \
896 $src_dir/src/compiler/nir/nir_worklist.c \
897 "
898 for f in $libnir_files
899 do
900 libnir_obj=$build_dir/$(basename $f .c).o
901 libnir_a="$libnir_a $libnir_obj"
902
903 $cc $cppflags $f -o $libnir_obj &
904 done
905 #===============================================================================
906 # libaco
907 # we don't use cppflags_common for aco because the code is not yet
908 # compatible
909 cppflags="\
910 $gcc_builtins_cppflags \
911 $gcc_attributes_cppflags \
912 $linux_glibc_cppflags \
913 $mesa_cppflags \
914 -I$build_dir \
915 -I$src_dir/src/amd/compiler \
916 -I$src_dir/src/amd/vulkan \
917 -I$build_dir/src/amd/common \
918 -I$src_dir/src/amd/common \
919 -I$build_dir/src/amd \
920 -I$src_dir/src/amd \
921 -I$src_dir/src/compiler/nir \
922 -I$src_dir/src/compiler \
923 -I$src_dir/src/mesa \
924 -I$src_dir/src/gallium/include \
925 -I$src_dir/src \
926 -I$src_dir/include \
927 "
928 libaco_files="\
929 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
930 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
931 $src_dir/src/amd/compiler/aco_dominance.cpp \
932 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
933 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
934 $src_dir/src/amd/compiler/aco_interface.cpp \
935 $src_dir/src/amd/compiler/aco_assembler.cpp \
936 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
937 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
938 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
939 $src_dir/src/amd/compiler/aco_ir.cpp \
940 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
941 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
942 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
943 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
944 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
945 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
946 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
947 $build_dir/aco_opcodes.cpp \
948 $src_dir/src/amd/compiler/aco_optimizer.cpp \
949 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
950 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
951 $src_dir/src/amd/compiler/aco_print_asm.cpp \
952 $src_dir/src/amd/compiler/aco_print_ir.cpp \
953 $src_dir/src/amd/compiler/aco_scheduler.cpp \
954 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
955 $src_dir/src/amd/compiler/aco_spill.cpp \
956 $src_dir/src/amd/compiler/aco_statistics.cpp \
957 $src_dir/src/amd/compiler/aco_validate.cpp \
958 "
959 for f in $libaco_files
960 do
961 libaco_obj=$build_dir/$(basename $f .c).o
962 libaco_a="$libaco_a $libaco_obj"
963
964 $cxx $cppflags $f -o $libaco_obj &
965 done
966 #===============================================================================
967 # libmesautils
968 cppflags="\
969 $cppflags_common \
970 -I$build_dir/src/util/format \
971 -I$build_dir/src \
972 -I$build_dir \
973 -I$src_dir/src/gallium/auxiliary \
974 -I$src_dir/src/gallium/include \
975 -I$src_dir/src/mesa \
976 -I$src_dir/src/util/format \
977 -I$src_dir/src/util \
978 -I$src_dir/src \
979 -I$src_dir/include \
980 $zlib_cppflags \
981 "
982 libmesautil_files="\
983 $build_dir/format_srgb.c \
984 $build_dir/u_format_table.c \
985 $src_dir/src/util/anon_file.c \
986 $src_dir/src/util/bitscan.c \
987 $src_dir/src/util/blob.c \
988 $src_dir/src/util/build_id.c \
989 $src_dir/src/util/compress.c \
990 $src_dir/src/util/crc32.c \
991 $src_dir/src/util/dag.c \
992 $src_dir/src/util/disk_cache.c \
993 $src_dir/src/util/disk_cache_os.c \
994 $src_dir/src/util/double.c \
995 $src_dir/src/util/fast_idiv_by_const.c \
996 $src_dir/src/util/fossilize_db.c \
997 $src_dir/src/util/futex.c \
998 $src_dir/src/util/half_float.c \
999 $src_dir/src/util/hash_table.c \
1000 $src_dir/src/util/log.c \
1001 $src_dir/src/util/mesa-sha1.c \
1002 $src_dir/src/util/mesa_cache_db.c \
1003 $src_dir/src/util/mesa_cache_db_multipart.c \
1004 $src_dir/src/util/memstream.c \
1005 $src_dir/src/util/os_file.c \
1006 $src_dir/src/util/os_memory_fd.c \
1007 $src_dir/src/util/os_misc.c \
1008 $src_dir/src/util/os_socket.c \
1009 $src_dir/src/util/os_time.c \
1010 $src_dir/src/util/sha1/sha1.c \
1011 $src_dir/src/util/ralloc.c \
1012 $src_dir/src/util/rand_xor.c \
1013 $src_dir/src/util/rb_tree.c \
1014 $src_dir/src/util/register_allocate.c \
1015 $src_dir/src/util/rgtc.c \
1016 $src_dir/src/util/rwlock.c \
1017 $src_dir/src/util/set.c \
1018 $src_dir/src/util/simple_mtx.c \
1019 $src_dir/src/util/slab.c \
1020 $src_dir/src/util/softfloat.c \
1021 $src_dir/src/util/sparse_array.c \
1022 $src_dir/src/util/string_buffer.c \
1023 $src_dir/src/util/strtod.c \
1024 $src_dir/src/util/u_atomic.c \
1025 $src_dir/src/util/u_call_once.c \
1026 $src_dir/src/util/u_cpu_detect.c \
1027 $src_dir/src/util/u_debug.c \
1028 $src_dir/src/util/u_debug_describe.c \
1029 $src_dir/src/util/u_debug_refcnt.c \
1030 $src_dir/src/util/u_debug_stack.c \
1031 $src_dir/src/util/u_debug_symbol.c \
1032 $src_dir/src/util/u_dl.c \
1033 $src_dir/src/util/u_hash_table.c \
1034 $src_dir/src/util/u_printf.c \
1035 $src_dir/src/util/format/u_format.c \
1036 $src_dir/src/util/format/u_format_bptc.c \
1037 $src_dir/src/util/format/u_format_etc.c \
1038 $src_dir/src/util/format/u_format_fxt1.c \
1039 $src_dir/src/util/format/u_format_latc.c \
1040 $src_dir/src/util/format/u_format_other.c \
1041 $src_dir/src/util/format/u_format_rgtc.c \
1042 $src_dir/src/util/format/u_format_s3tc.c \
1043 $src_dir/src/util/format/u_format_tests.c \
1044 $src_dir/src/util/format/u_format_yuv.c \
1045 $src_dir/src/util/format/u_format_zs.c \
1046 $src_dir/src/util/u_idalloc.c \
1047 $src_dir/src/util/u_math.c \
1048 $src_dir/src/util/u_mm.c \
1049 $src_dir/src/util/u_process.c \
1050 $src_dir/src/util/u_queue.c \
1051 $src_dir/src/util/u_thread.c \
1052 $src_dir/src/util/u_vector.c \
1053 $src_dir/src/util/u_worklist.c \
1054 $src_dir/src/util/vma.c \
1055 \
1056 $src_dir/src/c11/impl/time.c \
1057 $src_dir/src/c11/impl/threads_posix.c \
1058 "
1059 for f in $libmesautil_files
1060 do
1061 libmesautil_obj=$build_dir/$(basename $f .c).o
1062 libmesautil_a="$libmesautil_a $libmesautil_obj"
1063
1064 $cc $cppflags $f -o $libmesautil_obj &
1065 done
1066 #===============================================================================
1067 # amd vulkan
1068 cppflags="\
1069 $cppflags_common \
1070 -DPACKAGE_VERSION=\"$version\" \
1071 -I$build_dir/vulkan/util \
1072 -I$build_dir/src/util \
1073 -I$build_dir \
1074 -I$src_dir/src/amd/compiler \
1075 -I$build_dir/src/amd/common \
1076 -I$src_dir/src/amd/common \
1077 -I$src_dir/src/amd/vulkan/nir \
1078 -I$src_dir/src/amd/vulkan/meta \
1079 -I$src_dir/src/amd/vulkan \
1080 -I$src_dir/src/amd \
1081 -I$src_dir/src/gallium/auxiliary \
1082 -I$src_dir/src/gallium/include \
1083 -I$src_dir/src/vulkan/util \
1084 -I$src_dir/src/vulkan/runtime \
1085 -I$src_dir/src/vulkan/wsi \
1086 -I$src_dir/src/util \
1087 -I$src_dir/src/mesa \
1088 -I$src_dir/src/compiler/nir \
1089 -I$src_dir/src/compiler \
1090 -I$src_dir/src \
1091 -I$src_dir/include \
1092 $libdrm_cppflags \
1093 $libdrm_amdgpu_cppflags \
1094 $libx11_cppflags \
1095 $libxrandr_cppflags \
1096 $libxrender_cppflags \
1097 $libxcb_cppflags \
1098 $xorgproto_cppflags \
1099 $libxshmfence_cppflags \
1100 "
1101 #$build_dir/radv_extensions.c
1102 #$build_dir/vk_format_table.c
1103 # XXX: remove rt for now
1104 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1105 libvulkan_amd_common_files="\
1106 $src_dir/src/amd/vulkan/radv_android.c \
1107 $src_dir/src/amd/vulkan/radv_buffer.c \
1108 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1109 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1110 $src_dir/src/amd/vulkan/radv_debug.c \
1111 $build_dir/src/amd/vulkan/radv_device.c \
1112 $src_dir/src/amd/vulkan/radv_device_memory.c \
1113 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1114 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1115 $src_dir/src/amd/vulkan/radv_event.c \
1116 $src_dir/src/amd/vulkan/radv_formats.c \
1117 $src_dir/src/amd/vulkan/radv_image.c \
1118 $src_dir/src/amd/vulkan/radv_instance.c \
1119 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1120 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1136 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1147 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1148 $src_dir/src/amd/vulkan/radv_physical_device.c \
1149 $src_dir/src/amd/vulkan/radv_pipeline.c \
1150 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1153 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1154 $src_dir/src/amd/vulkan/radv_queue.c \
1155 $src_dir/src/amd/vulkan/radv_rt_common.c \
1156 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1157 $src_dir/src/amd/vulkan/radv_sampler.c \
1158 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1159 $src_dir/src/amd/vulkan/radv_shader.c \
1160 $src_dir/src/amd/vulkan/radv_shader_args.c \
1161 $src_dir/src/amd/vulkan/radv_shader_info.c \
1162 $src_dir/src/amd/vulkan/radv_spm.c \
1163 $src_dir/src/amd/vulkan/radv_query.c \
1164 $src_dir/src/amd/vulkan/radv_video.c \
1165 $src_dir/src/amd/vulkan/radv_wsi.c \
1166 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1167 \
1168 $build_dir/gfx10_format_table.c \
1169 \
1170 $build_dir/radv_entrypoints.c \
1171 \
1172 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1173 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1175 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1176 \
1177 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1178 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1179 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1180 \
1181 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1182 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1183 \
1184 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1185 "
1186
1187 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1188
1189 for f in $libvulkan_amd_common_files
1190 do
1191 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1192 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1193
1194 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1195 done
1196 libvulkan_amd_common_a="\
1197 $libvulkan_amd_common_a \
1198 $build_dir/xmlconfig.o"
1199 #===============================================================================
1200 # create the radeon vulkan driver
1201 soname=libvulkan_radeon.so
1202
1203 # XXX:the attempt to generalize without kludge the link stage of real programs
1204 # build is near a total and complete failure
1205 if test "${driver_link_cmd-unset}" = unset ; then
1206 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1207 -shared -static-libgcc -static-libstdc++ \
1208 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1209 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1210 -Wl,--whole-archive -Wl,--start-group \
1211 $libaco_a \
1212 $libvulkan_amd_common_a \
1213 $libvulkan_util_a \
1214 $libvulkan_runtime_a \
1215 $libvulkan_wsi_a \
1216 $libamd_common_a \
1217 $libamdgpu_addrlib_a \
1218 $libcompiler_a \
1219 $libnir_a \
1220 $libmesautil_a \
1221 -Wl,--end-group -Wl,--no-whole-archive \
1222 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1223 $zlib_ldflags \
1224 $expat_ldflags \
1225 $libelf_ldflags \
1226 -Wl,--as-needed \
1227 $libdrm_ldflags \
1228 $libdrm_amdgpu_ldflags \
1229 $libx11_ldflags \
1230 $libxrandr_ldflags \
1231 $libxrender_ldflags \
1232 $libxcb_ldflags \
1233 $libxshmfence_ldflags \
1234 -lpthread \
1235 -ldl \
1236 -Wl,--no-as-needed"
1237 fi
1238 wait
1239 eval $driver_link_cmd
1240 #===============================================================================
File builders/mesa-vulkan-amd-sh-6a78af1dbb0da2ad2606c489ce91181532845a91/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-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/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-6dc8afc19b5286311d66d2523295ace371d561f2/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 00b8cdf..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
719 $src_dir/src/compiler/spirv/vtn_subgroup.c \
720 $src_dir/src/compiler/spirv/vtn_variables.c \
721 \
722 $src_dir/src/compiler/nir/nir.c \
723 $src_dir/src/compiler/nir/nir_builder.c \
724 $src_dir/src/compiler/nir/nir_builtin_builder.c \
725 $src_dir/src/compiler/nir/nir_clone.c \
726 $src_dir/src/compiler/nir/nir_control_flow.c \
727 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
728 $src_dir/src/compiler/nir/nir_deref.c \
729 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
730 $src_dir/src/compiler/nir/nir_dominance.c \
731 $src_dir/src/compiler/nir/nir_from_ssa.c \
732 $src_dir/src/compiler/nir/nir_gather_info.c \
733 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
734 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
735 $src_dir/src/compiler/nir/nir_group_loads.c \
736 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
737 $src_dir/src/compiler/nir/nir_inline_functions.c \
738 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
739 $src_dir/src/compiler/nir/nir_instr_set.c \
740 $src_dir/src/compiler/nir/nir_linking_helpers.c \
741 $src_dir/src/compiler/nir/nir_liveness.c \
742 $src_dir/src/compiler/nir/nir_loop_analyze.c \
743 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
744 $src_dir/src/compiler/nir/nir_lower_alu.c \
745 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
746 $src_dir/src/compiler/nir/nir_lower_amul.c \
747 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
748 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
749 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
750 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
751 $src_dir/src/compiler/nir/nir_lower_blend.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
754 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
755 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
756 $src_dir/src/compiler/nir/nir_lower_clip.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
759 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
760 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
761 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
764 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
765 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
766 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
767 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
768 $src_dir/src/compiler/nir/nir_lower_flrp.c \
769 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
772 $src_dir/src/compiler/nir/nir_lower_frexp.c \
773 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
774 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
775 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
776 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
777 $src_dir/src/compiler/nir/nir_lower_idiv.c \
778 $src_dir/src/compiler/nir/nir_lower_image.c \
779 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
780 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
781 $src_dir/src/compiler/nir/nir_lower_int64.c \
782 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
783 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
784 $src_dir/src/compiler/nir/nir_lower_io.c \
785 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
789 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
790 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
791 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
792 $src_dir/src/compiler/nir/nir_lower_mediump.c \
793 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
794 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
795 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
796 $src_dir/src/compiler/nir/nir_lower_multiview.c \
797 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
798 $src_dir/src/compiler/nir/nir_lower_packing.c \
799 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
800 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
801 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
802 $src_dir/src/compiler/nir/nir_lower_point_size.c \
803 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
804 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
805 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
806 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
807 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
808 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
809 $src_dir/src/compiler/nir/nir_lower_returns.c \
810 $src_dir/src/compiler/nir/nir_lower_samplers.c \
811 $src_dir/src/compiler/nir/nir_lower_scratch.c \
812 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
813 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
814 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
815 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
816 $src_dir/src/compiler/nir/nir_lower_system_values.c \
817 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
818 $src_dir/src/compiler/nir/nir_lower_tex.c \
819 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
820 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
821 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
822 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
823 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
824 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
825 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
826 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
827 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
828 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
829 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
830 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
831 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
832 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
833 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
834 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
835 $src_dir/src/compiler/nir/nir_metadata.c \
836 $src_dir/src/compiler/nir/nir_mod_analysis.c \
837 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
838 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
839 $src_dir/src/compiler/nir/nir_opt_access.c \
840 $src_dir/src/compiler/nir/nir_opt_barriers.c \
841 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
842 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
843 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
844 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
845 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
846 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
847 $src_dir/src/compiler/nir/nir_opt_cse.c \
848 $src_dir/src/compiler/nir/nir_opt_dce.c \
849 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
850 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
851 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
852 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
853 $src_dir/src/compiler/nir/nir_opt_gcm.c \
854 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
855 $src_dir/src/compiler/nir/nir_opt_if.c \
856 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
857 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
858 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
859 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
860 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
861 $src_dir/src/compiler/nir/nir_opt_move.c \
862 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
863 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
864 $src_dir/src/compiler/nir/nir_opt_offsets.c \
865 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
866 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
867 $src_dir/src/compiler/nir/nir_opt_preamble.c \
868 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
869 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
870 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
871 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
872 $src_dir/src/compiler/nir/nir_opt_sink.c \
873 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
874 $src_dir/src/compiler/nir/nir_opt_undef.c \
875 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
876 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
877 $src_dir/src/compiler/nir/nir_phi_builder.c \
878 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
879 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
880 $src_dir/src/compiler/nir/nir_print.c \
881 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
882 $src_dir/src/compiler/nir/nir_range_analysis.c \
883 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
884 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
885 $src_dir/src/compiler/nir/nir_repair_ssa.c \
886 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
887 $src_dir/src/compiler/nir/nir_schedule.c \
888 $src_dir/src/compiler/nir/nir_search.c \
889 $src_dir/src/compiler/nir/nir_serialize.c \
890 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
891 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
892 $src_dir/src/compiler/nir/nir_split_var_copies.c \
893 $src_dir/src/compiler/nir/nir_split_vars.c \
894 $src_dir/src/compiler/nir/nir_sweep.c \
895 $src_dir/src/compiler/nir/nir_to_lcssa.c \
896 $src_dir/src/compiler/nir/nir_validate.c \
897 $src_dir/src/compiler/nir/nir_worklist.c \
898 "
899 for f in $libnir_files
900 do
901 libnir_obj=$build_dir/$(basename $f .c).o
902 libnir_a="$libnir_a $libnir_obj"
903
904 $cc $cppflags $f -o $libnir_obj &
905 done
906 #===============================================================================
907 # libaco
908 # we don't use cppflags_common for aco because the code is not yet
909 # compatible
910 cppflags="\
911 $gcc_builtins_cppflags \
912 $gcc_attributes_cppflags \
913 $linux_glibc_cppflags \
914 $mesa_cppflags \
915 -I$build_dir \
916 -I$src_dir/src/amd/compiler \
917 -I$src_dir/src/amd/vulkan \
918 -I$build_dir/src/amd/common \
919 -I$src_dir/src/amd/common \
920 -I$build_dir/src/amd \
921 -I$src_dir/src/amd \
922 -I$src_dir/src/compiler/nir \
923 -I$src_dir/src/compiler \
924 -I$src_dir/src/mesa \
925 -I$src_dir/src/gallium/include \
926 -I$src_dir/src \
927 -I$src_dir/include \
928 "
929 libaco_files="\
930 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
931 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
932 $src_dir/src/amd/compiler/aco_dominance.cpp \
933 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
934 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
935 $src_dir/src/amd/compiler/aco_interface.cpp \
936 $src_dir/src/amd/compiler/aco_assembler.cpp \
937 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
938 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
939 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
940 $src_dir/src/amd/compiler/aco_ir.cpp \
941 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
942 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
943 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
944 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
945 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
946 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
947 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
948 $build_dir/aco_opcodes.cpp \
949 $src_dir/src/amd/compiler/aco_optimizer.cpp \
950 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
951 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
952 $src_dir/src/amd/compiler/aco_print_asm.cpp \
953 $src_dir/src/amd/compiler/aco_print_ir.cpp \
954 $src_dir/src/amd/compiler/aco_scheduler.cpp \
955 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
956 $src_dir/src/amd/compiler/aco_spill.cpp \
957 $src_dir/src/amd/compiler/aco_statistics.cpp \
958 $src_dir/src/amd/compiler/aco_validate.cpp \
959 "
960 for f in $libaco_files
961 do
962 libaco_obj=$build_dir/$(basename $f .c).o
963 libaco_a="$libaco_a $libaco_obj"
964
965 $cxx $cppflags $f -o $libaco_obj &
966 done
967 #===============================================================================
968 # libmesautils
969 cppflags="\
970 $cppflags_common \
971 -I$build_dir/src/util/format \
972 -I$build_dir/src \
973 -I$build_dir \
974 -I$src_dir/src/gallium/auxiliary \
975 -I$src_dir/src/gallium/include \
976 -I$src_dir/src/mesa \
977 -I$src_dir/src/util/format \
978 -I$src_dir/src/util \
979 -I$src_dir/src \
980 -I$src_dir/include \
981 $zlib_cppflags \
982 "
983 libmesautil_files="\
984 $build_dir/format_srgb.c \
985 $build_dir/u_format_table.c \
986 $src_dir/src/util/anon_file.c \
987 $src_dir/src/util/bitscan.c \
988 $src_dir/src/util/blob.c \
989 $src_dir/src/util/build_id.c \
990 $src_dir/src/util/compress.c \
991 $src_dir/src/util/crc32.c \
992 $src_dir/src/util/dag.c \
993 $src_dir/src/util/disk_cache.c \
994 $src_dir/src/util/disk_cache_os.c \
995 $src_dir/src/util/double.c \
996 $src_dir/src/util/fast_idiv_by_const.c \
997 $src_dir/src/util/fossilize_db.c \
998 $src_dir/src/util/futex.c \
999 $src_dir/src/util/half_float.c \
1000 $src_dir/src/util/hash_table.c \
1001 $src_dir/src/util/log.c \
1002 $src_dir/src/util/mesa-sha1.c \
1003 $src_dir/src/util/mesa_cache_db.c \
1004 $src_dir/src/util/mesa_cache_db_multipart.c \
1005 $src_dir/src/util/memstream.c \
1006 $src_dir/src/util/os_file.c \
1007 $src_dir/src/util/os_memory_fd.c \
1008 $src_dir/src/util/os_misc.c \
1009 $src_dir/src/util/os_socket.c \
1010 $src_dir/src/util/os_time.c \
1011 $src_dir/src/util/sha1/sha1.c \
1012 $src_dir/src/util/ralloc.c \
1013 $src_dir/src/util/rand_xor.c \
1014 $src_dir/src/util/rb_tree.c \
1015 $src_dir/src/util/register_allocate.c \
1016 $src_dir/src/util/rgtc.c \
1017 $src_dir/src/util/rwlock.c \
1018 $src_dir/src/util/set.c \
1019 $src_dir/src/util/simple_mtx.c \
1020 $src_dir/src/util/slab.c \
1021 $src_dir/src/util/softfloat.c \
1022 $src_dir/src/util/sparse_array.c \
1023 $src_dir/src/util/string_buffer.c \
1024 $src_dir/src/util/strtod.c \
1025 $src_dir/src/util/u_atomic.c \
1026 $src_dir/src/util/u_call_once.c \
1027 $src_dir/src/util/u_cpu_detect.c \
1028 $src_dir/src/util/u_debug.c \
1029 $src_dir/src/util/u_debug_describe.c \
1030 $src_dir/src/util/u_debug_refcnt.c \
1031 $src_dir/src/util/u_debug_stack.c \
1032 $src_dir/src/util/u_debug_symbol.c \
1033 $src_dir/src/util/u_dl.c \
1034 $src_dir/src/util/u_hash_table.c \
1035 $src_dir/src/util/u_printf.c \
1036 $src_dir/src/util/format/u_format.c \
1037 $src_dir/src/util/format/u_format_bptc.c \
1038 $src_dir/src/util/format/u_format_etc.c \
1039 $src_dir/src/util/format/u_format_fxt1.c \
1040 $src_dir/src/util/format/u_format_latc.c \
1041 $src_dir/src/util/format/u_format_other.c \
1042 $src_dir/src/util/format/u_format_rgtc.c \
1043 $src_dir/src/util/format/u_format_s3tc.c \
1044 $src_dir/src/util/format/u_format_tests.c \
1045 $src_dir/src/util/format/u_format_yuv.c \
1046 $src_dir/src/util/format/u_format_zs.c \
1047 $src_dir/src/util/u_idalloc.c \
1048 $src_dir/src/util/u_math.c \
1049 $src_dir/src/util/u_mm.c \
1050 $src_dir/src/util/u_process.c \
1051 $src_dir/src/util/u_queue.c \
1052 $src_dir/src/util/u_thread.c \
1053 $src_dir/src/util/u_vector.c \
1054 $src_dir/src/util/u_worklist.c \
1055 $src_dir/src/util/vma.c \
1056 \
1057 $src_dir/src/c11/impl/time.c \
1058 $src_dir/src/c11/impl/threads_posix.c \
1059 "
1060 for f in $libmesautil_files
1061 do
1062 libmesautil_obj=$build_dir/$(basename $f .c).o
1063 libmesautil_a="$libmesautil_a $libmesautil_obj"
1064
1065 $cc $cppflags $f -o $libmesautil_obj &
1066 done
1067 #===============================================================================
1068 # amd vulkan
1069 cppflags="\
1070 $cppflags_common \
1071 -DPACKAGE_VERSION=\"$version\" \
1072 -I$build_dir/vulkan/util \
1073 -I$build_dir/src/util \
1074 -I$build_dir \
1075 -I$src_dir/src/amd/compiler \
1076 -I$build_dir/src/amd/common \
1077 -I$src_dir/src/amd/common \
1078 -I$src_dir/src/amd/vulkan/nir \
1079 -I$src_dir/src/amd/vulkan/meta \
1080 -I$src_dir/src/amd/vulkan \
1081 -I$src_dir/src/amd \
1082 -I$src_dir/src/gallium/auxiliary \
1083 -I$src_dir/src/gallium/include \
1084 -I$src_dir/src/vulkan/util \
1085 -I$src_dir/src/vulkan/runtime \
1086 -I$src_dir/src/vulkan/wsi \
1087 -I$src_dir/src/util \
1088 -I$src_dir/src/mesa \
1089 -I$src_dir/src/compiler/nir \
1090 -I$src_dir/src/compiler \
1091 -I$src_dir/src \
1092 -I$src_dir/include \
1093 $libdrm_cppflags \
1094 $libdrm_amdgpu_cppflags \
1095 $libx11_cppflags \
1096 $libxrandr_cppflags \
1097 $libxrender_cppflags \
1098 $libxcb_cppflags \
1099 $xorgproto_cppflags \
1100 $libxshmfence_cppflags \
1101 "
1102 #$build_dir/radv_extensions.c
1103 #$build_dir/vk_format_table.c
1104 # XXX: remove rt for now
1105 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1106 libvulkan_amd_common_files="\
1107 $src_dir/src/amd/vulkan/radv_android.c \
1108 $src_dir/src/amd/vulkan/radv_buffer.c \
1109 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1110 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1111 $src_dir/src/amd/vulkan/radv_debug.c \
1112 $build_dir/src/amd/vulkan/radv_device.c \
1113 $src_dir/src/amd/vulkan/radv_device_memory.c \
1114 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1115 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1116 $src_dir/src/amd/vulkan/radv_event.c \
1117 $src_dir/src/amd/vulkan/radv_formats.c \
1118 $src_dir/src/amd/vulkan/radv_image.c \
1119 $src_dir/src/amd/vulkan/radv_instance.c \
1120 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1148 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1149 $src_dir/src/amd/vulkan/radv_physical_device.c \
1150 $src_dir/src/amd/vulkan/radv_pipeline.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1153 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1154 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1155 $src_dir/src/amd/vulkan/radv_queue.c \
1156 $src_dir/src/amd/vulkan/radv_rt_common.c \
1157 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1158 $src_dir/src/amd/vulkan/radv_sampler.c \
1159 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1160 $src_dir/src/amd/vulkan/radv_shader.c \
1161 $src_dir/src/amd/vulkan/radv_shader_args.c \
1162 $src_dir/src/amd/vulkan/radv_shader_info.c \
1163 $src_dir/src/amd/vulkan/radv_spm.c \
1164 $src_dir/src/amd/vulkan/radv_query.c \
1165 $src_dir/src/amd/vulkan/radv_video.c \
1166 $src_dir/src/amd/vulkan/radv_wsi.c \
1167 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1168 \
1169 $build_dir/gfx10_format_table.c \
1170 \
1171 $build_dir/radv_entrypoints.c \
1172 \
1173 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1175 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1176 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1177 \
1178 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1179 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1180 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1181 \
1182 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1183 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1184 \
1185 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1186 "
1187
1188 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1189
1190 for f in $libvulkan_amd_common_files
1191 do
1192 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1193 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1194
1195 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1196 done
1197 libvulkan_amd_common_a="\
1198 $libvulkan_amd_common_a \
1199 $build_dir/xmlconfig.o"
1200 #===============================================================================
1201 # create the radeon vulkan driver
1202 soname=libvulkan_radeon.so
1203
1204 # XXX:the attempt to generalize without kludge the link stage of real programs
1205 # build is near a total and complete failure
1206 if test "${driver_link_cmd-unset}" = unset ; then
1207 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1208 -shared -static-libgcc -static-libstdc++ \
1209 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1210 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1211 -Wl,--whole-archive -Wl,--start-group \
1212 $libaco_a \
1213 $libvulkan_amd_common_a \
1214 $libvulkan_util_a \
1215 $libvulkan_runtime_a \
1216 $libvulkan_wsi_a \
1217 $libamd_common_a \
1218 $libamdgpu_addrlib_a \
1219 $libcompiler_a \
1220 $libnir_a \
1221 $libmesautil_a \
1222 -Wl,--end-group -Wl,--no-whole-archive \
1223 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1224 $zlib_ldflags \
1225 $expat_ldflags \
1226 $libelf_ldflags \
1227 -Wl,--as-needed \
1228 $libdrm_ldflags \
1229 $libdrm_amdgpu_ldflags \
1230 $libx11_ldflags \
1231 $libxrandr_ldflags \
1232 $libxrender_ldflags \
1233 $libxcb_ldflags \
1234 $libxshmfence_ldflags \
1235 -lpthread \
1236 -ldl \
1237 -Wl,--no-as-needed"
1238 fi
1239 wait
1240 eval $driver_link_cmd
1241 #===============================================================================
File builders/mesa-vulkan-amd-sh-6dc8afc19b5286311d66d2523295ace371d561f2/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-6e5eb0afd3f97937262db0bbd4f13aff76785015/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 505892d..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
495 $src_dir/src/vulkan/runtime/vk_object.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
498 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
499 $src_dir/src/vulkan/runtime/vk_physical_device.c \
500 $build_dir/vk_physical_device_features.c \
501 $src_dir/src/vulkan/runtime/vk_queue.c \
502 $src_dir/src/vulkan/runtime/vk_render_pass.c \
503 $src_dir/src/vulkan/runtime/vk_sampler.c \
504 $src_dir/src/vulkan/runtime/vk_semaphore.c \
505 $src_dir/src/vulkan/runtime/vk_shader_module.c \
506 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
507 $src_dir/src/vulkan/runtime/vk_sync.c \
508 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
509 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
510 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
511 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
512 $src_dir/src/vulkan/runtime/vk_video.c \
513 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
514 "
515 for f in $libvulkan_runtime_files
516 do
517 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
518 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
519
520 $cc $cppflags $f -o $libvulkan_runtime_obj &
521 done
522 #===============================================================================
523 # wsi x11 (Window System Interface)
524 cppflags="\
525 $cppflags_common \
526 -I$build_dir/vulkan/util \
527 -I$build_dir \
528 -I$src_dir/src \
529 -I$src_dir/src/vulkan/util \
530 -I$src_dir/src/vulkan/runtime \
531 -I$src_dir/src/gallium/include \
532 -I$src_dir/include \
533 -I$src_dir/include/drm-uapi \
534 $libxcb_cppflags \
535 $libx11_cppflags \
536 $libxrandr_cppflags \
537 $libxrender_cppflags \
538 $xorgproto_cppflags \
539 $libxshmfence_cppflags \
540 $libdrm_cppflags \
541 "
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
543 -o $build_dir/wsi_common.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
545 -o $build_dir/wsi_common_drm.o &
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
547 -o $build_dir/wsi_common_x11.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
549 -o $build_dir/wsi_common_display.o &
550 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
551 -o $build_dir/wsi_common_headless.o &
552 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
553 -o $build_dir/wsi_common_entrypoints.o &
554 libvulkan_wsi_a="\
555 $build_dir/wsi_common.o \
556 $build_dir/wsi_common_drm.o \
557 $build_dir/wsi_common_x11.o \
558 $build_dir/wsi_common_display.o \
559 $build_dir/wsi_common_headless.o \
560 $build_dir/wsi_common_entrypoints.o \
561 "
562 #===============================================================================
563 # amd common archive
564 cppflags="\
565 $cppflags_common \
566 -I$build_dir \
567 -I$src_dir/src/gallium/auxiliary \
568 -I$src_dir/src/gallium/include \
569 -I$build_dir/src/amd/common \
570 -I$src_dir/src/amd/common \
571 -I$src_dir/src/util \
572 -I$build_dir/src/amd \
573 -I$src_dir/src/amd \
574 -I$src_dir/src/compiler/nir \
575 -I$src_dir/src/compiler \
576 -I$src_dir/src/mesa \
577 -I$src_dir/src \
578 -I$src_dir/include \
579 -I$src_dir/include/drm-uapi \
580 $libdrm_cppflags \
581 $libdrm_amdgpu_cppflags \
582 $linux_drm_cppflags \
583 $libelf_cppflags \
584 "
585 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
586 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
587 #$src_dir/src/amd/common/ac_sqtt.c \
588 libamd_common_c_files="\
589 $src_dir/src/amd/common/ac_surface.c \
590 $src_dir/src/amd/common/ac_binary.c \
591 $src_dir/src/amd/common/ac_debug.c \
592 $src_dir/src/amd/common/amd_family.c \
593 $src_dir/src/amd/common/ac_gpu_info.c \
594 $src_dir/src/amd/common/ac_msgpack.c \
595 $src_dir/src/amd/common/ac_nir.c \
596 $src_dir/src/amd/common/ac_nir_cull.c \
597 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
598 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
599 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
600 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
601 $src_dir/src/amd/common/ac_nir_lower_ps.c \
602 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
603 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
604 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
606 $src_dir/src/amd/common/ac_nir_lower_tex.c \
607 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
608 $src_dir/src/amd/common/ac_perfcounter.c \
609 $src_dir/src/amd/common/ac_shader_args.c \
610 $src_dir/src/amd/common/ac_shader_util.c \
611 $src_dir/src/amd/common/ac_shadowed_regs.c \
612 $src_dir/src/amd/common/ac_rgp.c \
613 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
614 $src_dir/src/amd/common/ac_rtld.c \
615 $src_dir/src/amd/common/ac_spm.c \
616 "
617 for f in $libamd_common_c_files
618 do
619 libamd_common_c_obj=$build_dir/$(basename $f .c).o
620 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
621
622 $cc $cppflags $f -o $libamd_common_c_obj &
623 done
624 #===============================================================================
625 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
626 cppflags="\
627 $cppflags_common \
628 -DLITTLEENDIAN_CPU \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
630 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
631 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
632 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
633 -I$src_dir/src/amd/addrlib/inc \
634 -I$src_dir/src/amd/addrlib/src/core \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
636 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
637 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
638 -I$src_dir/src/amd/addrlib/src/chip/r800 \
639 -I$src_dir/src/amd/addrlib/src \
640 -I$src_dir/src \
641 -I$src_dir/include \
642 "
643 libamdgpu_addrlib_files="\
644 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
648 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
649 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
650 $src_dir/src/amd/addrlib/src/core/coord.cpp \
651 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
653 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
655 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
656 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
657 "
658 for f in $libamdgpu_addrlib_files
659 do
660 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
661 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
662
663 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
664 done
665 #===============================================================================
666 # libcompiler required by libnir
667 cppflags="\
668 $cppflags_common \
669 -I$build_dir \
670 -I$src_dir/src/gallium/auxiliary \
671 -I$src_dir/src/gallium/include \
672 -I$src_dir/src/mesa \
673 -I$src_dir/src \
674 -I$src_dir/include \
675 "
676 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
677 -o $build_dir/glsl_types.o &
678 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
679 -o $build_dir/nir_types.o &
680 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
681 -o $build_dir/shader_enums.o &
682 libcompiler_a="\
683 $build_dir/glsl_types.o \
684 $build_dir/nir_types.o \
685 $build_dir/shader_enums.o \
686 "
687 #===============================================================================
688 # libnir
689 cppflags="\
690 $cppflags_common \
691 -I$build_dir \
692 -I$src_dir/src/compiler/spirv \
693 -I$src_dir/src/compiler/nir \
694 -I$src_dir/src/compiler \
695 -I$src_dir/src/gallium/include \
696 -I$src_dir/src/mesa \
697 -I$src_dir/src \
698 -I$src_dir/include \
699 $xorgproto_cppflags \
700 $libxcb_cppflags \
701 $libx11_cppflags \
702 $libxrender_cppflags \
703 $libxrandr_cppflags \
704 "
705 libnir_files="\
706 $build_dir/spirv_info.c \
707 $build_dir/vtn_gather_types.c \
708 $build_dir/nir_intrinsics.c \
709 $build_dir/nir_opcodes.c \
710 $build_dir/nir_opt_algebraic.c \
711 $build_dir/nir_constant_expressions.c \
712 \
713 $src_dir/src/compiler/spirv/gl_spirv.c \
714 $src_dir/src/compiler/spirv/spirv_to_nir.c \
715 $src_dir/src/compiler/spirv/vtn_alu.c \
716 $src_dir/src/compiler/spirv/vtn_amd.c \
717 $src_dir/src/compiler/spirv/vtn_cfg.c \
718 $src_dir/src/compiler/spirv/vtn_glsl450.c \
719 $src_dir/contrib/vtn_opencl.c \
720 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
721 $src_dir/src/compiler/spirv/vtn_subgroup.c \
722 $src_dir/src/compiler/spirv/vtn_variables.c \
723 \
724 $src_dir/src/compiler/nir/nir.c \
725 $src_dir/src/compiler/nir/nir_builder.c \
726 $src_dir/src/compiler/nir/nir_builtin_builder.c \
727 $src_dir/src/compiler/nir/nir_clone.c \
728 $src_dir/src/compiler/nir/nir_control_flow.c \
729 $src_dir/src/compiler/nir/nir_deref.c \
730 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
731 $src_dir/src/compiler/nir/nir_dominance.c \
732 $src_dir/src/compiler/nir/nir_from_ssa.c \
733 $src_dir/src/compiler/nir/nir_gather_info.c \
734 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
735 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
736 $src_dir/src/compiler/nir/nir_group_loads.c \
737 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
738 $src_dir/src/compiler/nir/nir_inline_functions.c \
739 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
740 $src_dir/src/compiler/nir/nir_instr_set.c \
741 $src_dir/src/compiler/nir/nir_linking_helpers.c \
742 $src_dir/src/compiler/nir/nir_liveness.c \
743 $src_dir/src/compiler/nir/nir_loop_analyze.c \
744 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
745 $src_dir/src/compiler/nir/nir_lower_alu.c \
746 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
747 $src_dir/src/compiler/nir/nir_lower_amul.c \
748 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
749 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
750 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
751 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
752 $src_dir/src/compiler/nir/nir_lower_blend.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
754 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
755 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
756 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
757 $src_dir/src/compiler/nir/nir_lower_clip.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
759 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
760 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
761 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
762 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
764 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
765 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
766 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
767 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
768 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
769 $src_dir/src/compiler/nir/nir_lower_flrp.c \
770 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
772 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
773 $src_dir/src/compiler/nir/nir_lower_frexp.c \
774 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
775 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
776 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
777 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
778 $src_dir/src/compiler/nir/nir_lower_idiv.c \
779 $src_dir/src/compiler/nir/nir_lower_image.c \
780 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
781 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
782 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
783 $src_dir/src/compiler/nir/nir_lower_int64.c \
784 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
785 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
786 $src_dir/src/compiler/nir/nir_lower_io.c \
787 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
789 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
791 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
792 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
793 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
794 $src_dir/src/compiler/nir/nir_lower_mediump.c \
795 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
796 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
797 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
798 $src_dir/src/compiler/nir/nir_lower_multiview.c \
799 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
800 $src_dir/src/compiler/nir/nir_lower_packing.c \
801 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
802 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
803 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
804 $src_dir/src/compiler/nir/nir_lower_point_size.c \
805 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
806 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
807 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
808 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
809 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
810 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
811 $src_dir/src/compiler/nir/nir_lower_returns.c \
812 $src_dir/src/compiler/nir/nir_lower_samplers.c \
813 $src_dir/src/compiler/nir/nir_lower_scratch.c \
814 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
815 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
816 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
817 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
818 $src_dir/src/compiler/nir/nir_lower_system_values.c \
819 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
820 $src_dir/src/compiler/nir/nir_lower_tex.c \
821 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
822 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
823 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
824 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
825 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
826 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
827 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
828 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
829 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
830 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
831 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
832 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
834 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
835 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
836 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
837 $src_dir/src/compiler/nir/nir_metadata.c \
838 $src_dir/src/compiler/nir/nir_mod_analysis.c \
839 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
840 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
841 $src_dir/src/compiler/nir/nir_opt_access.c \
842 $src_dir/src/compiler/nir/nir_opt_barriers.c \
843 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
844 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
845 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
846 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
847 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
848 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
849 $src_dir/src/compiler/nir/nir_opt_cse.c \
850 $src_dir/src/compiler/nir/nir_opt_dce.c \
851 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
852 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
853 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
854 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
855 $src_dir/src/compiler/nir/nir_opt_gcm.c \
856 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
857 $src_dir/src/compiler/nir/nir_opt_if.c \
858 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
859 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
860 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
861 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
862 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
863 $src_dir/src/compiler/nir/nir_opt_move.c \
864 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
865 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
866 $src_dir/src/compiler/nir/nir_opt_offsets.c \
867 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
868 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
869 $src_dir/src/compiler/nir/nir_opt_preamble.c \
870 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
871 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
872 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
873 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
874 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
875 $src_dir/src/compiler/nir/nir_opt_sink.c \
876 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
877 $src_dir/src/compiler/nir/nir_opt_undef.c \
878 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
879 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
880 $src_dir/src/compiler/nir/nir_phi_builder.c \
881 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
882 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
883 $src_dir/src/compiler/nir/nir_print.c \
884 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
885 $src_dir/src/compiler/nir/nir_range_analysis.c \
886 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
887 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
888 $src_dir/src/compiler/nir/nir_repair_ssa.c \
889 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
890 $src_dir/src/compiler/nir/nir_schedule.c \
891 $src_dir/src/compiler/nir/nir_search.c \
892 $src_dir/src/compiler/nir/nir_serialize.c \
893 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
894 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
895 $src_dir/src/compiler/nir/nir_split_var_copies.c \
896 $src_dir/src/compiler/nir/nir_split_vars.c \
897 $src_dir/src/compiler/nir/nir_sweep.c \
898 $src_dir/src/compiler/nir/nir_to_lcssa.c \
899 $src_dir/src/compiler/nir/nir_validate.c \
900 $src_dir/src/compiler/nir/nir_worklist.c \
901 "
902 for f in $libnir_files
903 do
904 libnir_obj=$build_dir/$(basename $f .c).o
905 libnir_a="$libnir_a $libnir_obj"
906
907 $cc $cppflags $f -o $libnir_obj &
908 done
909 #===============================================================================
910 # libaco
911 # we don't use cppflags_common for aco because the code is not yet
912 # compatible
913 cppflags="\
914 $gcc_builtins_cppflags \
915 $gcc_attributes_cppflags \
916 $linux_glibc_cppflags \
917 $mesa_cppflags \
918 -I$build_dir \
919 -I$src_dir/src/amd/compiler \
920 -I$src_dir/src/amd/vulkan \
921 -I$build_dir/src/amd/common \
922 -I$src_dir/src/amd/common \
923 -I$build_dir/src/amd \
924 -I$src_dir/src/amd \
925 -I$src_dir/src/compiler/nir \
926 -I$src_dir/src/compiler \
927 -I$src_dir/src/mesa \
928 -I$src_dir/src/gallium/include \
929 -I$src_dir/src \
930 -I$src_dir/include \
931 "
932 libaco_files="\
933 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
934 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
935 $src_dir/src/amd/compiler/aco_dominance.cpp \
936 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
937 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
938 $src_dir/src/amd/compiler/aco_interface.cpp \
939 $src_dir/src/amd/compiler/aco_assembler.cpp \
940 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
941 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
942 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
943 $src_dir/src/amd/compiler/aco_ir.cpp \
944 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
945 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
946 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
947 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
948 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
949 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
950 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
951 $build_dir/aco_opcodes.cpp \
952 $src_dir/src/amd/compiler/aco_optimizer.cpp \
953 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
954 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
955 $src_dir/src/amd/compiler/aco_print_asm.cpp \
956 $src_dir/src/amd/compiler/aco_print_ir.cpp \
957 $src_dir/src/amd/compiler/aco_scheduler.cpp \
958 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
959 $src_dir/src/amd/compiler/aco_spill.cpp \
960 $src_dir/src/amd/compiler/aco_statistics.cpp \
961 $src_dir/src/amd/compiler/aco_validate.cpp \
962 "
963 for f in $libaco_files
964 do
965 libaco_obj=$build_dir/$(basename $f .c).o
966 libaco_a="$libaco_a $libaco_obj"
967
968 $cxx $cppflags $f -o $libaco_obj &
969 done
970 #===============================================================================
971 # libmesautils
972 cppflags="\
973 $cppflags_common \
974 -I$build_dir/src/util/format \
975 -I$build_dir/src \
976 -I$build_dir \
977 -I$src_dir/src/gallium/auxiliary \
978 -I$src_dir/src/gallium/include \
979 -I$src_dir/src/mesa \
980 -I$src_dir/src/util/format \
981 -I$src_dir/src/util \
982 -I$src_dir/src \
983 -I$src_dir/include \
984 $zlib_cppflags \
985 "
986 libmesautil_files="\
987 $build_dir/format_srgb.c \
988 $build_dir/u_format_table.c \
989 $src_dir/src/util/anon_file.c \
990 $src_dir/src/util/bitscan.c \
991 $src_dir/src/util/blob.c \
992 $src_dir/src/util/build_id.c \
993 $src_dir/src/util/compress.c \
994 $src_dir/src/util/crc32.c \
995 $src_dir/src/util/dag.c \
996 $src_dir/src/util/disk_cache.c \
997 $src_dir/src/util/disk_cache_os.c \
998 $src_dir/src/util/double.c \
999 $src_dir/src/util/fast_idiv_by_const.c \
1000 $src_dir/src/util/fossilize_db.c \
1001 $src_dir/src/util/futex.c \
1002 $src_dir/src/util/half_float.c \
1003 $src_dir/src/util/hash_table.c \
1004 $src_dir/src/util/log.c \
1005 $src_dir/src/util/mesa-sha1.c \
1006 $src_dir/src/util/mesa_cache_db.c \
1007 $src_dir/src/util/mesa_cache_db_multipart.c \
1008 $src_dir/src/util/memstream.c \
1009 $src_dir/src/util/os_file.c \
1010 $src_dir/src/util/os_memory_fd.c \
1011 $src_dir/src/util/os_misc.c \
1012 $src_dir/src/util/os_socket.c \
1013 $src_dir/src/util/os_time.c \
1014 $src_dir/src/util/sha1/sha1.c \
1015 $src_dir/src/util/ralloc.c \
1016 $src_dir/src/util/rand_xor.c \
1017 $src_dir/src/util/rb_tree.c \
1018 $src_dir/src/util/register_allocate.c \
1019 $src_dir/src/util/rgtc.c \
1020 $src_dir/src/util/rwlock.c \
1021 $src_dir/src/util/set.c \
1022 $src_dir/src/util/simple_mtx.c \
1023 $src_dir/src/util/slab.c \
1024 $src_dir/src/util/softfloat.c \
1025 $src_dir/src/util/sparse_array.c \
1026 $src_dir/src/util/string_buffer.c \
1027 $src_dir/src/util/strtod.c \
1028 $src_dir/src/util/u_atomic.c \
1029 $src_dir/src/util/u_call_once.c \
1030 $src_dir/src/util/u_cpu_detect.c \
1031 $src_dir/src/util/u_debug.c \
1032 $src_dir/src/util/u_debug_describe.c \
1033 $src_dir/src/util/u_debug_refcnt.c \
1034 $src_dir/src/util/u_debug_stack.c \
1035 $src_dir/src/util/u_debug_symbol.c \
1036 $src_dir/src/util/u_dl.c \
1037 $src_dir/src/util/u_dynarray.c \
1038 $src_dir/src/util/u_hash_table.c \
1039 $src_dir/src/util/u_printf.c \
1040 $src_dir/src/util/format/u_format.c \
1041 $src_dir/src/util/format/u_format_bptc.c \
1042 $src_dir/src/util/format/u_format_etc.c \
1043 $src_dir/src/util/format/u_format_fxt1.c \
1044 $src_dir/src/util/format/u_format_latc.c \
1045 $src_dir/src/util/format/u_format_other.c \
1046 $src_dir/src/util/format/u_format_rgtc.c \
1047 $src_dir/src/util/format/u_format_s3tc.c \
1048 $src_dir/src/util/format/u_format_tests.c \
1049 $src_dir/src/util/format/u_format_yuv.c \
1050 $src_dir/src/util/format/u_format_zs.c \
1051 $src_dir/src/util/u_idalloc.c \
1052 $src_dir/src/util/u_math.c \
1053 $src_dir/src/util/u_mm.c \
1054 $src_dir/src/util/u_process.c \
1055 $src_dir/src/util/u_queue.c \
1056 $src_dir/src/util/u_thread.c \
1057 $src_dir/src/util/u_vector.c \
1058 $src_dir/src/util/u_worklist.c \
1059 $src_dir/src/util/vma.c \
1060 \
1061 $src_dir/src/c11/impl/time.c \
1062 $src_dir/src/c11/impl/threads_posix.c \
1063 "
1064 for f in $libmesautil_files
1065 do
1066 libmesautil_obj=$build_dir/$(basename $f .c).o
1067 libmesautil_a="$libmesautil_a $libmesautil_obj"
1068
1069 $cc $cppflags $f -o $libmesautil_obj &
1070 done
1071 #===============================================================================
1072 # amd vulkan
1073 cppflags="\
1074 $cppflags_common \
1075 -DPACKAGE_VERSION=\"$version\" \
1076 -I$build_dir/vulkan/util \
1077 -I$build_dir/src/util \
1078 -I$build_dir \
1079 -I$src_dir/src/amd/compiler \
1080 -I$build_dir/src/amd/common \
1081 -I$src_dir/src/amd/common \
1082 -I$src_dir/src/amd/vulkan/nir \
1083 -I$src_dir/src/amd/vulkan/meta \
1084 -I$src_dir/src/amd/vulkan \
1085 -I$src_dir/src/amd \
1086 -I$src_dir/src/gallium/auxiliary \
1087 -I$src_dir/src/gallium/include \
1088 -I$src_dir/src/vulkan/util \
1089 -I$src_dir/src/vulkan/runtime \
1090 -I$src_dir/src/vulkan/wsi \
1091 -I$src_dir/src/util \
1092 -I$src_dir/src/mesa \
1093 -I$src_dir/src/compiler/nir \
1094 -I$src_dir/src/compiler \
1095 -I$src_dir/src \
1096 -I$src_dir/include \
1097 $libdrm_cppflags \
1098 $libdrm_amdgpu_cppflags \
1099 $libx11_cppflags \
1100 $libxrandr_cppflags \
1101 $libxrender_cppflags \
1102 $libxcb_cppflags \
1103 $xorgproto_cppflags \
1104 $libxshmfence_cppflags \
1105 "
1106 #$build_dir/radv_extensions.c
1107 #$build_dir/vk_format_table.c
1108 # XXX: remove rt for now
1109 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1110 libvulkan_amd_common_files="\
1111 $src_dir/src/amd/vulkan/radv_android.c \
1112 $src_dir/src/amd/vulkan/radv_buffer.c \
1113 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1114 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1115 $src_dir/src/amd/vulkan/radv_debug.c \
1116 $build_dir/src/amd/vulkan/radv_device.c \
1117 $src_dir/src/amd/vulkan/radv_device_memory.c \
1118 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1119 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1120 $src_dir/src/amd/vulkan/radv_event.c \
1121 $src_dir/src/amd/vulkan/radv_formats.c \
1122 $src_dir/src/amd/vulkan/radv_image.c \
1123 $src_dir/src/amd/vulkan/radv_instance.c \
1124 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1137 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1138 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1139 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1140 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1148 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1149 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1150 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1151 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1152 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1153 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1154 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1155 $src_dir/src/amd/vulkan/radv_physical_device.c \
1156 $src_dir/src/amd/vulkan/radv_pipeline.c \
1157 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1158 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1159 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1160 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1161 $src_dir/src/amd/vulkan/radv_queue.c \
1162 $src_dir/src/amd/vulkan/radv_rt_common.c \
1163 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1164 $src_dir/src/amd/vulkan/radv_sampler.c \
1165 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1166 $src_dir/src/amd/vulkan/radv_shader.c \
1167 $src_dir/src/amd/vulkan/radv_shader_args.c \
1168 $src_dir/src/amd/vulkan/radv_shader_info.c \
1169 $src_dir/src/amd/vulkan/radv_spm.c \
1170 $src_dir/src/amd/vulkan/radv_query.c \
1171 $src_dir/src/amd/vulkan/radv_video.c \
1172 $src_dir/src/amd/vulkan/radv_wsi.c \
1173 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1174 \
1175 $build_dir/gfx10_format_table.c \
1176 \
1177 $build_dir/radv_entrypoints.c \
1178 \
1179 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1180 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1181 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1182 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1183 \
1184 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1185 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1186 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1187 \
1188 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1189 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1190 \
1191 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1192 "
1193
1194 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1195
1196 for f in $libvulkan_amd_common_files
1197 do
1198 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1199 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1200
1201 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1202 done
1203 libvulkan_amd_common_a="\
1204 $libvulkan_amd_common_a \
1205 $build_dir/xmlconfig.o"
1206 #===============================================================================
1207 # create the radeon vulkan driver
1208 soname=libvulkan_radeon.so
1209
1210 # XXX:the attempt to generalize without kludge the link stage of real programs
1211 # build is near a total and complete failure
1212 if test "${driver_link_cmd-unset}" = unset ; then
1213 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1214 -shared -static-libgcc -static-libstdc++ \
1215 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1216 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1217 -Wl,--whole-archive -Wl,--start-group \
1218 $libaco_a \
1219 $libvulkan_amd_common_a \
1220 $libvulkan_util_a \
1221 $libvulkan_runtime_a \
1222 $libvulkan_wsi_a \
1223 $libamd_common_a \
1224 $libamdgpu_addrlib_a \
1225 $libcompiler_a \
1226 $libnir_a \
1227 $libmesautil_a \
1228 -Wl,--end-group -Wl,--no-whole-archive \
1229 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1230 $zlib_ldflags \
1231 $expat_ldflags \
1232 $libelf_ldflags \
1233 -Wl,--as-needed \
1234 $libdrm_ldflags \
1235 $libdrm_amdgpu_ldflags \
1236 $libx11_ldflags \
1237 $libxrandr_ldflags \
1238 $libxrender_ldflags \
1239 $libxcb_ldflags \
1240 $libxshmfence_ldflags \
1241 -lpthread \
1242 -ldl \
1243 -Wl,--no-as-needed"
1244 fi
1245 wait
1246 eval $driver_link_cmd
1247 #===============================================================================
File builders/mesa-vulkan-amd-sh-6e5eb0afd3f97937262db0bbd4f13aff76785015/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-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/generators.sh deleted (index 99e572f..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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39
40 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
41 --xml $vulkan_api_xml \
42 --out-c vk_extensions.c \
43 --out-h vk_extensions.h &
44
45 $python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
46 --xml $vulkan_api_xml \
47 --outdir $build_dir
48
49 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
50 >$build_dir/nir_builder_opcodes.h &
51
52 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
53 >$build_dir/nir_opcodes.h &
54
55 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
56 --outdir $build_dir &
57
58 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
59 --outdir $build_dir &
60 unset PYTHONPATH
61 #===============================================================================
62 # vulkan runtime
63 export PYTHONPATH=$mako
64 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
65 --xml $vulkan_api_xml \
66 --proto --weak \
67 --out-h vk_common_entrypoints.h \
68 --out-c vk_common_entrypoints.c \
69 --prefix vk_common &
70 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
71 --xml $vulkan_api_xml \
72 --proto --weak \
73 --out-h vk_cmd_enqueue_entrypoints.h \
74 --out-c vk_cmd_enqueue_entrypoints.c \
75 --prefix vk_cmd_enqueue &
76 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
77 --xml $vulkan_api_xml \
78 --out-h vk_cmd_queue.h \
79 --out-c vk_cmd_queue.c &
80 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
81 --xml $vulkan_api_xml \
82 --out-h vk_dispatch_trampolines.h \
83 --out-c vk_dispatch_trampolines.c &
84 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
85 --xml $vulkan_api_xml \
86 --out-h vk_physical_device_features.h \
87 --out-c vk_physical_device_features.c &
88 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
89 --xml $vulkan_api_xml \
90 --out-h vk_format_info.h \
91 --out-c vk_format_info.c &
92 unset PYTHONPATH
93 #===============================================================================
94 # wsi x11 (Window System Interface)
95 export PYTHONPATH=$mako
96 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
97 --xml $vulkan_api_xml \
98 --proto --weak \
99 --out-h wsi_common_entrypoints.h \
100 --out-c wsi_common_entrypoints.c \
101 --prefix wsi &
102 unset PYTHONPATH
103 #===============================================================================
104 # amd common archive
105 $python3 $src_dir/src/amd/common/sid_tables.py \
106 $src_dir/src/amd/common/sid.h \
107 $src_dir/src/amd/registers/gfx6.json \
108 $src_dir/src/amd/registers/gfx7.json \
109 $src_dir/src/amd/registers/gfx8.json \
110 $src_dir/src/amd/registers/gfx81.json \
111 $src_dir/src/amd/registers/gfx9.json \
112 $src_dir/src/amd/registers/gfx940.json \
113 $src_dir/src/amd/registers/gfx10.json \
114 $src_dir/src/amd/registers/gfx10-rsrc.json \
115 $src_dir/src/amd/registers/gfx103.json \
116 $src_dir/src/amd/registers/gfx11.json \
117 $src_dir/src/amd/registers/gfx11-rsrc.json \
118 $src_dir/src/amd/registers/pkt3.json \
119 $src_dir/src/amd/registers/registers-manually-defined.json \
120 >$build_dir/sid_tables.h &
121 mkdir -p $build_dir/src/amd/common
122 $python3 $src_dir/src/amd/registers/makeregheader.py \
123 $src_dir/src/amd/registers/gfx6.json \
124 $src_dir/src/amd/registers/gfx7.json \
125 $src_dir/src/amd/registers/gfx8.json \
126 $src_dir/src/amd/registers/gfx81.json \
127 $src_dir/src/amd/registers/gfx9.json \
128 $src_dir/src/amd/registers/gfx940.json \
129 $src_dir/src/amd/registers/gfx10.json \
130 $src_dir/src/amd/registers/gfx10-rsrc.json \
131 $src_dir/src/amd/registers/gfx11.json \
132 $src_dir/src/amd/registers/gfx11-rsrc.json \
133 $src_dir/src/amd/registers/gfx103.json \
134 $src_dir/src/amd/registers/pkt3.json \
135 $src_dir/src/amd/registers/registers-manually-defined.json \
136 --sort address \
137 --guard AMDGFXREGS_H \
138 >$build_dir/src/amd/common/amdgfxregs.h &
139 #===============================================================================
140 # libcompiler required by libnir
141 export PYTHONPATH=$mako
142 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
143 >$build_dir/ir_expression_operation.h &
144 unset PYTHONPATH
145 #===============================================================================
146 # libnir
147 export PYTHONPATH=$mako
148 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
149 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
150 $build_dir/spirv_info.c &
151
152 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
153 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
154 $build_dir/vtn_gather_types.c &
155
156 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
157 $src_dir/src/compiler/spirv/spir-v.xml \
158 $build_dir/vtn_generator_ids.h &
159 # nir generated files
160 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
161 >$build_dir/nir_constant_expressions.c &
162
163 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
164 >$build_dir/nir_opt_algebraic.c &
165
166 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
167 >$build_dir/nir_opcodes.c &
168
169 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
170 --outdir $build_dir &
171 unset PYTHONPATH
172 #===============================================================================
173 # libaco
174 export PYTHONPATH=$mako
175 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
176 >$build_dir/aco_opcodes.h &
177 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
178 >$build_dir/aco_opcodes.cpp &
179 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
180 >$build_dir/aco_builder.h &
181 unset PYTHONPATH
182 #===============================================================================
183 # libmesautils
184 mkdir -p $build_dir/src/util
185
186 export PYTHONPATH=$mako
187 $python3 $src_dir/src/util/format_srgb.py \
188 >$build_dir/format_srgb.c
189
190 $python3 $src_dir/src/util/format/u_format_table.py \
191 $src_dir/src/util/format/u_format.csv \
192 >$build_dir/u_format_table.c
193
194 # wow, really?
195 mkdir -p $build_dir/src/util/format
196 $python3 $src_dir/src/util/format/u_format_table.py \
197 --header \
198 $src_dir/src/util/format/u_format.csv \
199 >$build_dir/src/util/format/u_format_pack.h
200
201 # oooof!
202 $python3 $src_dir/src/util/driconf_static.py \
203 $src_dir/src/util/00-mesa-defaults.conf \
204 $build_dir/src/util/driconf_static.h
205 unset PYTHONPATH
206 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
207 #===============================================================================
208 # amd vulkan
209 export PYTHONPATH=$mako
210 #------------------------------------------------------------------------------
211 # specific API to work around _still maintained at the time of writing _ game
212 # executable... this is the beginning of the end...
213 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
214 --xml $vulkan_api_xml \
215 --proto --weak \
216 --out-h radv_entrypoints.h \
217 --out-c radv_entrypoints.c \
218 --prefix radv \
219 --device-prefix metro_exodus \
220 --device-prefix rage2 &
221 #------------------------------------------------------------------------------
222 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
223 # --xml $vulkan_api_xml \
224 # --out-c radv_extensions.c \
225 # --out-h radv_extensions.h &
226 #------------------------------------------------------------------------------
227 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
228 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
229 # >$build_dir/vk_format_table.c &
230 #------------------------------------------------------------------------------
231 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
232 $src_dir/src/util/format/u_format.csv \
233 $src_dir/src/amd/registers/gfx10-rsrc.json \
234 $src_dir/src/amd/registers/gfx11-rsrc.json \
235 >$build_dir/gfx10_format_table.c &
236 #------------------------------------------------------------------------------
237 git_sha1=no_git_sha1_available
238 if test -d $src_dir/.git; then
239 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
240 fi
241 echo git_sha1=$git_sha1
242 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
243 unset PYTHONPATH
244 #===============================================================================
File builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/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-775e42e6b841c76337af9977f55d0ec74df3283d/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 2c35fbc..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
719 $src_dir/src/compiler/spirv/vtn_subgroup.c \
720 $src_dir/src/compiler/spirv/vtn_variables.c \
721 \
722 $src_dir/src/compiler/nir/nir.c \
723 $src_dir/src/compiler/nir/nir_builder.c \
724 $src_dir/src/compiler/nir/nir_builtin_builder.c \
725 $src_dir/src/compiler/nir/nir_clone.c \
726 $src_dir/src/compiler/nir/nir_control_flow.c \
727 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
728 $src_dir/src/compiler/nir/nir_deref.c \
729 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
730 $src_dir/src/compiler/nir/nir_dominance.c \
731 $src_dir/src/compiler/nir/nir_from_ssa.c \
732 $src_dir/src/compiler/nir/nir_gather_info.c \
733 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
734 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
735 $src_dir/src/compiler/nir/nir_group_loads.c \
736 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
737 $src_dir/src/compiler/nir/nir_inline_functions.c \
738 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
739 $src_dir/src/compiler/nir/nir_instr_set.c \
740 $src_dir/src/compiler/nir/nir_linking_helpers.c \
741 $src_dir/src/compiler/nir/nir_liveness.c \
742 $src_dir/src/compiler/nir/nir_loop_analyze.c \
743 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
744 $src_dir/src/compiler/nir/nir_lower_alu.c \
745 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
746 $src_dir/src/compiler/nir/nir_lower_amul.c \
747 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
748 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
749 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
750 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
751 $src_dir/src/compiler/nir/nir_lower_blend.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
754 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
755 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
756 $src_dir/src/compiler/nir/nir_lower_clip.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
759 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
760 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
761 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
764 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
765 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
766 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
767 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
768 $src_dir/src/compiler/nir/nir_lower_flrp.c \
769 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
772 $src_dir/src/compiler/nir/nir_lower_frexp.c \
773 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
774 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
775 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
776 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
777 $src_dir/src/compiler/nir/nir_lower_idiv.c \
778 $src_dir/src/compiler/nir/nir_lower_image.c \
779 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
780 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
781 $src_dir/src/compiler/nir/nir_lower_int64.c \
782 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
783 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
784 $src_dir/src/compiler/nir/nir_lower_io.c \
785 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
789 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
790 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
791 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
792 $src_dir/src/compiler/nir/nir_lower_mediump.c \
793 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
794 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
795 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
796 $src_dir/src/compiler/nir/nir_lower_multiview.c \
797 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
798 $src_dir/src/compiler/nir/nir_lower_packing.c \
799 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
800 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
801 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
802 $src_dir/src/compiler/nir/nir_lower_point_size.c \
803 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
804 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
805 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
806 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
807 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
808 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
809 $src_dir/src/compiler/nir/nir_lower_returns.c \
810 $src_dir/src/compiler/nir/nir_lower_samplers.c \
811 $src_dir/src/compiler/nir/nir_lower_scratch.c \
812 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
813 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
814 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
815 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
816 $src_dir/src/compiler/nir/nir_lower_system_values.c \
817 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
818 $src_dir/src/compiler/nir/nir_lower_tex.c \
819 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
820 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
821 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
822 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
823 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
824 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
825 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
826 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
827 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
828 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
829 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
830 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
831 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
832 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
833 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
834 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
835 $src_dir/src/compiler/nir/nir_metadata.c \
836 $src_dir/src/compiler/nir/nir_mod_analysis.c \
837 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
838 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
839 $src_dir/src/compiler/nir/nir_opt_access.c \
840 $src_dir/src/compiler/nir/nir_opt_barriers.c \
841 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
842 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
843 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
844 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
845 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
846 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
847 $src_dir/src/compiler/nir/nir_opt_cse.c \
848 $src_dir/src/compiler/nir/nir_opt_dce.c \
849 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
850 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
851 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
852 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
853 $src_dir/src/compiler/nir/nir_opt_gcm.c \
854 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
855 $src_dir/src/compiler/nir/nir_opt_if.c \
856 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
857 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
858 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
859 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
860 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
861 $src_dir/src/compiler/nir/nir_opt_move.c \
862 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
863 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
864 $src_dir/src/compiler/nir/nir_opt_offsets.c \
865 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
866 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
867 $src_dir/src/compiler/nir/nir_opt_preamble.c \
868 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
869 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
870 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
871 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
872 $src_dir/src/compiler/nir/nir_opt_sink.c \
873 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
874 $src_dir/src/compiler/nir/nir_opt_undef.c \
875 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
876 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
877 $src_dir/src/compiler/nir/nir_phi_builder.c \
878 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
879 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
880 $src_dir/src/compiler/nir/nir_print.c \
881 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
882 $src_dir/src/compiler/nir/nir_range_analysis.c \
883 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
884 $src_dir/src/compiler/nir/nir_repair_ssa.c \
885 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
886 $src_dir/src/compiler/nir/nir_schedule.c \
887 $src_dir/src/compiler/nir/nir_search.c \
888 $src_dir/src/compiler/nir/nir_serialize.c \
889 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
890 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
891 $src_dir/src/compiler/nir/nir_split_var_copies.c \
892 $src_dir/src/compiler/nir/nir_split_vars.c \
893 $src_dir/src/compiler/nir/nir_sweep.c \
894 $src_dir/src/compiler/nir/nir_to_lcssa.c \
895 $src_dir/src/compiler/nir/nir_validate.c \
896 $src_dir/src/compiler/nir/nir_worklist.c \
897 "
898 for f in $libnir_files
899 do
900 libnir_obj=$build_dir/$(basename $f .c).o
901 libnir_a="$libnir_a $libnir_obj"
902
903 $cc $cppflags $f -o $libnir_obj &
904 done
905 #===============================================================================
906 # libaco
907 # we don't use cppflags_common for aco because the code is not yet
908 # compatible
909 cppflags="\
910 $gcc_builtins_cppflags \
911 $gcc_attributes_cppflags \
912 $linux_glibc_cppflags \
913 $mesa_cppflags \
914 -I$build_dir \
915 -I$src_dir/src/amd/compiler \
916 -I$src_dir/src/amd/vulkan \
917 -I$build_dir/src/amd/common \
918 -I$src_dir/src/amd/common \
919 -I$build_dir/src/amd \
920 -I$src_dir/src/amd \
921 -I$src_dir/src/compiler/nir \
922 -I$src_dir/src/compiler \
923 -I$src_dir/src/mesa \
924 -I$src_dir/src/gallium/include \
925 -I$src_dir/src \
926 -I$src_dir/include \
927 "
928 libaco_files="\
929 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
930 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
931 $src_dir/src/amd/compiler/aco_dominance.cpp \
932 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
933 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
934 $src_dir/src/amd/compiler/aco_interface.cpp \
935 $src_dir/src/amd/compiler/aco_assembler.cpp \
936 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
937 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
938 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
939 $src_dir/src/amd/compiler/aco_ir.cpp \
940 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
941 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
942 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
943 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
944 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
945 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
946 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
947 $build_dir/aco_opcodes.cpp \
948 $src_dir/src/amd/compiler/aco_optimizer.cpp \
949 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
950 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
951 $src_dir/src/amd/compiler/aco_print_asm.cpp \
952 $src_dir/src/amd/compiler/aco_print_ir.cpp \
953 $src_dir/src/amd/compiler/aco_scheduler.cpp \
954 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
955 $src_dir/src/amd/compiler/aco_spill.cpp \
956 $src_dir/src/amd/compiler/aco_statistics.cpp \
957 $src_dir/src/amd/compiler/aco_validate.cpp \
958 "
959 for f in $libaco_files
960 do
961 libaco_obj=$build_dir/$(basename $f .c).o
962 libaco_a="$libaco_a $libaco_obj"
963
964 $cxx $cppflags $f -o $libaco_obj &
965 done
966 #===============================================================================
967 # libmesautils
968 cppflags="\
969 $cppflags_common \
970 -I$build_dir/src/util/format \
971 -I$build_dir/src \
972 -I$build_dir \
973 -I$src_dir/src/gallium/auxiliary \
974 -I$src_dir/src/gallium/include \
975 -I$src_dir/src/mesa \
976 -I$src_dir/src/util/format \
977 -I$src_dir/src/util \
978 -I$src_dir/src \
979 -I$src_dir/include \
980 $zlib_cppflags \
981 "
982 libmesautil_files="\
983 $build_dir/format_srgb.c \
984 $build_dir/u_format_table.c \
985 $src_dir/src/util/anon_file.c \
986 $src_dir/src/util/bitscan.c \
987 $src_dir/src/util/blob.c \
988 $src_dir/src/util/build_id.c \
989 $src_dir/src/util/compress.c \
990 $src_dir/src/util/crc32.c \
991 $src_dir/src/util/dag.c \
992 $src_dir/src/util/disk_cache.c \
993 $src_dir/src/util/disk_cache_os.c \
994 $src_dir/src/util/double.c \
995 $src_dir/src/util/fast_idiv_by_const.c \
996 $src_dir/src/util/fossilize_db.c \
997 $src_dir/src/util/futex.c \
998 $src_dir/src/util/half_float.c \
999 $src_dir/src/util/hash_table.c \
1000 $src_dir/src/util/log.c \
1001 $src_dir/src/util/mesa-sha1.c \
1002 $src_dir/src/util/mesa_cache_db.c \
1003 $src_dir/src/util/mesa_cache_db_multipart.c \
1004 $src_dir/src/util/memstream.c \
1005 $src_dir/src/util/os_file.c \
1006 $src_dir/src/util/os_memory_fd.c \
1007 $src_dir/src/util/os_misc.c \
1008 $src_dir/src/util/os_socket.c \
1009 $src_dir/src/util/os_time.c \
1010 $src_dir/src/util/sha1/sha1.c \
1011 $src_dir/src/util/ralloc.c \
1012 $src_dir/src/util/rand_xor.c \
1013 $src_dir/src/util/rb_tree.c \
1014 $src_dir/src/util/register_allocate.c \
1015 $src_dir/src/util/rgtc.c \
1016 $src_dir/src/util/rwlock.c \
1017 $src_dir/src/util/set.c \
1018 $src_dir/src/util/simple_mtx.c \
1019 $src_dir/src/util/slab.c \
1020 $src_dir/src/util/softfloat.c \
1021 $src_dir/src/util/sparse_array.c \
1022 $src_dir/src/util/string_buffer.c \
1023 $src_dir/src/util/strtod.c \
1024 $src_dir/src/util/u_atomic.c \
1025 $src_dir/src/util/u_call_once.c \
1026 $src_dir/src/util/u_cpu_detect.c \
1027 $src_dir/src/util/u_debug.c \
1028 $src_dir/src/util/u_debug_describe.c \
1029 $src_dir/src/util/u_debug_refcnt.c \
1030 $src_dir/src/util/u_debug_stack.c \
1031 $src_dir/src/util/u_debug_symbol.c \
1032 $src_dir/src/util/u_dl.c \
1033 $src_dir/src/util/u_hash_table.c \
1034 $src_dir/src/util/u_printf.c \
1035 $src_dir/src/util/format/u_format.c \
1036 $src_dir/src/util/format/u_format_bptc.c \
1037 $src_dir/src/util/format/u_format_etc.c \
1038 $src_dir/src/util/format/u_format_fxt1.c \
1039 $src_dir/src/util/format/u_format_latc.c \
1040 $src_dir/src/util/format/u_format_other.c \
1041 $src_dir/src/util/format/u_format_rgtc.c \
1042 $src_dir/src/util/format/u_format_s3tc.c \
1043 $src_dir/src/util/format/u_format_tests.c \
1044 $src_dir/src/util/format/u_format_yuv.c \
1045 $src_dir/src/util/format/u_format_zs.c \
1046 $src_dir/src/util/u_idalloc.c \
1047 $src_dir/src/util/u_math.c \
1048 $src_dir/src/util/u_mm.c \
1049 $src_dir/src/util/u_process.c \
1050 $src_dir/src/util/u_queue.c \
1051 $src_dir/src/util/u_thread.c \
1052 $src_dir/src/util/u_vector.c \
1053 $src_dir/src/util/u_worklist.c \
1054 $src_dir/src/util/vma.c \
1055 \
1056 $src_dir/src/c11/impl/time.c \
1057 $src_dir/src/c11/impl/threads_posix.c \
1058 "
1059 for f in $libmesautil_files
1060 do
1061 libmesautil_obj=$build_dir/$(basename $f .c).o
1062 libmesautil_a="$libmesautil_a $libmesautil_obj"
1063
1064 $cc $cppflags $f -o $libmesautil_obj &
1065 done
1066 #===============================================================================
1067 # amd vulkan
1068 cppflags="\
1069 $cppflags_common \
1070 -DPACKAGE_VERSION=\"$version\" \
1071 -I$build_dir/vulkan/util \
1072 -I$build_dir/src/util \
1073 -I$build_dir \
1074 -I$src_dir/src/amd/compiler \
1075 -I$build_dir/src/amd/common \
1076 -I$src_dir/src/amd/common \
1077 -I$src_dir/src/amd/vulkan/nir \
1078 -I$src_dir/src/amd/vulkan/meta \
1079 -I$src_dir/src/amd/vulkan \
1080 -I$src_dir/src/amd \
1081 -I$src_dir/src/gallium/auxiliary \
1082 -I$src_dir/src/gallium/include \
1083 -I$src_dir/src/vulkan/util \
1084 -I$src_dir/src/vulkan/runtime \
1085 -I$src_dir/src/vulkan/wsi \
1086 -I$src_dir/src/util \
1087 -I$src_dir/src/mesa \
1088 -I$src_dir/src/compiler/nir \
1089 -I$src_dir/src/compiler \
1090 -I$src_dir/src \
1091 -I$src_dir/include \
1092 $libdrm_cppflags \
1093 $libdrm_amdgpu_cppflags \
1094 $libx11_cppflags \
1095 $libxrandr_cppflags \
1096 $libxrender_cppflags \
1097 $libxcb_cppflags \
1098 $xorgproto_cppflags \
1099 $libxshmfence_cppflags \
1100 "
1101 #$build_dir/radv_extensions.c
1102 #$build_dir/vk_format_table.c
1103 # XXX: remove rt for now
1104 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1105 libvulkan_amd_common_files="\
1106 $src_dir/src/amd/vulkan/radv_android.c \
1107 $src_dir/src/amd/vulkan/radv_buffer.c \
1108 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1109 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1110 $src_dir/src/amd/vulkan/radv_debug.c \
1111 $build_dir/src/amd/vulkan/radv_device.c \
1112 $src_dir/src/amd/vulkan/radv_device_memory.c \
1113 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1114 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1115 $src_dir/src/amd/vulkan/radv_event.c \
1116 $src_dir/src/amd/vulkan/radv_formats.c \
1117 $src_dir/src/amd/vulkan/radv_image.c \
1118 $src_dir/src/amd/vulkan/radv_instance.c \
1119 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1120 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1136 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1147 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1148 $src_dir/src/amd/vulkan/radv_physical_device.c \
1149 $src_dir/src/amd/vulkan/radv_pipeline.c \
1150 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1153 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1154 $src_dir/src/amd/vulkan/radv_queue.c \
1155 $src_dir/src/amd/vulkan/radv_rt_common.c \
1156 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1157 $src_dir/src/amd/vulkan/radv_sampler.c \
1158 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1159 $src_dir/src/amd/vulkan/radv_shader.c \
1160 $src_dir/src/amd/vulkan/radv_shader_args.c \
1161 $src_dir/src/amd/vulkan/radv_shader_info.c \
1162 $src_dir/src/amd/vulkan/radv_spm.c \
1163 $src_dir/src/amd/vulkan/radv_query.c \
1164 $src_dir/src/amd/vulkan/radv_video.c \
1165 $src_dir/src/amd/vulkan/radv_wsi.c \
1166 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1167 \
1168 $build_dir/gfx10_format_table.c \
1169 \
1170 $build_dir/radv_entrypoints.c \
1171 \
1172 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1173 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1175 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1176 \
1177 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1178 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1179 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1180 \
1181 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1182 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1183 \
1184 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1185 "
1186
1187 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1188
1189 for f in $libvulkan_amd_common_files
1190 do
1191 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1192 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1193
1194 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1195 done
1196 libvulkan_amd_common_a="\
1197 $libvulkan_amd_common_a \
1198 $build_dir/xmlconfig.o"
1199 #===============================================================================
1200 # create the radeon vulkan driver
1201 soname=libvulkan_radeon.so
1202
1203 # XXX:the attempt to generalize without kludge the link stage of real programs
1204 # build is near a total and complete failure
1205 if test "${driver_link_cmd-unset}" = unset ; then
1206 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1207 -shared -static-libgcc -static-libstdc++ \
1208 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1209 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1210 -Wl,--whole-archive -Wl,--start-group \
1211 $libaco_a \
1212 $libvulkan_amd_common_a \
1213 $libvulkan_util_a \
1214 $libvulkan_runtime_a \
1215 $libvulkan_wsi_a \
1216 $libamd_common_a \
1217 $libamdgpu_addrlib_a \
1218 $libcompiler_a \
1219 $libnir_a \
1220 $libmesautil_a \
1221 -Wl,--end-group -Wl,--no-whole-archive \
1222 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1223 $zlib_ldflags \
1224 $expat_ldflags \
1225 $libelf_ldflags \
1226 -Wl,--as-needed \
1227 $libdrm_ldflags \
1228 $libdrm_amdgpu_ldflags \
1229 $libx11_ldflags \
1230 $libxrandr_ldflags \
1231 $libxrender_ldflags \
1232 $libxcb_ldflags \
1233 $libxshmfence_ldflags \
1234 -lpthread \
1235 -ldl \
1236 -Wl,--no-as-needed"
1237 fi
1238 wait
1239 eval $driver_link_cmd
1240 #===============================================================================
File builders/mesa-vulkan-amd-sh-775e42e6b841c76337af9977f55d0ec74df3283d/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-87ac5d7d0a14be1457385ccf3e11059aedd95acb/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 3c3ff18..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_lower_tex.c \
606 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
607 $src_dir/src/amd/common/ac_perfcounter.c \
608 $src_dir/src/amd/common/ac_shader_args.c \
609 $src_dir/src/amd/common/ac_shader_util.c \
610 $src_dir/src/amd/common/ac_shadowed_regs.c \
611 $src_dir/src/amd/common/ac_rgp.c \
612 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
613 $src_dir/src/amd/common/ac_rtld.c \
614 $src_dir/src/amd/common/ac_spm.c \
615 "
616 for f in $libamd_common_c_files
617 do
618 libamd_common_c_obj=$build_dir/$(basename $f .c).o
619 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
620
621 $cc $cppflags $f -o $libamd_common_c_obj &
622 done
623 #===============================================================================
624 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
625 cppflags="\
626 $cppflags_common \
627 -DLITTLEENDIAN_CPU \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
630 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
631 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
632 -I$src_dir/src/amd/addrlib/inc \
633 -I$src_dir/src/amd/addrlib/src/core \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
636 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
637 -I$src_dir/src/amd/addrlib/src/chip/r800 \
638 -I$src_dir/src/amd/addrlib/src \
639 -I$src_dir/src \
640 -I$src_dir/include \
641 "
642 libamdgpu_addrlib_files="\
643 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
648 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
649 $src_dir/src/amd/addrlib/src/core/coord.cpp \
650 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
655 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
656 "
657 for f in $libamdgpu_addrlib_files
658 do
659 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
660 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
661
662 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
663 done
664 #===============================================================================
665 # libcompiler required by libnir
666 cppflags="\
667 $cppflags_common \
668 -I$build_dir \
669 -I$src_dir/src/gallium/auxiliary \
670 -I$src_dir/src/gallium/include \
671 -I$src_dir/src/mesa \
672 -I$src_dir/src \
673 -I$src_dir/include \
674 "
675 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
676 -o $build_dir/glsl_types.o &
677 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
678 -o $build_dir/nir_types.o &
679 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
680 -o $build_dir/shader_enums.o &
681 libcompiler_a="\
682 $build_dir/glsl_types.o \
683 $build_dir/nir_types.o \
684 $build_dir/shader_enums.o \
685 "
686 #===============================================================================
687 # libnir
688 cppflags="\
689 $cppflags_common \
690 -I$build_dir \
691 -I$src_dir/src/compiler/spirv \
692 -I$src_dir/src/compiler/nir \
693 -I$src_dir/src/compiler \
694 -I$src_dir/src/gallium/include \
695 -I$src_dir/src/mesa \
696 -I$src_dir/src \
697 -I$src_dir/include \
698 $xorgproto_cppflags \
699 $libxcb_cppflags \
700 $libx11_cppflags \
701 $libxrender_cppflags \
702 $libxrandr_cppflags \
703 "
704 libnir_files="\
705 $build_dir/spirv_info.c \
706 $build_dir/vtn_gather_types.c \
707 $build_dir/nir_intrinsics.c \
708 $build_dir/nir_opcodes.c \
709 $build_dir/nir_opt_algebraic.c \
710 $build_dir/nir_constant_expressions.c \
711 \
712 $src_dir/src/compiler/spirv/gl_spirv.c \
713 $src_dir/src/compiler/spirv/spirv_to_nir.c \
714 $src_dir/src/compiler/spirv/vtn_alu.c \
715 $src_dir/src/compiler/spirv/vtn_amd.c \
716 $src_dir/src/compiler/spirv/vtn_cfg.c \
717 $src_dir/src/compiler/spirv/vtn_glsl450.c \
718 $src_dir/contrib/vtn_opencl.c \
719 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
720 $src_dir/src/compiler/spirv/vtn_subgroup.c \
721 $src_dir/src/compiler/spirv/vtn_variables.c \
722 \
723 $src_dir/src/compiler/nir/nir.c \
724 $src_dir/src/compiler/nir/nir_builder.c \
725 $src_dir/src/compiler/nir/nir_builtin_builder.c \
726 $src_dir/src/compiler/nir/nir_clone.c \
727 $src_dir/src/compiler/nir/nir_control_flow.c \
728 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
729 $src_dir/src/compiler/nir/nir_deref.c \
730 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
731 $src_dir/src/compiler/nir/nir_dominance.c \
732 $src_dir/src/compiler/nir/nir_from_ssa.c \
733 $src_dir/src/compiler/nir/nir_gather_info.c \
734 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
735 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
736 $src_dir/src/compiler/nir/nir_group_loads.c \
737 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
738 $src_dir/src/compiler/nir/nir_inline_functions.c \
739 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
740 $src_dir/src/compiler/nir/nir_instr_set.c \
741 $src_dir/src/compiler/nir/nir_linking_helpers.c \
742 $src_dir/src/compiler/nir/nir_liveness.c \
743 $src_dir/src/compiler/nir/nir_loop_analyze.c \
744 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
745 $src_dir/src/compiler/nir/nir_lower_alu.c \
746 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
747 $src_dir/src/compiler/nir/nir_lower_amul.c \
748 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
749 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
750 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
751 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
752 $src_dir/src/compiler/nir/nir_lower_blend.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
754 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
755 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
756 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
757 $src_dir/src/compiler/nir/nir_lower_clip.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
759 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
760 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
761 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
762 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
764 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
765 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
766 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
767 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
768 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
769 $src_dir/src/compiler/nir/nir_lower_flrp.c \
770 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
772 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
773 $src_dir/src/compiler/nir/nir_lower_frexp.c \
774 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
775 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
776 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
777 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
778 $src_dir/src/compiler/nir/nir_lower_idiv.c \
779 $src_dir/src/compiler/nir/nir_lower_image.c \
780 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
781 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
782 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
783 $src_dir/src/compiler/nir/nir_lower_int64.c \
784 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
785 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
786 $src_dir/src/compiler/nir/nir_lower_io.c \
787 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
789 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
791 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
792 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
793 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
794 $src_dir/src/compiler/nir/nir_lower_mediump.c \
795 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
796 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
797 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
798 $src_dir/src/compiler/nir/nir_lower_multiview.c \
799 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
800 $src_dir/src/compiler/nir/nir_lower_packing.c \
801 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
802 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
803 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
804 $src_dir/src/compiler/nir/nir_lower_point_size.c \
805 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
806 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
807 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
808 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
809 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
810 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
811 $src_dir/src/compiler/nir/nir_lower_returns.c \
812 $src_dir/src/compiler/nir/nir_lower_samplers.c \
813 $src_dir/src/compiler/nir/nir_lower_scratch.c \
814 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
815 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
816 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
817 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
818 $src_dir/src/compiler/nir/nir_lower_system_values.c \
819 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
820 $src_dir/src/compiler/nir/nir_lower_tex.c \
821 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
822 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
823 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
824 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
825 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
826 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
827 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
828 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
829 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
830 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
831 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
832 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
834 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
835 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
836 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
837 $src_dir/src/compiler/nir/nir_metadata.c \
838 $src_dir/src/compiler/nir/nir_mod_analysis.c \
839 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
840 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
841 $src_dir/src/compiler/nir/nir_opt_access.c \
842 $src_dir/src/compiler/nir/nir_opt_barriers.c \
843 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
844 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
845 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
846 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
847 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
848 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
849 $src_dir/src/compiler/nir/nir_opt_cse.c \
850 $src_dir/src/compiler/nir/nir_opt_dce.c \
851 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
852 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
853 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
854 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
855 $src_dir/src/compiler/nir/nir_opt_gcm.c \
856 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
857 $src_dir/src/compiler/nir/nir_opt_if.c \
858 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
859 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
860 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
861 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
862 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
863 $src_dir/src/compiler/nir/nir_opt_move.c \
864 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
865 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
866 $src_dir/src/compiler/nir/nir_opt_offsets.c \
867 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
868 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
869 $src_dir/src/compiler/nir/nir_opt_preamble.c \
870 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
871 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
872 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
873 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
874 $src_dir/src/compiler/nir/nir_opt_sink.c \
875 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
876 $src_dir/src/compiler/nir/nir_opt_undef.c \
877 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
878 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
879 $src_dir/src/compiler/nir/nir_phi_builder.c \
880 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
881 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
882 $src_dir/src/compiler/nir/nir_print.c \
883 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
884 $src_dir/src/compiler/nir/nir_range_analysis.c \
885 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
886 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
887 $src_dir/src/compiler/nir/nir_repair_ssa.c \
888 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
889 $src_dir/src/compiler/nir/nir_schedule.c \
890 $src_dir/src/compiler/nir/nir_search.c \
891 $src_dir/src/compiler/nir/nir_serialize.c \
892 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
893 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
894 $src_dir/src/compiler/nir/nir_split_var_copies.c \
895 $src_dir/src/compiler/nir/nir_split_vars.c \
896 $src_dir/src/compiler/nir/nir_sweep.c \
897 $src_dir/src/compiler/nir/nir_to_lcssa.c \
898 $src_dir/src/compiler/nir/nir_validate.c \
899 $src_dir/src/compiler/nir/nir_worklist.c \
900 "
901 for f in $libnir_files
902 do
903 libnir_obj=$build_dir/$(basename $f .c).o
904 libnir_a="$libnir_a $libnir_obj"
905
906 $cc $cppflags $f -o $libnir_obj &
907 done
908 #===============================================================================
909 # libaco
910 # we don't use cppflags_common for aco because the code is not yet
911 # compatible
912 cppflags="\
913 $gcc_builtins_cppflags \
914 $gcc_attributes_cppflags \
915 $linux_glibc_cppflags \
916 $mesa_cppflags \
917 -I$build_dir \
918 -I$src_dir/src/amd/compiler \
919 -I$src_dir/src/amd/vulkan \
920 -I$build_dir/src/amd/common \
921 -I$src_dir/src/amd/common \
922 -I$build_dir/src/amd \
923 -I$src_dir/src/amd \
924 -I$src_dir/src/compiler/nir \
925 -I$src_dir/src/compiler \
926 -I$src_dir/src/mesa \
927 -I$src_dir/src/gallium/include \
928 -I$src_dir/src \
929 -I$src_dir/include \
930 "
931 libaco_files="\
932 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
933 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
934 $src_dir/src/amd/compiler/aco_dominance.cpp \
935 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
936 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
937 $src_dir/src/amd/compiler/aco_interface.cpp \
938 $src_dir/src/amd/compiler/aco_assembler.cpp \
939 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
940 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
941 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
942 $src_dir/src/amd/compiler/aco_ir.cpp \
943 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
944 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
945 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
946 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
947 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
948 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
949 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
950 $build_dir/aco_opcodes.cpp \
951 $src_dir/src/amd/compiler/aco_optimizer.cpp \
952 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
953 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
954 $src_dir/src/amd/compiler/aco_print_asm.cpp \
955 $src_dir/src/amd/compiler/aco_print_ir.cpp \
956 $src_dir/src/amd/compiler/aco_scheduler.cpp \
957 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
958 $src_dir/src/amd/compiler/aco_spill.cpp \
959 $src_dir/src/amd/compiler/aco_statistics.cpp \
960 $src_dir/src/amd/compiler/aco_validate.cpp \
961 "
962 for f in $libaco_files
963 do
964 libaco_obj=$build_dir/$(basename $f .c).o
965 libaco_a="$libaco_a $libaco_obj"
966
967 $cxx $cppflags $f -o $libaco_obj &
968 done
969 #===============================================================================
970 # libmesautils
971 cppflags="\
972 $cppflags_common \
973 -I$build_dir/src/util/format \
974 -I$build_dir/src \
975 -I$build_dir \
976 -I$src_dir/src/gallium/auxiliary \
977 -I$src_dir/src/gallium/include \
978 -I$src_dir/src/mesa \
979 -I$src_dir/src/util/format \
980 -I$src_dir/src/util \
981 -I$src_dir/src \
982 -I$src_dir/include \
983 $zlib_cppflags \
984 "
985 libmesautil_files="\
986 $build_dir/format_srgb.c \
987 $build_dir/u_format_table.c \
988 $src_dir/src/util/anon_file.c \
989 $src_dir/src/util/bitscan.c \
990 $src_dir/src/util/blob.c \
991 $src_dir/src/util/build_id.c \
992 $src_dir/src/util/compress.c \
993 $src_dir/src/util/crc32.c \
994 $src_dir/src/util/dag.c \
995 $src_dir/src/util/disk_cache.c \
996 $src_dir/src/util/disk_cache_os.c \
997 $src_dir/src/util/double.c \
998 $src_dir/src/util/fast_idiv_by_const.c \
999 $src_dir/src/util/fossilize_db.c \
1000 $src_dir/src/util/futex.c \
1001 $src_dir/src/util/half_float.c \
1002 $src_dir/src/util/hash_table.c \
1003 $src_dir/src/util/log.c \
1004 $src_dir/src/util/mesa-sha1.c \
1005 $src_dir/src/util/mesa_cache_db.c \
1006 $src_dir/src/util/mesa_cache_db_multipart.c \
1007 $src_dir/src/util/memstream.c \
1008 $src_dir/src/util/os_file.c \
1009 $src_dir/src/util/os_memory_fd.c \
1010 $src_dir/src/util/os_misc.c \
1011 $src_dir/src/util/os_socket.c \
1012 $src_dir/src/util/os_time.c \
1013 $src_dir/src/util/sha1/sha1.c \
1014 $src_dir/src/util/ralloc.c \
1015 $src_dir/src/util/rand_xor.c \
1016 $src_dir/src/util/rb_tree.c \
1017 $src_dir/src/util/register_allocate.c \
1018 $src_dir/src/util/rgtc.c \
1019 $src_dir/src/util/rwlock.c \
1020 $src_dir/src/util/set.c \
1021 $src_dir/src/util/simple_mtx.c \
1022 $src_dir/src/util/slab.c \
1023 $src_dir/src/util/softfloat.c \
1024 $src_dir/src/util/sparse_array.c \
1025 $src_dir/src/util/string_buffer.c \
1026 $src_dir/src/util/strtod.c \
1027 $src_dir/src/util/u_atomic.c \
1028 $src_dir/src/util/u_call_once.c \
1029 $src_dir/src/util/u_cpu_detect.c \
1030 $src_dir/src/util/u_debug.c \
1031 $src_dir/src/util/u_debug_describe.c \
1032 $src_dir/src/util/u_debug_refcnt.c \
1033 $src_dir/src/util/u_debug_stack.c \
1034 $src_dir/src/util/u_debug_symbol.c \
1035 $src_dir/src/util/u_dl.c \
1036 $src_dir/src/util/u_dynarray.c \
1037 $src_dir/src/util/u_hash_table.c \
1038 $src_dir/src/util/u_printf.c \
1039 $src_dir/src/util/format/u_format.c \
1040 $src_dir/src/util/format/u_format_bptc.c \
1041 $src_dir/src/util/format/u_format_etc.c \
1042 $src_dir/src/util/format/u_format_fxt1.c \
1043 $src_dir/src/util/format/u_format_latc.c \
1044 $src_dir/src/util/format/u_format_other.c \
1045 $src_dir/src/util/format/u_format_rgtc.c \
1046 $src_dir/src/util/format/u_format_s3tc.c \
1047 $src_dir/src/util/format/u_format_tests.c \
1048 $src_dir/src/util/format/u_format_yuv.c \
1049 $src_dir/src/util/format/u_format_zs.c \
1050 $src_dir/src/util/u_idalloc.c \
1051 $src_dir/src/util/u_math.c \
1052 $src_dir/src/util/u_mm.c \
1053 $src_dir/src/util/u_process.c \
1054 $src_dir/src/util/u_queue.c \
1055 $src_dir/src/util/u_thread.c \
1056 $src_dir/src/util/u_vector.c \
1057 $src_dir/src/util/u_worklist.c \
1058 $src_dir/src/util/vma.c \
1059 \
1060 $src_dir/src/c11/impl/time.c \
1061 $src_dir/src/c11/impl/threads_posix.c \
1062 "
1063 for f in $libmesautil_files
1064 do
1065 libmesautil_obj=$build_dir/$(basename $f .c).o
1066 libmesautil_a="$libmesautil_a $libmesautil_obj"
1067
1068 $cc $cppflags $f -o $libmesautil_obj &
1069 done
1070 #===============================================================================
1071 # amd vulkan
1072 cppflags="\
1073 $cppflags_common \
1074 -DPACKAGE_VERSION=\"$version\" \
1075 -I$build_dir/vulkan/util \
1076 -I$build_dir/src/util \
1077 -I$build_dir \
1078 -I$src_dir/src/amd/compiler \
1079 -I$build_dir/src/amd/common \
1080 -I$src_dir/src/amd/common \
1081 -I$src_dir/src/amd/vulkan/nir \
1082 -I$src_dir/src/amd/vulkan/meta \
1083 -I$src_dir/src/amd/vulkan \
1084 -I$src_dir/src/amd \
1085 -I$src_dir/src/gallium/auxiliary \
1086 -I$src_dir/src/gallium/include \
1087 -I$src_dir/src/vulkan/util \
1088 -I$src_dir/src/vulkan/runtime \
1089 -I$src_dir/src/vulkan/wsi \
1090 -I$src_dir/src/util \
1091 -I$src_dir/src/mesa \
1092 -I$src_dir/src/compiler/nir \
1093 -I$src_dir/src/compiler \
1094 -I$src_dir/src \
1095 -I$src_dir/include \
1096 $libdrm_cppflags \
1097 $libdrm_amdgpu_cppflags \
1098 $libx11_cppflags \
1099 $libxrandr_cppflags \
1100 $libxrender_cppflags \
1101 $libxcb_cppflags \
1102 $xorgproto_cppflags \
1103 $libxshmfence_cppflags \
1104 "
1105 #$build_dir/radv_extensions.c
1106 #$build_dir/vk_format_table.c
1107 # XXX: remove rt for now
1108 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1109 libvulkan_amd_common_files="\
1110 $src_dir/src/amd/vulkan/radv_android.c \
1111 $src_dir/src/amd/vulkan/radv_buffer.c \
1112 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1113 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1114 $src_dir/src/amd/vulkan/radv_debug.c \
1115 $build_dir/src/amd/vulkan/radv_device.c \
1116 $src_dir/src/amd/vulkan/radv_device_memory.c \
1117 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1118 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1119 $src_dir/src/amd/vulkan/radv_event.c \
1120 $src_dir/src/amd/vulkan/radv_formats.c \
1121 $src_dir/src/amd/vulkan/radv_image.c \
1122 $src_dir/src/amd/vulkan/radv_instance.c \
1123 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1137 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1138 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1139 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1148 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1149 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1150 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1151 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1152 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1153 $src_dir/src/amd/vulkan/radv_physical_device.c \
1154 $src_dir/src/amd/vulkan/radv_pipeline.c \
1155 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1156 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1157 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1158 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1159 $src_dir/src/amd/vulkan/radv_queue.c \
1160 $src_dir/src/amd/vulkan/radv_rt_common.c \
1161 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1162 $src_dir/src/amd/vulkan/radv_sampler.c \
1163 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1164 $src_dir/src/amd/vulkan/radv_shader.c \
1165 $src_dir/src/amd/vulkan/radv_shader_args.c \
1166 $src_dir/src/amd/vulkan/radv_shader_info.c \
1167 $src_dir/src/amd/vulkan/radv_spm.c \
1168 $src_dir/src/amd/vulkan/radv_query.c \
1169 $src_dir/src/amd/vulkan/radv_video.c \
1170 $src_dir/src/amd/vulkan/radv_wsi.c \
1171 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1172 \
1173 $build_dir/gfx10_format_table.c \
1174 \
1175 $build_dir/radv_entrypoints.c \
1176 \
1177 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1178 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1179 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1180 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1181 \
1182 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1183 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1184 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1185 \
1186 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1187 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1188 \
1189 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1190 "
1191
1192 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1193
1194 for f in $libvulkan_amd_common_files
1195 do
1196 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1197 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1198
1199 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1200 done
1201 libvulkan_amd_common_a="\
1202 $libvulkan_amd_common_a \
1203 $build_dir/xmlconfig.o"
1204 #===============================================================================
1205 # create the radeon vulkan driver
1206 soname=libvulkan_radeon.so
1207
1208 # XXX:the attempt to generalize without kludge the link stage of real programs
1209 # build is near a total and complete failure
1210 if test "${driver_link_cmd-unset}" = unset ; then
1211 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1212 -shared -static-libgcc -static-libstdc++ \
1213 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1214 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1215 -Wl,--whole-archive -Wl,--start-group \
1216 $libaco_a \
1217 $libvulkan_amd_common_a \
1218 $libvulkan_util_a \
1219 $libvulkan_runtime_a \
1220 $libvulkan_wsi_a \
1221 $libamd_common_a \
1222 $libamdgpu_addrlib_a \
1223 $libcompiler_a \
1224 $libnir_a \
1225 $libmesautil_a \
1226 -Wl,--end-group -Wl,--no-whole-archive \
1227 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1228 $zlib_ldflags \
1229 $expat_ldflags \
1230 $libelf_ldflags \
1231 -Wl,--as-needed \
1232 $libdrm_ldflags \
1233 $libdrm_amdgpu_ldflags \
1234 $libx11_ldflags \
1235 $libxrandr_ldflags \
1236 $libxrender_ldflags \
1237 $libxcb_ldflags \
1238 $libxshmfence_ldflags \
1239 -lpthread \
1240 -ldl \
1241 -Wl,--no-as-needed"
1242 fi
1243 wait
1244 eval $driver_link_cmd
1245 #===============================================================================
File builders/mesa-vulkan-amd-sh-87ac5d7d0a14be1457385ccf3e11059aedd95acb/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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-92a7cba4f2642b46e22c017cb2a191c1a34ca491/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 3c3ff18..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_lower_tex.c \
606 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
607 $src_dir/src/amd/common/ac_perfcounter.c \
608 $src_dir/src/amd/common/ac_shader_args.c \
609 $src_dir/src/amd/common/ac_shader_util.c \
610 $src_dir/src/amd/common/ac_shadowed_regs.c \
611 $src_dir/src/amd/common/ac_rgp.c \
612 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
613 $src_dir/src/amd/common/ac_rtld.c \
614 $src_dir/src/amd/common/ac_spm.c \
615 "
616 for f in $libamd_common_c_files
617 do
618 libamd_common_c_obj=$build_dir/$(basename $f .c).o
619 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
620
621 $cc $cppflags $f -o $libamd_common_c_obj &
622 done
623 #===============================================================================
624 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
625 cppflags="\
626 $cppflags_common \
627 -DLITTLEENDIAN_CPU \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
630 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
631 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
632 -I$src_dir/src/amd/addrlib/inc \
633 -I$src_dir/src/amd/addrlib/src/core \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
636 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
637 -I$src_dir/src/amd/addrlib/src/chip/r800 \
638 -I$src_dir/src/amd/addrlib/src \
639 -I$src_dir/src \
640 -I$src_dir/include \
641 "
642 libamdgpu_addrlib_files="\
643 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
648 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
649 $src_dir/src/amd/addrlib/src/core/coord.cpp \
650 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
655 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
656 "
657 for f in $libamdgpu_addrlib_files
658 do
659 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
660 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
661
662 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
663 done
664 #===============================================================================
665 # libcompiler required by libnir
666 cppflags="\
667 $cppflags_common \
668 -I$build_dir \
669 -I$src_dir/src/gallium/auxiliary \
670 -I$src_dir/src/gallium/include \
671 -I$src_dir/src/mesa \
672 -I$src_dir/src \
673 -I$src_dir/include \
674 "
675 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
676 -o $build_dir/glsl_types.o &
677 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
678 -o $build_dir/nir_types.o &
679 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
680 -o $build_dir/shader_enums.o &
681 libcompiler_a="\
682 $build_dir/glsl_types.o \
683 $build_dir/nir_types.o \
684 $build_dir/shader_enums.o \
685 "
686 #===============================================================================
687 # libnir
688 cppflags="\
689 $cppflags_common \
690 -I$build_dir \
691 -I$src_dir/src/compiler/spirv \
692 -I$src_dir/src/compiler/nir \
693 -I$src_dir/src/compiler \
694 -I$src_dir/src/gallium/include \
695 -I$src_dir/src/mesa \
696 -I$src_dir/src \
697 -I$src_dir/include \
698 $xorgproto_cppflags \
699 $libxcb_cppflags \
700 $libx11_cppflags \
701 $libxrender_cppflags \
702 $libxrandr_cppflags \
703 "
704 libnir_files="\
705 $build_dir/spirv_info.c \
706 $build_dir/vtn_gather_types.c \
707 $build_dir/nir_intrinsics.c \
708 $build_dir/nir_opcodes.c \
709 $build_dir/nir_opt_algebraic.c \
710 $build_dir/nir_constant_expressions.c \
711 \
712 $src_dir/src/compiler/spirv/gl_spirv.c \
713 $src_dir/src/compiler/spirv/spirv_to_nir.c \
714 $src_dir/src/compiler/spirv/vtn_alu.c \
715 $src_dir/src/compiler/spirv/vtn_amd.c \
716 $src_dir/src/compiler/spirv/vtn_cfg.c \
717 $src_dir/src/compiler/spirv/vtn_glsl450.c \
718 $src_dir/contrib/vtn_opencl.c \
719 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
720 $src_dir/src/compiler/spirv/vtn_subgroup.c \
721 $src_dir/src/compiler/spirv/vtn_variables.c \
722 \
723 $src_dir/src/compiler/nir/nir.c \
724 $src_dir/src/compiler/nir/nir_builder.c \
725 $src_dir/src/compiler/nir/nir_builtin_builder.c \
726 $src_dir/src/compiler/nir/nir_clone.c \
727 $src_dir/src/compiler/nir/nir_control_flow.c \
728 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
729 $src_dir/src/compiler/nir/nir_deref.c \
730 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
731 $src_dir/src/compiler/nir/nir_dominance.c \
732 $src_dir/src/compiler/nir/nir_from_ssa.c \
733 $src_dir/src/compiler/nir/nir_gather_info.c \
734 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
735 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
736 $src_dir/src/compiler/nir/nir_group_loads.c \
737 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
738 $src_dir/src/compiler/nir/nir_inline_functions.c \
739 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
740 $src_dir/src/compiler/nir/nir_instr_set.c \
741 $src_dir/src/compiler/nir/nir_linking_helpers.c \
742 $src_dir/src/compiler/nir/nir_liveness.c \
743 $src_dir/src/compiler/nir/nir_loop_analyze.c \
744 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
745 $src_dir/src/compiler/nir/nir_lower_alu.c \
746 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
747 $src_dir/src/compiler/nir/nir_lower_amul.c \
748 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
749 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
750 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
751 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
752 $src_dir/src/compiler/nir/nir_lower_blend.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
754 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
755 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
756 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
757 $src_dir/src/compiler/nir/nir_lower_clip.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
759 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
760 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
761 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
762 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
764 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
765 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
766 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
767 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
768 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
769 $src_dir/src/compiler/nir/nir_lower_flrp.c \
770 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
772 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
773 $src_dir/src/compiler/nir/nir_lower_frexp.c \
774 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
775 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
776 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
777 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
778 $src_dir/src/compiler/nir/nir_lower_idiv.c \
779 $src_dir/src/compiler/nir/nir_lower_image.c \
780 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
781 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
782 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
783 $src_dir/src/compiler/nir/nir_lower_int64.c \
784 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
785 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
786 $src_dir/src/compiler/nir/nir_lower_io.c \
787 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
789 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
790 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
791 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
792 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
793 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
794 $src_dir/src/compiler/nir/nir_lower_mediump.c \
795 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
796 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
797 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
798 $src_dir/src/compiler/nir/nir_lower_multiview.c \
799 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
800 $src_dir/src/compiler/nir/nir_lower_packing.c \
801 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
802 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
803 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
804 $src_dir/src/compiler/nir/nir_lower_point_size.c \
805 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
806 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
807 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
808 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
809 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
810 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
811 $src_dir/src/compiler/nir/nir_lower_returns.c \
812 $src_dir/src/compiler/nir/nir_lower_samplers.c \
813 $src_dir/src/compiler/nir/nir_lower_scratch.c \
814 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
815 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
816 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
817 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
818 $src_dir/src/compiler/nir/nir_lower_system_values.c \
819 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
820 $src_dir/src/compiler/nir/nir_lower_tex.c \
821 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
822 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
823 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
824 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
825 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
826 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
827 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
828 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
829 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
830 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
831 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
832 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
834 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
835 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
836 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
837 $src_dir/src/compiler/nir/nir_metadata.c \
838 $src_dir/src/compiler/nir/nir_mod_analysis.c \
839 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
840 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
841 $src_dir/src/compiler/nir/nir_opt_access.c \
842 $src_dir/src/compiler/nir/nir_opt_barriers.c \
843 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
844 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
845 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
846 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
847 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
848 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
849 $src_dir/src/compiler/nir/nir_opt_cse.c \
850 $src_dir/src/compiler/nir/nir_opt_dce.c \
851 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
852 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
853 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
854 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
855 $src_dir/src/compiler/nir/nir_opt_gcm.c \
856 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
857 $src_dir/src/compiler/nir/nir_opt_if.c \
858 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
859 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
860 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
861 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
862 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
863 $src_dir/src/compiler/nir/nir_opt_move.c \
864 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
865 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
866 $src_dir/src/compiler/nir/nir_opt_offsets.c \
867 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
868 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
869 $src_dir/src/compiler/nir/nir_opt_preamble.c \
870 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
871 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
872 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
873 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
874 $src_dir/src/compiler/nir/nir_opt_sink.c \
875 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
876 $src_dir/src/compiler/nir/nir_opt_undef.c \
877 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
878 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
879 $src_dir/src/compiler/nir/nir_phi_builder.c \
880 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
881 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
882 $src_dir/src/compiler/nir/nir_print.c \
883 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
884 $src_dir/src/compiler/nir/nir_range_analysis.c \
885 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
886 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
887 $src_dir/src/compiler/nir/nir_repair_ssa.c \
888 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
889 $src_dir/src/compiler/nir/nir_schedule.c \
890 $src_dir/src/compiler/nir/nir_search.c \
891 $src_dir/src/compiler/nir/nir_serialize.c \
892 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
893 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
894 $src_dir/src/compiler/nir/nir_split_var_copies.c \
895 $src_dir/src/compiler/nir/nir_split_vars.c \
896 $src_dir/src/compiler/nir/nir_sweep.c \
897 $src_dir/src/compiler/nir/nir_to_lcssa.c \
898 $src_dir/src/compiler/nir/nir_validate.c \
899 $src_dir/src/compiler/nir/nir_worklist.c \
900 "
901 for f in $libnir_files
902 do
903 libnir_obj=$build_dir/$(basename $f .c).o
904 libnir_a="$libnir_a $libnir_obj"
905
906 $cc $cppflags $f -o $libnir_obj &
907 done
908 #===============================================================================
909 # libaco
910 # we don't use cppflags_common for aco because the code is not yet
911 # compatible
912 cppflags="\
913 $gcc_builtins_cppflags \
914 $gcc_attributes_cppflags \
915 $linux_glibc_cppflags \
916 $mesa_cppflags \
917 -I$build_dir \
918 -I$src_dir/src/amd/compiler \
919 -I$src_dir/src/amd/vulkan \
920 -I$build_dir/src/amd/common \
921 -I$src_dir/src/amd/common \
922 -I$build_dir/src/amd \
923 -I$src_dir/src/amd \
924 -I$src_dir/src/compiler/nir \
925 -I$src_dir/src/compiler \
926 -I$src_dir/src/mesa \
927 -I$src_dir/src/gallium/include \
928 -I$src_dir/src \
929 -I$src_dir/include \
930 "
931 libaco_files="\
932 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
933 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
934 $src_dir/src/amd/compiler/aco_dominance.cpp \
935 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
936 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
937 $src_dir/src/amd/compiler/aco_interface.cpp \
938 $src_dir/src/amd/compiler/aco_assembler.cpp \
939 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
940 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
941 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
942 $src_dir/src/amd/compiler/aco_ir.cpp \
943 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
944 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
945 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
946 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
947 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
948 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
949 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
950 $build_dir/aco_opcodes.cpp \
951 $src_dir/src/amd/compiler/aco_optimizer.cpp \
952 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
953 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
954 $src_dir/src/amd/compiler/aco_print_asm.cpp \
955 $src_dir/src/amd/compiler/aco_print_ir.cpp \
956 $src_dir/src/amd/compiler/aco_scheduler.cpp \
957 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
958 $src_dir/src/amd/compiler/aco_spill.cpp \
959 $src_dir/src/amd/compiler/aco_statistics.cpp \
960 $src_dir/src/amd/compiler/aco_validate.cpp \
961 "
962 for f in $libaco_files
963 do
964 libaco_obj=$build_dir/$(basename $f .c).o
965 libaco_a="$libaco_a $libaco_obj"
966
967 $cxx $cppflags $f -o $libaco_obj &
968 done
969 #===============================================================================
970 # libmesautils
971 cppflags="\
972 $cppflags_common \
973 -I$build_dir/src/util/format \
974 -I$build_dir/src \
975 -I$build_dir \
976 -I$src_dir/src/gallium/auxiliary \
977 -I$src_dir/src/gallium/include \
978 -I$src_dir/src/mesa \
979 -I$src_dir/src/util/format \
980 -I$src_dir/src/util \
981 -I$src_dir/src \
982 -I$src_dir/include \
983 $zlib_cppflags \
984 "
985 libmesautil_files="\
986 $build_dir/format_srgb.c \
987 $build_dir/u_format_table.c \
988 $src_dir/src/util/anon_file.c \
989 $src_dir/src/util/bitscan.c \
990 $src_dir/src/util/blob.c \
991 $src_dir/src/util/build_id.c \
992 $src_dir/src/util/compress.c \
993 $src_dir/src/util/crc32.c \
994 $src_dir/src/util/dag.c \
995 $src_dir/src/util/disk_cache.c \
996 $src_dir/src/util/disk_cache_os.c \
997 $src_dir/src/util/double.c \
998 $src_dir/src/util/fast_idiv_by_const.c \
999 $src_dir/src/util/fossilize_db.c \
1000 $src_dir/src/util/futex.c \
1001 $src_dir/src/util/half_float.c \
1002 $src_dir/src/util/hash_table.c \
1003 $src_dir/src/util/log.c \
1004 $src_dir/src/util/mesa-sha1.c \
1005 $src_dir/src/util/mesa_cache_db.c \
1006 $src_dir/src/util/mesa_cache_db_multipart.c \
1007 $src_dir/src/util/memstream.c \
1008 $src_dir/src/util/os_file.c \
1009 $src_dir/src/util/os_memory_fd.c \
1010 $src_dir/src/util/os_misc.c \
1011 $src_dir/src/util/os_socket.c \
1012 $src_dir/src/util/os_time.c \
1013 $src_dir/src/util/sha1/sha1.c \
1014 $src_dir/src/util/ralloc.c \
1015 $src_dir/src/util/rand_xor.c \
1016 $src_dir/src/util/rb_tree.c \
1017 $src_dir/src/util/register_allocate.c \
1018 $src_dir/src/util/rgtc.c \
1019 $src_dir/src/util/rwlock.c \
1020 $src_dir/src/util/set.c \
1021 $src_dir/src/util/simple_mtx.c \
1022 $src_dir/src/util/slab.c \
1023 $src_dir/src/util/softfloat.c \
1024 $src_dir/src/util/sparse_array.c \
1025 $src_dir/src/util/string_buffer.c \
1026 $src_dir/src/util/strtod.c \
1027 $src_dir/src/util/u_atomic.c \
1028 $src_dir/src/util/u_call_once.c \
1029 $src_dir/src/util/u_cpu_detect.c \
1030 $src_dir/src/util/u_debug.c \
1031 $src_dir/src/util/u_debug_describe.c \
1032 $src_dir/src/util/u_debug_refcnt.c \
1033 $src_dir/src/util/u_debug_stack.c \
1034 $src_dir/src/util/u_debug_symbol.c \
1035 $src_dir/src/util/u_dl.c \
1036 $src_dir/src/util/u_dynarray.c \
1037 $src_dir/src/util/u_hash_table.c \
1038 $src_dir/src/util/u_printf.c \
1039 $src_dir/src/util/format/u_format.c \
1040 $src_dir/src/util/format/u_format_bptc.c \
1041 $src_dir/src/util/format/u_format_etc.c \
1042 $src_dir/src/util/format/u_format_fxt1.c \
1043 $src_dir/src/util/format/u_format_latc.c \
1044 $src_dir/src/util/format/u_format_other.c \
1045 $src_dir/src/util/format/u_format_rgtc.c \
1046 $src_dir/src/util/format/u_format_s3tc.c \
1047 $src_dir/src/util/format/u_format_tests.c \
1048 $src_dir/src/util/format/u_format_yuv.c \
1049 $src_dir/src/util/format/u_format_zs.c \
1050 $src_dir/src/util/u_idalloc.c \
1051 $src_dir/src/util/u_math.c \
1052 $src_dir/src/util/u_mm.c \
1053 $src_dir/src/util/u_process.c \
1054 $src_dir/src/util/u_queue.c \
1055 $src_dir/src/util/u_thread.c \
1056 $src_dir/src/util/u_vector.c \
1057 $src_dir/src/util/u_worklist.c \
1058 $src_dir/src/util/vma.c \
1059 \
1060 $src_dir/src/c11/impl/time.c \
1061 $src_dir/src/c11/impl/threads_posix.c \
1062 "
1063 for f in $libmesautil_files
1064 do
1065 libmesautil_obj=$build_dir/$(basename $f .c).o
1066 libmesautil_a="$libmesautil_a $libmesautil_obj"
1067
1068 $cc $cppflags $f -o $libmesautil_obj &
1069 done
1070 #===============================================================================
1071 # amd vulkan
1072 cppflags="\
1073 $cppflags_common \
1074 -DPACKAGE_VERSION=\"$version\" \
1075 -I$build_dir/vulkan/util \
1076 -I$build_dir/src/util \
1077 -I$build_dir \
1078 -I$src_dir/src/amd/compiler \
1079 -I$build_dir/src/amd/common \
1080 -I$src_dir/src/amd/common \
1081 -I$src_dir/src/amd/vulkan/nir \
1082 -I$src_dir/src/amd/vulkan/meta \
1083 -I$src_dir/src/amd/vulkan \
1084 -I$src_dir/src/amd \
1085 -I$src_dir/src/gallium/auxiliary \
1086 -I$src_dir/src/gallium/include \
1087 -I$src_dir/src/vulkan/util \
1088 -I$src_dir/src/vulkan/runtime \
1089 -I$src_dir/src/vulkan/wsi \
1090 -I$src_dir/src/util \
1091 -I$src_dir/src/mesa \
1092 -I$src_dir/src/compiler/nir \
1093 -I$src_dir/src/compiler \
1094 -I$src_dir/src \
1095 -I$src_dir/include \
1096 $libdrm_cppflags \
1097 $libdrm_amdgpu_cppflags \
1098 $libx11_cppflags \
1099 $libxrandr_cppflags \
1100 $libxrender_cppflags \
1101 $libxcb_cppflags \
1102 $xorgproto_cppflags \
1103 $libxshmfence_cppflags \
1104 "
1105 #$build_dir/radv_extensions.c
1106 #$build_dir/vk_format_table.c
1107 # XXX: remove rt for now
1108 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1109 libvulkan_amd_common_files="\
1110 $src_dir/src/amd/vulkan/radv_android.c \
1111 $src_dir/src/amd/vulkan/radv_buffer.c \
1112 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1113 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1114 $src_dir/src/amd/vulkan/radv_debug.c \
1115 $build_dir/src/amd/vulkan/radv_device.c \
1116 $src_dir/src/amd/vulkan/radv_device_memory.c \
1117 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1118 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1119 $src_dir/src/amd/vulkan/radv_event.c \
1120 $src_dir/src/amd/vulkan/radv_formats.c \
1121 $src_dir/src/amd/vulkan/radv_image.c \
1122 $src_dir/src/amd/vulkan/radv_instance.c \
1123 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1137 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1138 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1139 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1148 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1149 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1150 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1151 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1152 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1153 $src_dir/src/amd/vulkan/radv_physical_device.c \
1154 $src_dir/src/amd/vulkan/radv_pipeline.c \
1155 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1156 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1157 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1158 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1159 $src_dir/src/amd/vulkan/radv_queue.c \
1160 $src_dir/src/amd/vulkan/radv_rt_common.c \
1161 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1162 $src_dir/src/amd/vulkan/radv_sampler.c \
1163 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1164 $src_dir/src/amd/vulkan/radv_shader.c \
1165 $src_dir/src/amd/vulkan/radv_shader_args.c \
1166 $src_dir/src/amd/vulkan/radv_shader_info.c \
1167 $src_dir/src/amd/vulkan/radv_spm.c \
1168 $src_dir/src/amd/vulkan/radv_query.c \
1169 $src_dir/src/amd/vulkan/radv_video.c \
1170 $src_dir/src/amd/vulkan/radv_wsi.c \
1171 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1172 \
1173 $build_dir/gfx10_format_table.c \
1174 \
1175 $build_dir/radv_entrypoints.c \
1176 \
1177 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1178 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1179 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1180 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1181 \
1182 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1183 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1184 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1185 \
1186 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1187 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1188 \
1189 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1190 "
1191
1192 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1193
1194 for f in $libvulkan_amd_common_files
1195 do
1196 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1197 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1198
1199 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1200 done
1201 libvulkan_amd_common_a="\
1202 $libvulkan_amd_common_a \
1203 $build_dir/xmlconfig.o"
1204 #===============================================================================
1205 # create the radeon vulkan driver
1206 soname=libvulkan_radeon.so
1207
1208 # XXX:the attempt to generalize without kludge the link stage of real programs
1209 # build is near a total and complete failure
1210 if test "${driver_link_cmd-unset}" = unset ; then
1211 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1212 -shared -static-libgcc -static-libstdc++ \
1213 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1214 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1215 -Wl,--whole-archive -Wl,--start-group \
1216 $libaco_a \
1217 $libvulkan_amd_common_a \
1218 $libvulkan_util_a \
1219 $libvulkan_runtime_a \
1220 $libvulkan_wsi_a \
1221 $libamd_common_a \
1222 $libamdgpu_addrlib_a \
1223 $libcompiler_a \
1224 $libnir_a \
1225 $libmesautil_a \
1226 -Wl,--end-group -Wl,--no-whole-archive \
1227 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1228 $zlib_ldflags \
1229 $expat_ldflags \
1230 $libelf_ldflags \
1231 -Wl,--as-needed \
1232 $libdrm_ldflags \
1233 $libdrm_amdgpu_ldflags \
1234 $libx11_ldflags \
1235 $libxrandr_ldflags \
1236 $libxrender_ldflags \
1237 $libxcb_ldflags \
1238 $libxshmfence_ldflags \
1239 -lpthread \
1240 -ldl \
1241 -Wl,--no-as-needed"
1242 fi
1243 wait
1244 eval $driver_link_cmd
1245 #===============================================================================
File builders/mesa-vulkan-amd-sh-92a7cba4f2642b46e22c017cb2a191c1a34ca491/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 renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/builder.sh (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/generators.sh renamed from builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/generators.sh (similarity 97%) (mode: 100644) (index 874a6b9..9e94a8c)
... ... $python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
93 93 --xml $vulkan_api_xml \ --xml $vulkan_api_xml \
94 94 --out-h vk_physical_device_features.h \ --out-h vk_physical_device_features.h \
95 95 --out-c vk_physical_device_features.c & --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 &
96 101 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \ $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
97 102 --xml $vulkan_api_xml \ --xml $vulkan_api_xml \
98 103 --out-h vk_format_info.h \ --out-h vk_format_info.h \
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_device.c.patch renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/radv_device.c.patch (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_meta.c.patch renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/radv_meta.c.patch (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/radv_no_tracers.c renamed from builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/radv_no_tracers.c (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.c renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/vk_enum_to_str.c (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vk_enum_to_str.h renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/contrib/vk_enum_to_str.h (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/vtn_opencl.c renamed from builders/mesa-vulkan-amd-sh-2b00eaaedc8cb83d4ed138930e0dc8f7824f28ec/contrib/vtn_opencl.c (similarity 100%)
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh renamed from builders/mesa-vulkan-amd-sh-39824457283bf194c2e2773c19708848027121e1/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh (similarity 99%) (mode: 100755) (index 1601f39..136a31c)
... ... libvulkan_runtime_files="\
471 471 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \ $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
472 472 $src_dir/src/vulkan/runtime/vk_blend.c \ $src_dir/src/vulkan/runtime/vk_blend.c \
473 473 $src_dir/src/vulkan/runtime/vk_buffer.c \ $src_dir/src/vulkan/runtime/vk_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_buffer_view.c \
474 475 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \ $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
475 476 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \ $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
476 477 $build_dir/vk_cmd_enqueue_entrypoints.c \ $build_dir/vk_cmd_enqueue_entrypoints.c \
 
... ... $src_dir/src/vulkan/runtime/vk_graphics_state.c \
495 496 $src_dir/src/vulkan/runtime/vk_image.c \ $src_dir/src/vulkan/runtime/vk_image.c \
496 497 $src_dir/src/vulkan/runtime/vk_instance.c \ $src_dir/src/vulkan/runtime/vk_instance.c \
497 498 $src_dir/src/vulkan/runtime/vk_log.c \ $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 \
498 503 $src_dir/src/vulkan/runtime/vk_nir.c \ $src_dir/src/vulkan/runtime/vk_nir.c \
499 504 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \ $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
500 505 $src_dir/src/vulkan/runtime/vk_object.c \ $src_dir/src/vulkan/runtime/vk_object.c \
 
... ... $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
503 508 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \ $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
504 509 $src_dir/src/vulkan/runtime/vk_physical_device.c \ $src_dir/src/vulkan/runtime/vk_physical_device.c \
505 510 $build_dir/vk_physical_device_features.c \ $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 \
506 513 $src_dir/src/vulkan/runtime/vk_queue.c \ $src_dir/src/vulkan/runtime/vk_queue.c \
507 514 $src_dir/src/vulkan/runtime/vk_render_pass.c \ $src_dir/src/vulkan/runtime/vk_render_pass.c \
508 515 $src_dir/src/vulkan/runtime/vk_sampler.c \ $src_dir/src/vulkan/runtime/vk_sampler.c \
 
... ... $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
797 804 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \ $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
798 805 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \ $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
799 806 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \ $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
800 $src_dir/src/compiler/nir/nir_lower_locals_to_reg_intrinsics.c \
801 807 $src_dir/src/compiler/nir/nir_lower_mediump.c \ $src_dir/src/compiler/nir/nir_lower_mediump.c \
802 808 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \ $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
803 809 $src_dir/src/compiler/nir/nir_lower_memcpy.c \ $src_dir/src/compiler/nir/nir_lower_memcpy.c \
 
... ... $src_dir/src/compiler/nir/nir_lower_subgroups.c \
825 831 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \ $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
826 832 $src_dir/src/compiler/nir/nir_lower_system_values.c \ $src_dir/src/compiler/nir/nir_lower_system_values.c \
827 833 $src_dir/src/compiler/nir/nir_lower_task_shader.c \ $src_dir/src/compiler/nir/nir_lower_task_shader.c \
834 $src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \
828 835 $src_dir/src/compiler/nir/nir_lower_tex.c \ $src_dir/src/compiler/nir/nir_lower_tex.c \
829 836 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \ $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
830 837 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \ $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
831 838 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \ $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
832 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
833 839 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \ $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
834 840 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \ $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
835 841 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \ $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
836 842 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \ $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
837 843 $src_dir/src/compiler/nir/nir_lower_var_copies.c \ $src_dir/src/compiler/nir/nir_lower_var_copies.c \
838 844 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \ $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
839 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
840 845 $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \ $src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \
841 846 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \ $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
842 847 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \ $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
 
... ... $src_dir/src/util/u_atomic.c \
1044 1049 $src_dir/src/util/u_call_once.c \ $src_dir/src/util/u_call_once.c \
1045 1050 $src_dir/src/util/u_cpu_detect.c \ $src_dir/src/util/u_cpu_detect.c \
1046 1051 $src_dir/src/util/u_debug.c \ $src_dir/src/util/u_debug.c \
1047 $src_dir/src/util/u_debug_describe.c \
1048 $src_dir/src/util/u_debug_refcnt.c \
1049 1052 $src_dir/src/util/u_debug_stack.c \ $src_dir/src/util/u_debug_stack.c \
1050 1053 $src_dir/src/util/u_debug_symbol.c \ $src_dir/src/util/u_debug_symbol.c \
1051 1054 $src_dir/src/util/u_dl.c \ $src_dir/src/util/u_dl.c \
File builders/mesa-vulkan-amd-sh-95856898393782a14da6062bfce3ee92d88497d6/radeon_icd.x86_64.json renamed from builders/mesa-vulkan-amd-sh-0d9f474381b48fa3f0b695ea51298e3efbf86ca1/radeon_icd.x86_64.json (similarity 100%)
File builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/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-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/generators.sh deleted (index 526b3bf..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
16 cp -f $src_dir/src/amd/vulkan/radv_meta.c $build_dir/src/amd/vulkan
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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
40 --xml $vulkan_api_xml \
41 --out-c vk_extensions.c \
42 --out-h vk_extensions.h &
43
44 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
45 >$build_dir/nir_builder_opcodes.h &
46
47 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
48 >$build_dir/nir_opcodes.h &
49
50 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
51 --outdir $build_dir &
52
53 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
54 --outdir $build_dir &
55 unset PYTHONPATH
56 #===============================================================================
57 # vulkan runtime
58 export PYTHONPATH=$mako
59 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
60 --xml $vulkan_api_xml \
61 --proto --weak \
62 --out-h vk_common_entrypoints.h \
63 --out-c vk_common_entrypoints.c \
64 --prefix vk_common &
65 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
66 --xml $vulkan_api_xml \
67 --proto --weak \
68 --out-h vk_cmd_enqueue_entrypoints.h \
69 --out-c vk_cmd_enqueue_entrypoints.c \
70 --prefix vk_cmd_enqueue &
71 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
72 --xml $vulkan_api_xml \
73 --out-h vk_cmd_queue.h \
74 --out-c vk_cmd_queue.c &
75 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
76 --xml $vulkan_api_xml \
77 --out-h vk_dispatch_trampolines.h \
78 --out-c vk_dispatch_trampolines.c &
79 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
80 --xml $vulkan_api_xml \
81 --out-c vk_physical_device_features.c &
82 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
83 --xml $vulkan_api_xml \
84 --out-h vk_format_info.h \
85 --out-c vk_format_info.c &
86 unset PYTHONPATH
87 #===============================================================================
88 # wsi x11 (Window System Interface)
89 export PYTHONPATH=$mako
90 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
91 --xml $vulkan_api_xml \
92 --proto --weak \
93 --out-h wsi_common_entrypoints.h \
94 --out-c wsi_common_entrypoints.c \
95 --prefix wsi &
96 unset PYTHONPATH
97 #===============================================================================
98 # amd common archive
99 $python3 $src_dir/src/amd/common/sid_tables.py \
100 $src_dir/src/amd/common/sid.h \
101 $src_dir/src/amd/registers/gfx6.json \
102 $src_dir/src/amd/registers/gfx7.json \
103 $src_dir/src/amd/registers/gfx8.json \
104 $src_dir/src/amd/registers/gfx81.json \
105 $src_dir/src/amd/registers/gfx9.json \
106 $src_dir/src/amd/registers/gfx10.json \
107 $src_dir/src/amd/registers/gfx10-rsrc.json \
108 $src_dir/src/amd/registers/gfx103.json \
109 $src_dir/src/amd/registers/gfx11.json \
110 $src_dir/src/amd/registers/gfx11-rsrc.json \
111 $src_dir/src/amd/registers/pkt3.json \
112 $src_dir/src/amd/registers/registers-manually-defined.json \
113 >$build_dir/sid_tables.h &
114 mkdir -p $build_dir/src/amd/common
115 $python3 $src_dir/src/amd/registers/makeregheader.py \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx10.json \
122 $src_dir/src/amd/registers/gfx10-rsrc.json \
123 $src_dir/src/amd/registers/gfx11.json \
124 $src_dir/src/amd/registers/gfx11-rsrc.json \
125 $src_dir/src/amd/registers/gfx103.json \
126 $src_dir/src/amd/registers/pkt3.json \
127 $src_dir/src/amd/registers/registers-manually-defined.json \
128 --sort address \
129 --guard AMDGFXREGS_H \
130 >$build_dir/src/amd/common/amdgfxregs.h &
131 #===============================================================================
132 # libcompiler required by libnir
133 export PYTHONPATH=$mako
134 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
135 >$build_dir/ir_expression_operation.h &
136 unset PYTHONPATH
137 #===============================================================================
138 # libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
141 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
142 $build_dir/spirv_info.c &
143
144 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
145 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
146 $build_dir/vtn_gather_types.c &
147
148 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
149 $src_dir/src/compiler/spirv/spir-v.xml \
150 $build_dir/vtn_generator_ids.h &
151 # nir generated files
152 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
153 >$build_dir/nir_constant_expressions.c &
154
155 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
156 >$build_dir/nir_opt_algebraic.c &
157
158 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
159 >$build_dir/nir_opcodes.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
162 --outdir $build_dir &
163 unset PYTHONPATH
164 #===============================================================================
165 # libaco
166 export PYTHONPATH=$mako
167 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
168 >$build_dir/aco_opcodes.h &
169 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
170 >$build_dir/aco_opcodes.cpp &
171 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
172 >$build_dir/aco_builder.h &
173 unset PYTHONPATH
174 #===============================================================================
175 # libmesautils
176 mkdir -p $build_dir/src/util
177
178 export PYTHONPATH=$mako
179 $python3 $src_dir/src/util/format_srgb.py \
180 >$build_dir/format_srgb.c
181
182 $python3 $src_dir/src/util/format/u_format_table.py \
183 $src_dir/src/util/format/u_format.csv \
184 >$build_dir/u_format_table.c
185
186 # wow, really?
187 mkdir -p $build_dir/src/util/format
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 --header \
190 $src_dir/src/util/format/u_format.csv \
191 >$build_dir/src/util/format/u_format_pack.h
192
193 # oooof!
194 $python3 $src_dir/src/util/driconf_static.py \
195 $src_dir/src/util/00-mesa-defaults.conf \
196 $build_dir/src/util/driconf_static.h
197 unset PYTHONPATH
198 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
199 #===============================================================================
200 # amd vulkan
201 export PYTHONPATH=$mako
202 #------------------------------------------------------------------------------
203 # specific API to work around _still maintained at the time of writing _ game
204 # executable... this is the beginning of the end...
205 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
206 --xml $vulkan_api_xml \
207 --proto --weak \
208 --out-h radv_entrypoints.h \
209 --out-c radv_entrypoints.c \
210 --prefix radv \
211 --device-prefix metro_exodus \
212 --device-prefix rage2 &
213 #------------------------------------------------------------------------------
214 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
215 # --xml $vulkan_api_xml \
216 # --out-c radv_extensions.c \
217 # --out-h radv_extensions.h &
218 #------------------------------------------------------------------------------
219 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
220 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
221 # >$build_dir/vk_format_table.c &
222 #------------------------------------------------------------------------------
223 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
224 $src_dir/src/util/format/u_format.csv \
225 $src_dir/src/amd/registers/gfx10-rsrc.json \
226 $src_dir/src/amd/registers/gfx11-rsrc.json \
227 >$build_dir/gfx10_format_table.c &
228 #------------------------------------------------------------------------------
229 git_sha1=no_git_sha1_available
230 if test -d $src_dir/.git; then
231 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
232 fi
233 echo git_sha1=$git_sha1
234 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
235 unset PYTHONPATH
236 #===============================================================================
File builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_device.c.patch deleted (index 7cd2727..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -90,6 +90,10 @@ typedef void *drmDevicePtr;
4 #define CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC_FAST
5 #endif
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 VkResult radv_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission);
12
13 static void
File builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_meta.c.patch deleted (index ac6777c..0000000)
1 --- a/src/amd/vulkan/radv_meta.c
2 +++ b/src/amd/vulkan/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-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/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-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/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-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/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-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 048b69f..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/python3/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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 "
225 mesa_cppflags="\
226 -DNDEBUG \
227 -DHAVE_DRI3_MODIFIERS \
228 -DENABLE_SHADER_CACHE \
229 -DHAVE_COMPRESSION \
230 "
231
232 mesa_vulkan_cppflags="\
233 -DVK_USE_PLATFORM_DISPLAY_KHR \
234 -DVK_USE_PLATFORM_XCB_KHR \
235 -DVK_USE_PLATFORM_XLIB_KHR \
236 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
237 \
238 -DVIDEO_CODEC_H265DEC=0 \
239 -DVIDEO_CODEC_H264DEC=0 \
240 "
241
242 cppflags_common="\
243 $gcc_builtins_cppflags \
244 $gcc_attributes_cppflags \
245 $linux_glibc_cppflags \
246 $mesa_cppflags \
247 $mesa_vulkan_cppflags \
248 "
249 #===============================================================================
250 # expat
251 if test "${expat_cppflags-unset}" = unset; then
252 expat_cppflags='-I/nyan/expat/current/include'
253 fi
254 if test "${expat_archives-unset}" = unset; then
255 expat_archives=libexpat.a
256 fi
257 if test "${expat_ldflags-unset}" = unset; then
258 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
259 fi
260 #===============================================================================
261 if test "${libxau_cppflags-unset}" = unset; then
262 libxau_cppflags='-I/nyan/libXau/current/include'
263 fi
264 #===============================================================================
265 if test "${libxcb_cppflags-unset}" = unset; then
266 libxcb_cppflags='-I/nyan/libxcb/current/include'
267 fi
268
269 if test "${libxcb_ldflags-unset}" = unset; then
270 libxcb_ldflags="\
271 /nyan/libxcb/current/lib/libxcb-xtest.so \
272 /nyan/libxcb/current/lib/libxcb-damage.so \
273 /nyan/libxcb/current/lib/libxcb-xfixes.so \
274 /nyan/libxcb/current/lib/libxcb-xvmc.so \
275 /nyan/libxcb/current/lib/libxcb-xinerama.so \
276 /nyan/libxcb/current/lib/libxcb-dri2.so \
277 /nyan/libxcb/current/lib/libxcb-composite.so \
278 /nyan/libxcb/current/lib/libxcb-dpms.so \
279 /nyan/libxcb/current/lib/libxcb-sync.so \
280 /nyan/libxcb/current/lib/libxcb-randr.so \
281 /nyan/libxcb/current/lib/libxcb-res.so \
282 /nyan/libxcb/current/lib/libxcb.so \
283 /nyan/libxcb/current/lib/libxcb-screensaver.so \
284 /nyan/libxcb/current/lib/libxcb-xkb.so \
285 /nyan/libxcb/current/lib/libxcb-xv.so \
286 /nyan/libxcb/current/lib/libxcb-render.so \
287 /nyan/libxcb/current/lib/libxcb-shm.so \
288 /nyan/libxcb/current/lib/libxcb-dri3.so \
289 /nyan/libxcb/current/lib/libxcb-record.so \
290 /nyan/libxcb/current/lib/libxcb-xinput.so \
291 /nyan/libxcb/current/lib/libxcb-present.so \
292 /nyan/libxcb/current/lib/libxcb-glx.so \
293 /nyan/libxcb/current/lib/libxcb-shape.so \
294 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
295 "
296 fi
297 #===============================================================================
298 if test "${libxrender_cppflags-unset}" = unset; then
299 libxrender_cppflags='-I/nyan/libXrender/current/include'
300 fi
301
302 if test "${libxrender_ldflags-unset}" = unset; then
303 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
304 fi
305 #===============================================================================
306 if test "${libxrandr_cppflags-unset}" = unset; then
307 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
308 fi
309
310 if test "${libxrandr_ldflags-unset}" = unset; then
311 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
312 fi
313 #===============================================================================
314 if test "${libx11_cppflags-unset}" = unset; then
315 libx11_cppflags='-I/nyan/libX11/current/include'
316 fi
317
318 if test "${libx11_ldflags-unset}" = unset; then
319 libx11_ldflags="\
320 /nyan/libX11/current/lib/libX11.so \
321 /nyan/libX11/current/lib/libX11-xcb.so \
322 "
323 fi
324 #===============================================================================
325 if test "${libxshmfence_cppflags-unset}" = unset; then
326 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
327 fi
328
329 if test "${libxshmfence_ldflags-unset}" = unset; then
330 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
331 fi
332 #===============================================================================
333 if test "${xorgproto_cppflags-unset}" = unset; then
334 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
335 fi
336 #===============================================================================
337 if test "${libdrm_cppflags-unset}" = unset; then
338 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
339 fi
340
341 if test "${libdrm_ldflags-unset}" = unset; then
342 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
343 fi
344 #===============================================================================
345 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
346 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
347 fi
348
349 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
350 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
351 fi
352 #===============================================================================
353 if test "${linux_drm_cppflags-unset}" = unset; then
354 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
355 fi
356 #===============================================================================
357 if test "${libelf_cppflags-unset}" = unset; then
358 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
359 -I/nyan/libelf/current/include"
360 fi
361
362 if test "${libelf_archives-unset}" = unset; then
363 libelf_archives=libelf.a
364 fi
365
366 if test "${libelf_ldflags-unset}" = unset; then
367 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
368 fi
369 #===============================================================================
370 if test "${zlib_cppflags-unset}" = unset; then
371 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
372 fi
373
374 if test "${zlib_archives-unset}" = unset; then
375 zlib_archives=libz.a
376 fi
377
378 if test "${zlib_ldflags-unset}" = unset; then
379 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
380 fi
381 #===============================================================================
382 # build system compiler (the one used to compile the build system python), _not_
383 # the target compiler if you cross compile
384 if test "${build_cc-unset}" = unset; then
385 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
386 fi
387 if test "${build_ccld-unset}" = unset; then
388 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
389 fi
390 #===============================================================================
391 # the kronos registry
392 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
393 #===============================================================================
394 # all code generation should happen here (no weird interlocked deps)
395 . $src_dir/contrib/generators.sh
396 wait
397 #===============================================================================
398 # object put in libvulkan_amd_common
399 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
400 -DSYSCONFDIR=\"$sysconfdir\" \
401 -DDATADIR=\"$datadir\" \
402 \
403 -I$build_dir/src/util \
404 -I$src_dir/src \
405 -I$src_dir/include \
406 $cppflags_common \
407 $expat_cppflags &
408 #===============================================================================
409 # vulkan util
410 cppflags="\
411 $cppflags_common \
412 -DPACKAGE_VERSION=\"$version\" \
413 -DVERSION=\"$version\" \
414 -I$build_dir/vulkan/util \
415 -I$build_dir \
416 -I$src_dir/src/vulkan/util \
417 -I$src_dir/src/vulkan/runtime \
418 -I$src_dir/src/gallium/include \
419 -I$src_dir/src/util \
420 -I$src_dir/src \
421 -I$src_dir/include \
422 $libxcb_cppflags \
423 $libx11_cppflags \
424 $libxrandr_cppflags \
425 $libxrender_cppflags \
426 $xorgproto_cppflags \
427 "
428 libvulkan_util_files="\
429 $src_dir/src/vulkan/util/vk_alloc.c \
430 $build_dir/vk_dispatch_table.c \
431 $build_dir/vk_enum_to_str.c \
432 $build_dir/vk_extensions.c \
433 $src_dir/src/vulkan/util/vk_format.c \
434 $src_dir/src/vulkan/util/vk_util.c \
435 "
436 for f in $libvulkan_util_files
437 do
438 libvulkan_util_obj=$build_dir/$(basename $f .c).o
439 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
440
441 $cc $cppflags $f -o $libvulkan_util_obj &
442 done
443 #===============================================================================
444 # vulkan runtime
445 cppflags="\
446 $cppflags_common \
447 -DPACKAGE_VERSION=\"$version\" \
448 -DVERSION=\"$version\" \
449 -I$build_dir/vulkan/util \
450 -I$build_dir \
451 -I$src_dir/src/vulkan/util \
452 -I$src_dir/src/vulkan/runtime \
453 -I$src_dir/src/gallium/include \
454 -I$src_dir/src/compiler/nir \
455 -I$src_dir/src/util \
456 -I$src_dir/src \
457 -I$src_dir/include \
458 $libdrm_cppflags \
459 $libxcb_cppflags \
460 $libx11_cppflags \
461 $libxrandr_cppflags \
462 $libxrender_cppflags \
463 $xorgproto_cppflags \
464 "
465 libvulkan_runtime_files="\
466 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
467 $src_dir/src/vulkan/runtime/vk_buffer.c \
468 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
470 $build_dir/vk_cmd_enqueue_entrypoints.c \
471 $build_dir/vk_cmd_queue.c \
472 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
473 $src_dir/src/vulkan/runtime/vk_command_pool.c \
474 $build_dir/vk_common_entrypoints.c \
475 $src_dir/src/vulkan/runtime/vk_debug_report.c \
476 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
477 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
478 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
479 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
480 $src_dir/src/vulkan/runtime/vk_descriptors.c \
481 $src_dir/src/vulkan/runtime/vk_device.c \
482 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
483 $build_dir/vk_dispatch_trampolines.c \
484 $src_dir/src/vulkan/runtime/vk_fence.c \
485 $build_dir/vk_format_info.c \
486 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
487 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
488 $src_dir/src/vulkan/runtime/vk_image.c \
489 $src_dir/src/vulkan/runtime/vk_instance.c \
490 $src_dir/src/vulkan/runtime/vk_log.c \
491 $src_dir/src/vulkan/runtime/vk_nir.c \
492 $src_dir/src/vulkan/runtime/vk_object.c \
493 $src_dir/src/vulkan/runtime/vk_pipeline.c \
494 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
496 $src_dir/src/vulkan/runtime/vk_physical_device.c \
497 $build_dir/vk_physical_device_features.c \
498 $src_dir/src/vulkan/runtime/vk_queue.c \
499 $src_dir/src/vulkan/runtime/vk_render_pass.c \
500 $src_dir/src/vulkan/runtime/vk_sampler.c \
501 $src_dir/src/vulkan/runtime/vk_semaphore.c \
502 $src_dir/src/vulkan/runtime/vk_shader_module.c \
503 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
504 $src_dir/src/vulkan/runtime/vk_sync.c \
505 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
506 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
507 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
508 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
509 $src_dir/src/vulkan/runtime/vk_video.c \
510 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
511 "
512 for f in $libvulkan_runtime_files
513 do
514 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
515 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
516
517 $cc $cppflags $f -o $libvulkan_runtime_obj &
518 done
519 #===============================================================================
520 # wsi x11 (Window System Interface)
521 cppflags="\
522 $cppflags_common \
523 -I$build_dir/vulkan/util \
524 -I$build_dir \
525 -I$src_dir/src \
526 -I$src_dir/src/vulkan/util \
527 -I$src_dir/src/vulkan/runtime \
528 -I$src_dir/src/gallium/include \
529 -I$src_dir/include \
530 -I$src_dir/include/drm-uapi \
531 $libxcb_cppflags \
532 $libx11_cppflags \
533 $libxrandr_cppflags \
534 $libxrender_cppflags \
535 $xorgproto_cppflags \
536 $libxshmfence_cppflags \
537 $libdrm_cppflags \
538 "
539 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
540 -o $build_dir/wsi_common.o &
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
542 -o $build_dir/wsi_common_drm.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
544 -o $build_dir/wsi_common_x11.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
546 -o $build_dir/wsi_common_display.o &
547 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
548 -o $build_dir/wsi_common_entrypoints.o &
549 libvulkan_wsi_a="\
550 $build_dir/wsi_common.o \
551 $build_dir/wsi_common_drm.o \
552 $build_dir/wsi_common_x11.o \
553 $build_dir/wsi_common_display.o \
554 $build_dir/wsi_common_entrypoints.o \
555 "
556 #===============================================================================
557 # amd common archive
558 cppflags="\
559 $cppflags_common \
560 -I$build_dir \
561 -I$src_dir/src/gallium/auxiliary \
562 -I$src_dir/src/gallium/include \
563 -I$build_dir/src/amd/common \
564 -I$src_dir/src/amd/common \
565 -I$src_dir/src/util \
566 -I$build_dir/src/amd \
567 -I$src_dir/src/amd \
568 -I$src_dir/src/compiler/nir \
569 -I$src_dir/src/compiler \
570 -I$src_dir/src/mesa \
571 -I$src_dir/src \
572 -I$src_dir/include \
573 -I$src_dir/include/drm-uapi \
574 $libdrm_cppflags \
575 $libdrm_amdgpu_cppflags \
576 $linux_drm_cppflags \
577 $libelf_cppflags \
578 "
579 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
580 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
581 #$src_dir/src/amd/common/ac_sqtt.c \
582 libamd_common_c_files="\
583 $src_dir/src/amd/common/ac_surface.c \
584 $src_dir/src/amd/common/ac_binary.c \
585 $src_dir/src/amd/common/ac_debug.c \
586 $src_dir/src/amd/common/amd_family.c \
587 $src_dir/src/amd/common/ac_gpu_info.c \
588 $src_dir/src/amd/common/ac_msgpack.c \
589 $src_dir/src/amd/common/ac_nir.c \
590 $src_dir/src/amd/common/ac_nir_cull.c \
591 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
592 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
593 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
594 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
595 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
596 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
598 $src_dir/src/amd/common/ac_perfcounter.c \
599 $src_dir/src/amd/common/ac_shader_args.c \
600 $src_dir/src/amd/common/ac_shader_util.c \
601 $src_dir/src/amd/common/ac_shadowed_regs.c \
602 $src_dir/src/amd/common/ac_rgp.c \
603 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
604 $src_dir/src/amd/common/ac_rtld.c \
605 $src_dir/src/amd/common/ac_spm.c \
606 "
607 for f in $libamd_common_c_files
608 do
609 libamd_common_c_obj=$build_dir/$(basename $f .c).o
610 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
611
612 $cc $cppflags $f -o $libamd_common_c_obj &
613 done
614 #===============================================================================
615 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
616 cppflags="\
617 $cppflags_common \
618 -DLITTLEENDIAN_CPU \
619 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
620 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
621 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
622 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
623 -I$src_dir/src/amd/addrlib/inc \
624 -I$src_dir/src/amd/addrlib/src/core \
625 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
626 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
627 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
628 -I$src_dir/src/amd/addrlib/src/chip/r800 \
629 -I$src_dir/src/amd/addrlib/src \
630 -I$src_dir/src \
631 -I$src_dir/include \
632 "
633 libamdgpu_addrlib_files="\
634 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
635 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
636 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
637 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
638 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
639 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
640 $src_dir/src/amd/addrlib/src/core/coord.cpp \
641 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
642 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
643 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
644 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
645 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
646 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
647 "
648 for f in $libamdgpu_addrlib_files
649 do
650 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
651 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
652
653 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
654 done
655 #===============================================================================
656 # libcompiler required by libnir
657 cppflags="\
658 $cppflags_common \
659 -I$build_dir \
660 -I$src_dir/src/gallium/auxiliary \
661 -I$src_dir/src/gallium/include \
662 -I$src_dir/src/mesa \
663 -I$src_dir/src \
664 -I$src_dir/include \
665 "
666 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
667 -o $build_dir/glsl_types.o &
668 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
669 -o $build_dir/nir_types.o &
670 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
671 -o $build_dir/shader_enums.o &
672 libcompiler_a="\
673 $build_dir/glsl_types.o \
674 $build_dir/nir_types.o \
675 $build_dir/shader_enums.o \
676 "
677 #===============================================================================
678 # libnir
679 cppflags="\
680 $cppflags_common \
681 -I$build_dir \
682 -I$src_dir/src/compiler/spirv \
683 -I$src_dir/src/compiler/nir \
684 -I$src_dir/src/compiler \
685 -I$src_dir/src/gallium/include \
686 -I$src_dir/src/mesa \
687 -I$src_dir/src \
688 -I$src_dir/include \
689 $xorgproto_cppflags \
690 $libxcb_cppflags \
691 $libx11_cppflags \
692 $libxrender_cppflags \
693 $libxrandr_cppflags \
694 "
695 libnir_files="\
696 $build_dir/spirv_info.c \
697 $build_dir/vtn_gather_types.c \
698 $build_dir/nir_intrinsics.c \
699 $build_dir/nir_opcodes.c \
700 $build_dir/nir_opt_algebraic.c \
701 $build_dir/nir_constant_expressions.c \
702 \
703 $src_dir/src/compiler/spirv/gl_spirv.c \
704 $src_dir/src/compiler/spirv/spirv_to_nir.c \
705 $src_dir/src/compiler/spirv/vtn_alu.c \
706 $src_dir/src/compiler/spirv/vtn_amd.c \
707 $src_dir/src/compiler/spirv/vtn_cfg.c \
708 $src_dir/src/compiler/spirv/vtn_glsl450.c \
709 $src_dir/contrib/vtn_opencl.c \
710 $src_dir/src/compiler/spirv/vtn_subgroup.c \
711 $src_dir/src/compiler/spirv/vtn_variables.c \
712 \
713 $src_dir/src/compiler/nir/nir.c \
714 $src_dir/src/compiler/nir/nir_builder.c \
715 $src_dir/src/compiler/nir/nir_builtin_builder.c \
716 $src_dir/src/compiler/nir/nir_clone.c \
717 $src_dir/src/compiler/nir/nir_control_flow.c \
718 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
719 $src_dir/src/compiler/nir/nir_deref.c \
720 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
721 $src_dir/src/compiler/nir/nir_dominance.c \
722 $src_dir/src/compiler/nir/nir_from_ssa.c \
723 $src_dir/src/compiler/nir/nir_gather_info.c \
724 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
725 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
726 $src_dir/src/compiler/nir/nir_group_loads.c \
727 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
728 $src_dir/src/compiler/nir/nir_inline_functions.c \
729 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
730 $src_dir/src/compiler/nir/nir_instr_set.c \
731 $src_dir/src/compiler/nir/nir_linking_helpers.c \
732 $src_dir/src/compiler/nir/nir_liveness.c \
733 $src_dir/src/compiler/nir/nir_loop_analyze.c \
734 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
735 $src_dir/src/compiler/nir/nir_lower_alu.c \
736 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
737 $src_dir/src/compiler/nir/nir_lower_amul.c \
738 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
739 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
740 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
741 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
742 $src_dir/src/compiler/nir/nir_lower_blend.c \
743 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
744 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
745 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
746 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
747 $src_dir/src/compiler/nir/nir_lower_clip.c \
748 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
749 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
750 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
751 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
752 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
753 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
754 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
755 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
756 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
757 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
758 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
759 $src_dir/src/compiler/nir/nir_lower_flrp.c \
760 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
761 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
762 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
763 $src_dir/src/compiler/nir/nir_lower_frexp.c \
764 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
765 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
766 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
767 $src_dir/src/compiler/nir/nir_lower_idiv.c \
768 $src_dir/src/compiler/nir/nir_lower_image.c \
769 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
770 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
771 $src_dir/src/compiler/nir/nir_lower_int64.c \
772 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
773 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
774 $src_dir/src/compiler/nir/nir_lower_io.c \
775 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
776 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
777 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
778 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
779 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
780 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
781 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
782 $src_dir/src/compiler/nir/nir_lower_mediump.c \
783 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
784 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
785 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
786 $src_dir/src/compiler/nir/nir_lower_multiview.c \
787 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
788 $src_dir/src/compiler/nir/nir_lower_packing.c \
789 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
790 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
791 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
792 $src_dir/src/compiler/nir/nir_lower_point_size.c \
793 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
794 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
795 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
796 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
797 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
798 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
799 $src_dir/src/compiler/nir/nir_lower_returns.c \
800 $src_dir/src/compiler/nir/nir_lower_samplers.c \
801 $src_dir/src/compiler/nir/nir_lower_scratch.c \
802 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
803 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
804 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
805 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
806 $src_dir/src/compiler/nir/nir_lower_system_values.c \
807 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
808 $src_dir/src/compiler/nir/nir_lower_tex.c \
809 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
810 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
811 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
812 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
813 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
814 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
815 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
816 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
817 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
818 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
819 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
820 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
821 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
822 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
823 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
824 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
825 $src_dir/src/compiler/nir/nir_metadata.c \
826 $src_dir/src/compiler/nir/nir_mod_analysis.c \
827 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
828 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
829 $src_dir/src/compiler/nir/nir_opt_access.c \
830 $src_dir/src/compiler/nir/nir_opt_barriers.c \
831 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
832 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
833 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
834 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
835 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
836 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
837 $src_dir/src/compiler/nir/nir_opt_cse.c \
838 $src_dir/src/compiler/nir/nir_opt_dce.c \
839 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
840 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
841 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
842 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
843 $src_dir/src/compiler/nir/nir_opt_gcm.c \
844 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
845 $src_dir/src/compiler/nir/nir_opt_if.c \
846 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
847 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
848 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
849 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
850 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
851 $src_dir/src/compiler/nir/nir_opt_move.c \
852 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
853 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
854 $src_dir/src/compiler/nir/nir_opt_offsets.c \
855 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
856 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
857 $src_dir/src/compiler/nir/nir_opt_preamble.c \
858 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
859 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
860 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
861 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
862 $src_dir/src/compiler/nir/nir_opt_sink.c \
863 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
864 $src_dir/src/compiler/nir/nir_opt_undef.c \
865 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
866 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
867 $src_dir/src/compiler/nir/nir_phi_builder.c \
868 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
869 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
870 $src_dir/src/compiler/nir/nir_print.c \
871 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
872 $src_dir/src/compiler/nir/nir_range_analysis.c \
873 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
874 $src_dir/src/compiler/nir/nir_repair_ssa.c \
875 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
876 $src_dir/src/compiler/nir/nir_schedule.c \
877 $src_dir/src/compiler/nir/nir_search.c \
878 $src_dir/src/compiler/nir/nir_serialize.c \
879 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
880 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
881 $src_dir/src/compiler/nir/nir_split_var_copies.c \
882 $src_dir/src/compiler/nir/nir_split_vars.c \
883 $src_dir/src/compiler/nir/nir_sweep.c \
884 $src_dir/src/compiler/nir/nir_to_lcssa.c \
885 $src_dir/src/compiler/nir/nir_validate.c \
886 $src_dir/src/compiler/nir/nir_worklist.c \
887 "
888 for f in $libnir_files
889 do
890 libnir_obj=$build_dir/$(basename $f .c).o
891 libnir_a="$libnir_a $libnir_obj"
892
893 $cc $cppflags $f -o $libnir_obj &
894 done
895 #===============================================================================
896 # libaco
897 # we don't use cppflags_common for aco because the code is not yet
898 # compatible
899 cppflags="\
900 $gcc_builtins_cppflags \
901 $gcc_attributes_cppflags \
902 $linux_glibc_cppflags \
903 $mesa_cppflags \
904 -I$build_dir \
905 -I$src_dir/src/amd/compiler \
906 -I$src_dir/src/amd/vulkan \
907 -I$build_dir/src/amd/common \
908 -I$src_dir/src/amd/common \
909 -I$build_dir/src/amd \
910 -I$src_dir/src/amd \
911 -I$src_dir/src/compiler/nir \
912 -I$src_dir/src/compiler \
913 -I$src_dir/src/mesa \
914 -I$src_dir/src/gallium/include \
915 -I$src_dir/src \
916 -I$src_dir/include \
917 "
918 libaco_files="\
919 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
920 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
921 $src_dir/src/amd/compiler/aco_dominance.cpp \
922 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
923 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
924 $src_dir/src/amd/compiler/aco_interface.cpp \
925 $src_dir/src/amd/compiler/aco_assembler.cpp \
926 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
927 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
928 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
929 $src_dir/src/amd/compiler/aco_ir.cpp \
930 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
931 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
932 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
933 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
934 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
935 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
936 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
937 $build_dir/aco_opcodes.cpp \
938 $src_dir/src/amd/compiler/aco_optimizer.cpp \
939 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
940 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
941 $src_dir/src/amd/compiler/aco_print_asm.cpp \
942 $src_dir/src/amd/compiler/aco_print_ir.cpp \
943 $src_dir/src/amd/compiler/aco_scheduler.cpp \
944 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
945 $src_dir/src/amd/compiler/aco_spill.cpp \
946 $src_dir/src/amd/compiler/aco_statistics.cpp \
947 $src_dir/src/amd/compiler/aco_validate.cpp \
948 "
949 for f in $libaco_files
950 do
951 libaco_obj=$build_dir/$(basename $f .c).o
952 libaco_a="$libaco_a $libaco_obj"
953
954 $cxx $cppflags $f -o $libaco_obj &
955 done
956 #===============================================================================
957 # libmesautils
958 cppflags="\
959 $cppflags_common \
960 -I$build_dir/src/util/format \
961 -I$build_dir/src \
962 -I$build_dir \
963 -I$src_dir/src/gallium/auxiliary \
964 -I$src_dir/src/gallium/include \
965 -I$src_dir/src/mesa \
966 -I$src_dir/src/util/format \
967 -I$src_dir/src/util \
968 -I$src_dir/src \
969 -I$src_dir/include \
970 $zlib_cppflags \
971 "
972 libmesautil_files="\
973 $build_dir/format_srgb.c \
974 $build_dir/u_format_table.c \
975 $src_dir/src/util/anon_file.c \
976 $src_dir/src/util/bitscan.c \
977 $src_dir/src/util/blob.c \
978 $src_dir/src/util/build_id.c \
979 $src_dir/src/util/compress.c \
980 $src_dir/src/util/crc32.c \
981 $src_dir/src/util/dag.c \
982 $src_dir/src/util/disk_cache.c \
983 $src_dir/src/util/disk_cache_os.c \
984 $src_dir/src/util/double.c \
985 $src_dir/src/util/fast_idiv_by_const.c \
986 $src_dir/src/util/fossilize_db.c \
987 $src_dir/src/util/futex.c \
988 $src_dir/src/util/half_float.c \
989 $src_dir/src/util/hash_table.c \
990 $src_dir/src/util/log.c \
991 $src_dir/src/util/mesa-sha1.c \
992 $src_dir/src/util/mesa_cache_db.c \
993 $src_dir/src/util/mesa_cache_db_multipart.c \
994 $src_dir/src/util/memstream.c \
995 $src_dir/src/util/os_file.c \
996 $src_dir/src/util/os_memory_fd.c \
997 $src_dir/src/util/os_misc.c \
998 $src_dir/src/util/os_socket.c \
999 $src_dir/src/util/os_time.c \
1000 $src_dir/src/util/sha1/sha1.c \
1001 $src_dir/src/util/ralloc.c \
1002 $src_dir/src/util/rand_xor.c \
1003 $src_dir/src/util/rb_tree.c \
1004 $src_dir/src/util/register_allocate.c \
1005 $src_dir/src/util/rgtc.c \
1006 $src_dir/src/util/rwlock.c \
1007 $src_dir/src/util/set.c \
1008 $src_dir/src/util/simple_mtx.c \
1009 $src_dir/src/util/slab.c \
1010 $src_dir/src/util/softfloat.c \
1011 $src_dir/src/util/sparse_array.c \
1012 $src_dir/src/util/string_buffer.c \
1013 $src_dir/src/util/strtod.c \
1014 $src_dir/src/util/u_atomic.c \
1015 $src_dir/src/util/u_call_once.c \
1016 $src_dir/src/util/u_cpu_detect.c \
1017 $src_dir/src/util/u_debug.c \
1018 $src_dir/src/util/u_debug_describe.c \
1019 $src_dir/src/util/u_debug_refcnt.c \
1020 $src_dir/src/util/u_debug_stack.c \
1021 $src_dir/src/util/u_debug_symbol.c \
1022 $src_dir/src/util/u_dl.c \
1023 $src_dir/src/util/u_hash_table.c \
1024 $src_dir/src/util/u_printf.c \
1025 $src_dir/src/util/format/u_format.c \
1026 $src_dir/src/util/format/u_format_bptc.c \
1027 $src_dir/src/util/format/u_format_etc.c \
1028 $src_dir/src/util/format/u_format_fxt1.c \
1029 $src_dir/src/util/format/u_format_latc.c \
1030 $src_dir/src/util/format/u_format_other.c \
1031 $src_dir/src/util/format/u_format_rgtc.c \
1032 $src_dir/src/util/format/u_format_s3tc.c \
1033 $src_dir/src/util/format/u_format_tests.c \
1034 $src_dir/src/util/format/u_format_yuv.c \
1035 $src_dir/src/util/format/u_format_zs.c \
1036 $src_dir/src/util/u_idalloc.c \
1037 $src_dir/src/util/u_math.c \
1038 $src_dir/src/util/u_mm.c \
1039 $src_dir/src/util/u_process.c \
1040 $src_dir/src/util/u_queue.c \
1041 $src_dir/src/util/u_thread.c \
1042 $src_dir/src/util/u_vector.c \
1043 $src_dir/src/util/u_worklist.c \
1044 $src_dir/src/util/vma.c \
1045 \
1046 $src_dir/src/c11/impl/time.c \
1047 $src_dir/src/c11/impl/threads_posix.c \
1048 "
1049 for f in $libmesautil_files
1050 do
1051 libmesautil_obj=$build_dir/$(basename $f .c).o
1052 libmesautil_a="$libmesautil_a $libmesautil_obj"
1053
1054 $cc $cppflags $f -o $libmesautil_obj &
1055 done
1056 #===============================================================================
1057 # amd vulkan
1058 cppflags="\
1059 $cppflags_common \
1060 -DPACKAGE_VERSION=\"$version\" \
1061 -I$build_dir/vulkan/util \
1062 -I$build_dir/src/util \
1063 -I$build_dir \
1064 -I$src_dir/src/amd/compiler \
1065 -I$build_dir/src/amd/common \
1066 -I$src_dir/src/amd/common \
1067 -I$src_dir/src/amd/vulkan \
1068 -I$src_dir/src/amd \
1069 -I$src_dir/src/gallium/auxiliary \
1070 -I$src_dir/src/gallium/include \
1071 -I$src_dir/src/vulkan/util \
1072 -I$src_dir/src/vulkan/runtime \
1073 -I$src_dir/src/vulkan/wsi \
1074 -I$src_dir/src/util \
1075 -I$src_dir/src/mesa \
1076 -I$src_dir/src/compiler/nir \
1077 -I$src_dir/src/compiler \
1078 -I$src_dir/src \
1079 -I$src_dir/include \
1080 $libdrm_cppflags \
1081 $libdrm_amdgpu_cppflags \
1082 $libx11_cppflags \
1083 $libxrandr_cppflags \
1084 $libxrender_cppflags \
1085 $libxcb_cppflags \
1086 $xorgproto_cppflags \
1087 $libxshmfence_cppflags \
1088 "
1089 #$build_dir/radv_extensions.c
1090 #$build_dir/vk_format_table.c
1091 # XXX: remove rt for now
1092 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1093 libvulkan_amd_common_files="\
1094 $src_dir/src/amd/vulkan/radv_android.c \
1095 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1096 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1097 $src_dir/src/amd/vulkan/radv_debug.c \
1098 $build_dir/src/amd/vulkan/radv_device.c \
1099 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1100 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1101 $src_dir/src/amd/vulkan/radv_formats.c \
1102 $src_dir/src/amd/vulkan/radv_image.c \
1103 $build_dir/src/amd/vulkan/radv_meta.c \
1104 $src_dir/src/amd/vulkan/radv_meta_blit.c \
1105 $src_dir/src/amd/vulkan/radv_meta_blit2d.c \
1106 $src_dir/src/amd/vulkan/radv_meta_buffer.c \
1107 $src_dir/src/amd/vulkan/radv_meta_bufimage.c \
1108 $src_dir/src/amd/vulkan/radv_meta_clear.c \
1109 $src_dir/src/amd/vulkan/radv_meta_dcc_retile.c \
1110 $src_dir/src/amd/vulkan/radv_meta_copy.c \
1111 $src_dir/src/amd/vulkan/radv_meta_copy_vrs_htile.c \
1112 $src_dir/src/amd/vulkan/radv_meta_decompress.c \
1113 $src_dir/src/amd/vulkan/radv_meta_etc_decode.c \
1114 $src_dir/src/amd/vulkan/radv_meta_fast_clear.c \
1115 $src_dir/src/amd/vulkan/radv_meta_fmask_copy.c \
1116 $src_dir/src/amd/vulkan/radv_meta_fmask_expand.c \
1117 $src_dir/src/amd/vulkan/radv_meta_resolve.c \
1118 $src_dir/src/amd/vulkan/radv_meta_resolve_cs.c \
1119 $src_dir/src/amd/vulkan/radv_meta_resolve_fs.c \
1120 $src_dir/src/amd/vulkan/radv_nir_apply_pipeline_layout.c \
1121 $src_dir/src/amd/vulkan/radv_nir_lower_abi.c \
1122 $src_dir/src/amd/vulkan/radv_nir_lower_vs_inputs.c \
1123 $src_dir/src/amd/vulkan/radv_nir_lower_ray_queries.c \
1124 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1125 $src_dir/src/amd/vulkan/radv_pipeline.c \
1126 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1127 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1128 $src_dir/src/amd/vulkan/radv_rt_common.c \
1129 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1130 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1131 $src_dir/src/amd/vulkan/radv_shader.c \
1132 $src_dir/src/amd/vulkan/radv_shader_args.c \
1133 $src_dir/src/amd/vulkan/radv_shader_info.c \
1134 $src_dir/src/amd/vulkan/radv_spm.c \
1135 $src_dir/src/amd/vulkan/radv_query.c \
1136 $src_dir/src/amd/vulkan/radv_video.c \
1137 $src_dir/src/amd/vulkan/radv_wsi.c \
1138 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1139 \
1140 $build_dir/gfx10_format_table.c \
1141 \
1142 $build_dir/radv_entrypoints.c \
1143 \
1144 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1145 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1146 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1147 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1148 \
1149 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1150 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1151 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1152 \
1153 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1154 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1155 \
1156 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1157 "
1158
1159 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1160
1161 for f in $libvulkan_amd_common_files
1162 do
1163 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1164 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1165
1166 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1167 done
1168 libvulkan_amd_common_a="\
1169 $libvulkan_amd_common_a \
1170 $build_dir/xmlconfig.o"
1171 #===============================================================================
1172 # create the radeon vulkan driver
1173 soname=libvulkan_radeon.so
1174
1175 # XXX:the attempt to generalize without kludge the link stage of real programs
1176 # build is near a total and complete failure
1177 if test "${driver_link_cmd-unset}" = unset ; then
1178 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1179 -shared -static-libgcc -static-libstdc++ \
1180 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1181 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1182 -Wl,--whole-archive -Wl,--start-group \
1183 $libaco_a \
1184 $libvulkan_amd_common_a \
1185 $libvulkan_util_a \
1186 $libvulkan_runtime_a \
1187 $libvulkan_wsi_a \
1188 $libamd_common_a \
1189 $libamdgpu_addrlib_a \
1190 $libcompiler_a \
1191 $libnir_a \
1192 $libmesautil_a \
1193 -Wl,--end-group -Wl,--no-whole-archive \
1194 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1195 $zlib_ldflags \
1196 $expat_ldflags \
1197 $libelf_ldflags \
1198 -Wl,--as-needed \
1199 $libdrm_ldflags \
1200 $libdrm_amdgpu_ldflags \
1201 $libx11_ldflags \
1202 $libxrandr_ldflags \
1203 $libxrender_ldflags \
1204 $libxcb_ldflags \
1205 $libxshmfence_ldflags \
1206 -lpthread \
1207 -ldl \
1208 -Wl,--no-as-needed"
1209 fi
1210 wait
1211 eval $driver_link_cmd
1212 #===============================================================================
File builders/mesa-vulkan-amd-sh-964323fe97bb0d755c3edf1fbdbaa5ffeaa217ea/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/radv_no_tracers.c deleted (index 507b824..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42 bool radv_sqtt_init(void){return false;}
43 void radv_sqtt_finish(void){}
44
45 /* don't know, but seems related to sqtt thread tracing */
46 bool radv_is_instruction_timing_enabled(void) {return false;}
47
48 void radv_describe_dispatch(void){}
49 void radv_describe_layout_transition(void){}
50 void radv_describe_draw(void){}
51
52 void radv_describe_barrier_start(void){}
53 void radv_describe_barrier_end(void){}
54 void radv_describe_barrier_end_delayed(void){}
55
56 void radv_describe_begin_cmd_buffer(void){}
57 void radv_describe_end_cmd_buffer(void){}
58
59 void radv_describe_begin_render_pass_clear(void){}
60 void radv_describe_end_render_pass_clear(void){}
61 void radv_describe_begin_render_pass_resolve(void){}
62 void radv_describe_end_render_pass_resolve(void){}
63
64
65 /* this actually is related to the currently extremely toxic acceleration structure code */
66 void *radv_acceleration_structure_get_va(void *a)
67 {
68 return 0;
69 }
File builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 00b8cdf..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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_device_memory.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
481 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
482 $src_dir/src/vulkan/runtime/vk_descriptors.c \
483 $src_dir/src/vulkan/runtime/vk_device.c \
484 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
485 $build_dir/vk_dispatch_trampolines.c \
486 $src_dir/src/vulkan/runtime/vk_fence.c \
487 $build_dir/vk_format_info.c \
488 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
489 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
490 $src_dir/src/vulkan/runtime/vk_image.c \
491 $src_dir/src/vulkan/runtime/vk_instance.c \
492 $src_dir/src/vulkan/runtime/vk_log.c \
493 $src_dir/src/vulkan/runtime/vk_nir.c \
494 $src_dir/src/vulkan/runtime/vk_object.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
497 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
498 $src_dir/src/vulkan/runtime/vk_physical_device.c \
499 $build_dir/vk_physical_device_features.c \
500 $src_dir/src/vulkan/runtime/vk_queue.c \
501 $src_dir/src/vulkan/runtime/vk_render_pass.c \
502 $src_dir/src/vulkan/runtime/vk_sampler.c \
503 $src_dir/src/vulkan/runtime/vk_semaphore.c \
504 $src_dir/src/vulkan/runtime/vk_shader_module.c \
505 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
506 $src_dir/src/vulkan/runtime/vk_sync.c \
507 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
508 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
509 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
510 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
511 $src_dir/src/vulkan/runtime/vk_video.c \
512 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
513 "
514 for f in $libvulkan_runtime_files
515 do
516 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
517 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
518
519 $cc $cppflags $f -o $libvulkan_runtime_obj &
520 done
521 #===============================================================================
522 # wsi x11 (Window System Interface)
523 cppflags="\
524 $cppflags_common \
525 -I$build_dir/vulkan/util \
526 -I$build_dir \
527 -I$src_dir/src \
528 -I$src_dir/src/vulkan/util \
529 -I$src_dir/src/vulkan/runtime \
530 -I$src_dir/src/gallium/include \
531 -I$src_dir/include \
532 -I$src_dir/include/drm-uapi \
533 $libxcb_cppflags \
534 $libx11_cppflags \
535 $libxrandr_cppflags \
536 $libxrender_cppflags \
537 $xorgproto_cppflags \
538 $libxshmfence_cppflags \
539 $libdrm_cppflags \
540 "
541 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
542 -o $build_dir/wsi_common.o &
543 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
544 -o $build_dir/wsi_common_drm.o &
545 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
546 -o $build_dir/wsi_common_x11.o &
547 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
548 -o $build_dir/wsi_common_display.o &
549 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
550 -o $build_dir/wsi_common_headless.o &
551 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
552 -o $build_dir/wsi_common_entrypoints.o &
553 libvulkan_wsi_a="\
554 $build_dir/wsi_common.o \
555 $build_dir/wsi_common_drm.o \
556 $build_dir/wsi_common_x11.o \
557 $build_dir/wsi_common_display.o \
558 $build_dir/wsi_common_headless.o \
559 $build_dir/wsi_common_entrypoints.o \
560 "
561 #===============================================================================
562 # amd common archive
563 cppflags="\
564 $cppflags_common \
565 -I$build_dir \
566 -I$src_dir/src/gallium/auxiliary \
567 -I$src_dir/src/gallium/include \
568 -I$build_dir/src/amd/common \
569 -I$src_dir/src/amd/common \
570 -I$src_dir/src/util \
571 -I$build_dir/src/amd \
572 -I$src_dir/src/amd \
573 -I$src_dir/src/compiler/nir \
574 -I$src_dir/src/compiler \
575 -I$src_dir/src/mesa \
576 -I$src_dir/src \
577 -I$src_dir/include \
578 -I$src_dir/include/drm-uapi \
579 $libdrm_cppflags \
580 $libdrm_amdgpu_cppflags \
581 $linux_drm_cppflags \
582 $libelf_cppflags \
583 "
584 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
585 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
586 #$src_dir/src/amd/common/ac_sqtt.c \
587 libamd_common_c_files="\
588 $src_dir/src/amd/common/ac_surface.c \
589 $src_dir/src/amd/common/ac_binary.c \
590 $src_dir/src/amd/common/ac_debug.c \
591 $src_dir/src/amd/common/amd_family.c \
592 $src_dir/src/amd/common/ac_gpu_info.c \
593 $src_dir/src/amd/common/ac_msgpack.c \
594 $src_dir/src/amd/common/ac_nir.c \
595 $src_dir/src/amd/common/ac_nir_cull.c \
596 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
597 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
598 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
599 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
600 $src_dir/src/amd/common/ac_nir_lower_ps.c \
601 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
602 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
603 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
604 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
605 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
606 $src_dir/src/amd/common/ac_perfcounter.c \
607 $src_dir/src/amd/common/ac_shader_args.c \
608 $src_dir/src/amd/common/ac_shader_util.c \
609 $src_dir/src/amd/common/ac_shadowed_regs.c \
610 $src_dir/src/amd/common/ac_rgp.c \
611 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
612 $src_dir/src/amd/common/ac_rtld.c \
613 $src_dir/src/amd/common/ac_spm.c \
614 "
615 for f in $libamd_common_c_files
616 do
617 libamd_common_c_obj=$build_dir/$(basename $f .c).o
618 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
619
620 $cc $cppflags $f -o $libamd_common_c_obj &
621 done
622 #===============================================================================
623 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
624 cppflags="\
625 $cppflags_common \
626 -DLITTLEENDIAN_CPU \
627 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
631 -I$src_dir/src/amd/addrlib/inc \
632 -I$src_dir/src/amd/addrlib/src/core \
633 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/src/chip/r800 \
637 -I$src_dir/src/amd/addrlib/src \
638 -I$src_dir/src \
639 -I$src_dir/include \
640 "
641 libamdgpu_addrlib_files="\
642 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
643 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
644 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
646 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
647 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
648 $src_dir/src/amd/addrlib/src/core/coord.cpp \
649 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
650 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
652 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
653 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
654 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
655 "
656 for f in $libamdgpu_addrlib_files
657 do
658 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
659 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
660
661 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
662 done
663 #===============================================================================
664 # libcompiler required by libnir
665 cppflags="\
666 $cppflags_common \
667 -I$build_dir \
668 -I$src_dir/src/gallium/auxiliary \
669 -I$src_dir/src/gallium/include \
670 -I$src_dir/src/mesa \
671 -I$src_dir/src \
672 -I$src_dir/include \
673 "
674 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
675 -o $build_dir/glsl_types.o &
676 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
677 -o $build_dir/nir_types.o &
678 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
679 -o $build_dir/shader_enums.o &
680 libcompiler_a="\
681 $build_dir/glsl_types.o \
682 $build_dir/nir_types.o \
683 $build_dir/shader_enums.o \
684 "
685 #===============================================================================
686 # libnir
687 cppflags="\
688 $cppflags_common \
689 -I$build_dir \
690 -I$src_dir/src/compiler/spirv \
691 -I$src_dir/src/compiler/nir \
692 -I$src_dir/src/compiler \
693 -I$src_dir/src/gallium/include \
694 -I$src_dir/src/mesa \
695 -I$src_dir/src \
696 -I$src_dir/include \
697 $xorgproto_cppflags \
698 $libxcb_cppflags \
699 $libx11_cppflags \
700 $libxrender_cppflags \
701 $libxrandr_cppflags \
702 "
703 libnir_files="\
704 $build_dir/spirv_info.c \
705 $build_dir/vtn_gather_types.c \
706 $build_dir/nir_intrinsics.c \
707 $build_dir/nir_opcodes.c \
708 $build_dir/nir_opt_algebraic.c \
709 $build_dir/nir_constant_expressions.c \
710 \
711 $src_dir/src/compiler/spirv/gl_spirv.c \
712 $src_dir/src/compiler/spirv/spirv_to_nir.c \
713 $src_dir/src/compiler/spirv/vtn_alu.c \
714 $src_dir/src/compiler/spirv/vtn_amd.c \
715 $src_dir/src/compiler/spirv/vtn_cfg.c \
716 $src_dir/src/compiler/spirv/vtn_glsl450.c \
717 $src_dir/contrib/vtn_opencl.c \
718 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
719 $src_dir/src/compiler/spirv/vtn_subgroup.c \
720 $src_dir/src/compiler/spirv/vtn_variables.c \
721 \
722 $src_dir/src/compiler/nir/nir.c \
723 $src_dir/src/compiler/nir/nir_builder.c \
724 $src_dir/src/compiler/nir/nir_builtin_builder.c \
725 $src_dir/src/compiler/nir/nir_clone.c \
726 $src_dir/src/compiler/nir/nir_control_flow.c \
727 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
728 $src_dir/src/compiler/nir/nir_deref.c \
729 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
730 $src_dir/src/compiler/nir/nir_dominance.c \
731 $src_dir/src/compiler/nir/nir_from_ssa.c \
732 $src_dir/src/compiler/nir/nir_gather_info.c \
733 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
734 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
735 $src_dir/src/compiler/nir/nir_group_loads.c \
736 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
737 $src_dir/src/compiler/nir/nir_inline_functions.c \
738 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
739 $src_dir/src/compiler/nir/nir_instr_set.c \
740 $src_dir/src/compiler/nir/nir_linking_helpers.c \
741 $src_dir/src/compiler/nir/nir_liveness.c \
742 $src_dir/src/compiler/nir/nir_loop_analyze.c \
743 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
744 $src_dir/src/compiler/nir/nir_lower_alu.c \
745 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
746 $src_dir/src/compiler/nir/nir_lower_amul.c \
747 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
748 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
749 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
750 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
751 $src_dir/src/compiler/nir/nir_lower_blend.c \
752 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
753 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
754 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
755 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
756 $src_dir/src/compiler/nir/nir_lower_clip.c \
757 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
758 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
759 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
760 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
761 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
762 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
763 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
764 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
765 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
766 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
767 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
768 $src_dir/src/compiler/nir/nir_lower_flrp.c \
769 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
770 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
771 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
772 $src_dir/src/compiler/nir/nir_lower_frexp.c \
773 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
774 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
775 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
776 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
777 $src_dir/src/compiler/nir/nir_lower_idiv.c \
778 $src_dir/src/compiler/nir/nir_lower_image.c \
779 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
780 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
781 $src_dir/src/compiler/nir/nir_lower_int64.c \
782 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
783 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
784 $src_dir/src/compiler/nir/nir_lower_io.c \
785 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
786 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
787 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
788 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
789 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
790 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
791 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
792 $src_dir/src/compiler/nir/nir_lower_mediump.c \
793 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
794 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
795 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
796 $src_dir/src/compiler/nir/nir_lower_multiview.c \
797 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
798 $src_dir/src/compiler/nir/nir_lower_packing.c \
799 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
800 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
801 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
802 $src_dir/src/compiler/nir/nir_lower_point_size.c \
803 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
804 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
805 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
806 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
807 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
808 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
809 $src_dir/src/compiler/nir/nir_lower_returns.c \
810 $src_dir/src/compiler/nir/nir_lower_samplers.c \
811 $src_dir/src/compiler/nir/nir_lower_scratch.c \
812 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
813 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
814 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
815 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
816 $src_dir/src/compiler/nir/nir_lower_system_values.c \
817 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
818 $src_dir/src/compiler/nir/nir_lower_tex.c \
819 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
820 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
821 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
822 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
823 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
824 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
825 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
826 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
827 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
828 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
829 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
830 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
831 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
832 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
833 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
834 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
835 $src_dir/src/compiler/nir/nir_metadata.c \
836 $src_dir/src/compiler/nir/nir_mod_analysis.c \
837 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
838 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
839 $src_dir/src/compiler/nir/nir_opt_access.c \
840 $src_dir/src/compiler/nir/nir_opt_barriers.c \
841 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
842 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
843 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
844 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
845 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
846 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
847 $src_dir/src/compiler/nir/nir_opt_cse.c \
848 $src_dir/src/compiler/nir/nir_opt_dce.c \
849 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
850 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
851 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
852 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
853 $src_dir/src/compiler/nir/nir_opt_gcm.c \
854 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
855 $src_dir/src/compiler/nir/nir_opt_if.c \
856 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
857 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
858 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
859 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
860 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
861 $src_dir/src/compiler/nir/nir_opt_move.c \
862 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
863 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
864 $src_dir/src/compiler/nir/nir_opt_offsets.c \
865 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
866 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
867 $src_dir/src/compiler/nir/nir_opt_preamble.c \
868 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
869 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
870 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
871 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
872 $src_dir/src/compiler/nir/nir_opt_sink.c \
873 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
874 $src_dir/src/compiler/nir/nir_opt_undef.c \
875 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
876 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
877 $src_dir/src/compiler/nir/nir_phi_builder.c \
878 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
879 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
880 $src_dir/src/compiler/nir/nir_print.c \
881 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
882 $src_dir/src/compiler/nir/nir_range_analysis.c \
883 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
884 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
885 $src_dir/src/compiler/nir/nir_repair_ssa.c \
886 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
887 $src_dir/src/compiler/nir/nir_schedule.c \
888 $src_dir/src/compiler/nir/nir_search.c \
889 $src_dir/src/compiler/nir/nir_serialize.c \
890 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
891 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
892 $src_dir/src/compiler/nir/nir_split_var_copies.c \
893 $src_dir/src/compiler/nir/nir_split_vars.c \
894 $src_dir/src/compiler/nir/nir_sweep.c \
895 $src_dir/src/compiler/nir/nir_to_lcssa.c \
896 $src_dir/src/compiler/nir/nir_validate.c \
897 $src_dir/src/compiler/nir/nir_worklist.c \
898 "
899 for f in $libnir_files
900 do
901 libnir_obj=$build_dir/$(basename $f .c).o
902 libnir_a="$libnir_a $libnir_obj"
903
904 $cc $cppflags $f -o $libnir_obj &
905 done
906 #===============================================================================
907 # libaco
908 # we don't use cppflags_common for aco because the code is not yet
909 # compatible
910 cppflags="\
911 $gcc_builtins_cppflags \
912 $gcc_attributes_cppflags \
913 $linux_glibc_cppflags \
914 $mesa_cppflags \
915 -I$build_dir \
916 -I$src_dir/src/amd/compiler \
917 -I$src_dir/src/amd/vulkan \
918 -I$build_dir/src/amd/common \
919 -I$src_dir/src/amd/common \
920 -I$build_dir/src/amd \
921 -I$src_dir/src/amd \
922 -I$src_dir/src/compiler/nir \
923 -I$src_dir/src/compiler \
924 -I$src_dir/src/mesa \
925 -I$src_dir/src/gallium/include \
926 -I$src_dir/src \
927 -I$src_dir/include \
928 "
929 libaco_files="\
930 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
931 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
932 $src_dir/src/amd/compiler/aco_dominance.cpp \
933 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
934 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
935 $src_dir/src/amd/compiler/aco_interface.cpp \
936 $src_dir/src/amd/compiler/aco_assembler.cpp \
937 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
938 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
939 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
940 $src_dir/src/amd/compiler/aco_ir.cpp \
941 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
942 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
943 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
944 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
945 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
946 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
947 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
948 $build_dir/aco_opcodes.cpp \
949 $src_dir/src/amd/compiler/aco_optimizer.cpp \
950 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
951 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
952 $src_dir/src/amd/compiler/aco_print_asm.cpp \
953 $src_dir/src/amd/compiler/aco_print_ir.cpp \
954 $src_dir/src/amd/compiler/aco_scheduler.cpp \
955 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
956 $src_dir/src/amd/compiler/aco_spill.cpp \
957 $src_dir/src/amd/compiler/aco_statistics.cpp \
958 $src_dir/src/amd/compiler/aco_validate.cpp \
959 "
960 for f in $libaco_files
961 do
962 libaco_obj=$build_dir/$(basename $f .c).o
963 libaco_a="$libaco_a $libaco_obj"
964
965 $cxx $cppflags $f -o $libaco_obj &
966 done
967 #===============================================================================
968 # libmesautils
969 cppflags="\
970 $cppflags_common \
971 -I$build_dir/src/util/format \
972 -I$build_dir/src \
973 -I$build_dir \
974 -I$src_dir/src/gallium/auxiliary \
975 -I$src_dir/src/gallium/include \
976 -I$src_dir/src/mesa \
977 -I$src_dir/src/util/format \
978 -I$src_dir/src/util \
979 -I$src_dir/src \
980 -I$src_dir/include \
981 $zlib_cppflags \
982 "
983 libmesautil_files="\
984 $build_dir/format_srgb.c \
985 $build_dir/u_format_table.c \
986 $src_dir/src/util/anon_file.c \
987 $src_dir/src/util/bitscan.c \
988 $src_dir/src/util/blob.c \
989 $src_dir/src/util/build_id.c \
990 $src_dir/src/util/compress.c \
991 $src_dir/src/util/crc32.c \
992 $src_dir/src/util/dag.c \
993 $src_dir/src/util/disk_cache.c \
994 $src_dir/src/util/disk_cache_os.c \
995 $src_dir/src/util/double.c \
996 $src_dir/src/util/fast_idiv_by_const.c \
997 $src_dir/src/util/fossilize_db.c \
998 $src_dir/src/util/futex.c \
999 $src_dir/src/util/half_float.c \
1000 $src_dir/src/util/hash_table.c \
1001 $src_dir/src/util/log.c \
1002 $src_dir/src/util/mesa-sha1.c \
1003 $src_dir/src/util/mesa_cache_db.c \
1004 $src_dir/src/util/mesa_cache_db_multipart.c \
1005 $src_dir/src/util/memstream.c \
1006 $src_dir/src/util/os_file.c \
1007 $src_dir/src/util/os_memory_fd.c \
1008 $src_dir/src/util/os_misc.c \
1009 $src_dir/src/util/os_socket.c \
1010 $src_dir/src/util/os_time.c \
1011 $src_dir/src/util/sha1/sha1.c \
1012 $src_dir/src/util/ralloc.c \
1013 $src_dir/src/util/rand_xor.c \
1014 $src_dir/src/util/rb_tree.c \
1015 $src_dir/src/util/register_allocate.c \
1016 $src_dir/src/util/rgtc.c \
1017 $src_dir/src/util/rwlock.c \
1018 $src_dir/src/util/set.c \
1019 $src_dir/src/util/simple_mtx.c \
1020 $src_dir/src/util/slab.c \
1021 $src_dir/src/util/softfloat.c \
1022 $src_dir/src/util/sparse_array.c \
1023 $src_dir/src/util/string_buffer.c \
1024 $src_dir/src/util/strtod.c \
1025 $src_dir/src/util/u_atomic.c \
1026 $src_dir/src/util/u_call_once.c \
1027 $src_dir/src/util/u_cpu_detect.c \
1028 $src_dir/src/util/u_debug.c \
1029 $src_dir/src/util/u_debug_describe.c \
1030 $src_dir/src/util/u_debug_refcnt.c \
1031 $src_dir/src/util/u_debug_stack.c \
1032 $src_dir/src/util/u_debug_symbol.c \
1033 $src_dir/src/util/u_dl.c \
1034 $src_dir/src/util/u_hash_table.c \
1035 $src_dir/src/util/u_printf.c \
1036 $src_dir/src/util/format/u_format.c \
1037 $src_dir/src/util/format/u_format_bptc.c \
1038 $src_dir/src/util/format/u_format_etc.c \
1039 $src_dir/src/util/format/u_format_fxt1.c \
1040 $src_dir/src/util/format/u_format_latc.c \
1041 $src_dir/src/util/format/u_format_other.c \
1042 $src_dir/src/util/format/u_format_rgtc.c \
1043 $src_dir/src/util/format/u_format_s3tc.c \
1044 $src_dir/src/util/format/u_format_tests.c \
1045 $src_dir/src/util/format/u_format_yuv.c \
1046 $src_dir/src/util/format/u_format_zs.c \
1047 $src_dir/src/util/u_idalloc.c \
1048 $src_dir/src/util/u_math.c \
1049 $src_dir/src/util/u_mm.c \
1050 $src_dir/src/util/u_process.c \
1051 $src_dir/src/util/u_queue.c \
1052 $src_dir/src/util/u_thread.c \
1053 $src_dir/src/util/u_vector.c \
1054 $src_dir/src/util/u_worklist.c \
1055 $src_dir/src/util/vma.c \
1056 \
1057 $src_dir/src/c11/impl/time.c \
1058 $src_dir/src/c11/impl/threads_posix.c \
1059 "
1060 for f in $libmesautil_files
1061 do
1062 libmesautil_obj=$build_dir/$(basename $f .c).o
1063 libmesautil_a="$libmesautil_a $libmesautil_obj"
1064
1065 $cc $cppflags $f -o $libmesautil_obj &
1066 done
1067 #===============================================================================
1068 # amd vulkan
1069 cppflags="\
1070 $cppflags_common \
1071 -DPACKAGE_VERSION=\"$version\" \
1072 -I$build_dir/vulkan/util \
1073 -I$build_dir/src/util \
1074 -I$build_dir \
1075 -I$src_dir/src/amd/compiler \
1076 -I$build_dir/src/amd/common \
1077 -I$src_dir/src/amd/common \
1078 -I$src_dir/src/amd/vulkan/nir \
1079 -I$src_dir/src/amd/vulkan/meta \
1080 -I$src_dir/src/amd/vulkan \
1081 -I$src_dir/src/amd \
1082 -I$src_dir/src/gallium/auxiliary \
1083 -I$src_dir/src/gallium/include \
1084 -I$src_dir/src/vulkan/util \
1085 -I$src_dir/src/vulkan/runtime \
1086 -I$src_dir/src/vulkan/wsi \
1087 -I$src_dir/src/util \
1088 -I$src_dir/src/mesa \
1089 -I$src_dir/src/compiler/nir \
1090 -I$src_dir/src/compiler \
1091 -I$src_dir/src \
1092 -I$src_dir/include \
1093 $libdrm_cppflags \
1094 $libdrm_amdgpu_cppflags \
1095 $libx11_cppflags \
1096 $libxrandr_cppflags \
1097 $libxrender_cppflags \
1098 $libxcb_cppflags \
1099 $xorgproto_cppflags \
1100 $libxshmfence_cppflags \
1101 "
1102 #$build_dir/radv_extensions.c
1103 #$build_dir/vk_format_table.c
1104 # XXX: remove rt for now
1105 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1106 libvulkan_amd_common_files="\
1107 $src_dir/src/amd/vulkan/radv_android.c \
1108 $src_dir/src/amd/vulkan/radv_buffer.c \
1109 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1110 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1111 $src_dir/src/amd/vulkan/radv_debug.c \
1112 $build_dir/src/amd/vulkan/radv_device.c \
1113 $src_dir/src/amd/vulkan/radv_device_memory.c \
1114 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1115 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1116 $src_dir/src/amd/vulkan/radv_event.c \
1117 $src_dir/src/amd/vulkan/radv_formats.c \
1118 $src_dir/src/amd/vulkan/radv_image.c \
1119 $src_dir/src/amd/vulkan/radv_instance.c \
1120 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1121 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1122 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1123 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1124 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1125 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1126 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1127 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1128 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1129 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1130 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1131 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1132 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1133 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1134 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1135 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1136 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1137 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1138 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1139 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1140 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1141 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1142 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1143 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1144 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1145 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1146 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1147 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1148 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1149 $src_dir/src/amd/vulkan/radv_physical_device.c \
1150 $src_dir/src/amd/vulkan/radv_pipeline.c \
1151 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1152 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1153 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1154 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1155 $src_dir/src/amd/vulkan/radv_queue.c \
1156 $src_dir/src/amd/vulkan/radv_rt_common.c \
1157 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1158 $src_dir/src/amd/vulkan/radv_sampler.c \
1159 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1160 $src_dir/src/amd/vulkan/radv_shader.c \
1161 $src_dir/src/amd/vulkan/radv_shader_args.c \
1162 $src_dir/src/amd/vulkan/radv_shader_info.c \
1163 $src_dir/src/amd/vulkan/radv_spm.c \
1164 $src_dir/src/amd/vulkan/radv_query.c \
1165 $src_dir/src/amd/vulkan/radv_video.c \
1166 $src_dir/src/amd/vulkan/radv_wsi.c \
1167 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1168 \
1169 $build_dir/gfx10_format_table.c \
1170 \
1171 $build_dir/radv_entrypoints.c \
1172 \
1173 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1174 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1175 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1176 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1177 \
1178 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1179 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1180 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1181 \
1182 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1183 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1184 \
1185 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1186 "
1187
1188 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1189
1190 for f in $libvulkan_amd_common_files
1191 do
1192 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1193 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1194
1195 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1196 done
1197 libvulkan_amd_common_a="\
1198 $libvulkan_amd_common_a \
1199 $build_dir/xmlconfig.o"
1200 #===============================================================================
1201 # create the radeon vulkan driver
1202 soname=libvulkan_radeon.so
1203
1204 # XXX:the attempt to generalize without kludge the link stage of real programs
1205 # build is near a total and complete failure
1206 if test "${driver_link_cmd-unset}" = unset ; then
1207 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1208 -shared -static-libgcc -static-libstdc++ \
1209 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1210 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1211 -Wl,--whole-archive -Wl,--start-group \
1212 $libaco_a \
1213 $libvulkan_amd_common_a \
1214 $libvulkan_util_a \
1215 $libvulkan_runtime_a \
1216 $libvulkan_wsi_a \
1217 $libamd_common_a \
1218 $libamdgpu_addrlib_a \
1219 $libcompiler_a \
1220 $libnir_a \
1221 $libmesautil_a \
1222 -Wl,--end-group -Wl,--no-whole-archive \
1223 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1224 $zlib_ldflags \
1225 $expat_ldflags \
1226 $libelf_ldflags \
1227 -Wl,--as-needed \
1228 $libdrm_ldflags \
1229 $libdrm_amdgpu_ldflags \
1230 $libx11_ldflags \
1231 $libxrandr_ldflags \
1232 $libxrender_ldflags \
1233 $libxcb_ldflags \
1234 $libxshmfence_ldflags \
1235 -lpthread \
1236 -ldl \
1237 -Wl,--no-as-needed"
1238 fi
1239 wait
1240 eval $driver_link_cmd
1241 #===============================================================================
File builders/mesa-vulkan-amd-sh-a0b1aa6f00e6f811e56c4f1c024af937bbebfd09/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-b73b70157966914ccecffceab3a70a1e942f798e/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-b73b70157966914ccecffceab3a70a1e942f798e/contrib/generators.sh deleted (index 526b3bf..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
16 cp -f $src_dir/src/amd/vulkan/radv_meta.c $build_dir/src/amd/vulkan
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 --xml $vulkan_api_xml \
27 --outdir $build_dir
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
32 mkdir -p $build_dir/vulkan/util
33 mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util &
34
35 $python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
36 --xml $vulkan_api_xml \
37 --out-c vk_dispatch_table.c \
38 --out-h $build_dir/vulkan/util/vk_dispatch_table.h &
39 $python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
40 --xml $vulkan_api_xml \
41 --out-c vk_extensions.c \
42 --out-h vk_extensions.h &
43
44 $python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
45 >$build_dir/nir_builder_opcodes.h &
46
47 $python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
48 >$build_dir/nir_opcodes.h &
49
50 $python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
51 --outdir $build_dir &
52
53 $python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
54 --outdir $build_dir &
55 unset PYTHONPATH
56 #===============================================================================
57 # vulkan runtime
58 export PYTHONPATH=$mako
59 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
60 --xml $vulkan_api_xml \
61 --proto --weak \
62 --out-h vk_common_entrypoints.h \
63 --out-c vk_common_entrypoints.c \
64 --prefix vk_common &
65 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
66 --xml $vulkan_api_xml \
67 --proto --weak \
68 --out-h vk_cmd_enqueue_entrypoints.h \
69 --out-c vk_cmd_enqueue_entrypoints.c \
70 --prefix vk_cmd_enqueue &
71 $python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
72 --xml $vulkan_api_xml \
73 --out-h vk_cmd_queue.h \
74 --out-c vk_cmd_queue.c &
75 $python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
76 --xml $vulkan_api_xml \
77 --out-h vk_dispatch_trampolines.h \
78 --out-c vk_dispatch_trampolines.c &
79 $python3 $src_dir/src/vulkan/util/vk_physical_device_features.py \
80 --xml $vulkan_api_xml \
81 --out-c vk_physical_device_features.c &
82 $python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
83 --xml $vulkan_api_xml \
84 --out-h vk_format_info.h \
85 --out-c vk_format_info.c &
86 unset PYTHONPATH
87 #===============================================================================
88 # wsi x11 (Window System Interface)
89 export PYTHONPATH=$mako
90 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
91 --xml $vulkan_api_xml \
92 --proto --weak \
93 --out-h wsi_common_entrypoints.h \
94 --out-c wsi_common_entrypoints.c \
95 --prefix wsi &
96 unset PYTHONPATH
97 #===============================================================================
98 # amd common archive
99 $python3 $src_dir/src/amd/common/sid_tables.py \
100 $src_dir/src/amd/common/sid.h \
101 $src_dir/src/amd/registers/gfx6.json \
102 $src_dir/src/amd/registers/gfx7.json \
103 $src_dir/src/amd/registers/gfx8.json \
104 $src_dir/src/amd/registers/gfx81.json \
105 $src_dir/src/amd/registers/gfx9.json \
106 $src_dir/src/amd/registers/gfx10.json \
107 $src_dir/src/amd/registers/gfx10-rsrc.json \
108 $src_dir/src/amd/registers/gfx103.json \
109 $src_dir/src/amd/registers/gfx11.json \
110 $src_dir/src/amd/registers/gfx11-rsrc.json \
111 $src_dir/src/amd/registers/pkt3.json \
112 $src_dir/src/amd/registers/registers-manually-defined.json \
113 >$build_dir/sid_tables.h &
114 mkdir -p $build_dir/src/amd/common
115 $python3 $src_dir/src/amd/registers/makeregheader.py \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx10.json \
122 $src_dir/src/amd/registers/gfx10-rsrc.json \
123 $src_dir/src/amd/registers/gfx11.json \
124 $src_dir/src/amd/registers/gfx11-rsrc.json \
125 $src_dir/src/amd/registers/gfx103.json \
126 $src_dir/src/amd/registers/pkt3.json \
127 $src_dir/src/amd/registers/registers-manually-defined.json \
128 --sort address \
129 --guard AMDGFXREGS_H \
130 >$build_dir/src/amd/common/amdgfxregs.h &
131 #===============================================================================
132 # libcompiler required by libnir
133 export PYTHONPATH=$mako
134 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
135 >$build_dir/ir_expression_operation.h &
136 unset PYTHONPATH
137 #===============================================================================
138 # libnir
139 export PYTHONPATH=$mako
140 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
141 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
142 $build_dir/spirv_info.c &
143
144 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
145 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
146 $build_dir/vtn_gather_types.c &
147
148 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
149 $src_dir/src/compiler/spirv/spir-v.xml \
150 $build_dir/vtn_generator_ids.h &
151 # nir generated files
152 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
153 >$build_dir/nir_constant_expressions.c &
154
155 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
156 >$build_dir/nir_opt_algebraic.c &
157
158 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
159 >$build_dir/nir_opcodes.c &
160
161 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
162 --outdir $build_dir &
163 unset PYTHONPATH
164 #===============================================================================
165 # libaco
166 export PYTHONPATH=$mako
167 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
168 >$build_dir/aco_opcodes.h &
169 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
170 >$build_dir/aco_opcodes.cpp &
171 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
172 >$build_dir/aco_builder.h &
173 unset PYTHONPATH
174 #===============================================================================
175 # libmesautils
176 mkdir -p $build_dir/src/util
177
178 export PYTHONPATH=$mako
179 $python3 $src_dir/src/util/format_srgb.py \
180 >$build_dir/format_srgb.c
181
182 $python3 $src_dir/src/util/format/u_format_table.py \
183 $src_dir/src/util/format/u_format.csv \
184 >$build_dir/u_format_table.c
185
186 # wow, really?
187 mkdir -p $build_dir/src/util/format
188 $python3 $src_dir/src/util/format/u_format_table.py \
189 --header \
190 $src_dir/src/util/format/u_format.csv \
191 >$build_dir/src/util/format/u_format_pack.h
192
193 # oooof!
194 $python3 $src_dir/src/util/driconf_static.py \
195 $src_dir/src/util/00-mesa-defaults.conf \
196 $build_dir/src/util/driconf_static.h
197 unset PYTHONPATH
198 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
199 #===============================================================================
200 # amd vulkan
201 export PYTHONPATH=$mako
202 #------------------------------------------------------------------------------
203 # specific API to work around _still maintained at the time of writing _ game
204 # executable... this is the beginning of the end...
205 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
206 --xml $vulkan_api_xml \
207 --proto --weak \
208 --out-h radv_entrypoints.h \
209 --out-c radv_entrypoints.c \
210 --prefix radv \
211 --device-prefix metro_exodus \
212 --device-prefix rage2 &
213 #------------------------------------------------------------------------------
214 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
215 # --xml $vulkan_api_xml \
216 # --out-c radv_extensions.c \
217 # --out-h radv_extensions.h &
218 #------------------------------------------------------------------------------
219 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
220 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
221 # >$build_dir/vk_format_table.c &
222 #------------------------------------------------------------------------------
223 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
224 $src_dir/src/util/format/u_format.csv \
225 $src_dir/src/amd/registers/gfx10-rsrc.json \
226 $src_dir/src/amd/registers/gfx11-rsrc.json \
227 >$build_dir/gfx10_format_table.c &
228 #------------------------------------------------------------------------------
229 git_sha1=no_git_sha1_available
230 if test -d $src_dir/.git; then
231 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
232 fi
233 echo git_sha1=$git_sha1
234 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
235 unset PYTHONPATH
236 #===============================================================================
File builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_device.c.patch deleted (index 7cd2727..0000000)
1 --- a/src/amd/vulkan/radv_device.c
2 +++ b/src/amd/vulkan/radv_device.c
3 @@ -90,6 +90,10 @@ typedef void *drmDevicePtr;
4 #define CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC_FAST
5 #endif
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 VkResult radv_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission);
12
13 static void
File builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_meta.c.patch deleted (index ac6777c..0000000)
1 --- a/src/amd/vulkan/radv_meta.c
2 +++ b/src/amd/vulkan/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-b73b70157966914ccecffceab3a70a1e942f798e/contrib/radv_no_tracers.c deleted (index 225f129..0000000)
1 #include <stdbool.h>
2
3 /* memory tracing */
4 void radv_rmv_log_bo_allocate(void){}
5 void radv_rmv_log_bo_destroy(void){}
6 void radv_rmv_log_border_color_palette_create(void){}
7 void radv_rmv_log_border_color_palette_destroy(void){}
8 void radv_rmv_log_buffer_bind(void){}
9 void radv_rmv_log_command_buffer_bo_create(void){}
10 void radv_rmv_log_command_buffer_bo_destroy(void){}
11 void radv_rmv_log_compute_pipeline_create(void){}
12 void radv_rmv_log_descriptor_pool_create(void){}
13 void radv_rmv_log_event_create(void){}
14 void radv_rmv_log_graphics_pipeline_create(void){}
15 void radv_rmv_log_heap_create(void){}
16 void radv_rmv_log_image_bind(void){}
17 void radv_rmv_log_image_create(void){}
18 void radv_rmv_log_query_pool_create(void){}
19 void radv_rmv_log_resource_destroy(void){}
20 void radv_rmv_log_sparse_add_residency(void){}
21 void radv_rmv_log_sparse_remove_residency(void){}
22 void radv_rmv_log_submit(void){}
23 void radv_rmv_fill_device_info(void){}
24 void radv_memory_trace_init(void){}
25 void radv_memory_trace_finish(void){}
26 void vk_memory_trace_init(void){}
27 void vk_memory_trace_finish(void){}
28 void vk_rmv_log_buffer_create(void){}
29 void vk_rmv_log_cpu_map(void){}
30
31 /* raytracing tracing abomination */
32 bool radv_rra_trace_enabled(void) {return false;}
33 void radv_rra_trace_init(void){}
34 void radv_rra_trace_finish(void){}
35
36 /* sqtt thread tracing */
37 void radv_thread_trace_init(void){}
38 void radv_thread_trace_finish(void){}
39 void radv_emit_inhibit_clockgating(void){}
40 void radv_emit_spi_config_cntl(void){}
41 void radv_sqtt_emit_relocated_shaders(void){}
42
43 /* don't know, but seems related to sqtt thread tracing */
44 bool radv_is_instruction_timing_enabled(void) {return false;}
45
46 void radv_describe_dispatch(void){}
47 void radv_describe_layout_transition(void){}
48 void radv_describe_draw(void){}
49
50 void radv_describe_barrier_start(void){}
51 void radv_describe_barrier_end(void){}
52 void radv_describe_barrier_end_delayed(void){}
53
54 void radv_describe_begin_cmd_buffer(void){}
55 void radv_describe_end_cmd_buffer(void){}
56
57 void radv_describe_begin_render_pass_clear(void){}
58 void radv_describe_end_render_pass_clear(void){}
59 void radv_describe_begin_render_pass_resolve(void){}
60 void radv_describe_end_render_pass_resolve(void){}
61
62
63 /* this actually is related to the currently extremely toxic acceleration structure code */
64 void *radv_acceleration_structure_get_va(void *a)
65 {
66 return 0;
67 }
File builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/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-b73b70157966914ccecffceab3a70a1e942f798e/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-b73b70157966914ccecffceab3a70a1e942f798e/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-b73b70157966914ccecffceab3a70a1e942f798e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index a551092..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/python3/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 "${ar-unset}" = unset; then
75 ar='ar rcs'
76 fi
77
78 # XXX:All definitions are mesa specific, except when explicitely defined
79 # otherwise
80 # _GNU_SOURCE:
81 # glibc specific to enable all glibc extension:
82 # - HAVE_DL_ITERATE_PHDR is a GNU extension
83 # NDEBUG:
84 # turn off the debug code paths
85 # HAVE_NO_AUTOCONF:
86 # enable some definitions which were generated only by the GNU autotools
87 # in include/c99_compat.h, many gcc builtins and posix.
88 # that some macros defined there are used without the inclusion of
89 # c99_compat.h, hence must be manually provided
90 # USE_GCC_ATOMIC_BUILTINS
91 # enable the use of gcc built-ins for atomic operations in
92 # src/util/u_atomic.h
93 # HAVE_DLADDR:
94 # glibc dladdr mandatory for disk cache in utils
95 # HAVE_STRTOF:
96 # glibc provides strtof function, used in src/util/strtod.c
97 # HAVE_TIMESPEC_GET:
98 # glibc provides the timespec get function, used in threading
99 # HAVE_STRTOD_L:
100 # glibc provides strtod_l function, used in src/util/strtod.c
101 # HAVE_DL_ITERATE_PHDR:
102 # glibc provides the GNU extension dl_interate_phdr support with the
103 # _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc]
104 # HAVE_DLFCN_H:
105 # autoconf macro switch for dlfcn.h, used for shader disk cache
106 # timestamp
107 # MAJOR_IN_SYSMACROS=1, is now used in vulkan
108 # HAVE_LINUX_FUTEX_H:
109 # enable the linux futex syscall support code (using the glibc syscall
110 # function in many src/util headers
111 # HAVE_DRI3_MODIFIERS:
112 # mesa vulkan on x11 depends on dri3, this enable latest dri3 features
113 # ENABLE_SHADER_CACHE:
114 # do enable the shader cache in the src/util/disk_cache.[hc]
115 # HAVE_FUNC_ATTRIBUTE_CONST=1:
116 # enable gcc attribute in src/util/macros.h
117 # HAVE_FUNC_ATTRIBUTE_MALLOC=1:
118 # enable gcc attribute in src/util/macros.h
119 # HAVE_FUNC_ATTRIBUTE_PURE=1:
120 # enable gcc attribute in src/util/macros.h (and intel compiler)
121 # HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1:
122 # enable gcc attribute in src/util/macros.h
123 # HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1:
124 # enable gcc attribute in src/util/macros.h
125 # HAVE_FUNC_ATTRIBUTE_WEAK=1:
126 # enable gcc attribute for atomic in src/util.c and thread emulation
127 # HAVE_ENDIAN_H=1:
128 # autoconf macro for the endian.h header used in src/util/u_endian.h
129 # HAVE_FLOCK=1:
130 # autoconf macro for src/util/disk_cache_os.c
131 # VK_USE_PLATFORM_XCB_KHR:
132 # vulkan macro enabling x11/xcb platform support, linked to
133 # VK_USE_PLATFORM_XLIB_KHR in the code
134 # VK_USE_PLATFORM_XLIB_KHR:
135 # vulkan macro enabling x11/xlib platform support, linked to
136 # VK_USE_PLATFORM_XCB_KHR in the code
137 # VK_USE_PLATFORM_XLIB_XRANDR_EXT:
138 # xrandr stuff for vulkan
139 #
140 # XXX: removed macros which seem not to be related
141 # - HAVE_X11_PLATFORM: gallium video layer (vl), and egl
142 # - HAVE_SURFACELESS_PLATFORM: egl, egl dri2
143 # - HAVE_DRM_PLATFORM: egl, egl dri2
144 # - HAVE_DRI3: egl dri2, glx, gallium video layer
145 # - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere
146 # - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used
147 # nowhere
148 # - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere
149 # - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere
150 # - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere
151 # - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere
152 # - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere
153 # - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere
154 # - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the
155 # old svga gallium driver
156 # - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel
157 # program lexer
158 # - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF
159 # but seems to be used directly in glx and glapi
160 # - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute
161 # only in mapi entry headers
162 # - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere
163 # - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere
164 # - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo
165 # - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan
166 # parts
167 # - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri
168 # software rasterizer
169 # - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform
170 # - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan
171 # only) usingt the glibc syscall function
172
173 gcc_builtins_cppflags="\
174 -DHAVE___BUILTIN_BSWAP32=1 \
175 -DHAVE___BUILTIN_BSWAP64=1 \
176 -DHAVE___BUILTIN_CLZ=1 \
177 -DHAVE___BUILTIN_CLZLL=1 \
178 -DHAVE___BUILTIN_CTZ=1 \
179 -DHAVE___BUILTIN_EXPECT=1 \
180 -DHAVE___BUILTIN_FFS=1 \
181 -DHAVE___BUILTIN_FFSLL=1 \
182 -DHAVE___BUILTIN_POPCOUNT=1 \
183 -DHAVE___BUILTIN_POPCOUNTLL=1 \
184 -DHAVE___BUILTIN_UNREACHABLE=1 \
185 -DUSE_GCC_ATOMIC_BUILTINS=1 \
186 "
187
188 gcc_attributes_cppflags="\
189 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
190 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
191 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
192 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
193 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
194 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
195 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
196 \
197 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
198 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
199 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
200 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
201 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
202 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
203 -DHAVE_FUNC_ATTRIBUTE_UINT128=1 \
204 "
205
206 linux_glibc_cppflags="\
207 -D_GNU_SOURCE=1 \
208 -DHAVE_PTHREAD \
209 -DHAVE_PTHREAD_SETAFFINITY \
210 -DHAVE_POSIX_MEMALIGN \
211 -DHAVE_STRTOF \
212 -DHAVE_TIMESPEC_GET \
213 -DHAVE_STRTOD_L \
214 -DHAVE_DLFCN_H \
215 -DHAVE_DL_ITERATE_PHDR \
216 -DHAVE_LINUX_FUTEX_H \
217 -DHAVE_ENDIAN_H=1 \
218 -DHAVE_PROGRAM_INVOCATION_NAME=1 \
219 -DHAVE_DLADDR=1 \
220 -DHAVE_FLOCK=1 \
221 -DMAJOR_IN_SYSMACROS=1 \
222 -DHAVE_TIMESPEC_GET=1 \
223 -DHAVE_STRUCT_TIMESPEC=1 \
224 -DALLOW_KCMP \
225 "
226 mesa_cppflags="\
227 -DNDEBUG \
228 -DHAVE_DRI3_MODIFIERS \
229 -DENABLE_SHADER_CACHE \
230 -DHAVE_COMPRESSION \
231 "
232
233 mesa_vulkan_cppflags="\
234 -DVK_USE_PLATFORM_DISPLAY_KHR \
235 -DVK_USE_PLATFORM_XCB_KHR \
236 -DVK_USE_PLATFORM_XLIB_KHR \
237 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
238 \
239 -DVIDEO_CODEC_H265DEC=0 \
240 -DVIDEO_CODEC_H264DEC=0 \
241 "
242
243 cppflags_common="\
244 $gcc_builtins_cppflags \
245 $gcc_attributes_cppflags \
246 $linux_glibc_cppflags \
247 $mesa_cppflags \
248 $mesa_vulkan_cppflags \
249 "
250 #===============================================================================
251 # expat
252 if test "${expat_cppflags-unset}" = unset; then
253 expat_cppflags='-I/nyan/expat/current/include'
254 fi
255 if test "${expat_archives-unset}" = unset; then
256 expat_archives=libexpat.a
257 fi
258 if test "${expat_ldflags-unset}" = unset; then
259 expat_ldflags="/nyan/expat/current/lib/$expat_archives"
260 fi
261 #===============================================================================
262 if test "${libxau_cppflags-unset}" = unset; then
263 libxau_cppflags='-I/nyan/libXau/current/include'
264 fi
265 #===============================================================================
266 if test "${libxcb_cppflags-unset}" = unset; then
267 libxcb_cppflags='-I/nyan/libxcb/current/include'
268 fi
269
270 if test "${libxcb_ldflags-unset}" = unset; then
271 libxcb_ldflags="\
272 /nyan/libxcb/current/lib/libxcb-xtest.so \
273 /nyan/libxcb/current/lib/libxcb-damage.so \
274 /nyan/libxcb/current/lib/libxcb-xfixes.so \
275 /nyan/libxcb/current/lib/libxcb-xvmc.so \
276 /nyan/libxcb/current/lib/libxcb-xinerama.so \
277 /nyan/libxcb/current/lib/libxcb-dri2.so \
278 /nyan/libxcb/current/lib/libxcb-composite.so \
279 /nyan/libxcb/current/lib/libxcb-dpms.so \
280 /nyan/libxcb/current/lib/libxcb-sync.so \
281 /nyan/libxcb/current/lib/libxcb-randr.so \
282 /nyan/libxcb/current/lib/libxcb-res.so \
283 /nyan/libxcb/current/lib/libxcb.so \
284 /nyan/libxcb/current/lib/libxcb-screensaver.so \
285 /nyan/libxcb/current/lib/libxcb-xkb.so \
286 /nyan/libxcb/current/lib/libxcb-xv.so \
287 /nyan/libxcb/current/lib/libxcb-render.so \
288 /nyan/libxcb/current/lib/libxcb-shm.so \
289 /nyan/libxcb/current/lib/libxcb-dri3.so \
290 /nyan/libxcb/current/lib/libxcb-record.so \
291 /nyan/libxcb/current/lib/libxcb-xinput.so \
292 /nyan/libxcb/current/lib/libxcb-present.so \
293 /nyan/libxcb/current/lib/libxcb-glx.so \
294 /nyan/libxcb/current/lib/libxcb-shape.so \
295 /nyan/libxcb/current/lib/libxcb-xf86dri.so \
296 "
297 fi
298 #===============================================================================
299 if test "${libxrender_cppflags-unset}" = unset; then
300 libxrender_cppflags='-I/nyan/libXrender/current/include'
301 fi
302
303 if test "${libxrender_ldflags-unset}" = unset; then
304 libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so"
305 fi
306 #===============================================================================
307 if test "${libxrandr_cppflags-unset}" = unset; then
308 libxrandr_cppflags='-I/nyan/libXrandr/current/include'
309 fi
310
311 if test "${libxrandr_ldflags-unset}" = unset; then
312 libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so"
313 fi
314 #===============================================================================
315 if test "${libx11_cppflags-unset}" = unset; then
316 libx11_cppflags='-I/nyan/libX11/current/include'
317 fi
318
319 if test "${libx11_ldflags-unset}" = unset; then
320 libx11_ldflags="\
321 /nyan/libX11/current/lib/libX11.so \
322 /nyan/libX11/current/lib/libX11-xcb.so \
323 "
324 fi
325 #===============================================================================
326 if test "${libxshmfence_cppflags-unset}" = unset; then
327 libxshmfence_cppflags='-I/nyan/libxshmfence/current/include'
328 fi
329
330 if test "${libxshmfence_ldflags-unset}" = unset; then
331 libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so'
332 fi
333 #===============================================================================
334 if test "${xorgproto_cppflags-unset}" = unset; then
335 xorgproto_cppflags='-I/nyan/xorgproto/current/include'
336 fi
337 #===============================================================================
338 if test "${libdrm_cppflags-unset}" = unset; then
339 libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM'
340 fi
341
342 if test "${libdrm_ldflags-unset}" = unset; then
343 libdrm_ldflags='/nyan/drm/current/lib/libdrm.so'
344 fi
345 #===============================================================================
346 if test "${libdrm_amdgpu_cppflags-unset}" = unset; then
347 libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm'
348 fi
349
350 if test "${libdrm_amdgpu_ldflags-unset}" = unset; then
351 libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so'
352 fi
353 #===============================================================================
354 if test "${linux_drm_cppflags-unset}" = unset; then
355 linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm'
356 fi
357 #===============================================================================
358 if test "${libelf_cppflags-unset}" = unset; then
359 libelf_cppflags="-I/nyan/libelf/current/include/libelf \
360 -I/nyan/libelf/current/include"
361 fi
362
363 if test "${libelf_archives-unset}" = unset; then
364 libelf_archives=libelf.a
365 fi
366
367 if test "${libelf_ldflags-unset}" = unset; then
368 libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives"
369 fi
370 #===============================================================================
371 if test "${zlib_cppflags-unset}" = unset; then
372 zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB'
373 fi
374
375 if test "${zlib_archives-unset}" = unset; then
376 zlib_archives=libz.a
377 fi
378
379 if test "${zlib_ldflags-unset}" = unset; then
380 zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives"
381 fi
382 #===============================================================================
383 # build system compiler (the one used to compile the build system python), _not_
384 # the target compiler if you cross compile
385 if test "${build_cc-unset}" = unset; then
386 build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux"
387 fi
388 if test "${build_ccld-unset}" = unset; then
389 build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib"
390 fi
391 #===============================================================================
392 # the kronos registry
393 vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml
394 #===============================================================================
395 # all code generation should happen here (no weird interlocked deps)
396 . $src_dir/contrib/generators.sh
397 wait
398 #===============================================================================
399 # object put in libvulkan_amd_common
400 $cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \
401 -DSYSCONFDIR=\"$sysconfdir\" \
402 -DDATADIR=\"$datadir\" \
403 \
404 -I$build_dir/src/util \
405 -I$src_dir/src \
406 -I$src_dir/include \
407 $cppflags_common \
408 $expat_cppflags &
409 #===============================================================================
410 # vulkan util
411 cppflags="\
412 $cppflags_common \
413 -DPACKAGE_VERSION=\"$version\" \
414 -DVERSION=\"$version\" \
415 -I$build_dir/vulkan/util \
416 -I$build_dir \
417 -I$src_dir/src/vulkan/util \
418 -I$src_dir/src/vulkan/runtime \
419 -I$src_dir/src/gallium/include \
420 -I$src_dir/src/util \
421 -I$src_dir/src \
422 -I$src_dir/include \
423 $libxcb_cppflags \
424 $libx11_cppflags \
425 $libxrandr_cppflags \
426 $libxrender_cppflags \
427 $xorgproto_cppflags \
428 "
429 libvulkan_util_files="\
430 $src_dir/src/vulkan/util/vk_alloc.c \
431 $build_dir/vk_dispatch_table.c \
432 $build_dir/vk_enum_to_str.c \
433 $build_dir/vk_extensions.c \
434 $src_dir/src/vulkan/util/vk_format.c \
435 $src_dir/src/vulkan/util/vk_util.c \
436 "
437 for f in $libvulkan_util_files
438 do
439 libvulkan_util_obj=$build_dir/$(basename $f .c).o
440 libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj"
441
442 $cc $cppflags $f -o $libvulkan_util_obj &
443 done
444 #===============================================================================
445 # vulkan runtime
446 cppflags="\
447 $cppflags_common \
448 -DPACKAGE_VERSION=\"$version\" \
449 -DVERSION=\"$version\" \
450 -I$build_dir/vulkan/util \
451 -I$build_dir \
452 -I$src_dir/src/vulkan/util \
453 -I$src_dir/src/vulkan/runtime \
454 -I$src_dir/src/gallium/include \
455 -I$src_dir/src/compiler/nir \
456 -I$src_dir/src/util \
457 -I$src_dir/src \
458 -I$src_dir/include \
459 $libdrm_cppflags \
460 $libxcb_cppflags \
461 $libx11_cppflags \
462 $libxrandr_cppflags \
463 $libxrender_cppflags \
464 $xorgproto_cppflags \
465 "
466 libvulkan_runtime_files="\
467 $src_dir/src/vulkan/runtime/vk_acceleration_structure.c \
468 $src_dir/src/vulkan/runtime/vk_buffer.c \
469 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
470 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
471 $build_dir/vk_cmd_enqueue_entrypoints.c \
472 $build_dir/vk_cmd_queue.c \
473 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
474 $src_dir/src/vulkan/runtime/vk_command_pool.c \
475 $build_dir/vk_common_entrypoints.c \
476 $src_dir/src/vulkan/runtime/vk_debug_report.c \
477 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
478 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
479 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
480 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
481 $src_dir/src/vulkan/runtime/vk_descriptors.c \
482 $src_dir/src/vulkan/runtime/vk_device.c \
483 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
484 $build_dir/vk_dispatch_trampolines.c \
485 $src_dir/src/vulkan/runtime/vk_fence.c \
486 $build_dir/vk_format_info.c \
487 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
488 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
489 $src_dir/src/vulkan/runtime/vk_image.c \
490 $src_dir/src/vulkan/runtime/vk_instance.c \
491 $src_dir/src/vulkan/runtime/vk_log.c \
492 $src_dir/src/vulkan/runtime/vk_nir.c \
493 $src_dir/src/vulkan/runtime/vk_object.c \
494 $src_dir/src/vulkan/runtime/vk_pipeline.c \
495 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
496 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
497 $src_dir/src/vulkan/runtime/vk_physical_device.c \
498 $build_dir/vk_physical_device_features.c \
499 $src_dir/src/vulkan/runtime/vk_queue.c \
500 $src_dir/src/vulkan/runtime/vk_render_pass.c \
501 $src_dir/src/vulkan/runtime/vk_sampler.c \
502 $src_dir/src/vulkan/runtime/vk_semaphore.c \
503 $src_dir/src/vulkan/runtime/vk_shader_module.c \
504 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
505 $src_dir/src/vulkan/runtime/vk_sync.c \
506 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
507 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
508 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
509 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
510 $src_dir/src/vulkan/runtime/vk_video.c \
511 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
512 "
513 for f in $libvulkan_runtime_files
514 do
515 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
516 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
517
518 $cc $cppflags $f -o $libvulkan_runtime_obj &
519 done
520 #===============================================================================
521 # wsi x11 (Window System Interface)
522 cppflags="\
523 $cppflags_common \
524 -I$build_dir/vulkan/util \
525 -I$build_dir \
526 -I$src_dir/src \
527 -I$src_dir/src/vulkan/util \
528 -I$src_dir/src/vulkan/runtime \
529 -I$src_dir/src/gallium/include \
530 -I$src_dir/include \
531 -I$src_dir/include/drm-uapi \
532 $libxcb_cppflags \
533 $libx11_cppflags \
534 $libxrandr_cppflags \
535 $libxrender_cppflags \
536 $xorgproto_cppflags \
537 $libxshmfence_cppflags \
538 $libdrm_cppflags \
539 "
540 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
541 -o $build_dir/wsi_common.o &
542 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
543 -o $build_dir/wsi_common_drm.o &
544 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
545 -o $build_dir/wsi_common_x11.o &
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
547 -o $build_dir/wsi_common_display.o &
548 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
549 -o $build_dir/wsi_common_entrypoints.o &
550 libvulkan_wsi_a="\
551 $build_dir/wsi_common.o \
552 $build_dir/wsi_common_drm.o \
553 $build_dir/wsi_common_x11.o \
554 $build_dir/wsi_common_display.o \
555 $build_dir/wsi_common_entrypoints.o \
556 "
557 #===============================================================================
558 # amd common archive
559 cppflags="\
560 $cppflags_common \
561 -I$build_dir \
562 -I$src_dir/src/gallium/auxiliary \
563 -I$src_dir/src/gallium/include \
564 -I$build_dir/src/amd/common \
565 -I$src_dir/src/amd/common \
566 -I$src_dir/src/util \
567 -I$build_dir/src/amd \
568 -I$src_dir/src/amd \
569 -I$src_dir/src/compiler/nir \
570 -I$src_dir/src/compiler \
571 -I$src_dir/src/mesa \
572 -I$src_dir/src \
573 -I$src_dir/include \
574 -I$src_dir/include/drm-uapi \
575 $libdrm_cppflags \
576 $libdrm_amdgpu_cppflags \
577 $linux_drm_cppflags \
578 $libelf_cppflags \
579 "
580 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
581 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
582 #$src_dir/src/amd/common/ac_sqtt.c \
583 libamd_common_c_files="\
584 $src_dir/src/amd/common/ac_surface.c \
585 $src_dir/src/amd/common/ac_binary.c \
586 $src_dir/src/amd/common/ac_debug.c \
587 $src_dir/src/amd/common/amd_family.c \
588 $src_dir/src/amd/common/ac_gpu_info.c \
589 $src_dir/src/amd/common/ac_msgpack.c \
590 $src_dir/src/amd/common/ac_nir.c \
591 $src_dir/src/amd/common/ac_nir_cull.c \
592 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
593 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
594 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
595 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
596 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
597 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
598 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
599 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
600 $src_dir/src/amd/common/ac_perfcounter.c \
601 $src_dir/src/amd/common/ac_shader_args.c \
602 $src_dir/src/amd/common/ac_shader_util.c \
603 $src_dir/src/amd/common/ac_shadowed_regs.c \
604 $src_dir/src/amd/common/ac_rgp.c \
605 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
606 $src_dir/src/amd/common/ac_rtld.c \
607 $src_dir/src/amd/common/ac_spm.c \
608 "
609 for f in $libamd_common_c_files
610 do
611 libamd_common_c_obj=$build_dir/$(basename $f .c).o
612 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
613
614 $cc $cppflags $f -o $libamd_common_c_obj &
615 done
616 #===============================================================================
617 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
618 cppflags="\
619 $cppflags_common \
620 -DLITTLEENDIAN_CPU \
621 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
622 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
623 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
624 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
625 -I$src_dir/src/amd/addrlib/inc \
626 -I$src_dir/src/amd/addrlib/src/core \
627 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
628 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
629 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
630 -I$src_dir/src/amd/addrlib/src/chip/r800 \
631 -I$src_dir/src/amd/addrlib/src \
632 -I$src_dir/src \
633 -I$src_dir/include \
634 "
635 libamdgpu_addrlib_files="\
636 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
637 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
638 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
639 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
640 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
641 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
642 $src_dir/src/amd/addrlib/src/core/coord.cpp \
643 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
644 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
645 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
646 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
647 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
648 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
649 "
650 for f in $libamdgpu_addrlib_files
651 do
652 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
653 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
654
655 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
656 done
657 #===============================================================================
658 # libcompiler required by libnir
659 cppflags="\
660 $cppflags_common \
661 -I$build_dir \
662 -I$src_dir/src/gallium/auxiliary \
663 -I$src_dir/src/gallium/include \
664 -I$src_dir/src/mesa \
665 -I$src_dir/src \
666 -I$src_dir/include \
667 "
668 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
669 -o $build_dir/glsl_types.o &
670 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
671 -o $build_dir/nir_types.o &
672 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
673 -o $build_dir/shader_enums.o &
674 libcompiler_a="\
675 $build_dir/glsl_types.o \
676 $build_dir/nir_types.o \
677 $build_dir/shader_enums.o \
678 "
679 #===============================================================================
680 # libnir
681 cppflags="\
682 $cppflags_common \
683 -I$build_dir \
684 -I$src_dir/src/compiler/spirv \
685 -I$src_dir/src/compiler/nir \
686 -I$src_dir/src/compiler \
687 -I$src_dir/src/gallium/include \
688 -I$src_dir/src/mesa \
689 -I$src_dir/src \
690 -I$src_dir/include \
691 $xorgproto_cppflags \
692 $libxcb_cppflags \
693 $libx11_cppflags \
694 $libxrender_cppflags \
695 $libxrandr_cppflags \
696 "
697 libnir_files="\
698 $build_dir/spirv_info.c \
699 $build_dir/vtn_gather_types.c \
700 $build_dir/nir_intrinsics.c \
701 $build_dir/nir_opcodes.c \
702 $build_dir/nir_opt_algebraic.c \
703 $build_dir/nir_constant_expressions.c \
704 \
705 $src_dir/src/compiler/spirv/gl_spirv.c \
706 $src_dir/src/compiler/spirv/spirv_to_nir.c \
707 $src_dir/src/compiler/spirv/vtn_alu.c \
708 $src_dir/src/compiler/spirv/vtn_amd.c \
709 $src_dir/src/compiler/spirv/vtn_cfg.c \
710 $src_dir/src/compiler/spirv/vtn_glsl450.c \
711 $src_dir/contrib/vtn_opencl.c \
712 $src_dir/src/compiler/spirv/vtn_subgroup.c \
713 $src_dir/src/compiler/spirv/vtn_variables.c \
714 \
715 $src_dir/src/compiler/nir/nir.c \
716 $src_dir/src/compiler/nir/nir_builder.c \
717 $src_dir/src/compiler/nir/nir_builtin_builder.c \
718 $src_dir/src/compiler/nir/nir_clone.c \
719 $src_dir/src/compiler/nir/nir_control_flow.c \
720 $src_dir/src/compiler/nir/nir_convert_ycbcr.c \
721 $src_dir/src/compiler/nir/nir_deref.c \
722 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
723 $src_dir/src/compiler/nir/nir_dominance.c \
724 $src_dir/src/compiler/nir/nir_from_ssa.c \
725 $src_dir/src/compiler/nir/nir_gather_info.c \
726 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
727 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
728 $src_dir/src/compiler/nir/nir_group_loads.c \
729 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
730 $src_dir/src/compiler/nir/nir_inline_functions.c \
731 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
732 $src_dir/src/compiler/nir/nir_instr_set.c \
733 $src_dir/src/compiler/nir/nir_linking_helpers.c \
734 $src_dir/src/compiler/nir/nir_liveness.c \
735 $src_dir/src/compiler/nir/nir_loop_analyze.c \
736 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
737 $src_dir/src/compiler/nir/nir_lower_alu.c \
738 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
739 $src_dir/src/compiler/nir/nir_lower_amul.c \
740 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
741 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
742 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
743 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
744 $src_dir/src/compiler/nir/nir_lower_blend.c \
745 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
746 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
747 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
748 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
749 $src_dir/src/compiler/nir/nir_lower_clip.c \
750 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
751 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
752 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
753 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
754 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
755 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
756 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
757 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
758 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
759 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
760 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
761 $src_dir/src/compiler/nir/nir_lower_flrp.c \
762 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
763 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
764 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
765 $src_dir/src/compiler/nir/nir_lower_frexp.c \
766 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
767 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
768 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
769 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
770 $src_dir/src/compiler/nir/nir_lower_idiv.c \
771 $src_dir/src/compiler/nir/nir_lower_image.c \
772 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
773 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
774 $src_dir/src/compiler/nir/nir_lower_int64.c \
775 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
776 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
777 $src_dir/src/compiler/nir/nir_lower_io.c \
778 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
779 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
780 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
781 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
782 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
783 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
784 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
785 $src_dir/src/compiler/nir/nir_lower_mediump.c \
786 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
787 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
788 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
789 $src_dir/src/compiler/nir/nir_lower_multiview.c \
790 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
791 $src_dir/src/compiler/nir/nir_lower_packing.c \
792 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
793 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
794 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
795 $src_dir/src/compiler/nir/nir_lower_point_size.c \
796 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
797 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
798 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
799 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
800 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
801 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
802 $src_dir/src/compiler/nir/nir_lower_returns.c \
803 $src_dir/src/compiler/nir/nir_lower_samplers.c \
804 $src_dir/src/compiler/nir/nir_lower_scratch.c \
805 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
806 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
807 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
808 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
809 $src_dir/src/compiler/nir/nir_lower_system_values.c \
810 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
811 $src_dir/src/compiler/nir/nir_lower_tex.c \
812 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
813 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
814 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
815 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
816 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
817 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
818 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
819 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
820 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
821 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
822 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
823 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
824 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
825 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
826 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
827 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
828 $src_dir/src/compiler/nir/nir_metadata.c \
829 $src_dir/src/compiler/nir/nir_mod_analysis.c \
830 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
831 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
832 $src_dir/src/compiler/nir/nir_opt_access.c \
833 $src_dir/src/compiler/nir/nir_opt_barriers.c \
834 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
835 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
836 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
837 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
838 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
839 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
840 $src_dir/src/compiler/nir/nir_opt_cse.c \
841 $src_dir/src/compiler/nir/nir_opt_dce.c \
842 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
843 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
844 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
845 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
846 $src_dir/src/compiler/nir/nir_opt_gcm.c \
847 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
848 $src_dir/src/compiler/nir/nir_opt_if.c \
849 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
850 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
851 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
852 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
853 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
854 $src_dir/src/compiler/nir/nir_opt_move.c \
855 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
856 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
857 $src_dir/src/compiler/nir/nir_opt_offsets.c \
858 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
859 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
860 $src_dir/src/compiler/nir/nir_opt_preamble.c \
861 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
862 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
863 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
864 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
865 $src_dir/src/compiler/nir/nir_opt_sink.c \
866 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
867 $src_dir/src/compiler/nir/nir_opt_undef.c \
868 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
869 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
870 $src_dir/src/compiler/nir/nir_phi_builder.c \
871 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
872 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
873 $src_dir/src/compiler/nir/nir_print.c \
874 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
875 $src_dir/src/compiler/nir/nir_range_analysis.c \
876 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
877 $src_dir/src/compiler/nir/nir_repair_ssa.c \
878 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
879 $src_dir/src/compiler/nir/nir_schedule.c \
880 $src_dir/src/compiler/nir/nir_search.c \
881 $src_dir/src/compiler/nir/nir_serialize.c \
882 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
883 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
884 $src_dir/src/compiler/nir/nir_split_var_copies.c \
885 $src_dir/src/compiler/nir/nir_split_vars.c \
886 $src_dir/src/compiler/nir/nir_sweep.c \
887 $src_dir/src/compiler/nir/nir_to_lcssa.c \
888 $src_dir/src/compiler/nir/nir_validate.c \
889 $src_dir/src/compiler/nir/nir_worklist.c \
890 "
891 for f in $libnir_files
892 do
893 libnir_obj=$build_dir/$(basename $f .c).o
894 libnir_a="$libnir_a $libnir_obj"
895
896 $cc $cppflags $f -o $libnir_obj &
897 done
898 #===============================================================================
899 # libaco
900 # we don't use cppflags_common for aco because the code is not yet
901 # compatible
902 cppflags="\
903 $gcc_builtins_cppflags \
904 $gcc_attributes_cppflags \
905 $linux_glibc_cppflags \
906 $mesa_cppflags \
907 -I$build_dir \
908 -I$src_dir/src/amd/compiler \
909 -I$src_dir/src/amd/vulkan \
910 -I$build_dir/src/amd/common \
911 -I$src_dir/src/amd/common \
912 -I$build_dir/src/amd \
913 -I$src_dir/src/amd \
914 -I$src_dir/src/compiler/nir \
915 -I$src_dir/src/compiler \
916 -I$src_dir/src/mesa \
917 -I$src_dir/src/gallium/include \
918 -I$src_dir/src \
919 -I$src_dir/include \
920 "
921 libaco_files="\
922 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
923 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
924 $src_dir/src/amd/compiler/aco_dominance.cpp \
925 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
926 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
927 $src_dir/src/amd/compiler/aco_interface.cpp \
928 $src_dir/src/amd/compiler/aco_assembler.cpp \
929 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
930 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
931 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
932 $src_dir/src/amd/compiler/aco_ir.cpp \
933 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
934 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
935 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
936 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
937 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
938 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
939 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
940 $build_dir/aco_opcodes.cpp \
941 $src_dir/src/amd/compiler/aco_optimizer.cpp \
942 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
943 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
944 $src_dir/src/amd/compiler/aco_print_asm.cpp \
945 $src_dir/src/amd/compiler/aco_print_ir.cpp \
946 $src_dir/src/amd/compiler/aco_scheduler.cpp \
947 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
948 $src_dir/src/amd/compiler/aco_spill.cpp \
949 $src_dir/src/amd/compiler/aco_statistics.cpp \
950 $src_dir/src/amd/compiler/aco_validate.cpp \
951 "
952 for f in $libaco_files
953 do
954 libaco_obj=$build_dir/$(basename $f .c).o
955 libaco_a="$libaco_a $libaco_obj"
956
957 $cxx $cppflags $f -o $libaco_obj &
958 done
959 #===============================================================================
960 # libmesautils
961 cppflags="\
962 $cppflags_common \
963 -I$build_dir/src/util/format \
964 -I$build_dir/src \
965 -I$build_dir \
966 -I$src_dir/src/gallium/auxiliary \
967 -I$src_dir/src/gallium/include \
968 -I$src_dir/src/mesa \
969 -I$src_dir/src/util/format \
970 -I$src_dir/src/util \
971 -I$src_dir/src \
972 -I$src_dir/include \
973 $zlib_cppflags \
974 "
975 libmesautil_files="\
976 $build_dir/format_srgb.c \
977 $build_dir/u_format_table.c \
978 $src_dir/src/util/anon_file.c \
979 $src_dir/src/util/bitscan.c \
980 $src_dir/src/util/blob.c \
981 $src_dir/src/util/build_id.c \
982 $src_dir/src/util/compress.c \
983 $src_dir/src/util/crc32.c \
984 $src_dir/src/util/dag.c \
985 $src_dir/src/util/disk_cache.c \
986 $src_dir/src/util/disk_cache_os.c \
987 $src_dir/src/util/double.c \
988 $src_dir/src/util/fast_idiv_by_const.c \
989 $src_dir/src/util/fossilize_db.c \
990 $src_dir/src/util/futex.c \
991 $src_dir/src/util/half_float.c \
992 $src_dir/src/util/hash_table.c \
993 $src_dir/src/util/log.c \
994 $src_dir/src/util/mesa-sha1.c \
995 $src_dir/src/util/mesa_cache_db.c \
996 $src_dir/src/util/mesa_cache_db_multipart.c \
997 $src_dir/src/util/memstream.c \
998 $src_dir/src/util/os_file.c \
999 $src_dir/src/util/os_memory_fd.c \
1000 $src_dir/src/util/os_misc.c \
1001 $src_dir/src/util/os_socket.c \
1002 $src_dir/src/util/os_time.c \
1003 $src_dir/src/util/sha1/sha1.c \
1004 $src_dir/src/util/ralloc.c \
1005 $src_dir/src/util/rand_xor.c \
1006 $src_dir/src/util/rb_tree.c \
1007 $src_dir/src/util/register_allocate.c \
1008 $src_dir/src/util/rgtc.c \
1009 $src_dir/src/util/rwlock.c \
1010 $src_dir/src/util/set.c \
1011 $src_dir/src/util/simple_mtx.c \
1012 $src_dir/src/util/slab.c \
1013 $src_dir/src/util/softfloat.c \
1014 $src_dir/src/util/sparse_array.c \
1015 $src_dir/src/util/string_buffer.c \
1016 $src_dir/src/util/strtod.c \
1017 $src_dir/src/util/u_atomic.c \
1018 $src_dir/src/util/u_call_once.c \
1019 $src_dir/src/util/u_cpu_detect.c \
1020 $src_dir/src/util/u_debug.c \
1021 $src_dir/src/util/u_debug_describe.c \
1022 $src_dir/src/util/u_debug_refcnt.c \
1023 $src_dir/src/util/u_debug_stack.c \
1024 $src_dir/src/util/u_debug_symbol.c \
1025 $src_dir/src/util/u_dl.c \
1026 $src_dir/src/util/u_hash_table.c \
1027 $src_dir/src/util/u_printf.c \
1028 $src_dir/src/util/format/u_format.c \
1029 $src_dir/src/util/format/u_format_bptc.c \
1030 $src_dir/src/util/format/u_format_etc.c \
1031 $src_dir/src/util/format/u_format_fxt1.c \
1032 $src_dir/src/util/format/u_format_latc.c \
1033 $src_dir/src/util/format/u_format_other.c \
1034 $src_dir/src/util/format/u_format_rgtc.c \
1035 $src_dir/src/util/format/u_format_s3tc.c \
1036 $src_dir/src/util/format/u_format_tests.c \
1037 $src_dir/src/util/format/u_format_yuv.c \
1038 $src_dir/src/util/format/u_format_zs.c \
1039 $src_dir/src/util/u_idalloc.c \
1040 $src_dir/src/util/u_math.c \
1041 $src_dir/src/util/u_mm.c \
1042 $src_dir/src/util/u_process.c \
1043 $src_dir/src/util/u_queue.c \
1044 $src_dir/src/util/u_thread.c \
1045 $src_dir/src/util/u_vector.c \
1046 $src_dir/src/util/u_worklist.c \
1047 $src_dir/src/util/vma.c \
1048 \
1049 $src_dir/src/c11/impl/time.c \
1050 $src_dir/src/c11/impl/threads_posix.c \
1051 "
1052 for f in $libmesautil_files
1053 do
1054 libmesautil_obj=$build_dir/$(basename $f .c).o
1055 libmesautil_a="$libmesautil_a $libmesautil_obj"
1056
1057 $cc $cppflags $f -o $libmesautil_obj &
1058 done
1059 #===============================================================================
1060 # amd vulkan
1061 cppflags="\
1062 $cppflags_common \
1063 -DPACKAGE_VERSION=\"$version\" \
1064 -I$build_dir/vulkan/util \
1065 -I$build_dir/src/util \
1066 -I$build_dir \
1067 -I$src_dir/src/amd/compiler \
1068 -I$build_dir/src/amd/common \
1069 -I$src_dir/src/amd/common \
1070 -I$src_dir/src/amd/vulkan \
1071 -I$src_dir/src/amd \
1072 -I$src_dir/src/gallium/auxiliary \
1073 -I$src_dir/src/gallium/include \
1074 -I$src_dir/src/vulkan/util \
1075 -I$src_dir/src/vulkan/runtime \
1076 -I$src_dir/src/vulkan/wsi \
1077 -I$src_dir/src/util \
1078 -I$src_dir/src/mesa \
1079 -I$src_dir/src/compiler/nir \
1080 -I$src_dir/src/compiler \
1081 -I$src_dir/src \
1082 -I$src_dir/include \
1083 $libdrm_cppflags \
1084 $libdrm_amdgpu_cppflags \
1085 $libx11_cppflags \
1086 $libxrandr_cppflags \
1087 $libxrender_cppflags \
1088 $libxcb_cppflags \
1089 $xorgproto_cppflags \
1090 $libxshmfence_cppflags \
1091 "
1092 #$build_dir/radv_extensions.c
1093 #$build_dir/vk_format_table.c
1094 # XXX: remove rt for now
1095 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1096 libvulkan_amd_common_files="\
1097 $src_dir/src/amd/vulkan/radv_android.c \
1098 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1099 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1100 $src_dir/src/amd/vulkan/radv_debug.c \
1101 $build_dir/src/amd/vulkan/radv_device.c \
1102 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1103 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1104 $src_dir/src/amd/vulkan/radv_formats.c \
1105 $src_dir/src/amd/vulkan/radv_image.c \
1106 $build_dir/src/amd/vulkan/radv_meta.c \
1107 $src_dir/src/amd/vulkan/radv_meta_blit.c \
1108 $src_dir/src/amd/vulkan/radv_meta_blit2d.c \
1109 $src_dir/src/amd/vulkan/radv_meta_buffer.c \
1110 $src_dir/src/amd/vulkan/radv_meta_bufimage.c \
1111 $src_dir/src/amd/vulkan/radv_meta_clear.c \
1112 $src_dir/src/amd/vulkan/radv_meta_dcc_retile.c \
1113 $src_dir/src/amd/vulkan/radv_meta_copy.c \
1114 $src_dir/src/amd/vulkan/radv_meta_copy_vrs_htile.c \
1115 $src_dir/src/amd/vulkan/radv_meta_decompress.c \
1116 $src_dir/src/amd/vulkan/radv_meta_etc_decode.c \
1117 $src_dir/src/amd/vulkan/radv_meta_fast_clear.c \
1118 $src_dir/src/amd/vulkan/radv_meta_fmask_copy.c \
1119 $src_dir/src/amd/vulkan/radv_meta_fmask_expand.c \
1120 $src_dir/src/amd/vulkan/radv_meta_resolve.c \
1121 $src_dir/src/amd/vulkan/radv_meta_resolve_cs.c \
1122 $src_dir/src/amd/vulkan/radv_meta_resolve_fs.c \
1123 $src_dir/src/amd/vulkan/radv_nir_apply_pipeline_layout.c \
1124 $src_dir/src/amd/vulkan/radv_nir_lower_abi.c \
1125 $src_dir/src/amd/vulkan/radv_nir_lower_vs_inputs.c \
1126 $src_dir/src/amd/vulkan/radv_nir_lower_ray_queries.c \
1127 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1128 $src_dir/src/amd/vulkan/radv_pipeline.c \
1129 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1130 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1131 $src_dir/src/amd/vulkan/radv_rt_common.c \
1132 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1133 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1134 $src_dir/src/amd/vulkan/radv_shader.c \
1135 $src_dir/src/amd/vulkan/radv_shader_args.c \
1136 $src_dir/src/amd/vulkan/radv_shader_info.c \
1137 $src_dir/src/amd/vulkan/radv_spm.c \
1138 $src_dir/src/amd/vulkan/radv_query.c \
1139 $src_dir/src/amd/vulkan/radv_video.c \
1140 $src_dir/src/amd/vulkan/radv_wsi.c \
1141 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1142 \
1143 $build_dir/gfx10_format_table.c \
1144 \
1145 $build_dir/radv_entrypoints.c \
1146 \
1147 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1148 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1149 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1150 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1151 \
1152 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1153 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1154 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1155 \
1156 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1157 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1158 \
1159 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1160 "
1161
1162 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1163
1164 for f in $libvulkan_amd_common_files
1165 do
1166 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1167 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1168
1169 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1170 done
1171 libvulkan_amd_common_a="\
1172 $libvulkan_amd_common_a \
1173 $build_dir/xmlconfig.o"
1174 #===============================================================================
1175 # create the radeon vulkan driver
1176 soname=libvulkan_radeon.so
1177
1178 # XXX:the attempt to generalize without kludge the link stage of real programs
1179 # build is near a total and complete failure
1180 if test "${driver_link_cmd-unset}" = unset ; then
1181 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1182 -shared -static-libgcc -static-libstdc++ \
1183 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1184 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1185 -Wl,--whole-archive -Wl,--start-group \
1186 $libaco_a \
1187 $libvulkan_amd_common_a \
1188 $libvulkan_util_a \
1189 $libvulkan_runtime_a \
1190 $libvulkan_wsi_a \
1191 $libamd_common_a \
1192 $libamdgpu_addrlib_a \
1193 $libcompiler_a \
1194 $libnir_a \
1195 $libmesautil_a \
1196 -Wl,--end-group -Wl,--no-whole-archive \
1197 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1198 $zlib_ldflags \
1199 $expat_ldflags \
1200 $libelf_ldflags \
1201 -Wl,--as-needed \
1202 $libdrm_ldflags \
1203 $libdrm_amdgpu_ldflags \
1204 $libx11_ldflags \
1205 $libxrandr_ldflags \
1206 $libxrender_ldflags \
1207 $libxcb_ldflags \
1208 $libxshmfence_ldflags \
1209 -lpthread \
1210 -ldl \
1211 -Wl,--no-as-needed"
1212 fi
1213 wait
1214 eval $driver_link_cmd
1215 #===============================================================================
File builders/mesa-vulkan-amd-sh-b73b70157966914ccecffceab3a70a1e942f798e/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 52bd910..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_buffer.c \
473 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
474 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
475 $build_dir/vk_cmd_enqueue_entrypoints.c \
476 $build_dir/vk_cmd_queue.c \
477 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
478 $src_dir/src/vulkan/runtime/vk_command_pool.c \
479 $build_dir/vk_common_entrypoints.c \
480 $src_dir/src/vulkan/runtime/vk_debug_report.c \
481 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
482 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
483 $src_dir/src/vulkan/runtime/vk_device_memory.c \
484 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
485 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
486 $src_dir/src/vulkan/runtime/vk_descriptors.c \
487 $src_dir/src/vulkan/runtime/vk_device.c \
488 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
489 $build_dir/vk_dispatch_trampolines.c \
490 $src_dir/src/vulkan/runtime/vk_fence.c \
491 $build_dir/vk_format_info.c \
492 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
493 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
494 $src_dir/src/vulkan/runtime/vk_image.c \
495 $src_dir/src/vulkan/runtime/vk_instance.c \
496 $src_dir/src/vulkan/runtime/vk_log.c \
497 $src_dir/src/vulkan/runtime/vk_nir.c \
498 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
499 $src_dir/src/vulkan/runtime/vk_object.c \
500 $src_dir/src/vulkan/runtime/vk_pipeline.c \
501 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
502 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
503 $src_dir/src/vulkan/runtime/vk_physical_device.c \
504 $build_dir/vk_physical_device_features.c \
505 $src_dir/src/vulkan/runtime/vk_queue.c \
506 $src_dir/src/vulkan/runtime/vk_render_pass.c \
507 $src_dir/src/vulkan/runtime/vk_sampler.c \
508 $src_dir/src/vulkan/runtime/vk_semaphore.c \
509 $src_dir/src/vulkan/runtime/vk_shader_module.c \
510 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
511 $src_dir/src/vulkan/runtime/vk_sync.c \
512 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
513 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
514 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
515 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
516 $src_dir/src/vulkan/runtime/vk_video.c \
517 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
518 "
519 for f in $libvulkan_runtime_files
520 do
521 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
522 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
523
524 $cc $cppflags $f -o $libvulkan_runtime_obj &
525 done
526 #===============================================================================
527 # wsi x11 (Window System Interface)
528 cppflags="\
529 $cppflags_common \
530 -I$build_dir/vulkan/util \
531 -I$build_dir \
532 -I$src_dir/src \
533 -I$src_dir/src/vulkan/util \
534 -I$src_dir/src/vulkan/runtime \
535 -I$src_dir/src/gallium/include \
536 -I$src_dir/include \
537 -I$src_dir/include/drm-uapi \
538 $libxcb_cppflags \
539 $libx11_cppflags \
540 $libxrandr_cppflags \
541 $libxrender_cppflags \
542 $xorgproto_cppflags \
543 $libxshmfence_cppflags \
544 $libdrm_cppflags \
545 "
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
547 -o $build_dir/wsi_common.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
549 -o $build_dir/wsi_common_drm.o &
550 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
551 -o $build_dir/wsi_common_x11.o &
552 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
553 -o $build_dir/wsi_common_display.o &
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
555 -o $build_dir/wsi_common_headless.o &
556 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
557 -o $build_dir/wsi_common_entrypoints.o &
558 libvulkan_wsi_a="\
559 $build_dir/wsi_common.o \
560 $build_dir/wsi_common_drm.o \
561 $build_dir/wsi_common_x11.o \
562 $build_dir/wsi_common_display.o \
563 $build_dir/wsi_common_headless.o \
564 $build_dir/wsi_common_entrypoints.o \
565 "
566 #===============================================================================
567 # amd common archive
568 cppflags="\
569 $cppflags_common \
570 -I$build_dir \
571 -I$src_dir/src/gallium/auxiliary \
572 -I$src_dir/src/gallium/include \
573 -I$build_dir/src/amd/common \
574 -I$src_dir/src/amd/common \
575 -I$src_dir/src/util \
576 -I$build_dir/src/amd \
577 -I$src_dir/src/amd \
578 -I$src_dir/src/compiler/nir \
579 -I$src_dir/src/compiler \
580 -I$src_dir/src/mesa \
581 -I$src_dir/src \
582 -I$src_dir/include \
583 -I$src_dir/include/drm-uapi \
584 $libdrm_cppflags \
585 $libdrm_amdgpu_cppflags \
586 $linux_drm_cppflags \
587 $libelf_cppflags \
588 "
589 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
590 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
591 #$src_dir/src/amd/common/ac_sqtt.c \
592 libamd_common_c_files="\
593 $src_dir/src/amd/common/ac_surface.c \
594 $src_dir/src/amd/common/ac_binary.c \
595 $src_dir/src/amd/common/ac_debug.c \
596 $src_dir/src/amd/common/amd_family.c \
597 $src_dir/src/amd/common/ac_gpu_info.c \
598 $src_dir/src/amd/common/ac_msgpack.c \
599 $src_dir/src/amd/common/ac_nir.c \
600 $src_dir/src/amd/common/ac_nir_cull.c \
601 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
602 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
603 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
604 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
605 $src_dir/src/amd/common/ac_nir_lower_ps.c \
606 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
607 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
608 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
609 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_tex.c \
611 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
612 $src_dir/src/amd/common/ac_perfcounter.c \
613 $src_dir/src/amd/common/ac_shader_args.c \
614 $src_dir/src/amd/common/ac_shader_util.c \
615 $src_dir/src/amd/common/ac_shadowed_regs.c \
616 $src_dir/src/amd/common/ac_rgp.c \
617 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
618 $src_dir/src/amd/common/ac_rtld.c \
619 $src_dir/src/amd/common/ac_spm.c \
620 "
621 for f in $libamd_common_c_files
622 do
623 libamd_common_c_obj=$build_dir/$(basename $f .c).o
624 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
625
626 $cc $cppflags $f -o $libamd_common_c_obj &
627 done
628 #===============================================================================
629 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
630 cppflags="\
631 $cppflags_common \
632 -DLITTLEENDIAN_CPU \
633 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
637 -I$src_dir/src/amd/addrlib/inc \
638 -I$src_dir/src/amd/addrlib/src/core \
639 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
640 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
641 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
642 -I$src_dir/src/amd/addrlib/src/chip/r800 \
643 -I$src_dir/src/amd/addrlib/src \
644 -I$src_dir/src \
645 -I$src_dir/include \
646 "
647 libamdgpu_addrlib_files="\
648 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
649 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
650 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
652 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
653 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
654 $src_dir/src/amd/addrlib/src/core/coord.cpp \
655 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
656 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
657 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
658 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
659 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
660 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
661 "
662 for f in $libamdgpu_addrlib_files
663 do
664 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
665 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
666
667 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
668 done
669 #===============================================================================
670 # libcompiler required by libnir
671 cppflags="\
672 $cppflags_common \
673 -I$build_dir \
674 -I$src_dir/src/gallium/auxiliary \
675 -I$src_dir/src/gallium/include \
676 -I$src_dir/src/mesa \
677 -I$src_dir/src \
678 -I$src_dir/include \
679 "
680 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
681 -o $build_dir/glsl_types.o &
682 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
683 -o $build_dir/nir_types.o &
684 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
685 -o $build_dir/shader_enums.o &
686 libcompiler_a="\
687 $build_dir/glsl_types.o \
688 $build_dir/nir_types.o \
689 $build_dir/shader_enums.o \
690 "
691 #===============================================================================
692 # libnir
693 cppflags="\
694 $cppflags_common \
695 -I$build_dir \
696 -I$src_dir/src/compiler/spirv \
697 -I$src_dir/src/compiler/nir \
698 -I$src_dir/src/compiler \
699 -I$src_dir/src/gallium/include \
700 -I$src_dir/src/mesa \
701 -I$src_dir/src \
702 -I$src_dir/include \
703 $xorgproto_cppflags \
704 $libxcb_cppflags \
705 $libx11_cppflags \
706 $libxrender_cppflags \
707 $libxrandr_cppflags \
708 "
709 libnir_files="\
710 $build_dir/spirv_info.c \
711 $build_dir/vtn_gather_types.c \
712 $build_dir/nir_intrinsics.c \
713 $build_dir/nir_opcodes.c \
714 $build_dir/nir_opt_algebraic.c \
715 $build_dir/nir_constant_expressions.c \
716 \
717 $src_dir/src/compiler/spirv/gl_spirv.c \
718 $src_dir/src/compiler/spirv/spirv_to_nir.c \
719 $src_dir/src/compiler/spirv/vtn_alu.c \
720 $src_dir/src/compiler/spirv/vtn_amd.c \
721 $src_dir/src/compiler/spirv/vtn_cfg.c \
722 $src_dir/src/compiler/spirv/vtn_glsl450.c \
723 $src_dir/contrib/vtn_opencl.c \
724 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
725 $src_dir/src/compiler/spirv/vtn_subgroup.c \
726 $src_dir/src/compiler/spirv/vtn_variables.c \
727 \
728 $src_dir/src/compiler/nir/nir.c \
729 $src_dir/src/compiler/nir/nir_builder.c \
730 $src_dir/src/compiler/nir/nir_builtin_builder.c \
731 $src_dir/src/compiler/nir/nir_clone.c \
732 $src_dir/src/compiler/nir/nir_control_flow.c \
733 $src_dir/src/compiler/nir/nir_deref.c \
734 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
735 $src_dir/src/compiler/nir/nir_dominance.c \
736 $src_dir/src/compiler/nir/nir_from_ssa.c \
737 $src_dir/src/compiler/nir/nir_gather_info.c \
738 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
739 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
740 $src_dir/src/compiler/nir/nir_group_loads.c \
741 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
742 $src_dir/src/compiler/nir/nir_inline_functions.c \
743 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
744 $src_dir/src/compiler/nir/nir_instr_set.c \
745 $src_dir/src/compiler/nir/nir_linking_helpers.c \
746 $src_dir/src/compiler/nir/nir_liveness.c \
747 $src_dir/src/compiler/nir/nir_loop_analyze.c \
748 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
749 $src_dir/src/compiler/nir/nir_lower_alu.c \
750 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
751 $src_dir/src/compiler/nir/nir_lower_amul.c \
752 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
753 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
754 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
755 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
756 $src_dir/src/compiler/nir/nir_lower_blend.c \
757 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
758 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
759 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
760 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
761 $src_dir/src/compiler/nir/nir_lower_clip.c \
762 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
763 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
764 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
765 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
766 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
767 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
768 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
769 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
770 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
771 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
772 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
773 $src_dir/src/compiler/nir/nir_lower_flrp.c \
774 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
775 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
776 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
777 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
778 $src_dir/src/compiler/nir/nir_lower_frexp.c \
779 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
780 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
781 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
782 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
783 $src_dir/src/compiler/nir/nir_lower_idiv.c \
784 $src_dir/src/compiler/nir/nir_lower_image.c \
785 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
786 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
787 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
788 $src_dir/src/compiler/nir/nir_lower_int64.c \
789 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
790 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
791 $src_dir/src/compiler/nir/nir_lower_io.c \
792 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
793 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
794 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
795 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
796 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
797 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
798 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
799 $src_dir/src/compiler/nir/nir_lower_mediump.c \
800 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
801 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
802 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
803 $src_dir/src/compiler/nir/nir_lower_multiview.c \
804 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
805 $src_dir/src/compiler/nir/nir_lower_packing.c \
806 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
807 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
808 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
809 $src_dir/src/compiler/nir/nir_lower_point_size.c \
810 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
811 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
812 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
813 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
814 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
815 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
816 $src_dir/src/compiler/nir/nir_lower_returns.c \
817 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
818 $src_dir/src/compiler/nir/nir_lower_samplers.c \
819 $src_dir/src/compiler/nir/nir_lower_scratch.c \
820 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
821 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
822 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
823 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
824 $src_dir/src/compiler/nir/nir_lower_system_values.c \
825 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
826 $src_dir/src/compiler/nir/nir_lower_tex.c \
827 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
828 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
829 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
830 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
831 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
832 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
834 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
835 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
836 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
837 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
838 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
839 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
840 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
841 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
842 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
843 $src_dir/src/compiler/nir/nir_metadata.c \
844 $src_dir/src/compiler/nir/nir_mod_analysis.c \
845 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
846 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
847 $src_dir/src/compiler/nir/nir_opt_access.c \
848 $src_dir/src/compiler/nir/nir_opt_barriers.c \
849 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
850 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
851 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
852 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
853 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
854 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
855 $src_dir/src/compiler/nir/nir_opt_cse.c \
856 $src_dir/src/compiler/nir/nir_opt_dce.c \
857 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
858 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
859 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
860 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
861 $src_dir/src/compiler/nir/nir_opt_gcm.c \
862 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
863 $src_dir/src/compiler/nir/nir_opt_if.c \
864 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
865 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
866 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
867 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
868 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
869 $src_dir/src/compiler/nir/nir_opt_move.c \
870 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
871 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
872 $src_dir/src/compiler/nir/nir_opt_offsets.c \
873 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
874 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
875 $src_dir/src/compiler/nir/nir_opt_preamble.c \
876 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
877 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
878 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
879 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
880 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
881 $src_dir/src/compiler/nir/nir_opt_sink.c \
882 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
883 $src_dir/src/compiler/nir/nir_opt_undef.c \
884 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
885 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
886 $src_dir/src/compiler/nir/nir_phi_builder.c \
887 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
888 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
889 $src_dir/src/compiler/nir/nir_print.c \
890 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
891 $src_dir/src/compiler/nir/nir_range_analysis.c \
892 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
893 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
894 $src_dir/src/compiler/nir/nir_repair_ssa.c \
895 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
896 $src_dir/src/compiler/nir/nir_schedule.c \
897 $src_dir/src/compiler/nir/nir_search.c \
898 $src_dir/src/compiler/nir/nir_serialize.c \
899 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
900 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
901 $src_dir/src/compiler/nir/nir_split_var_copies.c \
902 $src_dir/src/compiler/nir/nir_split_vars.c \
903 $src_dir/src/compiler/nir/nir_sweep.c \
904 $src_dir/src/compiler/nir/nir_to_lcssa.c \
905 $src_dir/src/compiler/nir/nir_validate.c \
906 $src_dir/src/compiler/nir/nir_worklist.c \
907 "
908 for f in $libnir_files
909 do
910 libnir_obj=$build_dir/$(basename $f .c).o
911 libnir_a="$libnir_a $libnir_obj"
912
913 $cc $cppflags $f -o $libnir_obj &
914 done
915 #===============================================================================
916 # libaco
917 # we don't use cppflags_common for aco because the code is not yet
918 # compatible
919 cppflags="\
920 $gcc_builtins_cppflags \
921 $gcc_attributes_cppflags \
922 $linux_glibc_cppflags \
923 $mesa_cppflags \
924 -I$build_dir \
925 -I$src_dir/src/amd/compiler \
926 -I$src_dir/src/amd/vulkan \
927 -I$build_dir/src/amd/common \
928 -I$src_dir/src/amd/common \
929 -I$build_dir/src/amd \
930 -I$src_dir/src/amd \
931 -I$src_dir/src/compiler/nir \
932 -I$src_dir/src/compiler \
933 -I$src_dir/src/mesa \
934 -I$src_dir/src/gallium/include \
935 -I$src_dir/src \
936 -I$src_dir/include \
937 "
938 libaco_files="\
939 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
940 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
941 $src_dir/src/amd/compiler/aco_dominance.cpp \
942 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
943 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
944 $src_dir/src/amd/compiler/aco_interface.cpp \
945 $src_dir/src/amd/compiler/aco_assembler.cpp \
946 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
947 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
948 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
949 $src_dir/src/amd/compiler/aco_ir.cpp \
950 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
951 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
952 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
953 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
954 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
955 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
956 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
957 $build_dir/aco_opcodes.cpp \
958 $src_dir/src/amd/compiler/aco_optimizer.cpp \
959 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
960 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
961 $src_dir/src/amd/compiler/aco_print_asm.cpp \
962 $src_dir/src/amd/compiler/aco_print_ir.cpp \
963 $src_dir/src/amd/compiler/aco_scheduler.cpp \
964 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
965 $src_dir/src/amd/compiler/aco_spill.cpp \
966 $src_dir/src/amd/compiler/aco_statistics.cpp \
967 $src_dir/src/amd/compiler/aco_validate.cpp \
968 "
969 for f in $libaco_files
970 do
971 libaco_obj=$build_dir/$(basename $f .c).o
972 libaco_a="$libaco_a $libaco_obj"
973
974 $cxx $cppflags $f -o $libaco_obj &
975 done
976 #===============================================================================
977 # libmesautils
978 cppflags="\
979 $cppflags_common \
980 -I$build_dir/src/util/format \
981 -I$build_dir/src \
982 -I$build_dir \
983 -I$src_dir/src/gallium/auxiliary \
984 -I$src_dir/src/gallium/include \
985 -I$src_dir/src/mesa \
986 -I$src_dir/src/util/blake3 \
987 -I$src_dir/src/util/format \
988 -I$src_dir/src/util \
989 -I$src_dir/src \
990 -I$src_dir/include \
991 $zlib_cppflags \
992 "
993 libmesautil_files="\
994 $build_dir/format_srgb.c \
995 $build_dir/u_format_table.c \
996 $src_dir/src/util/anon_file.c \
997 $src_dir/src/util/bitscan.c \
998 $src_dir/src/util/blake3/blake3.c \
999 $src_dir/src/util/blake3/blake3_dispatch.c \
1000 $src_dir/src/util/blake3/blake3_portable.c \
1001 $src_dir/src/util/blob.c \
1002 $src_dir/src/util/build_id.c \
1003 $src_dir/src/util/compress.c \
1004 $src_dir/src/util/crc32.c \
1005 $src_dir/src/util/dag.c \
1006 $src_dir/src/util/disk_cache.c \
1007 $src_dir/src/util/disk_cache_os.c \
1008 $src_dir/src/util/double.c \
1009 $src_dir/src/util/fast_idiv_by_const.c \
1010 $src_dir/src/util/fossilize_db.c \
1011 $src_dir/src/util/futex.c \
1012 $src_dir/src/util/half_float.c \
1013 $src_dir/src/util/hash_table.c \
1014 $src_dir/src/util/log.c \
1015 $src_dir/src/util/mesa-blake3.c \
1016 $src_dir/src/util/mesa-sha1.c \
1017 $src_dir/src/util/mesa_cache_db.c \
1018 $src_dir/src/util/mesa_cache_db_multipart.c \
1019 $src_dir/src/util/memstream.c \
1020 $src_dir/src/util/os_file.c \
1021 $src_dir/src/util/os_memory_fd.c \
1022 $src_dir/src/util/os_misc.c \
1023 $src_dir/src/util/os_socket.c \
1024 $src_dir/src/util/os_time.c \
1025 $src_dir/src/util/sha1/sha1.c \
1026 $src_dir/src/util/ralloc.c \
1027 $src_dir/src/util/rand_xor.c \
1028 $src_dir/src/util/rb_tree.c \
1029 $src_dir/src/util/register_allocate.c \
1030 $src_dir/src/util/rgtc.c \
1031 $src_dir/src/util/rwlock.c \
1032 $src_dir/src/util/set.c \
1033 $src_dir/src/util/simple_mtx.c \
1034 $src_dir/src/util/slab.c \
1035 $src_dir/src/util/softfloat.c \
1036 $src_dir/src/util/sparse_array.c \
1037 $src_dir/src/util/string_buffer.c \
1038 $src_dir/src/util/strtod.c \
1039 $src_dir/src/util/u_atomic.c \
1040 $src_dir/src/util/u_call_once.c \
1041 $src_dir/src/util/u_cpu_detect.c \
1042 $src_dir/src/util/u_debug.c \
1043 $src_dir/src/util/u_debug_describe.c \
1044 $src_dir/src/util/u_debug_refcnt.c \
1045 $src_dir/src/util/u_debug_stack.c \
1046 $src_dir/src/util/u_debug_symbol.c \
1047 $src_dir/src/util/u_dl.c \
1048 $src_dir/src/util/u_dynarray.c \
1049 $src_dir/src/util/u_hash_table.c \
1050 $src_dir/src/util/u_printf.c \
1051 $src_dir/src/util/format/u_format.c \
1052 $src_dir/src/util/format/u_format_bptc.c \
1053 $src_dir/src/util/format/u_format_etc.c \
1054 $src_dir/src/util/format/u_format_fxt1.c \
1055 $src_dir/src/util/format/u_format_latc.c \
1056 $src_dir/src/util/format/u_format_other.c \
1057 $src_dir/src/util/format/u_format_rgtc.c \
1058 $src_dir/src/util/format/u_format_s3tc.c \
1059 $src_dir/src/util/format/u_format_tests.c \
1060 $src_dir/src/util/format/u_format_yuv.c \
1061 $src_dir/src/util/format/u_format_zs.c \
1062 $src_dir/src/util/u_idalloc.c \
1063 $src_dir/src/util/u_math.c \
1064 $src_dir/src/util/u_mm.c \
1065 $src_dir/src/util/u_process.c \
1066 $src_dir/src/util/u_queue.c \
1067 $src_dir/src/util/u_thread.c \
1068 $src_dir/src/util/u_vector.c \
1069 $src_dir/src/util/u_worklist.c \
1070 $src_dir/src/util/vma.c \
1071 \
1072 $src_dir/src/c11/impl/time.c \
1073 $src_dir/src/c11/impl/threads_posix.c \
1074 "
1075 for f in $libmesautil_files
1076 do
1077 libmesautil_obj=$build_dir/$(basename $f .c).o
1078 libmesautil_a="$libmesautil_a $libmesautil_obj"
1079
1080 $cc $cppflags $f -o $libmesautil_obj &
1081 done
1082 #-------------------------------------------------------------------------------
1083 # The following is for the ultra complex blake3 hash algorithm.
1084 libmesautil_asm_files="\
1085 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1086 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1087 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1088 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1089 "
1090 for f in $libmesautil_asm_files
1091 do
1092 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1093 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1094 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1095
1096 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1097 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1098 done
1099 #===============================================================================
1100 # amd vulkan
1101 cppflags="\
1102 $cppflags_common \
1103 -DPACKAGE_VERSION=\"$version\" \
1104 -I$build_dir/vulkan/util \
1105 -I$build_dir/src/util \
1106 -I$build_dir \
1107 -I$src_dir/src/amd/compiler \
1108 -I$build_dir/src/amd/common \
1109 -I$src_dir/src/amd/common \
1110 -I$src_dir/src/amd/vulkan/nir \
1111 -I$src_dir/src/amd/vulkan/meta \
1112 -I$src_dir/src/amd/vulkan \
1113 -I$src_dir/src/amd \
1114 -I$src_dir/src/gallium/auxiliary \
1115 -I$src_dir/src/gallium/include \
1116 -I$src_dir/src/vulkan/util \
1117 -I$src_dir/src/vulkan/runtime \
1118 -I$src_dir/src/vulkan/wsi \
1119 -I$src_dir/src/util \
1120 -I$src_dir/src/mesa \
1121 -I$src_dir/src/compiler/nir \
1122 -I$src_dir/src/compiler \
1123 -I$src_dir/src \
1124 -I$src_dir/include \
1125 $libdrm_cppflags \
1126 $libdrm_amdgpu_cppflags \
1127 $libx11_cppflags \
1128 $libxrandr_cppflags \
1129 $libxrender_cppflags \
1130 $libxcb_cppflags \
1131 $xorgproto_cppflags \
1132 $libxshmfence_cppflags \
1133 "
1134 #$build_dir/radv_extensions.c
1135 #$build_dir/vk_format_table.c
1136 # XXX: remove rt for now
1137 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1138 libvulkan_amd_common_files="\
1139 $src_dir/src/amd/vulkan/radv_android.c \
1140 $src_dir/src/amd/vulkan/radv_buffer.c \
1141 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1142 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1143 $src_dir/src/amd/vulkan/radv_debug.c \
1144 $build_dir/src/amd/vulkan/radv_device.c \
1145 $src_dir/src/amd/vulkan/radv_device_memory.c \
1146 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1147 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1148 $src_dir/src/amd/vulkan/radv_event.c \
1149 $src_dir/src/amd/vulkan/radv_formats.c \
1150 $src_dir/src/amd/vulkan/radv_image.c \
1151 $src_dir/src/amd/vulkan/radv_instance.c \
1152 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1153 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1154 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1155 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1156 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1157 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1158 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1159 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1160 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1161 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1162 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1163 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1169 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1170 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1171 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1172 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1173 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1174 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1175 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1176 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1177 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1178 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1179 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1180 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1181 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1182 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1183 $src_dir/src/amd/vulkan/radv_physical_device.c \
1184 $src_dir/src/amd/vulkan/radv_pipeline.c \
1185 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1186 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1187 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1188 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1189 $src_dir/src/amd/vulkan/radv_queue.c \
1190 $src_dir/src/amd/vulkan/radv_rt_common.c \
1191 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1192 $src_dir/src/amd/vulkan/radv_sampler.c \
1193 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1194 $src_dir/src/amd/vulkan/radv_shader.c \
1195 $src_dir/src/amd/vulkan/radv_shader_args.c \
1196 $src_dir/src/amd/vulkan/radv_shader_info.c \
1197 $src_dir/src/amd/vulkan/radv_spm.c \
1198 $src_dir/src/amd/vulkan/radv_query.c \
1199 $src_dir/src/amd/vulkan/radv_video.c \
1200 $src_dir/src/amd/vulkan/radv_wsi.c \
1201 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1202 \
1203 $build_dir/gfx10_format_table.c \
1204 \
1205 $build_dir/radv_entrypoints.c \
1206 \
1207 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1208 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1209 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1210 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1211 \
1212 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1213 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1214 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1215 \
1216 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1217 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1218 \
1219 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1220 "
1221
1222 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1223
1224 for f in $libvulkan_amd_common_files
1225 do
1226 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1227 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1228
1229 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1230 done
1231 libvulkan_amd_common_a="\
1232 $libvulkan_amd_common_a \
1233 $build_dir/xmlconfig.o"
1234 #===============================================================================
1235 # create the radeon vulkan driver
1236 soname=libvulkan_radeon.so
1237
1238 # XXX:the attempt to generalize without kludge the link stage of real programs
1239 # build is near a total and complete failure
1240 if test "${driver_link_cmd-unset}" = unset ; then
1241 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1242 -shared -static-libgcc -static-libstdc++ \
1243 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1244 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1245 -Wl,--whole-archive -Wl,--start-group \
1246 $libaco_a \
1247 $libvulkan_amd_common_a \
1248 $libvulkan_util_a \
1249 $libvulkan_runtime_a \
1250 $libvulkan_wsi_a \
1251 $libamd_common_a \
1252 $libamdgpu_addrlib_a \
1253 $libcompiler_a \
1254 $libnir_a \
1255 $libmesautil_a \
1256 -Wl,--end-group -Wl,--no-whole-archive \
1257 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1258 $zlib_ldflags \
1259 $expat_ldflags \
1260 $libelf_ldflags \
1261 -Wl,--as-needed \
1262 $libdrm_ldflags \
1263 $libdrm_amdgpu_ldflags \
1264 $libx11_ldflags \
1265 $libxrandr_ldflags \
1266 $libxrender_ldflags \
1267 $libxcb_ldflags \
1268 $libxshmfence_ldflags \
1269 -lpthread \
1270 -ldl \
1271 -Wl,--no-as-needed"
1272 fi
1273 wait
1274 eval $driver_link_cmd
1275 #===============================================================================
File builders/mesa-vulkan-amd-sh-d92520e19c3ce6e97cdbb6e1eaad3760f4615e9f/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/generators.sh deleted (index 874a6b9..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/runtime/vk_format_info_gen.py \
97 --xml $vulkan_api_xml \
98 --out-h vk_format_info.h \
99 --out-c vk_format_info.c &
100 unset PYTHONPATH
101 #===============================================================================
102 # wsi x11 (Window System Interface)
103 export PYTHONPATH=$mako
104 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
105 --beta false \
106 --xml $vulkan_api_xml \
107 --proto --weak \
108 --out-h wsi_common_entrypoints.h \
109 --out-c wsi_common_entrypoints.c \
110 --prefix wsi &
111 unset PYTHONPATH
112 #===============================================================================
113 # amd common archive
114 $python3 $src_dir/src/amd/common/sid_tables.py \
115 $src_dir/src/amd/common/sid.h \
116 $src_dir/src/amd/registers/gfx6.json \
117 $src_dir/src/amd/registers/gfx7.json \
118 $src_dir/src/amd/registers/gfx8.json \
119 $src_dir/src/amd/registers/gfx81.json \
120 $src_dir/src/amd/registers/gfx9.json \
121 $src_dir/src/amd/registers/gfx940.json \
122 $src_dir/src/amd/registers/gfx10.json \
123 $src_dir/src/amd/registers/gfx10-rsrc.json \
124 $src_dir/src/amd/registers/gfx103.json \
125 $src_dir/src/amd/registers/gfx11.json \
126 $src_dir/src/amd/registers/gfx11-rsrc.json \
127 $src_dir/src/amd/registers/pkt3.json \
128 $src_dir/src/amd/registers/registers-manually-defined.json \
129 >$build_dir/sid_tables.h &
130 mkdir -p $build_dir/src/amd/common
131 $python3 $src_dir/src/amd/registers/makeregheader.py \
132 $src_dir/src/amd/registers/gfx6.json \
133 $src_dir/src/amd/registers/gfx7.json \
134 $src_dir/src/amd/registers/gfx8.json \
135 $src_dir/src/amd/registers/gfx81.json \
136 $src_dir/src/amd/registers/gfx9.json \
137 $src_dir/src/amd/registers/gfx940.json \
138 $src_dir/src/amd/registers/gfx10.json \
139 $src_dir/src/amd/registers/gfx10-rsrc.json \
140 $src_dir/src/amd/registers/gfx11.json \
141 $src_dir/src/amd/registers/gfx11-rsrc.json \
142 $src_dir/src/amd/registers/gfx103.json \
143 $src_dir/src/amd/registers/pkt3.json \
144 $src_dir/src/amd/registers/registers-manually-defined.json \
145 --sort address \
146 --guard AMDGFXREGS_H \
147 >$build_dir/src/amd/common/amdgfxregs.h &
148 #===============================================================================
149 # libcompiler required by libnir
150 export PYTHONPATH=$mako
151 $python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
152 >$build_dir/ir_expression_operation.h &
153 unset PYTHONPATH
154 #===============================================================================
155 # libnir
156 export PYTHONPATH=$mako
157 $python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
158 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
159 $build_dir/spirv_info.c &
160
161 $python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
162 $src_dir/src/compiler/spirv/spirv.core.grammar.json \
163 $build_dir/vtn_gather_types.c &
164
165 $python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
166 $src_dir/src/compiler/spirv/spir-v.xml \
167 $build_dir/vtn_generator_ids.h &
168 # nir generated files
169 $python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
170 >$build_dir/nir_constant_expressions.c &
171
172 $python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
173 >$build_dir/nir_opt_algebraic.c &
174
175 $python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
176 >$build_dir/nir_opcodes.c &
177
178 $python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
179 --outdir $build_dir &
180 unset PYTHONPATH
181 #===============================================================================
182 # libaco
183 export PYTHONPATH=$mako
184 $python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
185 >$build_dir/aco_opcodes.h &
186 $python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
187 >$build_dir/aco_opcodes.cpp &
188 $python3 $src_dir/src/amd/compiler/aco_builder_h.py \
189 >$build_dir/aco_builder.h &
190 unset PYTHONPATH
191 #===============================================================================
192 # libmesautils
193 mkdir -p $build_dir/src/util
194
195 export PYTHONPATH=$mako
196 $python3 $src_dir/src/util/format_srgb.py \
197 >$build_dir/format_srgb.c
198
199 $python3 $src_dir/src/util/format/u_format_table.py \
200 $src_dir/src/util/format/u_format.csv \
201 >$build_dir/u_format_table.c
202
203 # wow, really?
204 mkdir -p $build_dir/src/util/format
205 $python3 $src_dir/src/util/format/u_format_table.py \
206 --header \
207 $src_dir/src/util/format/u_format.csv \
208 >$build_dir/src/util/format/u_format_pack.h
209
210 # oooof!
211 $python3 $src_dir/src/util/driconf_static.py \
212 $src_dir/src/util/00-mesa-defaults.conf \
213 $build_dir/src/util/driconf_static.h
214 unset PYTHONPATH
215 #$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
216 #===============================================================================
217 # amd vulkan
218 export PYTHONPATH=$mako
219 #------------------------------------------------------------------------------
220 # specific API to work around _still maintained at the time of writing _ game
221 # executable... this is the beginning of the end...
222 $python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
223 --beta false \
224 --xml $vulkan_api_xml \
225 --proto --weak \
226 --out-h radv_entrypoints.h \
227 --out-c radv_entrypoints.c \
228 --prefix radv \
229 --device-prefix metro_exodus \
230 --device-prefix rage2 &
231 #------------------------------------------------------------------------------
232 #$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
233 # --xml $vulkan_api_xml \
234 # --out-c radv_extensions.c \
235 # --out-h radv_extensions.h &
236 #------------------------------------------------------------------------------
237 #$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
238 # $src_dir/src/amd/vulkan/vk_format_layout.csv \
239 # >$build_dir/vk_format_table.c &
240 #------------------------------------------------------------------------------
241 $python3 $src_dir/src/amd/common/gfx10_format_table.py \
242 $src_dir/src/util/format/u_format.csv \
243 $src_dir/src/amd/registers/gfx10-rsrc.json \
244 $src_dir/src/amd/registers/gfx11-rsrc.json \
245 >$build_dir/gfx10_format_table.c &
246 #------------------------------------------------------------------------------
247 git_sha1=no_git_sha1_available
248 if test -d $src_dir/.git; then
249 git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
250 fi
251 echo git_sha1=$git_sha1
252 echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/git_sha1.h &
253 unset PYTHONPATH
254 #===============================================================================
File builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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-ee69c56c8ca99b678258c06748c47cd1d58c6a66/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh deleted (index 52bd910..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_buffer.c \
473 $src_dir/src/vulkan/runtime/vk_cmd_copy.c \
474 $src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \
475 $build_dir/vk_cmd_enqueue_entrypoints.c \
476 $build_dir/vk_cmd_queue.c \
477 $src_dir/src/vulkan/runtime/vk_command_buffer.c \
478 $src_dir/src/vulkan/runtime/vk_command_pool.c \
479 $build_dir/vk_common_entrypoints.c \
480 $src_dir/src/vulkan/runtime/vk_debug_report.c \
481 $src_dir/src/vulkan/runtime/vk_debug_utils.c \
482 $src_dir/src/vulkan/runtime/vk_deferred_operation.c \
483 $src_dir/src/vulkan/runtime/vk_device_memory.c \
484 $src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \
485 $src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \
486 $src_dir/src/vulkan/runtime/vk_descriptors.c \
487 $src_dir/src/vulkan/runtime/vk_device.c \
488 $src_dir/src/vulkan/runtime/vk_drm_syncobj.c \
489 $build_dir/vk_dispatch_trampolines.c \
490 $src_dir/src/vulkan/runtime/vk_fence.c \
491 $build_dir/vk_format_info.c \
492 $src_dir/src/vulkan/runtime/vk_framebuffer.c \
493 $src_dir/src/vulkan/runtime/vk_graphics_state.c \
494 $src_dir/src/vulkan/runtime/vk_image.c \
495 $src_dir/src/vulkan/runtime/vk_instance.c \
496 $src_dir/src/vulkan/runtime/vk_log.c \
497 $src_dir/src/vulkan/runtime/vk_nir.c \
498 $src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \
499 $src_dir/src/vulkan/runtime/vk_object.c \
500 $src_dir/src/vulkan/runtime/vk_pipeline.c \
501 $src_dir/src/vulkan/runtime/vk_pipeline_layout.c \
502 $src_dir/src/vulkan/runtime/vk_pipeline_cache.c \
503 $src_dir/src/vulkan/runtime/vk_physical_device.c \
504 $build_dir/vk_physical_device_features.c \
505 $src_dir/src/vulkan/runtime/vk_queue.c \
506 $src_dir/src/vulkan/runtime/vk_render_pass.c \
507 $src_dir/src/vulkan/runtime/vk_sampler.c \
508 $src_dir/src/vulkan/runtime/vk_semaphore.c \
509 $src_dir/src/vulkan/runtime/vk_shader_module.c \
510 $src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \
511 $src_dir/src/vulkan/runtime/vk_sync.c \
512 $src_dir/src/vulkan/runtime/vk_sync_binary.c \
513 $src_dir/src/vulkan/runtime/vk_sync_dummy.c \
514 $src_dir/src/vulkan/runtime/vk_sync_timeline.c \
515 $src_dir/src/vulkan/runtime/vk_synchronization2.c \
516 $src_dir/src/vulkan/runtime/vk_video.c \
517 $src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \
518 "
519 for f in $libvulkan_runtime_files
520 do
521 libvulkan_runtime_obj=$build_dir/$(basename $f .c).o
522 libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj"
523
524 $cc $cppflags $f -o $libvulkan_runtime_obj &
525 done
526 #===============================================================================
527 # wsi x11 (Window System Interface)
528 cppflags="\
529 $cppflags_common \
530 -I$build_dir/vulkan/util \
531 -I$build_dir \
532 -I$src_dir/src \
533 -I$src_dir/src/vulkan/util \
534 -I$src_dir/src/vulkan/runtime \
535 -I$src_dir/src/gallium/include \
536 -I$src_dir/include \
537 -I$src_dir/include/drm-uapi \
538 $libxcb_cppflags \
539 $libx11_cppflags \
540 $libxrandr_cppflags \
541 $libxrender_cppflags \
542 $xorgproto_cppflags \
543 $libxshmfence_cppflags \
544 $libdrm_cppflags \
545 "
546 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \
547 -o $build_dir/wsi_common.o &
548 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \
549 -o $build_dir/wsi_common_drm.o &
550 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \
551 -o $build_dir/wsi_common_x11.o &
552 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \
553 -o $build_dir/wsi_common_display.o &
554 $cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \
555 -o $build_dir/wsi_common_headless.o &
556 $cc $cppflags $build_dir/wsi_common_entrypoints.c \
557 -o $build_dir/wsi_common_entrypoints.o &
558 libvulkan_wsi_a="\
559 $build_dir/wsi_common.o \
560 $build_dir/wsi_common_drm.o \
561 $build_dir/wsi_common_x11.o \
562 $build_dir/wsi_common_display.o \
563 $build_dir/wsi_common_headless.o \
564 $build_dir/wsi_common_entrypoints.o \
565 "
566 #===============================================================================
567 # amd common archive
568 cppflags="\
569 $cppflags_common \
570 -I$build_dir \
571 -I$src_dir/src/gallium/auxiliary \
572 -I$src_dir/src/gallium/include \
573 -I$build_dir/src/amd/common \
574 -I$src_dir/src/amd/common \
575 -I$src_dir/src/util \
576 -I$build_dir/src/amd \
577 -I$src_dir/src/amd \
578 -I$src_dir/src/compiler/nir \
579 -I$src_dir/src/compiler \
580 -I$src_dir/src/mesa \
581 -I$src_dir/src \
582 -I$src_dir/include \
583 -I$src_dir/include/drm-uapi \
584 $libdrm_cppflags \
585 $libdrm_amdgpu_cppflags \
586 $linux_drm_cppflags \
587 $libelf_cppflags \
588 "
589 #$src_dir/src/amd/common/ac_surface_meta_address_test.c \
590 #$src_dir/src/amd/common/ac_surface_modifier_test.c \
591 #$src_dir/src/amd/common/ac_sqtt.c \
592 libamd_common_c_files="\
593 $src_dir/src/amd/common/ac_surface.c \
594 $src_dir/src/amd/common/ac_binary.c \
595 $src_dir/src/amd/common/ac_debug.c \
596 $src_dir/src/amd/common/amd_family.c \
597 $src_dir/src/amd/common/ac_gpu_info.c \
598 $src_dir/src/amd/common/ac_msgpack.c \
599 $src_dir/src/amd/common/ac_nir.c \
600 $src_dir/src/amd/common/ac_nir_cull.c \
601 $src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \
602 $src_dir/src/amd/common/ac_nir_lower_global_access.c \
603 $src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \
604 $src_dir/src/amd/common/ac_nir_lower_ngg.c \
605 $src_dir/src/amd/common/ac_nir_lower_ps.c \
606 $src_dir/src/amd/common/ac_nir_lower_resinfo.c \
607 $src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \
608 $src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \
609 $src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \
610 $src_dir/src/amd/common/ac_nir_lower_tex.c \
611 $src_dir/src/amd/common/ac_nir_opt_outputs.c \
612 $src_dir/src/amd/common/ac_perfcounter.c \
613 $src_dir/src/amd/common/ac_shader_args.c \
614 $src_dir/src/amd/common/ac_shader_util.c \
615 $src_dir/src/amd/common/ac_shadowed_regs.c \
616 $src_dir/src/amd/common/ac_rgp.c \
617 $src_dir/src/amd/common/ac_rgp_elf_object_pack.c \
618 $src_dir/src/amd/common/ac_rtld.c \
619 $src_dir/src/amd/common/ac_spm.c \
620 "
621 for f in $libamd_common_c_files
622 do
623 libamd_common_c_obj=$build_dir/$(basename $f .c).o
624 libamd_common_a="$libamd_common_a $libamd_common_c_obj"
625
626 $cc $cppflags $f -o $libamd_common_c_obj &
627 done
628 #===============================================================================
629 # addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway)
630 cppflags="\
631 $cppflags_common \
632 -DLITTLEENDIAN_CPU \
633 -I$src_dir/src/amd/addrlib/inc/chip/gfx11 \
634 -I$src_dir/src/amd/addrlib/inc/chip/gfx10 \
635 -I$src_dir/src/amd/addrlib/inc/chip/gfx9 \
636 -I$src_dir/src/amd/addrlib/inc/chip/r800 \
637 -I$src_dir/src/amd/addrlib/inc \
638 -I$src_dir/src/amd/addrlib/src/core \
639 -I$src_dir/src/amd/addrlib/src/chip/gfx11 \
640 -I$src_dir/src/amd/addrlib/src/chip/gfx10 \
641 -I$src_dir/src/amd/addrlib/src/chip/gfx9 \
642 -I$src_dir/src/amd/addrlib/src/chip/r800 \
643 -I$src_dir/src/amd/addrlib/src \
644 -I$src_dir/src \
645 -I$src_dir/include \
646 "
647 libamdgpu_addrlib_files="\
648 $src_dir/src/amd/addrlib/src/addrinterface.cpp \
649 $src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \
650 $src_dir/src/amd/addrlib/src/core/addrlib.cpp \
651 $src_dir/src/amd/addrlib/src/core/addrlib1.cpp \
652 $src_dir/src/amd/addrlib/src/core/addrlib2.cpp \
653 $src_dir/src/amd/addrlib/src/core/addrobject.cpp \
654 $src_dir/src/amd/addrlib/src/core/coord.cpp \
655 $src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \
656 $src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \
657 $src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \
658 $src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \
659 $src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \
660 $src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \
661 "
662 for f in $libamdgpu_addrlib_files
663 do
664 libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o
665 libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj"
666
667 $cxx $cppflags $f -o $libamdgpu_addrlib_obj &
668 done
669 #===============================================================================
670 # libcompiler required by libnir
671 cppflags="\
672 $cppflags_common \
673 -I$build_dir \
674 -I$src_dir/src/gallium/auxiliary \
675 -I$src_dir/src/gallium/include \
676 -I$src_dir/src/mesa \
677 -I$src_dir/src \
678 -I$src_dir/include \
679 "
680 $cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \
681 -o $build_dir/glsl_types.o &
682 $cxx $cppflags $src_dir/src/compiler/nir_types.cpp \
683 -o $build_dir/nir_types.o &
684 $cc $cppflags $src_dir/src/compiler/shader_enums.c \
685 -o $build_dir/shader_enums.o &
686 libcompiler_a="\
687 $build_dir/glsl_types.o \
688 $build_dir/nir_types.o \
689 $build_dir/shader_enums.o \
690 "
691 #===============================================================================
692 # libnir
693 cppflags="\
694 $cppflags_common \
695 -I$build_dir \
696 -I$src_dir/src/compiler/spirv \
697 -I$src_dir/src/compiler/nir \
698 -I$src_dir/src/compiler \
699 -I$src_dir/src/gallium/include \
700 -I$src_dir/src/mesa \
701 -I$src_dir/src \
702 -I$src_dir/include \
703 $xorgproto_cppflags \
704 $libxcb_cppflags \
705 $libx11_cppflags \
706 $libxrender_cppflags \
707 $libxrandr_cppflags \
708 "
709 libnir_files="\
710 $build_dir/spirv_info.c \
711 $build_dir/vtn_gather_types.c \
712 $build_dir/nir_intrinsics.c \
713 $build_dir/nir_opcodes.c \
714 $build_dir/nir_opt_algebraic.c \
715 $build_dir/nir_constant_expressions.c \
716 \
717 $src_dir/src/compiler/spirv/gl_spirv.c \
718 $src_dir/src/compiler/spirv/spirv_to_nir.c \
719 $src_dir/src/compiler/spirv/vtn_alu.c \
720 $src_dir/src/compiler/spirv/vtn_amd.c \
721 $src_dir/src/compiler/spirv/vtn_cfg.c \
722 $src_dir/src/compiler/spirv/vtn_glsl450.c \
723 $src_dir/contrib/vtn_opencl.c \
724 $src_dir/src/compiler/spirv/vtn_structured_cfg.c \
725 $src_dir/src/compiler/spirv/vtn_subgroup.c \
726 $src_dir/src/compiler/spirv/vtn_variables.c \
727 \
728 $src_dir/src/compiler/nir/nir.c \
729 $src_dir/src/compiler/nir/nir_builder.c \
730 $src_dir/src/compiler/nir/nir_builtin_builder.c \
731 $src_dir/src/compiler/nir/nir_clone.c \
732 $src_dir/src/compiler/nir/nir_control_flow.c \
733 $src_dir/src/compiler/nir/nir_deref.c \
734 $src_dir/src/compiler/nir/nir_divergence_analysis.c \
735 $src_dir/src/compiler/nir/nir_dominance.c \
736 $src_dir/src/compiler/nir/nir_from_ssa.c \
737 $src_dir/src/compiler/nir/nir_gather_info.c \
738 $src_dir/src/compiler/nir/nir_gather_ssa_types.c \
739 $src_dir/src/compiler/nir/nir_gather_xfb_info.c \
740 $src_dir/src/compiler/nir/nir_group_loads.c \
741 $src_dir/src/compiler/nir/nir_gs_count_vertices.c \
742 $src_dir/src/compiler/nir/nir_inline_functions.c \
743 $src_dir/src/compiler/nir/nir_inline_uniforms.c \
744 $src_dir/src/compiler/nir/nir_instr_set.c \
745 $src_dir/src/compiler/nir/nir_linking_helpers.c \
746 $src_dir/src/compiler/nir/nir_liveness.c \
747 $src_dir/src/compiler/nir/nir_loop_analyze.c \
748 $src_dir/src/compiler/nir/nir_lower_alpha_test.c \
749 $src_dir/src/compiler/nir/nir_lower_alu.c \
750 $src_dir/src/compiler/nir/nir_lower_alu_width.c \
751 $src_dir/src/compiler/nir/nir_lower_amul.c \
752 $src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \
753 $src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \
754 $src_dir/src/compiler/nir/nir_lower_bitmap.c \
755 $src_dir/src/compiler/nir/nir_lower_bit_size.c \
756 $src_dir/src/compiler/nir/nir_lower_blend.c \
757 $src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \
758 $src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \
759 $src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \
760 $src_dir/src/compiler/nir/nir_lower_cl_images.c \
761 $src_dir/src/compiler/nir/nir_lower_clip.c \
762 $src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \
763 $src_dir/src/compiler/nir/nir_lower_clip_disable.c \
764 $src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \
765 $src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \
766 $src_dir/src/compiler/nir/nir_lower_continue_constructs.c \
767 $src_dir/src/compiler/nir/nir_lower_discard_if.c \
768 $src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \
769 $src_dir/src/compiler/nir/nir_lower_double_ops.c \
770 $src_dir/src/compiler/nir/nir_lower_drawpixels.c \
771 $src_dir/src/compiler/nir/nir_lower_fb_read.c \
772 $src_dir/src/compiler/nir/nir_lower_flatshade.c \
773 $src_dir/src/compiler/nir/nir_lower_flrp.c \
774 $src_dir/src/compiler/nir/nir_lower_fp16_conv.c \
775 $src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \
776 $src_dir/src/compiler/nir/nir_lower_fragcolor.c \
777 $src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \
778 $src_dir/src/compiler/nir/nir_lower_frexp.c \
779 $src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \
780 $src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \
781 $src_dir/src/compiler/nir/nir_lower_goto_ifs.c \
782 $src_dir/src/compiler/nir/nir_lower_helper_writes.c \
783 $src_dir/src/compiler/nir/nir_lower_idiv.c \
784 $src_dir/src/compiler/nir/nir_lower_image.c \
785 $src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \
786 $src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \
787 $src_dir/src/compiler/nir/nir_lower_input_attachments.c \
788 $src_dir/src/compiler/nir/nir_lower_int64.c \
789 $src_dir/src/compiler/nir/nir_lower_int_to_float.c \
790 $src_dir/src/compiler/nir/nir_lower_interpolation.c \
791 $src_dir/src/compiler/nir/nir_lower_io.c \
792 $src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \
793 $src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \
794 $src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \
795 $src_dir/src/compiler/nir/nir_lower_io_to_vector.c \
796 $src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \
797 $src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \
798 $src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \
799 $src_dir/src/compiler/nir/nir_lower_mediump.c \
800 $src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \
801 $src_dir/src/compiler/nir/nir_lower_memcpy.c \
802 $src_dir/src/compiler/nir/nir_lower_memory_model.c \
803 $src_dir/src/compiler/nir/nir_lower_multiview.c \
804 $src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \
805 $src_dir/src/compiler/nir/nir_lower_packing.c \
806 $src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \
807 $src_dir/src/compiler/nir/nir_lower_patch_vertices.c \
808 $src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \
809 $src_dir/src/compiler/nir/nir_lower_point_size.c \
810 $src_dir/src/compiler/nir/nir_lower_point_size_mov.c \
811 $src_dir/src/compiler/nir/nir_lower_point_smooth.c \
812 $src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \
813 $src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \
814 $src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \
815 $src_dir/src/compiler/nir/nir_lower_regs_to_ssa.c \
816 $src_dir/src/compiler/nir/nir_lower_returns.c \
817 $src_dir/src/compiler/nir/nir_lower_robust_access.c \
818 $src_dir/src/compiler/nir/nir_lower_samplers.c \
819 $src_dir/src/compiler/nir/nir_lower_scratch.c \
820 $src_dir/src/compiler/nir/nir_lower_shader_calls.c \
821 $src_dir/src/compiler/nir/nir_lower_single_sampled.c \
822 $src_dir/src/compiler/nir/nir_lower_subgroups.c \
823 $src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \
824 $src_dir/src/compiler/nir/nir_lower_system_values.c \
825 $src_dir/src/compiler/nir/nir_lower_task_shader.c \
826 $src_dir/src/compiler/nir/nir_lower_tex.c \
827 $src_dir/src/compiler/nir/nir_lower_tex_shadow.c \
828 $src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \
829 $src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \
830 $src_dir/src/compiler/nir/nir_lower_to_source_mods.c \
831 $src_dir/src/compiler/nir/nir_lower_two_sided_color.c \
832 $src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \
833 $src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \
834 $src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \
835 $src_dir/src/compiler/nir/nir_lower_var_copies.c \
836 $src_dir/src/compiler/nir/nir_lower_variable_initializers.c \
837 $src_dir/src/compiler/nir/nir_lower_vec_to_movs.c \
838 $src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \
839 $src_dir/src/compiler/nir/nir_lower_viewport_transform.c \
840 $src_dir/src/compiler/nir/nir_lower_wpos_center.c \
841 $src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \
842 $src_dir/src/compiler/nir/nir_lower_wrmasks.c \
843 $src_dir/src/compiler/nir/nir_metadata.c \
844 $src_dir/src/compiler/nir/nir_mod_analysis.c \
845 $src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \
846 $src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \
847 $src_dir/src/compiler/nir/nir_opt_access.c \
848 $src_dir/src/compiler/nir/nir_opt_barriers.c \
849 $src_dir/src/compiler/nir/nir_opt_combine_stores.c \
850 $src_dir/src/compiler/nir/nir_opt_comparison_pre.c \
851 $src_dir/src/compiler/nir/nir_opt_conditional_discard.c \
852 $src_dir/src/compiler/nir/nir_opt_constant_folding.c \
853 $src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \
854 $src_dir/src/compiler/nir/nir_opt_copy_propagate.c \
855 $src_dir/src/compiler/nir/nir_opt_cse.c \
856 $src_dir/src/compiler/nir/nir_opt_dce.c \
857 $src_dir/src/compiler/nir/nir_opt_dead_cf.c \
858 $src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \
859 $src_dir/src/compiler/nir/nir_opt_find_array_copies.c \
860 $src_dir/src/compiler/nir/nir_opt_fragdepth.c \
861 $src_dir/src/compiler/nir/nir_opt_gcm.c \
862 $src_dir/src/compiler/nir/nir_opt_idiv_const.c \
863 $src_dir/src/compiler/nir/nir_opt_if.c \
864 $src_dir/src/compiler/nir/nir_opt_intrinsics.c \
865 $src_dir/src/compiler/nir/nir_opt_large_constants.c \
866 $src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \
867 $src_dir/src/compiler/nir/nir_opt_loop_unroll.c \
868 $src_dir/src/compiler/nir/nir_opt_memcpy.c \
869 $src_dir/src/compiler/nir/nir_opt_move.c \
870 $src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \
871 $src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \
872 $src_dir/src/compiler/nir/nir_opt_offsets.c \
873 $src_dir/src/compiler/nir/nir_opt_phi_precision.c \
874 $src_dir/src/compiler/nir/nir_opt_peephole_select.c \
875 $src_dir/src/compiler/nir/nir_opt_preamble.c \
876 $src_dir/src/compiler/nir/nir_opt_ray_queries.c \
877 $src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \
878 $src_dir/src/compiler/nir/nir_opt_remove_phis.c \
879 $src_dir/src/compiler/nir/nir_opt_shrink_stores.c \
880 $src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \
881 $src_dir/src/compiler/nir/nir_opt_sink.c \
882 $src_dir/src/compiler/nir/nir_opt_trivial_continues.c \
883 $src_dir/src/compiler/nir/nir_opt_undef.c \
884 $src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \
885 $src_dir/src/compiler/nir/nir_opt_vectorize.c \
886 $src_dir/src/compiler/nir/nir_phi_builder.c \
887 $src_dir/src/compiler/nir/nir_passthrough_gs.c \
888 $src_dir/src/compiler/nir/nir_passthrough_tcs.c \
889 $src_dir/src/compiler/nir/nir_print.c \
890 $src_dir/src/compiler/nir/nir_propagate_invariant.c \
891 $src_dir/src/compiler/nir/nir_range_analysis.c \
892 $src_dir/src/compiler/nir/nir_remove_dead_variables.c \
893 $src_dir/src/compiler/nir/nir_remove_tex_shadow.c \
894 $src_dir/src/compiler/nir/nir_repair_ssa.c \
895 $src_dir/src/compiler/nir/nir_scale_fdiv.c \
896 $src_dir/src/compiler/nir/nir_schedule.c \
897 $src_dir/src/compiler/nir/nir_search.c \
898 $src_dir/src/compiler/nir/nir_serialize.c \
899 $src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \
900 $src_dir/src/compiler/nir/nir_split_per_member_structs.c \
901 $src_dir/src/compiler/nir/nir_split_var_copies.c \
902 $src_dir/src/compiler/nir/nir_split_vars.c \
903 $src_dir/src/compiler/nir/nir_sweep.c \
904 $src_dir/src/compiler/nir/nir_to_lcssa.c \
905 $src_dir/src/compiler/nir/nir_validate.c \
906 $src_dir/src/compiler/nir/nir_worklist.c \
907 "
908 for f in $libnir_files
909 do
910 libnir_obj=$build_dir/$(basename $f .c).o
911 libnir_a="$libnir_a $libnir_obj"
912
913 $cc $cppflags $f -o $libnir_obj &
914 done
915 #===============================================================================
916 # libaco
917 # we don't use cppflags_common for aco because the code is not yet
918 # compatible
919 cppflags="\
920 $gcc_builtins_cppflags \
921 $gcc_attributes_cppflags \
922 $linux_glibc_cppflags \
923 $mesa_cppflags \
924 -I$build_dir \
925 -I$src_dir/src/amd/compiler \
926 -I$src_dir/src/amd/vulkan \
927 -I$build_dir/src/amd/common \
928 -I$src_dir/src/amd/common \
929 -I$build_dir/src/amd \
930 -I$src_dir/src/amd \
931 -I$src_dir/src/compiler/nir \
932 -I$src_dir/src/compiler \
933 -I$src_dir/src/mesa \
934 -I$src_dir/src/gallium/include \
935 -I$src_dir/src \
936 -I$src_dir/include \
937 "
938 libaco_files="\
939 $src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \
940 $src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \
941 $src_dir/src/amd/compiler/aco_dominance.cpp \
942 $src_dir/src/amd/compiler/aco_instruction_selection.cpp \
943 $src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \
944 $src_dir/src/amd/compiler/aco_interface.cpp \
945 $src_dir/src/amd/compiler/aco_assembler.cpp \
946 $src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \
947 $src_dir/src/amd/compiler/aco_insert_NOPs.cpp \
948 $src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \
949 $src_dir/src/amd/compiler/aco_ir.cpp \
950 $src_dir/src/amd/compiler/aco_reduce_assign.cpp \
951 $src_dir/src/amd/compiler/aco_reindex_ssa.cpp \
952 $src_dir/src/amd/compiler/aco_register_allocation.cpp \
953 $src_dir/src/amd/compiler/aco_live_var_analysis.cpp \
954 $src_dir/src/amd/compiler/aco_lower_phis.cpp \
955 $src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \
956 $src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \
957 $build_dir/aco_opcodes.cpp \
958 $src_dir/src/amd/compiler/aco_optimizer.cpp \
959 $src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \
960 $src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \
961 $src_dir/src/amd/compiler/aco_print_asm.cpp \
962 $src_dir/src/amd/compiler/aco_print_ir.cpp \
963 $src_dir/src/amd/compiler/aco_scheduler.cpp \
964 $src_dir/src/amd/compiler/aco_ssa_elimination.cpp \
965 $src_dir/src/amd/compiler/aco_spill.cpp \
966 $src_dir/src/amd/compiler/aco_statistics.cpp \
967 $src_dir/src/amd/compiler/aco_validate.cpp \
968 "
969 for f in $libaco_files
970 do
971 libaco_obj=$build_dir/$(basename $f .c).o
972 libaco_a="$libaco_a $libaco_obj"
973
974 $cxx $cppflags $f -o $libaco_obj &
975 done
976 #===============================================================================
977 # libmesautils
978 cppflags="\
979 $cppflags_common \
980 -I$build_dir/src/util/format \
981 -I$build_dir/src \
982 -I$build_dir \
983 -I$src_dir/src/gallium/auxiliary \
984 -I$src_dir/src/gallium/include \
985 -I$src_dir/src/mesa \
986 -I$src_dir/src/util/blake3 \
987 -I$src_dir/src/util/format \
988 -I$src_dir/src/util \
989 -I$src_dir/src \
990 -I$src_dir/include \
991 $zlib_cppflags \
992 "
993 libmesautil_files="\
994 $build_dir/format_srgb.c \
995 $build_dir/u_format_table.c \
996 $src_dir/src/util/anon_file.c \
997 $src_dir/src/util/bitscan.c \
998 $src_dir/src/util/blake3/blake3.c \
999 $src_dir/src/util/blake3/blake3_dispatch.c \
1000 $src_dir/src/util/blake3/blake3_portable.c \
1001 $src_dir/src/util/blob.c \
1002 $src_dir/src/util/build_id.c \
1003 $src_dir/src/util/compress.c \
1004 $src_dir/src/util/crc32.c \
1005 $src_dir/src/util/dag.c \
1006 $src_dir/src/util/disk_cache.c \
1007 $src_dir/src/util/disk_cache_os.c \
1008 $src_dir/src/util/double.c \
1009 $src_dir/src/util/fast_idiv_by_const.c \
1010 $src_dir/src/util/fossilize_db.c \
1011 $src_dir/src/util/futex.c \
1012 $src_dir/src/util/half_float.c \
1013 $src_dir/src/util/hash_table.c \
1014 $src_dir/src/util/log.c \
1015 $src_dir/src/util/mesa-blake3.c \
1016 $src_dir/src/util/mesa-sha1.c \
1017 $src_dir/src/util/mesa_cache_db.c \
1018 $src_dir/src/util/mesa_cache_db_multipart.c \
1019 $src_dir/src/util/memstream.c \
1020 $src_dir/src/util/os_file.c \
1021 $src_dir/src/util/os_memory_fd.c \
1022 $src_dir/src/util/os_misc.c \
1023 $src_dir/src/util/os_socket.c \
1024 $src_dir/src/util/os_time.c \
1025 $src_dir/src/util/sha1/sha1.c \
1026 $src_dir/src/util/ralloc.c \
1027 $src_dir/src/util/rand_xor.c \
1028 $src_dir/src/util/rb_tree.c \
1029 $src_dir/src/util/register_allocate.c \
1030 $src_dir/src/util/rgtc.c \
1031 $src_dir/src/util/rwlock.c \
1032 $src_dir/src/util/set.c \
1033 $src_dir/src/util/simple_mtx.c \
1034 $src_dir/src/util/slab.c \
1035 $src_dir/src/util/softfloat.c \
1036 $src_dir/src/util/sparse_array.c \
1037 $src_dir/src/util/string_buffer.c \
1038 $src_dir/src/util/strtod.c \
1039 $src_dir/src/util/u_atomic.c \
1040 $src_dir/src/util/u_call_once.c \
1041 $src_dir/src/util/u_cpu_detect.c \
1042 $src_dir/src/util/u_debug.c \
1043 $src_dir/src/util/u_debug_describe.c \
1044 $src_dir/src/util/u_debug_refcnt.c \
1045 $src_dir/src/util/u_debug_stack.c \
1046 $src_dir/src/util/u_debug_symbol.c \
1047 $src_dir/src/util/u_dl.c \
1048 $src_dir/src/util/u_dynarray.c \
1049 $src_dir/src/util/u_hash_table.c \
1050 $src_dir/src/util/u_printf.c \
1051 $src_dir/src/util/format/u_format.c \
1052 $src_dir/src/util/format/u_format_bptc.c \
1053 $src_dir/src/util/format/u_format_etc.c \
1054 $src_dir/src/util/format/u_format_fxt1.c \
1055 $src_dir/src/util/format/u_format_latc.c \
1056 $src_dir/src/util/format/u_format_other.c \
1057 $src_dir/src/util/format/u_format_rgtc.c \
1058 $src_dir/src/util/format/u_format_s3tc.c \
1059 $src_dir/src/util/format/u_format_tests.c \
1060 $src_dir/src/util/format/u_format_yuv.c \
1061 $src_dir/src/util/format/u_format_zs.c \
1062 $src_dir/src/util/u_idalloc.c \
1063 $src_dir/src/util/u_math.c \
1064 $src_dir/src/util/u_mm.c \
1065 $src_dir/src/util/u_process.c \
1066 $src_dir/src/util/u_queue.c \
1067 $src_dir/src/util/u_thread.c \
1068 $src_dir/src/util/u_vector.c \
1069 $src_dir/src/util/u_worklist.c \
1070 $src_dir/src/util/vma.c \
1071 \
1072 $src_dir/src/c11/impl/time.c \
1073 $src_dir/src/c11/impl/threads_posix.c \
1074 "
1075 for f in $libmesautil_files
1076 do
1077 libmesautil_obj=$build_dir/$(basename $f .c).o
1078 libmesautil_a="$libmesautil_a $libmesautil_obj"
1079
1080 $cc $cppflags $f -o $libmesautil_obj &
1081 done
1082 #-------------------------------------------------------------------------------
1083 # The following is for the ultra complex blake3 hash algorithm.
1084 libmesautil_asm_files="\
1085 $src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \
1086 $src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \
1087 $src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \
1088 $src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \
1089 "
1090 for f in $libmesautil_asm_files
1091 do
1092 libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s
1093 libmesautil_asm_obj=$build_dir/$(basename $f .c).o
1094 libmesautil_a="$libmesautil_a $libmesautil_asm_obj"
1095
1096 $cc -E $cppflags $f -o $libmesautil_asm_cpp_s
1097 $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj &
1098 done
1099 #===============================================================================
1100 # amd vulkan
1101 cppflags="\
1102 $cppflags_common \
1103 -DPACKAGE_VERSION=\"$version\" \
1104 -I$build_dir/vulkan/util \
1105 -I$build_dir/src/util \
1106 -I$build_dir \
1107 -I$src_dir/src/amd/compiler \
1108 -I$build_dir/src/amd/common \
1109 -I$src_dir/src/amd/common \
1110 -I$src_dir/src/amd/vulkan/nir \
1111 -I$src_dir/src/amd/vulkan/meta \
1112 -I$src_dir/src/amd/vulkan \
1113 -I$src_dir/src/amd \
1114 -I$src_dir/src/gallium/auxiliary \
1115 -I$src_dir/src/gallium/include \
1116 -I$src_dir/src/vulkan/util \
1117 -I$src_dir/src/vulkan/runtime \
1118 -I$src_dir/src/vulkan/wsi \
1119 -I$src_dir/src/util \
1120 -I$src_dir/src/mesa \
1121 -I$src_dir/src/compiler/nir \
1122 -I$src_dir/src/compiler \
1123 -I$src_dir/src \
1124 -I$src_dir/include \
1125 $libdrm_cppflags \
1126 $libdrm_amdgpu_cppflags \
1127 $libx11_cppflags \
1128 $libxrandr_cppflags \
1129 $libxrender_cppflags \
1130 $libxcb_cppflags \
1131 $xorgproto_cppflags \
1132 $libxshmfence_cppflags \
1133 "
1134 #$build_dir/radv_extensions.c
1135 #$build_dir/vk_format_table.c
1136 # XXX: remove rt for now
1137 #$src_dir/src/amd/vulkan/radv_acceleration_structure.c
1138 libvulkan_amd_common_files="\
1139 $src_dir/src/amd/vulkan/radv_android.c \
1140 $src_dir/src/amd/vulkan/radv_buffer.c \
1141 $src_dir/src/amd/vulkan/radv_cmd_buffer.c \
1142 $src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \
1143 $src_dir/src/amd/vulkan/radv_debug.c \
1144 $build_dir/src/amd/vulkan/radv_device.c \
1145 $src_dir/src/amd/vulkan/radv_device_memory.c \
1146 $src_dir/src/amd/vulkan/radv_device_generated_commands.c \
1147 $src_dir/src/amd/vulkan/radv_descriptor_set.c \
1148 $src_dir/src/amd/vulkan/radv_event.c \
1149 $src_dir/src/amd/vulkan/radv_formats.c \
1150 $src_dir/src/amd/vulkan/radv_image.c \
1151 $src_dir/src/amd/vulkan/radv_instance.c \
1152 $build_dir/src/amd/vulkan/meta/radv_meta.c \
1153 $src_dir/src/amd/vulkan/meta/radv_meta_blit.c \
1154 $src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \
1155 $src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \
1156 $src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \
1157 $src_dir/src/amd/vulkan/meta/radv_meta_clear.c \
1158 $src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \
1159 $src_dir/src/amd/vulkan/meta/radv_meta_copy.c \
1160 $src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \
1161 $src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \
1162 $src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \
1163 $src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \
1164 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \
1165 $src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \
1166 $src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \
1167 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \
1168 $src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \
1169 $src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \
1170 $src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \
1171 $src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \
1172 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \
1173 $src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \
1174 $src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \
1175 $src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \
1176 $src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \
1177 $src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \
1178 $src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \
1179 $src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \
1180 $src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \
1181 $src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \
1182 $src_dir/src/amd/vulkan/radv_perfcounter.c \
1183 $src_dir/src/amd/vulkan/radv_physical_device.c \
1184 $src_dir/src/amd/vulkan/radv_pipeline.c \
1185 $src_dir/src/amd/vulkan/radv_pipeline_compute.c \
1186 $src_dir/src/amd/vulkan/radv_pipeline_cache.c \
1187 $src_dir/src/amd/vulkan/radv_pipeline_graphics.c \
1188 $src_dir/src/amd/vulkan/radv_pipeline_rt.c \
1189 $src_dir/src/amd/vulkan/radv_queue.c \
1190 $src_dir/src/amd/vulkan/radv_rt_common.c \
1191 $src_dir/src/amd/vulkan/radv_rt_shader.c \
1192 $src_dir/src/amd/vulkan/radv_sampler.c \
1193 $src_dir/src/amd/vulkan/radv_sdma_copy_image.c \
1194 $src_dir/src/amd/vulkan/radv_shader.c \
1195 $src_dir/src/amd/vulkan/radv_shader_args.c \
1196 $src_dir/src/amd/vulkan/radv_shader_info.c \
1197 $src_dir/src/amd/vulkan/radv_spm.c \
1198 $src_dir/src/amd/vulkan/radv_query.c \
1199 $src_dir/src/amd/vulkan/radv_video.c \
1200 $src_dir/src/amd/vulkan/radv_wsi.c \
1201 $src_dir/src/amd/vulkan/si_cmd_buffer.c \
1202 \
1203 $build_dir/gfx10_format_table.c \
1204 \
1205 $build_dir/radv_entrypoints.c \
1206 \
1207 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \
1208 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \
1209 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \
1210 $src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \
1211 \
1212 $src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \
1213 $src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \
1214 $src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \
1215 \
1216 $src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \
1217 $src_dir/src/amd/vulkan/layers/radv_rage2.c \
1218 \
1219 $build_dir/src/amd/vulkan/radv_no_tracers.c \
1220 "
1221
1222 #$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \
1223
1224 for f in $libvulkan_amd_common_files
1225 do
1226 libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o
1227 libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj"
1228
1229 $cc $cppflags $f -o $libvulkan_amd_common_obj &
1230 done
1231 libvulkan_amd_common_a="\
1232 $libvulkan_amd_common_a \
1233 $build_dir/xmlconfig.o"
1234 #===============================================================================
1235 # create the radeon vulkan driver
1236 soname=libvulkan_radeon.so
1237
1238 # XXX:the attempt to generalize without kludge the link stage of real programs
1239 # build is near a total and complete failure
1240 if test "${driver_link_cmd-unset}" = unset ; then
1241 driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \
1242 -shared -static-libgcc -static-libstdc++ \
1243 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \
1244 -Wl,--no-undefined,--gc-sections,-Bsymbolic \
1245 -Wl,--whole-archive -Wl,--start-group \
1246 $libaco_a \
1247 $libvulkan_amd_common_a \
1248 $libvulkan_util_a \
1249 $libvulkan_runtime_a \
1250 $libvulkan_wsi_a \
1251 $libamd_common_a \
1252 $libamdgpu_addrlib_a \
1253 $libcompiler_a \
1254 $libnir_a \
1255 $libmesautil_a \
1256 -Wl,--end-group -Wl,--no-whole-archive \
1257 -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \
1258 $zlib_ldflags \
1259 $expat_ldflags \
1260 $libelf_ldflags \
1261 -Wl,--as-needed \
1262 $libdrm_ldflags \
1263 $libdrm_amdgpu_ldflags \
1264 $libx11_ldflags \
1265 $libxrandr_ldflags \
1266 $libxrender_ldflags \
1267 $libxcb_ldflags \
1268 $libxshmfence_ldflags \
1269 -lpthread \
1270 -ldl \
1271 -Wl,--no-as-needed"
1272 fi
1273 wait
1274 eval $driver_link_cmd
1275 #===============================================================================
File builders/mesa-vulkan-amd-sh-ee69c56c8ca99b678258c06748c47cd1d58c6a66/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