Home | History | Annotate | Download | only in translate

Lines Matching defs:tg

584 static ALWAYS_INLINE void PIPE_CDECL generic_run_one( struct translate_generic *tg,
590 unsigned nr_attrs = tg->nr_attrib;
595 uint8_t *dst = (uint8_t *)vert + tg->attrib[attr].output_offset;
597 if (tg->attrib[attr].type == TRANSLATE_ELEMENT_NORMAL) {
602 if (tg->attrib[attr].instance_divisor) {
604 index += (instance_id / tg->attrib[attr].instance_divisor);
613 index = MIN2(index, tg->attrib[attr].max_index);
616 src = tg->attrib[attr].input_ptr +
617 (ptrdiff_t)tg->attrib[attr].input_stride * index;
619 copy_size = tg->attrib[attr].copy_size;
624 tg->attrib[attr].fetch( data, src, 0, 0 );
630 tg->attrib[attr].input_ptr,
631 tg->attrib[attr].input_stride,
635 tg->attrib[attr].emit( data, dst );
638 if(likely(tg->attrib[attr].copy_size >= 0))
643 tg->attrib[attr].emit( data, dst );
659 struct translate_generic *tg = translate_generic(translate);
664 generic_run_one(tg, *elts++, start_instance, instance_id, vert);
665 vert += tg->translate.key.output_stride;
676 struct translate_generic *tg = translate_generic(translate);
681 generic_run_one(tg, *elts++, start_instance, instance_id, vert);
682 vert += tg->translate.key.output_stride;
693 struct translate_generic *tg = translate_generic(translate);
698 generic_run_one(tg, *elts++, start_instance, instance_id, vert);
699 vert += tg->translate.key.output_stride;
710 struct translate_generic *tg = translate_generic(translate);
715 generic_run_one(tg, start + i, start_instance, instance_id, vert);
716 vert += tg->translate.key.output_stride;
728 struct translate_generic *tg = translate_generic(translate);
731 for (i = 0; i < tg->nr_attrib; i++) {
732 if (tg->attrib[i].buffer == buf) {
733 tg->attrib[i].input_ptr = ((const uint8_t *)ptr +
734 tg->attrib[i].input_offset);
735 tg->attrib[i].input_stride = stride;
736 tg->attrib[i].max_index = max_index;
772 struct translate_generic *tg = CALLOC_STRUCT(translate_generic);
775 if (!tg)
780 tg->translate.key = *key;
781 tg->translate.release = generic_release;
782 tg->translate.set_buffer = generic_set_buffer;
783 tg->translate.run_elts = generic_run_elts;
784 tg->translate.run_elts16 = generic_run_elts16;
785 tg->translate.run_elts8 = generic_run_elts8;
786 tg->translate.run = generic_run;
794 tg->attrib[i].type = key->element[i].type;
801 FREE(tg);
807 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_sint;
810 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_uint;
814 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_float;
817 tg->attrib[i].buffer = key->element[i].input_buffer;
818 tg->attrib[i].input_offset = key->element[i].input_offset;
819 tg->attrib[i].instance_divisor = key->element[i].instance_divisor;
821 tg->attrib[i].output_offset = key->element[i].output_offset;
823 tg->attrib[i].copy_size = -1;
824 if (tg->attrib[i].type == TRANSLATE_ELEMENT_INSTANCE_ID)
828 tg->attrib[i].copy_size = 4;
836 tg->attrib[i].copy_size = format_desc->block.bits >> 3;
839 if(tg->attrib[i].copy_size < 0)
840 tg->attrib[i].emit = get_emit_func(key->element[i].output_format);
842 tg->attrib[i].emit = NULL;
845 tg->nr_attrib = key->nr_elements;
848 return &tg->translate;