this->param_size = v->param_size;
}
-void
-fs_visitor::setup_vec4_uniform_value(unsigned param_offset,
- const gl_constant_value *values,
- unsigned n)
-{
- static const gl_constant_value zero = { 0 };
-
- for (unsigned i = 0; i < n; ++i)
- stage_prog_data->param[param_offset + i] = &values[i];
-
- for (unsigned i = n; i < 4; ++i)
- stage_prog_data->param[param_offset + i] = &zero;
-}
-
fs_reg *
fs_visitor::emit_fragcoord_interpolation(bool pixel_center_integer,
bool origin_upper_left)
struct brw_reg interp_reg(int location, int channel);
- virtual void setup_vec4_uniform_value(unsigned param_offset,
- const gl_constant_value *values,
- unsigned n);
-
int implied_mrf_writes(fs_inst *inst);
virtual void dump_instructions();
void assign_common_binding_table_offsets(uint32_t next_binding_table_offset);
virtual void invalidate_live_intervals() = 0;
-
- virtual void setup_vec4_uniform_value(unsigned param_offset,
- const gl_constant_value *values,
- unsigned n) = 0;
};
uint32_t brw_texture_offset(int *offsets, unsigned num_components);
bool run();
void fail(const char *msg, ...);
- virtual void setup_vec4_uniform_value(unsigned param_offset,
- const gl_constant_value *values,
- unsigned n);
int setup_uniforms(int payload_reg);
bool reg_allocate_trivial();
this->type = brw_type_for_base_type(type);
}
-void
-vec4_visitor::setup_vec4_uniform_value(unsigned param_offset,
- const gl_constant_value *values,
- unsigned n)
-{
- static const gl_constant_value zero = { 0 };
-
- assert(param_offset % 4 == 0);
-
- for (unsigned i = 0; i < n; ++i)
- stage_prog_data->param[param_offset + i] = &values[i];
-
- for (unsigned i = n; i < 4; ++i)
- stage_prog_data->param[param_offset + i] = &zero;
-}
-
vec4_instruction *
vec4_visitor::emit_minmax(enum brw_conditional_mod conditionalmod, dst_reg dst,
src_reg src0, src_reg src1)