strcmp(xfb_decl->var_name, "gl_CullDistance") == 0) {
xfb_decl->lowered_builtin_array_variable = cull_distance;
}
-
- if (consts->LowerTessLevel &&
- (strcmp(xfb_decl->var_name, "gl_TessLevelOuter") == 0))
- xfb_decl->lowered_builtin_array_variable = tess_level_outer;
- if (consts->LowerTessLevel &&
- (strcmp(xfb_decl->var_name, "gl_TessLevelInner") == 0))
- xfb_decl->lowered_builtin_array_variable = tess_level_inner;
}
/**
actual_array_size = prog->last_vert_prog ?
prog->last_vert_prog->info.cull_distance_array_size : 0;
break;
- case tess_level_outer:
- actual_array_size = 4;
- break;
- case tess_level_inner:
- actual_array_size = 2;
- break;
case none:
default:
actual_array_size = glsl_array_size(xfb_decl->matched_candidate->type);
disable_varying_packing,
xfb_enabled) ||
strcmp(xfb_decl->matched_candidate->toplevel_var->name, "gl_ClipDistance") == 0 ||
- strcmp(xfb_decl->matched_candidate->toplevel_var->name, "gl_CullDistance") == 0;
+ strcmp(xfb_decl->matched_candidate->toplevel_var->name, "gl_CullDistance") == 0 ||
+ strcmp(xfb_decl->matched_candidate->toplevel_var->name, "gl_TessLevelInner") == 0 ||
+ strcmp(xfb_decl->matched_candidate->toplevel_var->name, "gl_TessLevelOuter") == 0;
unsigned array_elem_size = xfb_decl->lowered_builtin_array_variable ?
1 : (array_will_be_lowered ? vector_elements : 4) * matrix_cols * dmul;
case cull_distance:
name = "gl_ClipDistanceMESA";
break;
- case tess_level_outer:
- name = "gl_TessLevelOuterMESA";
- break;
- case tess_level_inner:
- name = "gl_TessLevelInnerMESA";
- break;
}
struct hash_entry *entry =
_mesa_hash_table_search(tfeedback_candidates, name);
none,
clip_distance,
cull_distance,
- tess_level_outer,
- tess_level_inner,
};
/**
unsigned array_subscript;
/**
- * Non-zero if the variable is gl_ClipDistance, glTessLevelOuter or
- * gl_TessLevelInner and the driver lowers it to gl_*MESA.
+ * Non-zero if the variable is gl_ClipDistance and the driver lowers it to
+ * gl_*MESA.
*/
enum lowered_builtin_array_var lowered_builtin_array_variable;
GLuint MaxTessGenLevel;
GLuint MaxTessPatchComponents;
GLuint MaxTessControlTotalOutputComponents;
- bool LowerTessLevel; /**< Lower gl_TessLevel* from float[n] to vecn? */
bool PrimitiveRestartForPatches;
/** GL_OES_primitive_bounding_box */
screen->get_param(screen, PIPE_CAP_PREFER_IMM_ARRAYS_AS_CONSTBUF);
c->GLSLTessLevelsAsInputs =
screen->get_param(screen, PIPE_CAP_GLSL_TESS_LEVELS_AS_INPUTS);
- c->LowerTessLevel =
- !screen->get_param(screen, PIPE_CAP_NIR_COMPACT_ARRAYS);
c->PrimitiveRestartForPatches = false;
c->MaxCombinedTextureImageUnits =