diff --git a/src/panfrost/clc/panfrost_compile.c b/src/panfrost/clc/panfrost_compile.c index 7cdeaf18385..26e5074c5a0 100644 --- a/src/panfrost/clc/panfrost_compile.c +++ b/src/panfrost/clc/panfrost_compile.c @@ -308,6 +308,11 @@ void pan_shader_compile_v12(nir_shader *nir, struct util_dynarray *binary, struct pan_shader_info *info); +void pan_shader_compile_v13(nir_shader *nir, + struct panfrost_compile_inputs *inputs, + struct util_dynarray *binary, + struct pan_shader_info *info); + static void shader_compile(int arch, nir_shader *nir, struct panfrost_compile_inputs *inputs, @@ -329,6 +334,9 @@ shader_compile(int arch, nir_shader *nir, case 12: pan_shader_compile_v12(nir, inputs, binary, info); break; + case 13: + pan_shader_compile_v13(nir, inputs, binary, info); + break; default: unreachable("Unknown arch!"); } @@ -353,7 +361,7 @@ main(int argc, const char **argv) int target_arch = atoi(target_arch_str); - if (target_arch < 4 || target_arch > 12) { + if (target_arch < 4 || target_arch > 13) { fprintf(stderr, "Unsupported target arch %d\n", target_arch); return 1; } diff --git a/src/panfrost/libpan/libpan.h b/src/panfrost/libpan/libpan.h index 16fbd9ed8a2..ed7c5c66f29 100644 --- a/src/panfrost/libpan/libpan.h +++ b/src/panfrost/libpan/libpan.h @@ -26,6 +26,8 @@ #include "libpan_v10.h" #elif (PAN_ARCH == 12) #include "libpan_v12.h" +#elif (PAN_ARCH == 13) +#include "libpan_v13.h" #else #error "Unsupported architecture for libpan" #endif diff --git a/src/panfrost/libpan/libpan_shaders.h b/src/panfrost/libpan/libpan_shaders.h index ef4e8a9b304..5154cef68d7 100644 --- a/src/panfrost/libpan/libpan_shaders.h +++ b/src/panfrost/libpan/libpan_shaders.h @@ -24,6 +24,8 @@ #include "libpan_shaders_v10.h" #elif (PAN_ARCH == 12) #include "libpan_shaders_v12.h" +#elif (PAN_ARCH == 13) +#include "libpan_shaders_v13.h" #else #error "Unsupported architecture for libpan" #endif diff --git a/src/panfrost/libpan/meson.build b/src/panfrost/libpan/meson.build index 528889257f2..50bba67d148 100644 --- a/src/panfrost/libpan/meson.build +++ b/src/panfrost/libpan/meson.build @@ -8,7 +8,7 @@ libpan_shader_files = files( idep_libpan_per_arch = {} -foreach ver : ['4', '5', '6', '7', '9', '10', '12'] +foreach ver : ['4', '5', '6', '7', '9', '10', '12', '13'] libpan_spv = custom_target( input : libpan_shader_files, output : 'libpan_v' + ver + '.spv',