Lines Matching defs:gpv
142 delete_gp_variant(struct st_context *st, struct st_gp_variant *gpv)
144 if (gpv->driver_shader)
145 cso_delete_geometry_shader(st->cso_context, gpv->driver_shader);
147 FREE(gpv);
157 struct st_gp_variant *gpv;
159 for (gpv = stgp->variants; gpv; ) {
160 struct st_gp_variant *next = gpv->next;
161 delete_gp_variant(st, gpv);
162 gpv = next;
828 struct st_gp_variant *gpv;
830 gpv = CALLOC_STRUCT(st_gp_variant);
831 if (!gpv)
839 FREE(gpv);
1047 gpv->driver_shader = pipe->create_gs_state(pipe, &stgp->tgsi);
1048 gpv->key = *key;
1060 return gpv;
1072 struct st_gp_variant *gpv;
1075 for (gpv = stgp->variants; gpv; gpv = gpv->next) {
1076 if (memcmp(&gpv->key, key, sizeof(*key)) == 0) {
1081 if (!gpv) {
1083 gpv = st_translate_geometry_program(st, stgp, key);
1084 if (gpv) {
1086 gpv->next = stgp->variants;
1087 stgp->variants = gpv;
1091 return gpv;
1200 struct st_gp_variant *gpv, **prevPtr = &stgp->variants;
1202 for (gpv = stgp->variants; gpv; ) {
1203 struct st_gp_variant *next = gpv->next;
1204 if (gpv->key.st == st) {
1208 delete_gp_variant(st, gpv);
1211 prevPtr = &gpv->next;
1213 gpv = next;