ir->data.location == VARYING_SLOT_TESS_LEVEL_OUTER)) {
var->data.compact = ir->type->without_array()->is_scalar();
}
+
+ if (shader->info.stage > MESA_SHADER_VERTEX &&
+ ir->data.location >= VARYING_SLOT_CLIP_DIST0 &&
+ ir->data.location <= VARYING_SLOT_CULL_DIST1) {
+ var->data.compact = ir->type->without_array()->is_scalar();
+ }
}
break;
ir->data.location == VARYING_SLOT_TESS_LEVEL_OUTER)) {
var->data.compact = ir->type->without_array()->is_scalar();
}
+
+ if (shader->info.stage <= MESA_SHADER_GEOMETRY &&
+ ir->data.location >= VARYING_SLOT_CLIP_DIST0 &&
+ ir->data.location <= VARYING_SLOT_CULL_DIST1) {
+ var->data.compact = ir->type->without_array()->is_scalar();
+ }
break;
case ir_var_uniform:
switch (builtin) {
case SpvBuiltInTessLevelOuter:
case SpvBuiltInTessLevelInner:
+ case SpvBuiltInClipDistance:
+ case SpvBuiltInCullDistance:
var_data->compact = true;
break;
case SpvBuiltInFragCoord: