i965: Pass a shader stage abbreviation to fs_generator().
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 13 Jan 2015 22:28:13 +0000 (14:28 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 15 Jan 2015 00:55:38 +0000 (16:55 -0800)
A lot of messages hardcoded the string "FS", which is confusing on
Broadwell, where we use this code for VS support as well.

shader-db particularly got confused, as it reported two "FS SIMD8"
shaders, and no vertex shaders at all.  Craziness ensued.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_generator.cpp
src/mesa/drivers/dri/i965/brw_vec4.cpp

index 83fccc2a98bca029682435531997f2bfd92057b2..f9b17376451d650f1584ed87decb203d474c8607 100644 (file)
@@ -31,7 +31,7 @@ brw_blorp_eu_emitter::brw_blorp_eu_emitter(struct brw_context *brw,
    : mem_ctx(ralloc_context(NULL)),
      generator(brw, mem_ctx, (void *) rzalloc(mem_ctx, struct brw_wm_prog_key),
                (struct brw_stage_prog_data *) rzalloc(mem_ctx, struct brw_wm_prog_data),
-               NULL, false)
+               NULL, false, "BLORP")
 {
    if (debug_flag)
       generator.enable_debug("blorp");
index 9dfb7b7343d6e8a5b69d17f8c5edeb6a9f529e7e..cbe4fda63dd9f0aa17cc62ebea6b7b5fc0afa6c6 100644 (file)
@@ -3857,7 +3857,7 @@ brw_wm_fs_emit(struct brw_context *brw,
    }
 
    fs_generator g(brw, mem_ctx, (void *) key, &prog_data->base,
-                  &fp->Base, v.runtime_check_aads_emit);
+                  &fp->Base, v.runtime_check_aads_emit, "FS");
 
    if (unlikely(INTEL_DEBUG & DEBUG_WM)) {
       char *name;
index 06575a54753ebaaac9fa42b3bad02dad2a45ff76..c9f235cd09e9b5b5486d90ed320a837fdb9ed45e 100644 (file)
@@ -712,7 +712,8 @@ public:
                 const void *key,
                 struct brw_stage_prog_data *prog_data,
                 struct gl_program *fp,
-                bool runtime_check_aads_emit);
+                bool runtime_check_aads_emit,
+                const char *stage_abbrev);
    ~fs_generator();
 
    void enable_debug(const char *shader_name);
@@ -825,6 +826,7 @@ private:
    bool runtime_check_aads_emit;
    bool debug_flag;
    const char *shader_name;
+   const char *stage_abbrev;
    void *mem_ctx;
 };
 
index 7b4ac8d36953a326a3c2878cb2ef9a97072fc421..ab848f1714a557105be23b64fd7871970ee3c08b 100644 (file)
@@ -123,12 +123,13 @@ fs_generator::fs_generator(struct brw_context *brw,
                            const void *key,
                            struct brw_stage_prog_data *prog_data,
                            struct gl_program *prog,
-                           bool runtime_check_aads_emit)
+                           bool runtime_check_aads_emit,
+                           const char *stage_abbrev)
 
    : brw(brw), key(key),
      prog_data(prog_data),
      prog(prog), runtime_check_aads_emit(runtime_check_aads_emit),
-     debug_flag(false), mem_ctx(mem_ctx)
+     debug_flag(false), stage_abbrev(stage_abbrev), mem_ctx(mem_ctx)
 {
    ctx = &brw->ctx;
 
@@ -2035,10 +2036,11 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
 
       default:
         if (inst->opcode < (int) ARRAY_SIZE(opcode_descs)) {
-           _mesa_problem(ctx, "Unsupported opcode `%s' in FS",
-                         opcode_descs[inst->opcode].name);
+           _mesa_problem(ctx, "Unsupported opcode `%s' in %s",
+                         opcode_descs[inst->opcode].name, stage_abbrev);
         } else {
-           _mesa_problem(ctx, "Unsupported opcode %d in FS", inst->opcode);
+           _mesa_problem(ctx, "Unsupported opcode %d in %s", inst->opcode,
+                          stage_abbrev);
         }
         abort();
 
@@ -2085,9 +2087,9 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
                   MESA_DEBUG_SOURCE_SHADER_COMPILER,
                   MESA_DEBUG_TYPE_OTHER,
                   MESA_DEBUG_SEVERITY_NOTIFICATION,
-                  "FS SIMD%d shader: %d inst, %d loops, "
+                  "%s SIMD%d shader: %d inst, %d loops, "
                   "compacted %d to %d bytes.\n",
-                  dispatch_width, before_size / 16, loop_count,
+                  stage_abbrev, dispatch_width, before_size / 16, loop_count,
                   before_size, after_size);
 
    return start_offset;
index c96bd847160b2e82f98e0db9f8a991589896790b..0089bd0827c6ac42b402fa6f0e8d36102825eda2 100644 (file)
@@ -1895,7 +1895,7 @@ brw_vs_emit(struct brw_context *brw,
       }
 
       fs_generator g(brw, mem_ctx, (void *) &c->key, &prog_data->base.base,
-                     &c->vp->program.Base, v.runtime_check_aads_emit);
+                     &c->vp->program.Base, v.runtime_check_aads_emit, "VS");
       if (INTEL_DEBUG & DEBUG_VS) {
          char *name = ralloc_asprintf(mem_ctx, "%s vertex shader %d",
                                       prog->Label ? prog->Label : "unnamed",