This eliminates a layer of wrapping, and makes a backend_instruction
sufficient. The downside is that it exposes 'eot' to the vec4 backend,
which it doesn't need, but can basically happily ignore.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Tested-by: Pallavi G <pallavi.g@intel.com>
!src[1].abs && !src[1].negate));
}
-bool
-fs_inst::has_side_effects() const
-{
- return this->eot || backend_instruction::has_side_effects();
-}
-
void
fs_reg::init()
{
unsigned size_read(int arg) const;
bool can_do_source_mods(const struct gen_device_info *devinfo);
bool can_change_types() const;
- bool has_side_effects() const;
bool has_source_and_destination_hazard() const;
/**
uint8_t sources; /**< Number of fs_reg sources. */
- bool eot:1;
bool pi_noperspective:1; /**< Pixel interpolator noperspective flag */
};
case TCS_OPCODE_RELEASE_INPUT:
return true;
default:
- return false;
+ return eot;
}
}
bool no_dd_check:1;
bool saturate:1;
bool shadow_compare:1;
+ bool eot:1;
/* Chooses which flag subregister (f0.0 or f0.1) is used for conditional
* mod and predication.
this->predicate_inverse = false;
this->target = 0;
this->shadow_compare = false;
+ this->eot = false;
this->ir = NULL;
this->urb_write_flags = BRW_URB_WRITE_NO_FLAGS;
this->header_size = 0;