summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2015-11-19 00:45:49 -0800
committerKenneth Graunke <[email protected]>2015-11-24 10:21:37 -0800
commit03d69496306d74b510be8931b05f391f0ce0ef06 (patch)
tree280daa944306900a95e93021137460bf9f5006b6 /src/mesa
parent5369efe311475f10b4fd6524710a3b3256856e08 (diff)
Revert "i965: Combine assembly annotations if possible."
This reverts commit a280e83d71bb046098ed5380cb053318f9e8cf8e. It breaks INTEL_DEBUG=fs output. For example, glsl-fs-discard-01.shader_test has 11 instructions but only prints 5. Acked-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/intel_asm_annotation.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_asm_annotation.c b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
index fdd605a7db0..59cc863268f 100644
--- a/src/mesa/drivers/dri/i965/intel_asm_annotation.c
+++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
@@ -121,24 +121,6 @@ void annotate(const struct brw_device_info *devinfo,
ann->block_start = cfg->blocks[annotation->cur_block];
}
- if (bblock_end(cfg->blocks[annotation->cur_block]) == inst) {
- ann->block_end = cfg->blocks[annotation->cur_block];
- annotation->cur_block++;
- }
-
- /* Merge this annotation with the previous if possible. */
- struct annotation *prev = annotation->ann_count > 1 ?
- &annotation->ann[annotation->ann_count - 2] : NULL;
- if (prev != NULL &&
- ann->ir == prev->ir &&
- ann->annotation == prev->annotation &&
- ann->block_start == NULL &&
- prev->block_end == NULL) {
- if (ann->block_end == NULL)
- annotation->ann_count--;
- return;
- }
-
/* There is no hardware DO instruction on Gen6+, so since DO always
* starts a basic block, we need to set the .block_start of the next
* instruction's annotation with a pointer to the bblock started by
@@ -150,6 +132,11 @@ void annotate(const struct brw_device_info *devinfo,
if (devinfo->gen >= 6 && inst->opcode == BRW_OPCODE_DO) {
annotation->ann_count--;
}
+
+ if (bblock_end(cfg->blocks[annotation->cur_block]) == inst) {
+ ann->block_end = cfg->blocks[annotation->cur_block];
+ annotation->cur_block++;
+ }
}
void