diff --git a/src/panfrost/ci/gitlab-ci.yml b/src/panfrost/ci/gitlab-ci.yml index 24b72e90243..0fd15dd1ac3 100644 --- a/src/panfrost/ci/gitlab-ci.yml +++ b/src/panfrost/ci/gitlab-ci.yml @@ -56,6 +56,7 @@ when: on_success - changes: &panfrost_vulkan_file_list - src/panfrost/vulkan/* + - src/panfrost/vulkan/**/* when: on_success - changes: &panfrost_bifrost_file_list - src/panfrost/compiler/**/* diff --git a/src/panfrost/vulkan/panvk_descriptor_set.h b/src/panfrost/vulkan/bifrost/panvk_descriptor_set.h similarity index 100% rename from src/panfrost/vulkan/panvk_descriptor_set.h rename to src/panfrost/vulkan/bifrost/panvk_descriptor_set.h diff --git a/src/panfrost/vulkan/panvk_descriptor_set_layout.h b/src/panfrost/vulkan/bifrost/panvk_descriptor_set_layout.h similarity index 100% rename from src/panfrost/vulkan/panvk_descriptor_set_layout.h rename to src/panfrost/vulkan/bifrost/panvk_descriptor_set_layout.h diff --git a/src/panfrost/vulkan/panvk_pipeline.h b/src/panfrost/vulkan/bifrost/panvk_pipeline.h similarity index 100% rename from src/panfrost/vulkan/panvk_pipeline.h rename to src/panfrost/vulkan/bifrost/panvk_pipeline.h diff --git a/src/panfrost/vulkan/panvk_pipeline_layout.h b/src/panfrost/vulkan/bifrost/panvk_pipeline_layout.h similarity index 100% rename from src/panfrost/vulkan/panvk_pipeline_layout.h rename to src/panfrost/vulkan/bifrost/panvk_pipeline_layout.h diff --git a/src/panfrost/vulkan/panvk_vX_descriptor_set.c b/src/panfrost/vulkan/bifrost/panvk_vX_descriptor_set.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_descriptor_set.c rename to src/panfrost/vulkan/bifrost/panvk_vX_descriptor_set.c diff --git a/src/panfrost/vulkan/panvk_vX_descriptor_set_layout.c b/src/panfrost/vulkan/bifrost/panvk_vX_descriptor_set_layout.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_descriptor_set_layout.c rename to src/panfrost/vulkan/bifrost/panvk_vX_descriptor_set_layout.c diff --git a/src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c b/src/panfrost/vulkan/bifrost/panvk_vX_nir_lower_descriptors.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_nir_lower_descriptors.c rename to src/panfrost/vulkan/bifrost/panvk_vX_nir_lower_descriptors.c diff --git a/src/panfrost/vulkan/panvk_vX_pipeline.c b/src/panfrost/vulkan/bifrost/panvk_vX_pipeline.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_pipeline.c rename to src/panfrost/vulkan/bifrost/panvk_vX_pipeline.c diff --git a/src/panfrost/vulkan/panvk_vX_pipeline_layout.c b/src/panfrost/vulkan/bifrost/panvk_vX_pipeline_layout.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_pipeline_layout.c rename to src/panfrost/vulkan/bifrost/panvk_vX_pipeline_layout.c diff --git a/src/panfrost/vulkan/panvk_cmd_buffer.h b/src/panfrost/vulkan/jm/panvk_cmd_buffer.h similarity index 100% rename from src/panfrost/vulkan/panvk_cmd_buffer.h rename to src/panfrost/vulkan/jm/panvk_cmd_buffer.h diff --git a/src/panfrost/vulkan/panvk_queue.h b/src/panfrost/vulkan/jm/panvk_queue.h similarity index 100% rename from src/panfrost/vulkan/panvk_queue.h rename to src/panfrost/vulkan/jm/panvk_queue.h diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_cmd_buffer.c rename to src/panfrost/vulkan/jm/panvk_vX_cmd_buffer.c diff --git a/src/panfrost/vulkan/panvk_vX_meta.c b/src/panfrost/vulkan/jm/panvk_vX_meta.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_meta.c rename to src/panfrost/vulkan/jm/panvk_vX_meta.c diff --git a/src/panfrost/vulkan/panvk_vX_meta_blit.c b/src/panfrost/vulkan/jm/panvk_vX_meta_blit.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_meta_blit.c rename to src/panfrost/vulkan/jm/panvk_vX_meta_blit.c diff --git a/src/panfrost/vulkan/panvk_vX_meta_clear.c b/src/panfrost/vulkan/jm/panvk_vX_meta_clear.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_meta_clear.c rename to src/panfrost/vulkan/jm/panvk_vX_meta_clear.c diff --git a/src/panfrost/vulkan/panvk_vX_meta_copy.c b/src/panfrost/vulkan/jm/panvk_vX_meta_copy.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_meta_copy.c rename to src/panfrost/vulkan/jm/panvk_vX_meta_copy.c diff --git a/src/panfrost/vulkan/panvk_vX_queue.c b/src/panfrost/vulkan/jm/panvk_vX_queue.c similarity index 100% rename from src/panfrost/vulkan/panvk_vX_queue.c rename to src/panfrost/vulkan/jm/panvk_vX_queue.c diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build index ad65010f5a5..2908bc6a274 100644 --- a/src/panfrost/vulkan/meson.build +++ b/src/panfrost/vulkan/meson.build @@ -52,33 +52,59 @@ panvk_deps = [] panvk_flags = [] panvk_per_arch_libs = [] +bifrost_archs = [6, 7] +bifrost_inc_dir = ['bifrost'] +bifrost_files = [ + 'bifrost/panvk_vX_descriptor_set.c', + 'bifrost/panvk_vX_descriptor_set_layout.c', + 'bifrost/panvk_vX_nir_lower_descriptors.c', + 'bifrost/panvk_vX_pipeline.c', + 'bifrost/panvk_vX_pipeline_layout.c', +] + +jm_archs = [6, 7] +jm_inc_dir = ['jm'] +jm_files = [ + 'jm/panvk_vX_cmd_buffer.c', + 'jm/panvk_vX_meta.c', + 'jm/panvk_vX_meta_blit.c', + 'jm/panvk_vX_meta_clear.c', + 'jm/panvk_vX_meta_copy.c', + 'jm/panvk_vX_queue.c', +] + +common_per_arch_files = [ + panvk_entrypoints[0], + 'panvk_vX_blend.c', + 'panvk_vX_buffer_view.c', + 'panvk_vX_device.c', + 'panvk_vX_image_view.c', + 'panvk_vX_sampler.c', + 'panvk_vX_shader.c', +] + foreach arch : [6, 7] + per_arch_files = common_per_arch_files + inc_panvk_per_arch = [] + + if arch in bifrost_archs + inc_panvk_per_arch += bifrost_inc_dir + per_arch_files += bifrost_files + endif + + if arch in jm_archs + inc_panvk_per_arch += jm_inc_dir + per_arch_files += jm_files + endif + panvk_per_arch_libs += static_library( 'panvk_v@0@'.format(arch), - [ - panvk_entrypoints[0], - 'panvk_vX_blend.c', - 'panvk_vX_buffer_view.c', - 'panvk_vX_cmd_buffer.c', - 'panvk_vX_descriptor_set.c', - 'panvk_vX_descriptor_set_layout.c', - 'panvk_vX_device.c', - 'panvk_vX_image_view.c', - 'panvk_vX_meta.c', - 'panvk_vX_meta_blit.c', - 'panvk_vX_meta_copy.c', - 'panvk_vX_meta_clear.c', - 'panvk_vX_nir_lower_descriptors.c', - 'panvk_vX_pipeline.c', - 'panvk_vX_pipeline_layout.c', - 'panvk_vX_queue.c', - 'panvk_vX_sampler.c', - 'panvk_vX_shader.c', - ], + per_arch_files, include_directories : [ inc_include, inc_src, inc_panfrost, + inc_panvk_per_arch, ], dependencies : [ idep_nir_headers,