ac/radv/radeonsi: add ac_get_num_physical_sgprs() helper
[mesa.git] / src / amd / vulkan / Makefile.am
index 387ba4dda8eedc083b8d3e561721a58dd4e02b7a..2522171dacfae338a5559f671572dedcfe158afa 100644 (file)
 
 include Makefile.sources
 
-vulkan_includedir = $(includedir)/vulkan
-
-vulkan_include_HEADERS = \
+noinst_HEADERS = \
        $(top_srcdir)/include/vulkan/vk_platform.h \
+       $(top_srcdir)/include/vulkan/vulkan_core.h \
+       $(top_srcdir)/include/vulkan/vulkan_wayland.h \
+       $(top_srcdir)/include/vulkan/vulkan_xcb.h \
+       $(top_srcdir)/include/vulkan/vulkan_xlib.h \
        $(top_srcdir)/include/vulkan/vulkan.h
 
 lib_LTLIBRARIES = libvulkan_radeon.la
@@ -32,12 +34,12 @@ lib_LTLIBRARIES = libvulkan_radeon.la
 # The gallium includes are for the util/u_math.h include from main/macros.h
 
 AM_CPPFLAGS = \
-       $(AMDGPU_CFLAGS) \
-       $(VALGRIND_CFLAGS) \
-       $(DEFINES) \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/src \
        -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/vulkan/wsi \
+       -I$(top_builddir)/src/vulkan/util \
+       -I$(top_srcdir)/src/vulkan/util \
        -I$(top_srcdir)/src/amd \
        -I$(top_srcdir)/src/amd/common \
        -I$(top_builddir)/src/compiler \
@@ -47,18 +49,56 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/src/mesa \
        -I$(top_srcdir)/src/mesa/drivers/dri/common \
        -I$(top_srcdir)/src/gallium/auxiliary \
-       -I$(top_srcdir)/src/gallium/include
+       -I$(top_srcdir)/src/gallium/include \
+       $(AMDGPU_CFLAGS) \
+       $(VALGRIND_CFLAGS) \
+       $(DEFINES)
 
-AM_CFLAGS = $(VISIBILITY_FLAGS) \
+AM_CFLAGS = \
+       $(VISIBILITY_CFLAGS) \
        $(PTHREAD_CFLAGS) \
        $(LLVM_CFLAGS)
 
+AM_CXXFLAGS = \
+       $(VISIBILITY_CXXFLAGS) \
+       $(LLVM_CXXFLAGS)
+
 VULKAN_SOURCES = \
        $(VULKAN_GENERATED_FILES) \
        $(VULKAN_FILES)
 
-VULKAN_LIB_DEPS = $(AMDGPU_LIBS)
+VULKAN_LIB_DEPS = \
+       libvulkan_common.la \
+       $(top_builddir)/src/vulkan/libvulkan_util.la \
+       $(top_builddir)/src/vulkan/libvulkan_wsi.la \
+       $(top_builddir)/src/amd/common/libamd_common.la \
+       $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la \
+       $(top_builddir)/src/compiler/nir/libnir.la \
+       $(top_builddir)/src/util/libmesautil.la \
+       $(LLVM_LIBS) \
+       $(LIBELF_LIBS) \
+       $(PTHREAD_LIBS) \
+       $(AMDGPU_LIBS) \
+       $(LIBDRM_LIBS) \
+       $(PTHREAD_LIBS) \
+       $(DLOPEN_LIBS) \
+       -lm
+
+if HAVE_PLATFORM_DRM
+AM_CPPFLAGS += \
+       -DVK_USE_PLATFORM_DISPLAY_KHR
+
+VULKAN_SOURCES += $(VULKAN_WSI_DISPLAY_FILES)
+endif
+
+if HAVE_XLIB_LEASE
+AM_CPPFLAGS += \
+       -DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
+       $(XCB_RANDR_CFLAGS) \
+       $(XLIB_RANDR_CFLAGS)
 
+VULKAN_LIB_DEPS += $(XCB_RANDR_LIBS)
+endif
 
 if HAVE_PLATFORM_X11
 AM_CPPFLAGS += \
@@ -68,72 +108,70 @@ AM_CPPFLAGS += \
 
 VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES)
 
-# FIXME: Use pkg-config for X11-xcb ldflags.
-VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb
+VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS)
 endif
 
 
 if HAVE_PLATFORM_WAYLAND
 AM_CPPFLAGS += \
-       -I$(top_builddir)/src/egl/wayland/wayland-drm \
-       -I$(top_srcdir)/src/egl/wayland/wayland-drm \
-       $(WAYLAND_CFLAGS) \
+       $(WAYLAND_CLIENT_CFLAGS) \
        -DVK_USE_PLATFORM_WAYLAND_KHR
 
 VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
 
 VULKAN_LIB_DEPS += \
