void visit_load_sample_mask_in(isel_context *ctx, nir_intrinsic_instr *instr) {
uint8_t log2_ps_iter_samples;
- if (ctx->program->info->ps.force_persample) {
+ if (ctx->program->info->ps.uses_sample_shading) {
log2_ps_iter_samples =
util_logbase2(ctx->options->key.fs.num_samples);
} else {
struct radv_shader_context *ctx = radv_shader_context_from_abi(abi);
uint8_t log2_ps_iter_samples;
- if (ctx->args->shader_info->ps.force_persample) {
+ if (ctx->args->shader_info->ps.uses_sample_shading) {
log2_ps_iter_samples =
util_logbase2(ctx->args->options->key.fs.num_samples);
} else {
*
* Otherwise, sample shading is considered disabled."
*/
- if (pipeline->shaders[MESA_SHADER_FRAGMENT]->info.ps.force_persample) {
+ if (pipeline->shaders[MESA_SHADER_FRAGMENT]->info.ps.uses_sample_shading) {
ps_iter_samples = ms->num_samples;
} else {
ps_iter_samples = radv_pipeline_get_ps_iter_samples(pCreateInfo);
case nir_intrinsic_load_num_subgroups:
info->cs.uses_local_invocation_idx = true;
break;
- case nir_intrinsic_load_sample_id:
- info->ps.force_persample = true;
- break;
- case nir_intrinsic_load_sample_pos:
- info->ps.force_persample = true;
- break;
case nir_intrinsic_load_view_index:
info->needs_multiview_view_index = true;
if (nir->info.stage == MESA_SHADER_FRAGMENT)
struct radv_shader_info *info)
{
unsigned attrib_count = glsl_count_attribute_slots(var->type, false);
- const struct glsl_type *type = glsl_without_array(var->type);
int idx = var->data.location;
switch (idx) {
break;
}
- if (glsl_get_base_type(type) == GLSL_TYPE_FLOAT) {
- if (var->data.sample)
- info->ps.force_persample = true;
- }
-
if (var->data.compact) {
unsigned component_count = var->data.location_frac +
glsl_get_length(var->type);
info->ps.early_fragment_test = nir->info.fs.early_fragment_tests;
info->ps.post_depth_coverage = nir->info.fs.post_depth_coverage;
info->ps.depth_layout = nir->info.fs.depth_layout;
+ info->ps.uses_sample_shading = nir->info.fs.uses_sample_shading;
break;
case MESA_SHADER_GEOMETRY:
info->gs.vertices_in = nir->info.gs.vertices_in;