Mesa (master): i965/fs: Let the gen < 8 generator know about runtime_check_aads_emit

Iago Toral Quiroga itoral at kemper.freedesktop.org
Mon Jun 9 09:50:12 UTC 2014


Module: Mesa
Branch: master
Commit: 6e61892aea542593875ebb8ae209af18bbad84bd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e61892aea542593875ebb8ae209af18bbad84bd

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Jun  5 15:03:06 2014 +0200

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 at whitecape.org>

---

 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 33fa606..a2e008b 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 3fa8334..a8ca9bc 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 d91b966..02311a6 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 3ff7682..f4e4826 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;




More information about the mesa-commit mailing list