i965/vs: Make type of vec4_visitor::vp more generic.
The vec4_visitor functions don't use any VS specific data from vec4_visitor::vp. So rename it to "prog" and change its type from struct gl_vertex_program * to struct gl_program *. This will allow the code to be re-used for geometry shaders. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> v2: Use the name "prog" rather than "p". Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -1377,7 +1377,7 @@ vec4_visitor::emit_shader_time_write(enum shader_time_shader_type type,
|
||||
src_reg value)
|
||||
{
|
||||
int shader_time_index =
|
||||
brw_get_shader_time_index(brw, shader_prog, &vp->Base, type);
|
||||
brw_get_shader_time_index(brw, shader_prog, prog, type);
|
||||
|
||||
dst_reg dst =
|
||||
dst_reg(this, glsl_type::get_array_instance(glsl_type::vec4_type, 2));
|
||||
@@ -1398,7 +1398,7 @@ vec4_visitor::emit_shader_time_write(enum shader_time_shader_type type,
|
||||
bool
|
||||
vec4_visitor::run()
|
||||
{
|
||||
sanity_param_count = vp->Base.Parameters->NumParameters;
|
||||
sanity_param_count = prog->Parameters->NumParameters;
|
||||
|
||||
if (INTEL_DEBUG & DEBUG_SHADER_TIME)
|
||||
emit_shader_time_begin();
|
||||
@@ -1482,7 +1482,7 @@ vec4_visitor::run()
|
||||
* _mesa_associate_uniform_storage() would point to freed memory. Make
|
||||
* sure that didn't happen.
|
||||
*/
|
||||
assert(sanity_param_count == vp->Base.Parameters->NumParameters);
|
||||
assert(sanity_param_count == prog->Parameters->NumParameters);
|
||||
|
||||
return !failed;
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ public:
|
||||
return dst_reg(retype(brw_null_reg(), BRW_REGISTER_TYPE_D));
|
||||
}
|
||||
|
||||
struct gl_vertex_program *vp;
|
||||
struct gl_program *prog;
|
||||
struct brw_vs_compile *c;
|
||||
struct brw_vs_prog_data *prog_data;
|
||||
unsigned int sanity_param_count;
|
||||
|
||||
@@ -676,9 +676,9 @@ vec4_visitor::setup_builtin_uniform_values(ir_variable *ir)
|
||||
* ParameterValues directly, since unlike brw_fs.cpp, we never
|
||||
* add new state references during compile.
|
||||
*/
|
||||
int index = _mesa_add_state_reference(this->vp->Base.Parameters,
|
||||
int index = _mesa_add_state_reference(this->prog->Parameters,
|
||||
(gl_state_index *)slots[i].tokens);
|
||||
float *values = &this->vp->Base.Parameters->ParameterValues[index][0].f;
|
||||
float *values = &this->prog->Parameters->ParameterValues[index][0].f;
|
||||
|
||||
this->uniform_vector_size[this->uniforms] = 0;
|
||||
/* Add each of the unique swizzled channels of the element.
|
||||
@@ -2078,7 +2078,7 @@ void
|
||||
vec4_visitor::visit(ir_texture *ir)
|
||||
{
|
||||
int sampler =
|
||||
_mesa_get_sampler_uniform_value(ir->sampler, shader_prog, &vp->Base);
|
||||
_mesa_get_sampler_uniform_value(ir->sampler, shader_prog, prog);
|
||||
|
||||
/* Should be lowered by do_lower_texture_projection */
|
||||
assert(!ir->projector);
|
||||
@@ -3004,7 +3004,7 @@ vec4_visitor::vec4_visitor(struct brw_context *brw,
|
||||
memset(this->output_reg_annotation, 0, sizeof(this->output_reg_annotation));
|
||||
|
||||
this->c = c;
|
||||
this->vp = &c->vp->program;
|
||||
this->prog = &c->vp->program.Base;
|
||||
this->prog_data = &c->prog_data;
|
||||
|
||||
this->variable_ht = hash_table_ctor(0,
|
||||
|
||||
@@ -84,8 +84,8 @@ vec4_visitor::emit_vertex_program_code()
|
||||
src_reg one = src_reg(this, glsl_type::float_type);
|
||||
emit(MOV(dst_reg(one), src_reg(1.0f)));
|
||||
|
||||
for (unsigned int insn = 0; insn < vp->Base.NumInstructions; insn++) {
|
||||
const struct prog_instruction *vpi = &vp->Base.Instructions[insn];
|
||||
for (unsigned int insn = 0; insn < prog->NumInstructions; insn++) {
|
||||
const struct prog_instruction *vpi = &prog->Instructions[insn];
|
||||
base_ir = vpi;
|
||||
|
||||
dst_reg dst;
|
||||
@@ -423,7 +423,7 @@ void
|
||||
vec4_visitor::setup_vp_regs()
|
||||
{
|
||||
/* PROGRAM_TEMPORARY */
|
||||
int num_temp = vp->Base.NumTemporaries;
|
||||
int num_temp = prog->NumTemporaries;
|
||||
vp_temp_regs = rzalloc_array(mem_ctx, src_reg, num_temp);
|
||||
for (int i = 0; i < num_temp; i++)
|
||||
vp_temp_regs[i] = src_reg(this, glsl_type::vec4_type);
|
||||
|
||||
Reference in New Issue
Block a user