unsigned dual_source_blend_index:1;
unsigned fb_fetch_output:1; /* for GL_KHR_blend_equation_advanced */
unsigned gs_streams:8; /* xxyyzzww: 2-bit stream index for each component */
- unsigned _pad:9;
+ unsigned medium_precision:1; /* GLSL mediump qualifier */
+ unsigned _pad:8;
} nir_io_semantics;
#define NIR_INTRINSIC_MAX_INPUTS 5
semantics.location = var->data.location;
semantics.num_slots = get_number_of_slots(state, var);
semantics.fb_fetch_output = var->data.fb_fetch_output;
+ semantics.medium_precision =
+ var->data.precision == GLSL_PRECISION_MEDIUM ||
+ var->data.precision == GLSL_PRECISION_LOW;
nir_intrinsic_set_io_semantics(load, semantics);
}
semantics.num_slots = get_number_of_slots(state, var);
semantics.dual_source_blend_index = var->data.index;
semantics.gs_streams = gs_streams;
+ semantics.medium_precision =
+ var->data.precision == GLSL_PRECISION_MEDIUM ||
+ var->data.precision == GLSL_PRECISION_LOW;
nir_intrinsic_set_io_semantics(store, semantics);
nir_builder_instr_insert(b, &store->instr);
nir_io_semantics semantics = {0};
semantics.location = var->data.location;
semantics.num_slots = get_number_of_slots(state, var);
+ semantics.medium_precision =
+ var->data.precision == GLSL_PRECISION_MEDIUM ||
+ var->data.precision == GLSL_PRECISION_LOW;
nir_intrinsic_set_io_semantics(load, semantics);
load->src[0] = nir_src_for_ssa(&bary_setup->dest.ssa);