Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/ir.c:
}
- }
- if (!array_size)
return;
- if (array_size > MAX_CLIP_OR_CULL_DISTANCE_COUNT)
- {
WARN("Invalid array size %u.\n", array_size);
clip_cull_normaliser_error(normaliser, VKD3D_SHADER_ERROR_VSIR_INVALID_SIGNATURE,
"Clip or cull array size %u exceeds the limit of 8.", array_size);
normaliser->result = VKD3D_ERROR_INVALID_SHADER;
return;
- }
- signature->scan[base].need_normalisation = true;
You're setting `need_normalisation` for each signature element other than the first in the loop above, and then you set the flag for the first element too here. Why can't this happen in the loop too?