#include "program/prog_parameter.h"
#include "program/prog_print.h"
#include "program/prog_optimize.h"
-#include "program/register_allocate.h"
+#include "util/register_allocate.h"
#include "program/sampler.h"
#include "program/hash_table.h"
#include "brw_context.h"
}
static const fs_reg reg_undef;
-static const fs_reg reg_null_f(retype(brw_null_reg(), BRW_REGISTER_TYPE_F));
-static const fs_reg reg_null_d(retype(brw_null_reg(), BRW_REGISTER_TYPE_D));
-static const fs_reg reg_null_ud(retype(brw_null_reg(), BRW_REGISTER_TYPE_UD));
class ip_record : public exec_node {
public:
class fs_visitor : public backend_visitor
{
public:
+ const fs_reg reg_null_f;
+ const fs_reg reg_null_d;
+ const fs_reg reg_null_ud;
fs_visitor(struct brw_context *brw,
void *mem_ctx,
void move_uniform_array_access_to_pull_constants();
void assign_constant_locations();
void demote_pull_constants();
- void invalidate_live_intervals(bool invalidate_cfg = true);
+ void invalidate_live_intervals();
void calculate_live_intervals();
void calculate_register_pressure();
bool opt_algebraic();
bool virtual_grf_interferes(int a, int b);
void schedule_instructions(instruction_scheduler_mode mode);
void insert_gen4_send_dependency_workarounds();
- void insert_gen4_pre_send_dependency_workarounds(fs_inst *inst);
- void insert_gen4_post_send_dependency_workarounds(fs_inst *inst);
+ void insert_gen4_pre_send_dependency_workarounds(bblock_t *block,
+ fs_inst *inst);
+ void insert_gen4_post_send_dependency_workarounds(bblock_t *block,
+ fs_inst *inst);
void vfail(const char *msg, va_list args);
void fail(const char *msg, ...);
void no16(const char *msg, ...);
void lower_uniform_pull_constant_loads();
bool lower_load_payload();
- void try_rep_send();
-
void push_force_uncompressed();
void pop_force_uncompressed();
void emit_dummy_fs();
+ void emit_repclear_shader();
fs_reg *emit_fragcoord_interpolation(ir_variable *ir);
fs_inst *emit_linterp(const fs_reg &attr, const fs_reg &interp,
glsl_interp_qualifier interpolation_mode,
void visit_atomic_counter_intrinsic(ir_call *ir);
- struct gl_fragment_program *fp;
- const struct brw_wm_prog_key *const key;
- struct brw_wm_prog_data *prog_data;
+ const void *const key;
+ struct brw_stage_prog_data *prog_data;
unsigned int sanity_param_count;
int *param_size;