• Home
  • Raw
  • Download

Lines Matching refs:variant

380    struct svga_shader_variant *variant = shader->variants;  in svga_search_shader_key()  local
384 for ( ; variant; variant = variant->next) { in svga_search_shader_key()
385 if (svga_compile_keys_equal(key, &variant->key)) in svga_search_shader_key()
386 return variant; in svga_search_shader_key()
412 struct svga_shader_variant *variant, in define_gb_shader_vgpu9() argument
423 variant->gb_shader = sws->shader_create(sws, variant->type, in define_gb_shader_vgpu9()
424 variant->tokens, codeLen); in define_gb_shader_vgpu9()
428 if (!variant->gb_shader) in define_gb_shader_vgpu9()
431 ret = SVGA3D_BindGBShader(svga->swc, variant->gb_shader); in define_gb_shader_vgpu9()
441 struct svga_shader_variant *variant, in define_gb_shader_vgpu10() argument
446 unsigned len = codeLen + variant->signatureLen; in define_gb_shader_vgpu10()
453 variant->id = util_bitmask_add(svga->shader_id_bm); in define_gb_shader_vgpu10()
454 if (variant->id == UTIL_BITMASK_INVALID_INDEX) { in define_gb_shader_vgpu10()
459 variant->gb_shader = swc->shader_create(swc, in define_gb_shader_vgpu10()
460 variant->id, variant->type, in define_gb_shader_vgpu10()
461 variant->tokens, codeLen, in define_gb_shader_vgpu10()
462 variant->signature, in define_gb_shader_vgpu10()
463 variant->signatureLen); in define_gb_shader_vgpu10()
467 if (!variant->gb_shader) { in define_gb_shader_vgpu10()
469 assert(variant->id != UTIL_BITMASK_INVALID_INDEX); in define_gb_shader_vgpu10()
481 ret = SVGA3D_vgpu10_DefineAndBindShader(swc, variant->gb_shader, in define_gb_shader_vgpu10()
482 variant->id, variant->type, in define_gb_shader_vgpu10()
491 swc->shader_destroy(swc, variant->gb_shader); in define_gb_shader_vgpu10()
492 variant->gb_shader = NULL; in define_gb_shader_vgpu10()
495 util_bitmask_clear(svga->shader_id_bm, variant->id); in define_gb_shader_vgpu10()
496 variant->id = UTIL_BITMASK_INVALID_INDEX; in define_gb_shader_vgpu10()
508 struct svga_shader_variant *variant) in svga_define_shader() argument
510 unsigned codeLen = variant->nr_tokens * sizeof(variant->tokens[0]); in svga_define_shader()
515 variant->id = UTIL_BITMASK_INVALID_INDEX; in svga_define_shader()
519 ret = define_gb_shader_vgpu10(svga, variant, codeLen); in svga_define_shader()
521 ret = define_gb_shader_vgpu9(svga, variant, codeLen); in svga_define_shader()
525 variant->id = util_bitmask_add(svga->shader_id_bm); in svga_define_shader()
526 if (variant->id == UTIL_BITMASK_INVALID_INDEX) { in svga_define_shader()
533 variant->id, in svga_define_shader()
534 variant->type, in svga_define_shader()
535 variant->tokens, in svga_define_shader()
539 assert(variant->id != UTIL_BITMASK_INVALID_INDEX); in svga_define_shader()
540 util_bitmask_clear(svga->shader_id_bm, variant->id); in svga_define_shader()
541 variant->id = UTIL_BITMASK_INVALID_INDEX; in svga_define_shader()
558 struct svga_shader_variant *variant) in svga_set_shader() argument
561 unsigned id = variant ? variant->id : SVGA3D_INVALID_ID; in svga_set_shader()
572 variant ? variant->gb_shader : NULL; in svga_set_shader()
590 struct svga_shader_variant *variant; in svga_new_shader_variant() local
594 variant = CALLOC(1, sizeof(struct svga_fs_variant)); in svga_new_shader_variant()
597 variant = CALLOC(1, sizeof(struct svga_gs_variant)); in svga_new_shader_variant()
600 variant = CALLOC(1, sizeof(struct svga_vs_variant)); in svga_new_shader_variant()
603 variant = CALLOC(1, sizeof(struct svga_tes_variant)); in svga_new_shader_variant()
606 variant = CALLOC(1, sizeof(struct svga_tcs_variant)); in svga_new_shader_variant()
612 if (variant) { in svga_new_shader_variant()
613 variant->type = svga_shader_type(type); in svga_new_shader_variant()
616 return variant; in svga_new_shader_variant()
622 struct svga_shader_variant *variant) in svga_destroy_shader_variant() argument
624 if (svga_have_gb_objects(svga) && variant->gb_shader) { in svga_destroy_shader_variant()
627 swc->shader_destroy(swc, variant->gb_shader); in svga_destroy_shader_variant()
628 SVGA_RETRY(svga, SVGA3D_vgpu10_DestroyShader(svga->swc, variant->id)); in svga_destroy_shader_variant()
629 util_bitmask_clear(svga->shader_id_bm, variant->id); in svga_destroy_shader_variant()
633 sws->shader_destroy(sws, variant->gb_shader); in svga_destroy_shader_variant()
635 variant->gb_shader = NULL; in svga_destroy_shader_variant()
638 if (variant->id != UTIL_BITMASK_INVALID_INDEX) { in svga_destroy_shader_variant()
639 SVGA_RETRY(svga, SVGA3D_DestroyShader(svga->swc, variant->id, in svga_destroy_shader_variant()
640 variant->type)); in svga_destroy_shader_variant()
641 util_bitmask_clear(svga->shader_id_bm, variant->id); in svga_destroy_shader_variant()
645 FREE(variant->signature); in svga_destroy_shader_variant()
646 FREE((unsigned *)variant->tokens); in svga_destroy_shader_variant()
647 FREE(variant); in svga_destroy_shader_variant()