i965: Use brw_dump_compile for clip, SF, and old GS programs.

Looping over the instructions and calling brw_disasm doesn't handle
compacted instructions.  In most cases, this hasn't been a problem since
we don't compact prior to Sandybridge.

However, Sandybridge's transform feedback GS program should already be
compacted, and so this ought to fix decoding of that.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Kenneth Graunke 2014-05-15 14:12:48 -07:00
parent 5b8f1a0f7c
commit 3285bc97ef
3 changed files with 3 additions and 13 deletions

View file

@ -55,7 +55,6 @@ static void compile_clip_prog( struct brw_context *brw,
const GLuint *program;
void *mem_ctx;
GLuint program_size;
GLuint i;
memset(&c, 0, sizeof(c));
@ -119,9 +118,7 @@ static void compile_clip_prog( struct brw_context *brw,
if (unlikely(INTEL_DEBUG & DEBUG_CLIP)) {
fprintf(stderr, "clip:\n");
for (i = 0; i < program_size / sizeof(struct brw_instruction); i++)
brw_disasm(stderr, &((struct brw_instruction *)program)[i],
brw->gen, false);
brw_dump_compile(brw, c.func.store, 0, program_size, stderr);
fprintf(stderr, "\n");
}

View file

@ -135,12 +135,8 @@ static void compile_ff_gs_prog(struct brw_context *brw,
program = brw_get_program(&c.func, &program_size);
if (unlikely(INTEL_DEBUG & DEBUG_GS)) {
int i;
fprintf(stderr, "gs:\n");
for (i = 0; i < program_size / sizeof(struct brw_instruction); i++)
brw_disasm(stderr, &((struct brw_instruction *)program)[i],
brw->gen, false);
brw_dump_compile(brw, c.func.store, 0, program_size, stderr);
fprintf(stderr, "\n");
}

View file

@ -54,7 +54,6 @@ static void compile_sf_prog( struct brw_context *brw,
const GLuint *program;
void *mem_ctx;
GLuint program_size;
GLuint i;
memset(&c, 0, sizeof(c));
@ -118,9 +117,7 @@ static void compile_sf_prog( struct brw_context *brw,
if (unlikely(INTEL_DEBUG & DEBUG_SF)) {
fprintf(stderr, "sf:\n");
for (i = 0; i < program_size / sizeof(struct brw_instruction); i++)
brw_disasm(stderr, &((struct brw_instruction *)program)[i],
brw->gen, false);
brw_dump_compile(brw, c.func.store, 0, program_size, stderr);
fprintf(stderr, "\n");
}