[Mesa-dev] [PATCH 09/23] i965: Make the annotation code take a device_info instead of a context
Jason Ekstrand
jason at jlekstrand.net
Fri Apr 17 19:11:49 PDT 2015
---
src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 5 +++--
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 5 +++--
src/mesa/drivers/dri/i965/intel_asm_annotation.c | 9 +++++----
src/mesa/drivers/dri/i965/intel_asm_annotation.h | 5 +++--
4 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index b9ec248..3664530 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -1581,7 +1581,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
bool multiple_instructions_emitted = false;
if (unlikely(debug_flag))
- annotate(brw, &annotation, cfg, inst, p->next_insn_offset);
+ annotate(p->devinfo, &annotation, cfg, inst, p->next_insn_offset);
for (unsigned int i = 0; i < inst->sources; i++) {
src[i] = brw_reg_from_fs_reg(&inst->src[i]);
@@ -2121,7 +2121,8 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
spill_count, fill_count, promoted_constants, before_size, after_size,
100.0f * (before_size - after_size) / before_size);
- dump_assembly(p->store, annotation.ann_count, annotation.ann, brw, prog);
+ dump_assembly(p->store, annotation.ann_count, annotation.ann,
+ p->devinfo, prog);
ralloc_free(annotation.ann);
}
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 94ab32d..6e3a6a5 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
@@ -1151,7 +1151,7 @@ vec4_generator::generate_code(const cfg_t *cfg)
struct brw_reg src[3], dst;
if (unlikely(debug_flag))
- annotate(brw, &annotation, cfg, inst, p->next_insn_offset);
+ annotate(p->devinfo, &annotation, cfg, inst, p->next_insn_offset);
for (unsigned int i = 0; i < 3; i++) {
src[i] = inst->get_src(this->prog_data, i);
@@ -1618,7 +1618,8 @@ vec4_generator::generate_code(const cfg_t *cfg)
before_size / 16, loop_count, before_size, after_size,
100.0f * (before_size - after_size) / before_size);
- dump_assembly(p->store, annotation.ann_count, annotation.ann, brw, prog);
+ dump_assembly(p->store, annotation.ann_count, annotation.ann,
+ p->devinfo, prog);
ralloc_free(annotation.ann);
}
diff --git a/src/mesa/drivers/dri/i965/intel_asm_annotation.c b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
index b4a693f..bb8bb8d 100644
--- a/src/mesa/drivers/dri/i965/intel_asm_annotation.c
+++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
@@ -33,7 +33,8 @@
void
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
- struct brw_context *brw, const struct gl_program *prog)
+ const struct brw_device_info *devinfo,
+ const struct gl_program *prog)
{
const char *last_annotation_string = NULL;
const void *last_annotation_ir = NULL;
@@ -79,7 +80,7 @@ dump_assembly(void *assembly, int num_annotations, struct annotation *annotation
fprintf(stderr, " %s\n", last_annotation_string);
}
- brw_disassemble(brw->intelScreen->devinfo, assembly, start_offset, end_offset, stderr);
+ brw_disassemble(devinfo, assembly, start_offset, end_offset, stderr);
if (annotation[i].block_end) {
fprintf(stderr, " END B%d", annotation[i].block_end->num);
@@ -94,7 +95,7 @@ dump_assembly(void *assembly, int num_annotations, struct annotation *annotation
fprintf(stderr, "\n");
}
-void annotate(struct brw_context *brw,
+void annotate(const struct brw_device_info *devinfo,
struct annotation_info *annotation, const struct cfg_t *cfg,
struct backend_instruction *inst, unsigned offset)
{
@@ -129,7 +130,7 @@ void annotate(struct brw_context *brw,
* There's also only complication from emitting an annotation without
* a corresponding hardware instruction to disassemble.
*/
- if (brw->gen >= 6 && inst->opcode == BRW_OPCODE_DO) {
+ if (devinfo->gen >= 6 && inst->opcode == BRW_OPCODE_DO) {
annotation->ann_count--;
}
diff --git a/src/mesa/drivers/dri/i965/intel_asm_annotation.h b/src/mesa/drivers/dri/i965/intel_asm_annotation.h
index d80f320..d9c69bc 100644
--- a/src/mesa/drivers/dri/i965/intel_asm_annotation.h
+++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.h
@@ -60,10 +60,11 @@ struct annotation_info {
void
dump_assembly(void *assembly, int num_annotations, struct annotation *annotation,
- struct brw_context *brw, const struct gl_program *prog);
+ const struct brw_device_info *devinfo,
+ const struct gl_program *prog);
void
-annotate(struct brw_context *brw,
+annotate(const struct brw_device_info *devinfo,
struct annotation_info *annotation, const struct cfg_t *cfg,
struct backend_instruction *inst, unsigned offset);
void
--
2.3.5
More information about the mesa-dev
mailing list