summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2014-06-05 15:03:06 +0200
committerIago Toral Quiroga <[email protected]>2014-06-09 11:47:38 +0200
commit6e61892aea542593875ebb8ae209af18bbad84bd (patch)
treebe15bdfac4376effba0994ab3f05fc9328d2762a /src
parentbe1b5724ab54314ff6e150c6f45a245fd816853b (diff)
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp4
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;