Lines Matching defs:swizzle

3219                                struct isl_swizzle swizzle)
3236 return isl_swizzle_is_identity(swizzle);
3254 return (swizzle.r == ISL_CHANNEL_SELECT_RED ||
3255 swizzle.r == ISL_CHANNEL_SELECT_GREEN ||
3256 swizzle.r == ISL_CHANNEL_SELECT_BLUE) &&
3257 (swizzle.g == ISL_CHANNEL_SELECT_RED ||
3258 swizzle.g == ISL_CHANNEL_SELECT_GREEN ||
3259 swizzle.g == ISL_CHANNEL_SELECT_BLUE) &&
3260 (swizzle.b == ISL_CHANNEL_SELECT_RED ||
3261 swizzle.b == ISL_CHANNEL_SELECT_GREEN ||
3262 swizzle.b == ISL_CHANNEL_SELECT_BLUE) &&
3263 swizzle.r != swizzle.g &&
3264 swizzle.r != swizzle.b &&
3265 swizzle.g != swizzle.b &&
3266 swizzle.a == ISL_CHANNEL_SELECT_ALPHA;
3271 swizzle_select(enum isl_channel_select chan, struct isl_swizzle swizzle)
3278 return swizzle.r;
3280 return swizzle.g;
3282 return swizzle.b;
3284 return swizzle.a;
3286 unreachable("Invalid swizzle component");
3291 * Returns the single swizzle that is equivalent to applying the two given
3306 * Returns a swizzle that is the pseudo-inverse of this swizzle.
3309 isl_swizzle_invert(struct isl_swizzle swizzle)
3311 /* Default to zero for channels which do not show up in the swizzle */
3323 if ((unsigned)(swizzle.a - ISL_CHANNEL_SELECT_RED) < 4)
3324 chans[swizzle.a - ISL_CHANNEL_SELECT_RED] = ISL_CHANNEL_SELECT_ALPHA;
3325 if ((unsigned)(swizzle.b - ISL_CHANNEL_SELECT_RED) < 4)
3326 chans[swizzle.b - ISL_CHANNEL_SELECT_RED] = ISL_CHANNEL_SELECT_BLUE;
3327 if ((unsigned)(swizzle.g - ISL_CHANNEL_SELECT_RED) < 4)
3328 chans[swizzle.g - ISL_CHANNEL_SELECT_RED] = ISL_CHANNEL_SELECT_GREEN;
3329 if ((unsigned)(swizzle.r - ISL_CHANNEL_SELECT_RED) < 4)
3330 chans[swizzle.r - ISL_CHANNEL_SELECT_RED] = ISL_CHANNEL_SELECT_RED;
3351 /** Applies an inverse swizzle to a color value */
3354 struct isl_swizzle swizzle,
3360 isl_color_value_channel(src, swizzle.r, one),
3361 isl_color_value_channel(src, swizzle.g, one),
3362 isl_color_value_channel(src, swizzle.b, one),
3363 isl_color_value_channel(src, swizzle.a, one),
3367 /** Applies an inverse swizzle to a color value */
3370 struct isl_swizzle swizzle)
3378 if ((unsigned)(swizzle.a - ISL_CHANNEL_SELECT_RED) < 4)
3379 dst.u32[swizzle.a - ISL_CHANNEL_SELECT_RED] = src.u32[3];
3380 if ((unsigned)(swizzle.b - ISL_CHANNEL_SELECT_RED) < 4)
3381 dst.u32[swizzle.b - ISL_CHANNEL_SELECT_RED] = src.u32[2];
3382 if ((unsigned)(swizzle.g - ISL_CHANNEL_SELECT_RED) < 4)
3383 dst.u32[swizzle.g - ISL_CHANNEL_SELECT_RED] = src.u32[1];
3384 if ((unsigned)(swizzle.r - ISL_CHANNEL_SELECT_RED) < 4)
3385 dst.u32[swizzle.r - ISL_CHANNEL_SELECT_RED] = src.u32[0];