Home | History | Annotate | Download | only in translate

Lines Matching defs:ATTRIB

46 typedef void (*emit_func)(const void *attrib, void *ptr);
76 } attrib[TRANSLATE_MAX_ATTRIBS];
94 #define ATTRIB( NAME, SZ, SRCTYPE, DSTTYPE, TO ) \
96 emit_##NAME(const void *attrib, void *ptr) \
99 SRCTYPE *in = (SRCTYPE *)attrib; \
133 ATTRIB( R64G64B64A64_FLOAT, 4, float, double, TO_64_FLOAT )
134 ATTRIB( R64G64B64_FLOAT, 3, float, double, TO_64_FLOAT )
135 ATTRIB( R64G64_FLOAT, 2, float, double, TO_64_FLOAT )
136 ATTRIB( R64_FLOAT, 1, float, double, TO_64_FLOAT )
138 ATTRIB( R32G32B32A32_FLOAT, 4, float, float, TO_32_FLOAT )
139 ATTRIB( R32G32B32_FLOAT, 3, float, float, TO_32_FLOAT )
140 ATTRIB( R32G32_FLOAT, 2, float, float, TO_32_FLOAT )
141 ATTRIB( R32_FLOAT, 1, float, float, TO_32_FLOAT )
143 ATTRIB( R16G16B16A16_FLOAT, 4, float, ushort, TO_16_FLOAT )
144 ATTRIB( R16G16B16_FLOAT, 3, float, ushort, TO_16_FLOAT )
145 ATTRIB( R16G16_FLOAT, 2, float, ushort, TO_16_FLOAT )
146 ATTRIB( R16_FLOAT, 1, float, ushort, TO_16_FLOAT )
148 ATTRIB( R32G32B32A32_USCALED, 4, float, unsigned, TO_32_USCALED )
149 ATTRIB( R32G32B32_USCALED, 3, float, unsigned, TO_32_USCALED )
150 ATTRIB( R32G32_USCALED, 2, float, unsigned, TO_32_USCALED )
151 ATTRIB( R32_USCALED, 1, float, unsigned, TO_32_USCALED )
153 ATTRIB( R32G32B32A32_SSCALED, 4, float, int, TO_32_SSCALED )
154 ATTRIB( R32G32B32_SSCALED, 3, float, int, TO_32_SSCALED )
155 ATTRIB( R32G32_SSCALED, 2, float, int, TO_32_SSCALED )
156 ATTRIB( R32_SSCALED, 1, float, int, TO_32_SSCALED )
158 ATTRIB( R32G32B32A32_UNORM, 4, float, unsigned, TO_32_UNORM )
159 ATTRIB( R32G32B32_UNORM, 3, float, unsigned, TO_32_UNORM )
160 ATTRIB( R32G32_UNORM, 2, float, unsigned, TO_32_UNORM )
161 ATTRIB( R32_UNORM, 1, float, unsigned, TO_32_UNORM )
163 ATTRIB( R32G32B32A32_SNORM, 4, float, int, TO_32_SNORM )
164 ATTRIB( R32G32B32_SNORM, 3, float, int, TO_32_SNORM )
165 ATTRIB( R32G32_SNORM, 2, float, int, TO_32_SNORM )
166 ATTRIB( R32_SNORM, 1, float, int, TO_32_SNORM )
168 ATTRIB( R16G16B16A16_USCALED, 4, float, ushort, TO_16_USCALED )
169 ATTRIB( R16G16B16_USCALED, 3, float, ushort, TO_16_USCALED )
170 ATTRIB( R16G16_USCALED, 2, float, ushort, TO_16_USCALED )
171 ATTRIB( R16_USCALED, 1, float, ushort, TO_16_USCALED )
173 ATTRIB( R16G16B16A16_SSCALED, 4, float, short, TO_16_SSCALED )
174 ATTRIB( R16G16B16_SSCALED, 3, float, short, TO_16_SSCALED )
175 ATTRIB( R16G16_SSCALED, 2, float, short, TO_16_SSCALED )
176 ATTRIB( R16_SSCALED, 1, float, short, TO_16_SSCALED )
178 ATTRIB( R16G16B16A16_UNORM, 4, float, ushort, TO_16_UNORM )
179 ATTRIB( R16G16B16_UNORM, 3, float, ushort, TO_16_UNORM )
180 ATTRIB( R16G16_UNORM, 2, float, ushort, TO_16_UNORM )
181 ATTRIB( R16_UNORM, 1, float, ushort, TO_16_UNORM )
183 ATTRIB( R16G16B16A16_SNORM, 4, float, short, TO_16_SNORM )
184 ATTRIB( R16G16B16_SNORM, 3, float, short, TO_16_SNORM )
185 ATTRIB( R16G16_SNORM, 2, float, short, TO_16_SNORM )
186 ATTRIB( R16_SNORM, 1, float, short, TO_16_SNORM )
188 ATTRIB( R8G8B8A8_USCALED, 4, float, ubyte, TO_8_USCALED )
189 ATTRIB( R8G8B8_USCALED, 3, float, ubyte, TO_8_USCALED )
190 ATTRIB( R8G8_USCALED, 2, float, ubyte, TO_8_USCALED )
191 ATTRIB( R8_USCALED, 1, float, ubyte, TO_8_USCALED )
193 ATTRIB( R8G8B8A8_SSCALED, 4, float, char, TO_8_SSCALED )
194 ATTRIB( R8G8B8_SSCALED, 3, float, char, TO_8_SSCALED )
195 ATTRIB( R8G8_SSCALED, 2, float, char, TO_8_SSCALED )
196 ATTRIB( R8_SSCALED, 1, float, char, TO_8_SSCALED )
198 ATTRIB( R8G8B8A8_UNORM, 4, float, ubyte, TO_8_UNORM )
199 ATTRIB( R8G8B8_UNORM, 3, float, ubyte, TO_8_UNORM )
200 ATTRIB( R8G8_UNORM, 2, float, ubyte, TO_8_UNORM )
201 ATTRIB( R8_UNORM, 1, float, ubyte, TO_8_UNORM )
203 ATTRIB( R8G8B8A8_SNORM, 4, float, char, TO_8_SNORM )
204 ATTRIB( R8G8B8_SNORM, 3, float, char, TO_8_SNORM )
205 ATTRIB( R8G8_SNORM, 2, float, char, TO_8_SNORM )
206 ATTRIB( R8_SNORM, 1, float, char, TO_8_SNORM )
208 ATTRIB( R32G32B32A32_UINT, 4, uint32_t, unsigned, TO_INT )
209 ATTRIB( R32G32B32_UINT, 3, uint32_t, unsigned, TO_INT )
210 ATTRIB( R32G32_UINT, 2, uint32_t, unsigned, TO_INT )
211 ATTRIB( R32_UINT, 1, uint32_t, unsigned, TO_INT )
213 ATTRIB( R16G16B16A16_UINT, 4, uint32_t, ushort, TO_INT )
214 ATTRIB( R16G16B16_UINT, 3, uint32_t, ushort, TO_INT )
215 ATTRIB( R16G16_UINT, 2, uint32_t, ushort, TO_INT )
216 ATTRIB( R16_UINT, 1, uint32_t, ushort, TO_INT )
218 ATTRIB( R8G8B8A8_UINT, 4, uint32_t, ubyte, TO_INT )
219 ATTRIB( R8G8B8_UINT, 3, uint32_t, ubyte, TO_INT )
220 ATTRIB( R8G8_UINT, 2, uint32_t, ubyte, TO_INT )
221 ATTRIB( R8_UINT, 1, uint32_t, ubyte, TO_INT )
223 ATTRIB( R32G32B32A32_SINT, 4, int32_t, int, TO_INT )
224 ATTRIB( R32G32B32_SINT, 3, int32_t, int, TO_INT )
225 ATTRIB( R32G32_SINT, 2, int32_t, int, TO_INT )
226 ATTRIB( R32_SINT, 1, int32_t, int, TO_INT )
228 ATTRIB( R16G16B16A16_SINT, 4, int32_t, short, TO_INT )
229 ATTRIB( R16G16B16_SINT, 3, int32_t, short, TO_INT )
230 ATTRIB( R16G16_SINT, 2, int32_t, short, TO_INT )
231 ATTRIB( R16_SINT, 1, int32_t, short, TO_INT )
233 ATTRIB( R8G8B8A8_SINT, 4, int32_t, char, TO_INT )
234 ATTRIB( R8G8B8_SINT, 3, int32_t, char, TO_INT )
235 ATTRIB( R8G8_SINT, 2, int32_t, char, TO_INT )
236 ATTRIB( R8_SINT, 1, int32_t, char, TO_INT )
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 )
269 *(uint32_t *)attrib = util_le32_to_cpu(value);
273 emit_B10G10R10A2_USCALED( const void *attrib, void *ptr )
281 *(uint32_t *)attrib = util_le32_to_cpu(value);
285 emit_B10G10R10A2_SNORM( const void *attrib, void *ptr )
293 *(uint32_t *)attrib = util_le32_to_cpu(value);
297 emit_B10G10R10A2_SSCALED( const void *attrib, void *ptr )
305 *(uint32_t *)attrib = util_le32_to_cpu(value);
309 emit_R10G10B10A2_UNORM( const void *attrib, void *ptr )
317 *(uint32_t *)attrib = util_le32_to_cpu(value);
321 emit_R10G10B10A2_USCALED( const void *attrib, void *ptr )
329 *(uint32_t *)attrib = util_le32_to_cpu(value);
333 emit_R10G10B10A2_SNORM( const void *attrib, void *ptr )
341 *(uint32_t *)attrib = util_le32_to_cpu(value);
345 emit_R10G10B10A2_SSCALED( const void *attrib, void *ptr)
353 *(uint32_t *)attrib = util_le32_to_cpu(value);
357 emit_NULL( const void *attrib, void *ptr )
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 );
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;
794 tg->attrib[i].type = key->element[i].type;
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;