key.lower_two_sided_color = st->lower_two_sided_color &&
_mesa_vertex_program_two_side_enabled(st->ctx);
- /* _NEW_FRAG_CLAMP */
+ /* gl_driver_flags::NewFragClamp */
key.clamp_color = st->clamp_frag_color_in_shader &&
st->ctx->Color._ClampFragmentColor;
!st_point_size_per_vertex(st->ctx);
/* _NEW_TRANSFORM */
- if (st->lower_ucp && st_user_clip_planes_enabled(st->ctx))
+ if (st->lower_ucp && st_user_clip_planes_enabled(st->ctx) &&
+ !st->ctx->GeometryProgram._Current)
key.lower_ucp = st->ctx->Transform.ClipPlanesEnabled;
st->vp_variant = st_get_vp_variant(st, stvp, &key);
key.clip_negative_one_to_one =
st->ctx->Transform.ClipDepthMode == GL_NEGATIVE_ONE_TO_ONE;
+ if (st->lower_ucp && st_user_clip_planes_enabled(st->ctx) &&
+ pipe_shader == PIPE_SHADER_GEOMETRY)
+ key.lower_ucp = st->ctx->Transform.ClipPlanesEnabled;
}
return st_get_common_variant(st, stp, &key)->driver_shader;