io.ij_index = 0;
}
+ShaderInputVarying::ShaderInputVarying(tgsi_semantic _name, int sid, unsigned driver_location,
+ unsigned frac, unsigned components,
+ tgsi_interpolate_mode interpolate,
+ tgsi_interpolate_loc interp_loc):
+ ShaderInput(_name),
+ m_driver_location(driver_location),
+ m_location_frac(frac),
+ m_sid(sid),
+ m_interpolate(interpolate),
+ m_interpolate_loc(interp_loc),
+ m_ij_index(-10),
+ m_mask((1 << components) - 1)
+{
+ evaluate_spi_sid();
+
+ m_ij_index = interpolate == TGSI_INTERPOLATE_LINEAR ? 3 : 0;
+ switch (interp_loc) {
+ case TGSI_INTERPOLATE_LOC_CENTROID: m_ij_index += 2; break;
+ case TGSI_INTERPOLATE_LOC_CENTER: m_ij_index += 1; break;
+ default:
+ ;
+ }
+}
+
ShaderInputVarying::ShaderInputVarying(tgsi_semantic _name, int sid, nir_variable *input):
ShaderInput(_name),
m_driver_location(input->data.driver_location),
sfn_log << SfnLog::io << __func__ << "name << " << name << " sid << " << sid << "\n";
}
+ShaderInputColor::ShaderInputColor(tgsi_semantic _name, int sid, unsigned driver_location,
+ unsigned frac, unsigned components, tgsi_interpolate_mode interpolate,
+ tgsi_interpolate_loc interp_loc):
+ ShaderInputVarying(_name, sid, driver_location,frac, components, interpolate, interp_loc),
+ m_back_color_input_idx(0)
+{
+ sfn_log << SfnLog::io << __func__ << "name << " << _name << " sid << " << sid << "\n";
+}
+
void ShaderInputColor::set_back_color(unsigned back_color_input_idx)
{
sfn_log << SfnLog::io << "Set back color index " << back_color_input_idx << "\n";
class ShaderInputVarying : public ShaderInput {
public:
+ ShaderInputVarying(tgsi_semantic _name, int sid, unsigned driver_location,
+ unsigned frac, unsigned components, tgsi_interpolate_mode interpolate,
+ tgsi_interpolate_loc interp_loc);
ShaderInputVarying(tgsi_semantic name, int sid, nir_variable *input);
ShaderInputVarying(tgsi_semantic name, const ShaderInputVarying& orig,
size_t location);
class ShaderInputColor: public ShaderInputVarying {
public:
+ ShaderInputColor(tgsi_semantic _name, int sid, unsigned driver_location,
+ unsigned frac, unsigned components, tgsi_interpolate_mode interpolate,
+ tgsi_interpolate_loc interp_loc);
ShaderInputColor(tgsi_semantic name, int sid, nir_variable *input);
void set_back_color(unsigned back_color_input_idx);
unsigned back_color_input_index() const {