intel/clc: add option to printout kernel prog_data
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15486>
This commit is contained in:

committed by
Marge Bot

parent
451f907d16
commit
a7f264f33a
@@ -279,6 +279,7 @@ int main(int argc, char **argv)
|
|||||||
{"in", required_argument, 0, 'i'},
|
{"in", required_argument, 0, 'i'},
|
||||||
{"out", required_argument, 0, 'o'},
|
{"out", required_argument, 0, 'o'},
|
||||||
{"spv", required_argument, 0, 's'},
|
{"spv", required_argument, 0, 's'},
|
||||||
|
{"info", no_argument, 0, 'i'},
|
||||||
{0, 0, 0, 0}
|
{0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -287,6 +288,7 @@ int main(int argc, char **argv)
|
|||||||
struct util_dynarray input_files;
|
struct util_dynarray input_files;
|
||||||
struct util_dynarray spirv_objs;
|
struct util_dynarray spirv_objs;
|
||||||
struct util_dynarray spirv_ptr_objs;
|
struct util_dynarray spirv_ptr_objs;
|
||||||
|
bool print_info = false;
|
||||||
|
|
||||||
void *mem_ctx = ralloc_context(NULL);
|
void *mem_ctx = ralloc_context(NULL);
|
||||||
|
|
||||||
@@ -296,7 +298,7 @@ int main(int argc, char **argv)
|
|||||||
util_dynarray_init(&spirv_ptr_objs, mem_ctx);
|
util_dynarray_init(&spirv_ptr_objs, mem_ctx);
|
||||||
|
|
||||||
int ch;
|
int ch;
|
||||||
while ((ch = getopt_long(argc, argv, "he:p:s:o:", long_options, NULL)) != -1)
|
while ((ch = getopt_long(argc, argv, "he:p:s:o:i", long_options, NULL)) != -1)
|
||||||
{
|
{
|
||||||
switch (ch)
|
switch (ch)
|
||||||
{
|
{
|
||||||
@@ -315,6 +317,9 @@ int main(int argc, char **argv)
|
|||||||
case 's':
|
case 's':
|
||||||
spv_outfile = optarg;
|
spv_outfile = optarg;
|
||||||
break;
|
break;
|
||||||
|
case 'i':
|
||||||
|
print_info = true;
|
||||||
|
break;
|
||||||
case OPT_PREFIX:
|
case OPT_PREFIX:
|
||||||
prefix = optarg;
|
prefix = optarg;
|
||||||
break;
|
break;
|
||||||
@@ -474,6 +479,24 @@ int main(int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (print_info) {
|
||||||
|
fprintf(stdout, "kernel info:\n");
|
||||||
|
fprintf(stdout, " uses_barrier : %u\n", kernel.prog_data.uses_barrier);
|
||||||
|
fprintf(stdout, " uses_num_work_groups : %u\n", kernel.prog_data.uses_num_work_groups);
|
||||||
|
fprintf(stdout, " uses_inline_data : %u\n", kernel.prog_data.uses_inline_data);
|
||||||
|
fprintf(stdout, " local_size : %ux%ux%u\n",
|
||||||
|
kernel.prog_data.local_size[0],
|
||||||
|
kernel.prog_data.local_size[1],
|
||||||
|
kernel.prog_data.local_size[2]);
|
||||||
|
fprintf(stdout, " curb_read_length : %u\n", kernel.prog_data.base.curb_read_length);
|
||||||
|
fprintf(stdout, " total_scratch : %u\n", kernel.prog_data.base.total_scratch);
|
||||||
|
fprintf(stdout, " total_shared : %u\n", kernel.prog_data.base.total_shared);
|
||||||
|
fprintf(stdout, " program_size : %u\n", kernel.prog_data.base.program_size);
|
||||||
|
fprintf(stdout, " const_data_size : %u\n", kernel.prog_data.base.const_data_size);
|
||||||
|
fprintf(stdout, " uses_atomic_load_store : %u\n", kernel.prog_data.base.uses_atomic_load_store);
|
||||||
|
fprintf(stdout, " dispatch_grf_start_reg : %u\n", kernel.prog_data.base.dispatch_grf_start_reg);
|
||||||
|
}
|
||||||
|
|
||||||
glsl_type_singleton_decref();
|
glsl_type_singleton_decref();
|
||||||
|
|
||||||
char prefix_tmp[256];
|
char prefix_tmp[256];
|
||||||
|
Reference in New Issue
Block a user