mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
i965/fs: Remove direct fs_visitor gl_fragment_program dependence
Instead we cast backend_visitor::prog for fragment shader specific code paths. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
0feb977bbf
commit
dc0bd799ca
4 changed files with 8 additions and 4 deletions
|
|
@ -469,7 +469,6 @@ public:
|
|||
|
||||
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;
|
||||
unsigned int sanity_param_count;
|
||||
|
|
|
|||
|
|
@ -602,8 +602,12 @@ fs_visitor::setup_fp_regs()
|
|||
|
||||
switch (i) {
|
||||
case VARYING_SLOT_POS:
|
||||
ir->data.pixel_center_integer = fp->PixelCenterInteger;
|
||||
ir->data.origin_upper_left = fp->OriginUpperLeft;
|
||||
{
|
||||
assert(stage == MESA_SHADER_FRAGMENT);
|
||||
gl_fragment_program *fp = (gl_fragment_program*) prog;
|
||||
ir->data.pixel_center_integer = fp->PixelCenterInteger;
|
||||
ir->data.origin_upper_left = fp->OriginUpperLeft;
|
||||
}
|
||||
fp_input_regs[i] = *emit_fragcoord_interpolation(ir);
|
||||
break;
|
||||
case VARYING_SLOT_FACE:
|
||||
|
|
|
|||
|
|
@ -3267,7 +3267,6 @@ fs_visitor::fs_visitor(struct brw_context *brw,
|
|||
key(key), prog_data(prog_data),
|
||||
dispatch_width(dispatch_width)
|
||||
{
|
||||
this->fp = fp;
|
||||
this->mem_ctx = mem_ctx;
|
||||
init();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,6 +125,8 @@ void fs_visitor::setup_payload_gen4()
|
|||
GLuint reg = 2;
|
||||
bool kill_stats_promoted_workaround = false;
|
||||
int lookup = key->iz_lookup;
|
||||
assert(stage == MESA_SHADER_FRAGMENT);
|
||||
gl_fragment_program *fp = (gl_fragment_program*) prog;
|
||||
bool uses_depth =
|
||||
(fp->Base.InputsRead & (1 << VARYING_SLOT_POS)) != 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue