tgsi_get_gl_varying_semantic(var->data.location, need_texcoord,
&semantic_name, &semantic_index);
- if (semantic_name == TGSI_SEMANTIC_COLOR) {
- uint8_t mask = nir_ssa_def_components_read(&instr->dest.ssa);
- info->colors_read |= mask << (semantic_index * 4);
- }
if (semantic_name == TGSI_SEMANTIC_FACE) {
info->uses_frontface = true;
}
}
if (info->processor == PIPE_SHADER_FRAGMENT) {
- unsigned name, index, input;
+ unsigned name, input;
if (src->Register.Indirect && src->Indirect.ArrayID)
input = info->input_array_first[src->Indirect.ArrayID];
input = src->Register.Index;
name = info->input_semantic_name[input];
- index = info->input_semantic_index[input];
if (name == TGSI_SEMANTIC_POSITION &&
usage_mask_after_swizzle & TGSI_WRITEMASK_Z)
info->reads_z = true;
- if (name == TGSI_SEMANTIC_COLOR)
- info->colors_read |= usage_mask_after_swizzle << (index * 4);
-
/* Process only interpolated varyings. Don't include POSITION.
* Don't include integer varyings, because they are not
* interpolated. Don't process inputs interpolated by INTERP
bool reads_perpatch_outputs;
bool reads_tessfactor_outputs;
- uint8_t colors_read; /**< which color components are read by the FS */
uint8_t colors_written;
bool reads_position; /**< does fragment shader read position? */
bool reads_z; /**< does fragment shader read depth? */