i965/fs: Let the gen < 8 generator know about runtime_check_aads_emit

In gen < 6 we need to produce conditional code based on this flag when doing
framebuffer writes.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Iago Toral Quiroga 2014-06-05 15:03:06 +02:00
parent be1b5724ab
commit 6e61892aea
4 changed files with 7 additions and 3 deletions

View file

@ -31,7 +31,7 @@ brw_blorp_eu_emitter::brw_blorp_eu_emitter(struct brw_context *brw,
generator(brw, mem_ctx,
rzalloc(mem_ctx, struct brw_wm_prog_key),
rzalloc(mem_ctx, struct brw_wm_prog_data),
NULL, NULL, false, debug_flag)
NULL, NULL, false, false, debug_flag)
{
}

View file

@ -3211,7 +3211,7 @@ brw_wm_fs_emit(struct brw_context *brw,
final_assembly_size);
} else {
fs_generator g(brw, mem_ctx, key, prog_data, prog, fp, v.do_dual_src,
INTEL_DEBUG & DEBUG_WM);
v.runtime_check_aads_emit, INTEL_DEBUG & DEBUG_WM);
assembly = g.generate_assembly(&v.instructions, simd16_instructions,
final_assembly_size);
}

View file

@ -607,6 +607,7 @@ public:
struct gl_shader_program *prog,
struct gl_fragment_program *fp,
bool dual_source_output,
bool runtime_check_aads_emit,
bool debug_flag);
~fs_generator();
@ -716,6 +717,7 @@ private:
exec_list discard_halt_patches;
bool dual_source_output;
bool runtime_check_aads_emit;
const bool debug_flag;
void *mem_ctx;
};

View file

@ -43,10 +43,12 @@ fs_generator::fs_generator(struct brw_context *brw,
struct gl_shader_program *prog,
struct gl_fragment_program *fp,
bool dual_source_output,
bool runtime_check_aads_emit,
bool debug_flag)
: brw(brw), key(key), prog_data(prog_data), prog(prog), fp(fp),
dual_source_output(dual_source_output), debug_flag(debug_flag),
dual_source_output(dual_source_output),
runtime_check_aads_emit(runtime_check_aads_emit), debug_flag(debug_flag),
mem_ctx(mem_ctx)
{
ctx = &brw->ctx;