Lines Matching refs:attrib

46 typedef void (*emit_func)(const void *attrib, void *ptr);
76 } attrib[PIPE_MAX_ATTRIBS];
96 emit_##NAME(const void *attrib, void *ptr) \
99 SRCTYPE *in = (SRCTYPE *)attrib; \
239 emit_A8R8G8B8_UNORM( const void *attrib, void *ptr)
241 float *in = (float *)attrib;
250 emit_B8G8R8A8_UNORM( const void *attrib, void *ptr)
252 float *in = (float *)attrib;
261 emit_B10G10R10A2_UNORM( const void *attrib, void *ptr )
272 *(uint32_t *)attrib = value;
276 emit_B10G10R10A2_USCALED( const void *attrib, void *ptr )
287 *(uint32_t *)attrib = value;
291 emit_B10G10R10A2_SNORM( const void *attrib, void *ptr )
302 *(uint32_t *)attrib = value;
306 emit_B10G10R10A2_SSCALED( const void *attrib, void *ptr )
317 *(uint32_t *)attrib = value;
321 emit_R10G10B10A2_UNORM( const void *attrib, void *ptr )
332 *(uint32_t *)attrib = value;
336 emit_R10G10B10A2_USCALED( const void *attrib, void *ptr )
347 *(uint32_t *)attrib = value;
351 emit_R10G10B10A2_SNORM( const void *attrib, void *ptr )
362 *(uint32_t *)attrib = value;
366 emit_R10G10B10A2_SSCALED( const void *attrib, void *ptr)
377 *(uint32_t *)attrib = value;
381 emit_NULL( const void *attrib, void *ptr )
618 uint8_t *dst = (uint8_t *)vert + tg->attrib[attr].output_offset;
620 if (tg->attrib[attr].type == TRANSLATE_ELEMENT_NORMAL) {
625 if (tg->attrib[attr].instance_divisor) {
626 index = instance_id / tg->attrib[attr].instance_divisor;
635 index = MIN2(index, tg->attrib[attr].max_index);
638 src = tg->attrib[attr].input_ptr +
639 tg->attrib[attr].input_stride * index;
641 copy_size = tg->attrib[attr].copy_size;
646 tg->attrib[attr].fetch( data, src, 0, 0 );
652 tg->attrib[attr].input_ptr,
653 tg->attrib[attr].input_stride,
657 tg->attrib[attr].emit( data, dst );
660 if(likely(tg->attrib[attr].copy_size >= 0))
665 tg->attrib[attr].emit( data, dst );
750 if (tg->attrib[i].buffer == buf) {
751 tg->attrib[i].input_ptr = ((const uint8_t *)ptr +
752 tg->attrib[i].input_offset);
753 tg->attrib[i].input_stride = stride;
754 tg->attrib[i].max_index = max_index;
811 tg->attrib[i].type = key->element[i].type;
823 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_sint;
825 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_uint;
828 tg->attrib[i].fetch = (fetch_func)format_desc->fetch_rgba_float;
831 tg->attrib[i].buffer = key->element[i].input_buffer;
832 tg->attrib[i].input_offset = key->element[i].input_offset;
833 tg->attrib[i].instance_divisor = key->element[i].instance_divisor;
835 tg->attrib[i].output_offset = key->element[i].output_offset;
837 tg->attrib[i].copy_size = -1;
838 if (tg->attrib[i].type == TRANSLATE_ELEMENT_INSTANCE_ID)
842 tg->attrib[i].copy_size = 4;
850 tg->attrib[i].copy_size = format_desc->block.bits >> 3;
853 if(tg->attrib[i].copy_size < 0)
854 tg->attrib[i].emit = get_emit_func(key->element[i].output_format);
856 tg->attrib[i].emit = NULL;