* persample dispatch, we hard-code it to 0.5.
*/
prog_data->uses_pos_offset = prog_data->persample_dispatch &&
- BITSET_TEST(shader->info.system_values_read, SYSTEM_VALUE_SAMPLE_POS);
+ (BITSET_TEST(shader->info.system_values_read,
+ SYSTEM_VALUE_SAMPLE_POS) ||
+ BITSET_TEST(shader->info.system_values_read,
+ SYSTEM_VALUE_SAMPLE_POS_OR_CENTER));
}
prog_data->has_render_target_reads = shader->info.outputs_read != 0ull;
break;
case nir_intrinsic_load_sample_pos:
+ case nir_intrinsic_load_sample_pos_or_center:
assert(v->stage == MESA_SHADER_FRAGMENT);
reg = &v->nir_system_values[SYSTEM_VALUE_SAMPLE_POS];
if (reg->file == BAD_FILE)
emit_frontfacing_interpolation());
break;
- case nir_intrinsic_load_sample_pos: {
+ case nir_intrinsic_load_sample_pos:
+ case nir_intrinsic_load_sample_pos_or_center: {
fs_reg sample_pos = nir_system_values[SYSTEM_VALUE_SAMPLE_POS];
assert(sample_pos.file != BAD_FILE);
dest.type = sample_pos.type;