radeonsi: Add additional information to shader dumps
authorTom Stellard <thomas.stellard@amd.com>
Fri, 27 Feb 2015 02:27:27 +0000 (21:27 -0500)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 9 Mar 2015 13:53:33 +0000 (13:53 +0000)
This adds SGPR count, VGPR count, shader size, LDS size, and scratch
usage to shader dumps.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader.c

index 87aef4d77a78508b2261e954a6e62c2ebfcaa69b..0ef58a7310e7fd5be8898d22ce7734df84689fd7 100644 (file)
@@ -2605,17 +2605,23 @@ int si_shader_binary_read(struct si_screen *sscreen,
        bool dump  = r600_can_dump_shader(&sscreen->b,
                shader->selector ? shader->selector->tokens : NULL);
 
-       if (dump && !binary->disassembled) {
-               fprintf(stderr, "SI CODE:\n");
-               for (i = 0; i < binary->code_size; i+=4 ) {
-                       fprintf(stderr, "@0x%x: %02x%02x%02x%02x\n", i, binary->code[i + 3],
+       si_shader_binary_read_config(sscreen, shader, 0);
+
+       if (dump) {
+               if (!binary->disassembled) {
+                       fprintf(stderr, "SI CODE:\n");
+                       for (i = 0; i < binary->code_size; i+=4 ) {
+                               fprintf(stderr, "@0x%x: %02x%02x%02x%02x\n", i, binary->code[i + 3],
                                binary->code[i + 2], binary->code[i + 1],
                                binary->code[i]);
+                       }
                }
+               fprintf(stderr, "SGPRS: %d\nVGPRS: %d\nCode Size: %d bytes\nLDS: %d blocks\n"
+                               "Scratch: %d bytes per wave\n",
+                       shader->num_sgprs, shader->num_vgprs, binary->code_size,
+                       shader->lds_size, shader->scratch_bytes_per_wave);
        }
 
-       si_shader_binary_read_config(sscreen, shader, 0);
-
        /* copy new shader */
        code_size = binary->code_size + binary->rodata_size;
        r600_resource_reference(&shader->bo, NULL);