From 6e61892aea542593875ebb8ae209af18bbad84bd Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Thu, 5 Jun 2014 15:03:06 +0200 Subject: [PATCH] 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 --- src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp | 2 +- src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +- src/mesa/drivers/dri/i965/brw_fs.h | 2 ++ src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp index 33fa606bd91..a2e008b9597 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp @@ -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) { } diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 3fa83340b21..a8ca9bc9ec0 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -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); } diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index d91b9666f92..02311a6e515 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -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; }; diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp index 3ff7682d91b..f4e4826525d 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp @@ -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; -- 2.30.2