Lines Matching defs:src

102 inline deUint32 readUint24 (const deUint8* src)
105 return (((deUint32)src[0]) << 0u) |
106 (((deUint32)src[1]) << 8u) |
107 (((deUint32)src[2]) << 16u);
109 return (((deUint32)src[0]) << 16u) |
110 (((deUint32)src[1]) << 8u) |
111 (((deUint32)src[2]) << 0u);
115 inline deUint8 readUint32Low8 (const deUint8* src)
123 return src[uint32ByteOffsetBits0To8];
126 inline deUint8 readUint32High8 (const deUint8* src)
134 return src[uint32ByteOffsetBits24To32];
159 inline deUint32 readUint32High16 (const deUint8* src)
167 return *(const deUint16*)(src + uint32ByteOffset16To32);
181 inline deUint32 readUint32Low24 (const deUint8* src)
189 return readUint24(src + uint32ByteOffset0To24);
192 inline deUint32 readUint32High24 (const deUint8* src)
200 return readUint24(src + uint32ByteOffset8To32);
395 void floatToChannel (deUint8* dst, float src, TextureFormat::ChannelType type)
402 case TextureFormat::SNORM_INT8: *((deInt8*)dst) = convertSatRte<deInt8> (src * 127.0f); break;
403 case TextureFormat::SNORM_INT16: *((deInt16*)dst) = convertSatRte<deInt16> (src * 32767.0f); break;
404 case TextureFormat::SNORM_INT32: *((deInt32*)dst) = convertSatRte<deInt32> (src * 2147483647.0f); break;
405 case TextureFormat::UNORM_INT8: *((deUint8*)dst) = convertSatRte<deUint8> (src * 255.0f); break;
406 case TextureFormat::UNORM_INT16: *((deUint16*)dst) = convertSatRte<deUint16> (src * 65535.0f); break;
407 case TextureFormat::UNORM_INT24: writeUint24(dst, convertSatRteUint24 (src * 16777215.0f)); break;
408 case TextureFormat::UNORM_INT32: *((deUint32*)dst) = convertSatRte<deUint32> (src * 4294967295.0f); break;
409 case TextureFormat::SIGNED_INT8: *((deInt8*)dst) = convertSatRte<deInt8> (src); break;
410 case TextureFormat::SIGNED_INT16: *((deInt16*)dst) = convertSatRte<deInt16> (src); break;
411 case TextureFormat::SIGNED_INT32: *((deInt32*)dst) = convertSatRte<deInt32> (src); break;
412 case TextureFormat::UNSIGNED_INT8: *((deUint8*)dst) = convertSatRte<deUint8> (src); break;
413 case TextureFormat::UNSIGNED_INT16: *((deUint16*)dst) = convertSatRte<deUint16> (src); break;
414 case TextureFormat::UNSIGNED_INT24: writeUint24(dst, convertSatRteUint24 (src)); break;
415 case TextureFormat::UNSIGNED_INT32: *((deUint32*)dst) = convertSatRte<deUint32> (src); break;
416 case TextureFormat::HALF_FLOAT: *((deFloat16*)dst) = deFloat32To16 (src); break;
417 case TextureFormat::FLOAT: *((float*)dst) = src; break;
418 case TextureFormat::FLOAT64: *((double*)dst) = (double)src; break;
419 case TextureFormat::UNORM_SHORT_10: *((deUint16*)dst) = (deUint16)(convertSatRteUint10(src * 1023.0f) << 6u); break;
420 case TextureFormat::UNORM_SHORT_12: *((deUint16*)dst) = (deUint16)(convertSatRteUint12(src * 4095.0f) << 4u); break;
421 case TextureFormat::USCALED_INT8: *((deUint8*)dst) = convertSatRte<deUint8> (src); break;
422 case TextureFormat::USCALED_INT16: *((deUint16*)dst) = convertSatRte<deUint16> (src); break;
423 case TextureFormat::SSCALED_INT8: *((deInt8*)dst) = convertSatRte<deInt8> (src); break;
424 case TextureFormat::SSCALED_INT16: *((deInt16*)dst) = convertSatRte<deInt16> (src); break;
431 static inline T convertSat (S src)
436 if (src < min)
438 else if (src > max)
441 return (T)src;
445 static inline deUint32 convertSatUint24 (S src)
450 if (src < min)
452 else if (src > max)
455 return (deUint32)src;
459 static inline deUint16 convertSatUint10 (S src)
464 if (src < min)
466 else if (src > max)
469 return (deUint16)src;
473 static inline deUint16 convertSatUint12 (S src)
478 if (src < min)
480 else if (src > max)
483 return (deUint16)src;
486 void intToChannel (deUint8* dst, int src, TextureFormat::ChannelType type)
493 case TextureFormat::SNORM_INT8: *((deInt8*)dst) = convertSat<deInt8> (src); break;
494 case TextureFormat::SNORM_INT16: *((deInt16*)dst) = convertSat<deInt16> (src); break;
495 case TextureFormat::UNORM_INT8: *((deUint8*)dst) = convertSat<deUint8> (src); break;
496 case TextureFormat::UNORM_INT16: *((deUint16*)dst) = convertSat<deUint16> (src); break;
497 case TextureFormat::UNORM_INT24: writeUint24(dst, convertSatUint24 (src)); break;
498 case TextureFormat::SIGNED_INT8: *((deInt8*)dst) = convertSat<deInt8> (src); break;
499 case TextureFormat::SIGNED_INT16: *((deInt16*)dst) = convertSat<deInt16> (src); break;
500 case TextureFormat::SIGNED_INT32: *((deInt32*)dst) = convertSat<deInt32> (src); break;
501 case TextureFormat::SIGNED_INT64: *((deInt64*)dst) = convertSat<deInt64> ((deInt64)src); break;
502 case TextureFormat::UNSIGNED_INT8: *((deUint8*)dst) = convertSat<deUint8> ((deUint32)src); break;
503 case TextureFormat::UNSIGNED_INT16: *((deUint16*)dst) = convertSat<deUint16> ((deUint32)src); break;
504 case TextureFormat::UNSIGNED_INT24: writeUint24(dst, convertSatUint24 ((deUint32)src)); break;
505 case TextureFormat::UNSIGNED_INT32: *((deUint32*)dst) = convertSat<deUint32> ((deUint32)src); break;
506 case TextureFormat::UNSIGNED_INT64: *((deUint64*)dst) = convertSat<deUint64> ((deUint64)src); break;
507 case TextureFormat::HALF_FLOAT: *((deFloat16*)dst) = deFloat32To16((float)src); break;
508 case TextureFormat::FLOAT: *((float*)dst) = (float)src; break;
509 case TextureFormat::FLOAT64: *((double*)dst) = (double)src; break;
510 case TextureFormat::UNORM_SHORT_10: *((deUint16*)dst) = (deUint16)(convertSatUint10(src) << 6u); break;
511 case TextureFormat::UNORM_SHORT_12: *((deUint16*)dst) = (deUint16)(convertSatUint12(src) << 4u); break;
512 case TextureFormat::USCALED_INT8: *((deUint8*)dst) = convertSat<deUint8> ((deUint32)src); break;
513 case TextureFormat::USCALED_INT16: *((deUint16*)dst) = convertSat<deUint16> ((deUint32)src); break;
514 case TextureFormat::SSCALED_INT8: *((deInt8*)dst) = convertSat<deInt8> (src); break;
515 case TextureFormat::SSCALED_INT16: *((deInt16*)dst) = convertSat<deInt16> (src); break;
521 inline float channelToUnormFloat (deUint32 src, int bits)
526 return (float)src / (float)maxVal;
530 inline deInt32 signExtend (deUint32 src, int bits)
534 src |= ~((src & signBit) - 1);
536 return (deInt32)src;
539 inline float channelToSnormFloat (deUint32 src, int bits)
544 return de::max(-1.0f, (float)signExtend(src, bits) / (float)range);
547 inline deUint32 unormFloatToChannel (float src, int bits)
550 const deUint32 intVal = convertSatRte<deUint32>(src * (float)maxVal);
555 inline deUint32 snormFloatToChannel (float src, int bits)
559 const deInt32 intVal = convertSatRte<deInt32>(src * (float)range);
564 inline deUint32 uintToChannel (deUint32 src, int bits)
567 return de::min(src, maxVal);
570 inline deUint32 intToChannel (deInt32 src, int bits)
576 return (deUint32)de::clamp(src, minVal, maxVal) & mask;
1079 Vector<T, 4> swizzleGe (const Vector<T, 4>& v, TextureFormat::ChannelOrder src, TextureFormat::ChannelOrder dst)
1081 if (src == dst)
1085 if ((src == TextureFormat::RGBA && dst == TextureFormat::ARGB) ||
1086 (src == TextureFormat::BGRA && dst == TextureFormat::ABGR))
1089 if ((src == TextureFormat::ARGB && dst == TextureFormat::RGBA) ||
1090 (src == TextureFormat::ABGR && dst == TextureFormat::BGRA))
1093 if ((src == TextureFormat::BGRA && dst == TextureFormat::ARGB) ||
1094 (src == TextureFormat::ABGR && dst == TextureFormat::RGBA) ||
1095 (src == TextureFormat::RGBA && dst == TextureFormat::ABGR) ||
1096 (src == TextureFormat::ARGB && dst == TextureFormat::BGRA))
1099 if ((src == TextureFormat::RGB && dst == TextureFormat::BGR) ||
1100 (src == TextureFormat::BGR && dst == TextureFormat::RGB) ||
1101 (src == TextureFormat::RGBA && dst == TextureFormat::BGRA) ||
1102 (src == TextureFormat::BGRA && dst == TextureFormat::RGBA))
2911 static Vec4 fetchGatherArray2DOffsets (const ConstPixelBufferAccess& src, const Sampler& sampler, float s, float t, int depth, int componentNdx, const IVec2 (&offsets)[4])
2915 const int w = src.getWidth();
2916 const int h = src.getHeight();
2931 pixel = lookup(src, sampleX, sampleY, depth);
2933 pixel = lookupBorder(src.getFormat(), sampler);
2941 Vec4 gatherArray2DOffsets (const ConstPixelBufferAccess& src, const Sampler& sampler, float s, float t, int depth, int componentNdx, const IVec2 (&offsets)[4])
2946 return fetchGatherArray2DOffsets(src, sampler, s, t, depth, componentNdx, offsets);
2949 Vec4 gatherArray2DOffsetsCompare (const ConstPixelBufferAccess& src, const Sampler& sampler, float ref, float s, float t, int depth, const IVec2 (&offsets)[4])
2952 DE_ASSERT(src.getFormat().order == TextureFormat::D || src.getFormat().order == TextureFormat::DS);
2955 const bool isFixedPoint = isFixedPointDepthTextureFormat(src.getFormat());
2956 const Vec4 gathered = fetchGatherArray2DOffsets(src, sampler, s, t, depth, 0 /* component 0: depth */, offsets);