stvp->variants->key.passthrough_edgeflags == st->vertdata_edgeflags) {
st->vp_variant = stvp->variants;
} else {
- struct st_vp_variant_key key;
+ struct st_common_variant_key key;
memset(&key, 0, sizeof(key));
static struct st_vp_variant *
st_create_vp_variant(struct st_context *st,
struct st_vertex_program *stvp,
- const struct st_vp_variant_key *key)
+ const struct st_common_variant_key *key)
{
struct st_vp_variant *vpv = CALLOC_STRUCT(st_vp_variant);
struct pipe_context *pipe = st->pipe;
struct st_vp_variant *
st_get_vp_variant(struct st_context *st,
struct st_vertex_program *stvp,
- const struct st_vp_variant_key *key)
+ const struct st_common_variant_key *key)
{
struct st_vp_variant *vpv;
switch (prog->Target) {
case GL_VERTEX_PROGRAM_ARB: {
struct st_vertex_program *p = (struct st_vertex_program *)prog;
- struct st_vp_variant_key key;
+ struct st_common_variant_key key;
memset(&key, 0, sizeof(key));
};
-
-/** Vertex program variant key */
-struct st_vp_variant_key
+/** Shader key shared by other shaders */
+struct st_common_variant_key
{
struct st_context *st; /**< variants are per-context */
bool passthrough_edgeflags;
/* Parameters which generated this translated version of a vertex
* shader:
*/
- struct st_vp_variant_key key;
+ struct st_common_variant_key key;
/**
* The shader variant saved for the draw module to later emulate
};
-
-/** Shader key shared by other shaders */
-struct st_common_variant_key
-{
- struct st_context *st; /**< variants are per-context */
-
- /** For compat profile */
- bool clamp_color;
-
- /** both for ARB_depth_clamp */
- bool lower_depth_clamp;
- bool clip_negative_one_to_one;
-
-};
-
-
/**
* Geometry program variant.
*/
extern struct st_vp_variant *
st_get_vp_variant(struct st_context *st,
struct st_vertex_program *stvp,
- const struct st_vp_variant_key *key);
+ const struct st_common_variant_key *key);
extern struct st_fp_variant *