i965/vec4: Move is_high_sample() method to vec4_visitor class
authorEduardo Lima Mitev <elima@igalia.com>
Thu, 18 Jun 2015 07:37:33 +0000 (09:37 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 3 Aug 2015 16:40:50 +0000 (09:40 -0700)
The is_high_sample() method is currently accessible only in the implementation of
vec4_visitor. Since we need to reuse it in the upcoming NIR->vec4 pass, lets make
it a method of the class instead.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index 54fe84ae6c655722880d8a4f4d37b5903ab6a620..aea21c5897dedde1ead5cf1730e2a4b297220f04 100644 (file)
@@ -392,6 +392,7 @@ public:
    void visit_atomic_counter_intrinsic(ir_call *ir);
 
    int type_size(const struct glsl_type *type);
+   bool is_high_sampler(src_reg sampler);
 
    virtual void emit_nir_code();
    virtual void nir_setup_inputs(nir_shader *shader);
index 5346fde950a9b2082e61cce583a515a9047658a0..737c9fa6d27f32696453c40e6996dcca922178a5 100644 (file)
@@ -2509,8 +2509,8 @@ vec4_visitor::emit_mcs_fetch(ir_texture *ir, src_reg coordinate, src_reg sampler
    return src_reg(inst->dst);
 }
 
-static bool
-is_high_sampler(const struct brw_device_info *devinfo, src_reg sampler)
+bool
+vec4_visitor::is_high_sampler(src_reg sampler)
 {
    if (devinfo->gen < 8 && !devinfo->is_haswell)
       return false;
@@ -2686,7 +2686,7 @@ vec4_visitor::visit(ir_texture *ir)
    inst->header_size =
       (devinfo->gen < 5 || devinfo->gen >= 9 ||
        inst->offset != 0 || ir->op == ir_tg4 ||
-       is_high_sampler(devinfo, sampler_reg)) ? 1 : 0;
+       is_high_sampler(sampler_reg)) ? 1 : 0;
    inst->base_mrf = 2;
    inst->mlen = inst->header_size + 1; /* always at least one */
    inst->dst.writemask = WRITEMASK_XYZW;