-       $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \
-       $(WAYLAND_LIBS)
+       $(WAYLAND_CLIENT_LIBS)
+endif
+
+if HAVE_PLATFORM_ANDROID
+AM_CPPFLAGS += $(ANDROID_CPPFLAGS) -DVK_USE_PLATFORM_ANDROID_KHR
+AM_CFLAGS += $(ANDROID_CFLAGS)
+VULKAN_LIB_DEPS += $(ANDROID_LIBS)
+VULKAN_SOURCES += $(VULKAN_ANDROID_FILES)
 endif
 
 noinst_LTLIBRARIES = libvulkan_common.la
 libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
 
-VULKAN_LIB_DEPS += \
-       libvulkan_common.la \
-       $(top_builddir)/src/amd/common/libamd_common.la \
-       $(top_builddir)/src/compiler/nir/libnir.la \
-       $(top_builddir)/src/util/libmesautil.la \
-       $(LLVM_LIBS) \
-       $(LIBELF_LIBS) \
-       $(PTHREAD_LIBS) \
-       $(LIBDRM_LIBS) \
-       $(PTHREAD_LIBS) \
-       $(DLOPEN_LIBS) \
-       -lm
-
 nodist_EXTRA_libvulkan_radeon_la_SOURCES = dummy.cpp
 libvulkan_radeon_la_SOURCES = $(VULKAN_GEM_FILES)
 
-radv_entrypoints.h : radv_entrypoints_gen.py $(vulkan_include_HEADERS)
-       $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\
-       $(PYTHON2) $(srcdir)/radv_entrypoints_gen.py header > $@
+vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
 
-radv_entrypoints.c : radv_entrypoints_gen.py $(vulkan_include_HEADERS)
-       $(AM_V_GEN) cat $(vulkan_include_HEADERS) |\
-       $(PYTHON2) $(srcdir)/radv_entrypoints_gen.py code > $@
+radv_entrypoints.c: radv_entrypoints_gen.py radv_extensions.py $(vulkan_api_xml)
+       $(MKDIR_GEN)
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/radv_entrypoints_gen.py \
+               --xml $(vulkan_api_xml) \
+               --outdir $(builddir)
+radv_entrypoints.h: radv_entrypoints.c
 
-.PHONY: radv_timestamp.h
-
-radv_timestamp.h:
-       @echo "Updating radv_timestamp.h"
-       $(AM_V_GEN) echo "#define RADV_TIMESTAMP \"$(TIMESTAMP_CMD)\"" > $@
+radv_extensions.c: radv_extensions.py \
+                $(vulkan_api_xml)
+       $(MKDIR_GEN)
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/radv_extensions.py \
+               --xml $(vulkan_api_xml) \
+               --out-c radv_extensions.c \
+               --out-h radv_extensions.h
+radv_extensions.h: radv_extensions.c
 
 vk_format_table.c: vk_format_table.py \
                   vk_format_parse.py \
                    vk_format_layout.csv
-       $(PYTHON2) $(srcdir)/vk_format_table.py $(srcdir)/vk_format_layout.csv > $@
+       $(PYTHON) $(srcdir)/vk_format_table.py $(srcdir)/vk_format_layout.csv > $@
 
 BUILT_SOURCES = $(VULKAN_GENERATED_FILES)
-CLEANFILES = $(BUILT_SOURCES) dev_icd.json radv_timestamp.h
+CLEANFILES = $(BUILT_SOURCES) dev_icd.json radeon_icd.@host_cpu@.json
 EXTRA_DIST = \
        $(top_srcdir)/include/vulkan/vk_icd.h \
        radv_entrypoints_gen.py \
-       dev_icd.json.in \
-       radeon_icd.json
+       radv_extensions.py \
+       radv_icd.py \
+       vk_format_layout.csv \
+       vk_format_parse.py \
+       vk_format_table.py \
+       meson.build
 
-libvulkan_radeon_la_LIBADD = $(VULKAN_LIB_DEPS) $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la
+libvulkan_radeon_la_LIBADD = $(VULKAN_LIB_DEPS)
 
 libvulkan_radeon_la_LDFLAGS = \
        -shared \
@@ -147,19 +185,16 @@ libvulkan_radeon_la_LDFLAGS = \
 
 
 icdconfdir = @VULKAN_ICD_INSTALL_DIR@
-icdconf_DATA = radeon_icd.json
+icdconf_DATA = radeon_icd.@host_cpu@.json
 # The following is used for development purposes, by setting VK_ICD_FILENAMES.
 noinst_DATA = dev_icd.json
 
-dev_icd.json : dev_icd.json.in
-       $(AM_V_GEN) $(SED) \
-               -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
-               < $(srcdir)/dev_icd.json.in > $@
-
-include $(top_srcdir)/install-lib-links.mk
+dev_icd.json : radv_extensions.py radv_icd.py
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/radv_icd.py \
+               --lib-path="${abs_top_builddir}/${LIB_DIR}" --out $@
 
-noinst_HEADERS =
-
-LDADD = \
-       $(PTHREAD_LIBS) -lm -lstdc++
+radeon_icd.@host_cpu@.json : radv_extensions.py radv_icd.py
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/radv_icd.py \
+               --lib-path="${libdir}" --out $@
 
+include $(top_srcdir)/install-lib-links.mk