This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit b3689e792fdbaaac690ffb98e03dc75ca56483a6 Author: Niklas Haas <[email protected]> AuthorDate: Sat Jun 20 02:56:18 2026 +0200 Commit: Niklas Haas <[email protected]> CommitDate: Sat Jun 20 03:10:22 2026 +0200 swscale/uops: simplify permute naming scheme We also drop the useless/unused mask from the permute ops. Avoids a bunch of otherwise duplicate permute ops. Now that this is handled by SWS_UOP_MOVE for x86, there is no downside to this. The FATE change is a pure rename of the uops dumps. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <[email protected]> --- libswscale/uops.c | 22 ++-- libswscale/uops_macros.h | 258 +++++++++++++++++--------------------------- tests/ref/fate/sws-ops-list | 2 +- 3 files changed, 112 insertions(+), 170 deletions(-) diff --git a/libswscale/uops.c b/libswscale/uops.c index 1bd3e2f763..a0bbf5ddbc 100644 --- a/libswscale/uops.c +++ b/libswscale/uops.c @@ -155,6 +155,10 @@ void ff_sws_uop_name(const SwsUOp *op, char buf[SWS_UOP_NAME_MAX]) av_bprintf(&bp, "_%u", par->shift.amount); break; case SWS_UOP_PERMUTE: + av_bprint_chars(&bp, '_', 1); + for (int i = 0; i < 4; i++) + av_bprint_chars(&bp, "xyzw"[par->swizzle.in[i]], 1); + break; case SWS_UOP_COPY: av_bprint_chars(&bp, '_', 1); for (int i = 0; i < 4; i++) { @@ -597,13 +601,13 @@ static int translate_swizzle(SwsUOpList *ops, SwsUOpFlags flags, const SwsOp *op SwsUOp uop = { .type = pixel_type_to_int(op->type), .uop = SWS_UOP_PERMUTE, - .mask = ff_sws_comp_mask_needed(op), .par.swizzle.in = {0, 1, 2, 3}, }; + SwsCompMask needed = ff_sws_comp_mask_needed(op); SwsCompMask seen = 0; for (int i = 0; i < 4; i++) { - if (!SWS_COMP_TEST(uop.mask, i)) + if (!SWS_COMP_TEST(needed, i)) continue; const int src = op->swizzle.in[i]; if (SWS_COMP_TEST(seen, src)) @@ -615,7 +619,7 @@ static int translate_swizzle(SwsUOpList *ops, SwsUOpFlags flags, const SwsOp *op if (uop.uop == SWS_UOP_PERMUTE) { /* Prevent overlap by moving unused components to unseen indices */ for (int i = 0; i < 4; i++) { - if (SWS_COMP_TEST(uop.mask, i)) + if (SWS_COMP_TEST(needed, i)) continue; /* Prefer identity mapping if possible */ @@ -634,10 +638,14 @@ static int translate_swizzle(SwsUOpList *ops, SwsUOpFlags flags, const SwsOp *op } } - /* Remove remaining trivial / identity components from the mask */ - for (int i = 0; i < 4; i++) { - if (uop.par.swizzle.in[i] == i) - uop.mask &= ~SWS_COMP(i); + if (uop.uop == SWS_UOP_COPY) { + /* Remove remaining trivial / identity components from the mask */ + for (int i = 0; i < 4; i++) { + if (uop.par.swizzle.in[i] == i) + needed &= ~SWS_COMP(i); + } + + uop.mask = needed; } return ff_sws_uop_list_append(ops, &uop); diff --git a/libswscale/uops_macros.h b/libswscale/uops_macros.h index 5d9e1a8026..77a4900248 100644 --- a/libswscale/uops_macros.h +++ b/libswscale/uops_macros.h @@ -102,67 +102,43 @@ #define SWS_FOR_STRUCT_U8_WRITE_BIT(MACRO, ...) \ MACRO(__VA_ARGS__, u8_write_bit_x , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_WRITE_BIT , .mask = 0x1) #define SWS_FOR_U8_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u8_permute_x_y , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x1, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u8_permute_x_z , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x1, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u8_permute_x_w , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x1, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u8_permute_y_w , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x2, 0, 3, 2, 1) \ - MACRO(__VA_ARGS__, u8_permute_y_x , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x2, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u8_permute_xy_yx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x3, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u8_permute_xy_yw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x3, 1, 3, 2, 0) \ - MACRO(__VA_ARGS__, u8_permute_xy_zw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x3, 2, 3, 0, 1) \ - MACRO(__VA_ARGS__, u8_permute_xy_wx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x3, 3, 0, 2, 1) \ - MACRO(__VA_ARGS__, u8_permute_z_x , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x4, 1, 2, 0, 3) \ - MACRO(__VA_ARGS__, u8_permute_xz_zx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x5, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u8_permute_yz_zy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x6, 0, 2, 1, 3) \ - MACRO(__VA_ARGS__, u8_permute_xyz_yzx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x7, 1, 2, 0, 3) \ - MACRO(__VA_ARGS__, u8_permute_xyz_yzw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x7, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u8_permute_xyz_zxy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x7, 2, 0, 1, 3) \ - MACRO(__VA_ARGS__, u8_permute_xyz_zwy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x7, 2, 3, 1, 0) \ - MACRO(__VA_ARGS__, u8_permute_xyz_wzy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x7, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u8_permute_w_x , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x8, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u8_permute_yw_wy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xa, 0, 3, 2, 1) \ - MACRO(__VA_ARGS__, u8_permute_zw_xz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xc, 3, 1, 0, 2) \ - MACRO(__VA_ARGS__, u8_permute_xzw_zwx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xd, 2, 1, 3, 0) \ - MACRO(__VA_ARGS__, u8_permute_xzw_wxz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xd, 3, 1, 0, 2) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zwy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xe, 0, 2, 3, 1) \ - MACRO(__VA_ARGS__, u8_permute_yzw_xyz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xe, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zxy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xe, 3, 2, 0, 1) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zyx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xe, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_yzwx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xf, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wxyz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xf, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wzxy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xf, 3, 2, 0, 1) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wzyx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0xf, 3, 2, 1, 0) + MACRO(__VA_ARGS__, u8_permute_xzyw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 0, 2, 1, 3) \ + MACRO(__VA_ARGS__, u8_permute_xzwy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 0, 2, 3, 1) \ + MACRO(__VA_ARGS__, u8_permute_xwzy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 0, 3, 2, 1) \ + MACRO(__VA_ARGS__, u8_permute_yxzw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 1, 0, 2, 3) \ + MACRO(__VA_ARGS__, u8_permute_yzxw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 1, 2, 0, 3) \ + MACRO(__VA_ARGS__, u8_permute_yzwx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 1, 2, 3, 0) \ + MACRO(__VA_ARGS__, u8_permute_ywzx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 1, 3, 2, 0) \ + MACRO(__VA_ARGS__, u8_permute_zxyw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 2, 0, 1, 3) \ + MACRO(__VA_ARGS__, u8_permute_zyxw , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 2, 1, 0, 3) \ + MACRO(__VA_ARGS__, u8_permute_zywx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 2, 1, 3, 0) \ + MACRO(__VA_ARGS__, u8_permute_zwxy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 2, 3, 0, 1) \ + MACRO(__VA_ARGS__, u8_permute_zwyx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 2, 3, 1, 0) \ + MACRO(__VA_ARGS__, u8_permute_wxyz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 0, 1, 2) \ + MACRO(__VA_ARGS__, u8_permute_wxzy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 0, 2, 1) \ + MACRO(__VA_ARGS__, u8_permute_wyxz , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 1, 0, 2) \ + MACRO(__VA_ARGS__, u8_permute_wyzx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 1, 2, 0) \ + MACRO(__VA_ARGS__, u8_permute_wzxy , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 2, 0, 1) \ + MACRO(__VA_ARGS__, u8_permute_wzyx , SWS_PIXEL_U8 , SWS_UOP_PERMUTE , 0x0, 3, 2, 1, 0) #define SWS_FOR_STRUCT_U8_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u8_permute_x_y , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u8_permute_x_z , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u8_permute_x_w , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u8_permute_y_w , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {0, 3, 2, 1}) \ - MACRO(__VA_ARGS__, u8_permute_y_x , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xy_yx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xy_yw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {1, 3, 2, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xy_zw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {2, 3, 0, 1}) \ - MACRO(__VA_ARGS__, u8_permute_xy_wx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {3, 0, 2, 1}) \ - MACRO(__VA_ARGS__, u8_permute_z_x , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x4, .par.swizzle.in = {1, 2, 0, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xz_zx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u8_permute_yz_zy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x6, .par.swizzle.in = {0, 2, 1, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xyz_yzx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 0, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xyz_yzw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xyz_zxy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 0, 1, 3}) \ - MACRO(__VA_ARGS__, u8_permute_xyz_zwy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 3, 1, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xyz_wzy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u8_permute_w_x , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x8, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u8_permute_yw_wy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xa, .par.swizzle.in = {0, 3, 2, 1}) \ - MACRO(__VA_ARGS__, u8_permute_zw_xz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xc, .par.swizzle.in = {3, 1, 0, 2}) \ - MACRO(__VA_ARGS__, u8_permute_xzw_zwx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xd, .par.swizzle.in = {2, 1, 3, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xzw_wxz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xd, .par.swizzle.in = {3, 1, 0, 2}) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zwy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {0, 2, 3, 1}) \ - MACRO(__VA_ARGS__, u8_permute_yzw_xyz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zxy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 2, 0, 1}) \ - MACRO(__VA_ARGS__, u8_permute_yzw_zyx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_yzwx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wxyz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wzxy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 2, 0, 1}) \ - MACRO(__VA_ARGS__, u8_permute_xyzw_wzyx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 2, 1, 0}) + MACRO(__VA_ARGS__, u8_permute_xzyw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 2, 1, 3}) \ + MACRO(__VA_ARGS__, u8_permute_xzwy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 2, 3, 1}) \ + MACRO(__VA_ARGS__, u8_permute_xwzy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 3, 2, 1}) \ + MACRO(__VA_ARGS__, u8_permute_yxzw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 0, 2, 3}) \ + MACRO(__VA_ARGS__, u8_permute_yzxw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 0, 3}) \ + MACRO(__VA_ARGS__, u8_permute_yzwx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 3, 0}) \ + MACRO(__VA_ARGS__, u8_permute_ywzx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 3, 2, 0}) \ + MACRO(__VA_ARGS__, u8_permute_zxyw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 0, 1, 3}) \ + MACRO(__VA_ARGS__, u8_permute_zyxw , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 0, 3}) \ + MACRO(__VA_ARGS__, u8_permute_zywx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 3, 0}) \ + MACRO(__VA_ARGS__, u8_permute_zwxy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 3, 0, 1}) \ + MACRO(__VA_ARGS__, u8_permute_zwyx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 3, 1, 0}) \ + MACRO(__VA_ARGS__, u8_permute_wxyz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 1, 2}) \ + MACRO(__VA_ARGS__, u8_permute_wxzy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 2, 1}) \ + MACRO(__VA_ARGS__, u8_permute_wyxz , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 0, 2}) \ + MACRO(__VA_ARGS__, u8_permute_wyzx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 2, 0}) \ + MACRO(__VA_ARGS__, u8_permute_wzxy , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 2, 0, 1}) \ + MACRO(__VA_ARGS__, u8_permute_wzyx , .type = SWS_PIXEL_U8 , .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 2, 1, 0}) #define SWS_FOR_U8_COPY(MACRO, ...) \ MACRO(__VA_ARGS__, u8_copy_yz_xx , SWS_PIXEL_U8 , SWS_UOP_COPY , 0x6, 0, 0, 0, 3) \ MACRO(__VA_ARGS__, u8_copy_yzw_xxx , SWS_PIXEL_U8 , SWS_UOP_COPY , 0xe, 0, 0, 0, 0) \ @@ -440,51 +416,35 @@ #define SWS_FOR_U16_WRITE_BIT(MACRO, ...) #define SWS_FOR_STRUCT_U16_WRITE_BIT(MACRO, ...) #define SWS_FOR_U16_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u16_permute_x_y , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x1, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u16_permute_x_z , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x1, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u16_permute_x_w , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x1, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u16_permute_y_w , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x2, 0, 3, 2, 1) \ - MACRO(__VA_ARGS__, u16_permute_y_x , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x2, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u16_permute_xy_yx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x3, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u16_permute_xy_wx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x3, 3, 0, 2, 1) \ - MACRO(__VA_ARGS__, u16_permute_xz_zx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x5, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u16_permute_xz_zw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x5, 2, 1, 3, 0) \ - MACRO(__VA_ARGS__, u16_permute_xyz_yzx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x7, 1, 2, 0, 3) \ - MACRO(__VA_ARGS__, u16_permute_xyz_yzw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x7, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u16_permute_xyz_zxy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x7, 2, 0, 1, 3) \ - MACRO(__VA_ARGS__, u16_permute_xyz_zwy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x7, 2, 3, 1, 0) \ - MACRO(__VA_ARGS__, u16_permute_xyz_wzy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x7, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u16_permute_w_x , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x8, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u16_permute_zw_xz , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xc, 3, 1, 0, 2) \ - MACRO(__VA_ARGS__, u16_permute_yzw_zwy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xe, 0, 2, 3, 1) \ - MACRO(__VA_ARGS__, u16_permute_yzw_xyz , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xe, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u16_permute_yzw_zyx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xe, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_yzwx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xf, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_wxyz , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xf, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_wzyx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0xf, 3, 2, 1, 0) + MACRO(__VA_ARGS__, u16_permute_xzwy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 0, 2, 3, 1) \ + MACRO(__VA_ARGS__, u16_permute_xwzy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 0, 3, 2, 1) \ + MACRO(__VA_ARGS__, u16_permute_yxzw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 1, 0, 2, 3) \ + MACRO(__VA_ARGS__, u16_permute_yzxw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 1, 2, 0, 3) \ + MACRO(__VA_ARGS__, u16_permute_yzwx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 1, 2, 3, 0) \ + MACRO(__VA_ARGS__, u16_permute_zxyw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 2, 0, 1, 3) \ + MACRO(__VA_ARGS__, u16_permute_zyxw , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 2, 1, 0, 3) \ + MACRO(__VA_ARGS__, u16_permute_zywx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 2, 1, 3, 0) \ + MACRO(__VA_ARGS__, u16_permute_zwyx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 2, 3, 1, 0) \ + MACRO(__VA_ARGS__, u16_permute_wxyz , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 3, 0, 1, 2) \ + MACRO(__VA_ARGS__, u16_permute_wxzy , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 3, 0, 2, 1) \ + MACRO(__VA_ARGS__, u16_permute_wyxz , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 3, 1, 0, 2) \ + MACRO(__VA_ARGS__, u16_permute_wyzx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 3, 1, 2, 0) \ + MACRO(__VA_ARGS__, u16_permute_wzyx , SWS_PIXEL_U16, SWS_UOP_PERMUTE , 0x0, 3, 2, 1, 0) #define SWS_FOR_STRUCT_U16_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u16_permute_x_y , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u16_permute_x_z , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u16_permute_x_w , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u16_permute_y_w , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {0, 3, 2, 1}) \ - MACRO(__VA_ARGS__, u16_permute_y_x , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u16_permute_xy_yx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u16_permute_xy_wx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {3, 0, 2, 1}) \ - MACRO(__VA_ARGS__, u16_permute_xz_zx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u16_permute_xz_zw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {2, 1, 3, 0}) \ - MACRO(__VA_ARGS__, u16_permute_xyz_yzx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 0, 3}) \ - MACRO(__VA_ARGS__, u16_permute_xyz_yzw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u16_permute_xyz_zxy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 0, 1, 3}) \ - MACRO(__VA_ARGS__, u16_permute_xyz_zwy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 3, 1, 0}) \ - MACRO(__VA_ARGS__, u16_permute_xyz_wzy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u16_permute_w_x , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x8, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u16_permute_zw_xz , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xc, .par.swizzle.in = {3, 1, 0, 2}) \ - MACRO(__VA_ARGS__, u16_permute_yzw_zwy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {0, 2, 3, 1}) \ - MACRO(__VA_ARGS__, u16_permute_yzw_xyz , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u16_permute_yzw_zyx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_yzwx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_wxyz , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u16_permute_xyzw_wzyx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 2, 1, 0}) + MACRO(__VA_ARGS__, u16_permute_xzwy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 2, 3, 1}) \ + MACRO(__VA_ARGS__, u16_permute_xwzy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 3, 2, 1}) \ + MACRO(__VA_ARGS__, u16_permute_yxzw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 0, 2, 3}) \ + MACRO(__VA_ARGS__, u16_permute_yzxw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 0, 3}) \ + MACRO(__VA_ARGS__, u16_permute_yzwx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 3, 0}) \ + MACRO(__VA_ARGS__, u16_permute_zxyw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 0, 1, 3}) \ + MACRO(__VA_ARGS__, u16_permute_zyxw , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 0, 3}) \ + MACRO(__VA_ARGS__, u16_permute_zywx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 3, 0}) \ + MACRO(__VA_ARGS__, u16_permute_zwyx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 3, 1, 0}) \ + MACRO(__VA_ARGS__, u16_permute_wxyz , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 1, 2}) \ + MACRO(__VA_ARGS__, u16_permute_wxzy , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 2, 1}) \ + MACRO(__VA_ARGS__, u16_permute_wyxz , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 0, 2}) \ + MACRO(__VA_ARGS__, u16_permute_wyzx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 2, 0}) \ + MACRO(__VA_ARGS__, u16_permute_wzyx , .type = SWS_PIXEL_U16, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 2, 1, 0}) #define SWS_FOR_U16_COPY(MACRO, ...) \ MACRO(__VA_ARGS__, u16_copy_yz_xx , SWS_PIXEL_U16, SWS_UOP_COPY , 0x6, 0, 0, 0, 3) \ MACRO(__VA_ARGS__, u16_copy_yzw_xxy , SWS_PIXEL_U16, SWS_UOP_COPY , 0xe, 0, 0, 0, 1) @@ -744,65 +704,39 @@ #define SWS_FOR_U32_WRITE_BIT(MACRO, ...) #define SWS_FOR_STRUCT_U32_WRITE_BIT(MACRO, ...) #define SWS_FOR_U32_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u32_permute_x_y , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x1, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u32_permute_x_z , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x1, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u32_permute_x_w , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x1, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u32_permute_y_w , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x2, 0, 3, 2, 1) \ - MACRO(__VA_ARGS__, u32_permute_y_x , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x2, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u32_permute_xy_yx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x3, 1, 0, 2, 3) \ - MACRO(__VA_ARGS__, u32_permute_z_x , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x4, 1, 2, 0, 3) \ - MACRO(__VA_ARGS__, u32_permute_xz_zx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x5, 2, 1, 0, 3) \ - MACRO(__VA_ARGS__, u32_permute_xz_zw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x5, 2, 1, 3, 0) \ - MACRO(__VA_ARGS__, u32_permute_xz_wx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x5, 3, 1, 0, 2) \ - MACRO(__VA_ARGS__, u32_permute_yz_zy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x6, 0, 2, 1, 3) \ - MACRO(__VA_ARGS__, u32_permute_xyz_yzx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x7, 1, 2, 0, 3) \ - MACRO(__VA_ARGS__, u32_permute_xyz_yzw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x7, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u32_permute_xyz_zxy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x7, 2, 0, 1, 3) \ - MACRO(__VA_ARGS__, u32_permute_xyz_zwy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x7, 2, 3, 1, 0) \ - MACRO(__VA_ARGS__, u32_permute_xyz_wzy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x7, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u32_permute_w_y , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x8, 0, 2, 3, 1) \ - MACRO(__VA_ARGS__, u32_permute_w_x , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x8, 3, 1, 2, 0) \ - MACRO(__VA_ARGS__, u32_permute_xw_yx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x9, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u32_permute_yw_wy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xa, 0, 3, 2, 1) \ - MACRO(__VA_ARGS__, u32_permute_yw_xy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xa, 3, 0, 2, 1) \ - MACRO(__VA_ARGS__, u32_permute_zw_xz , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xc, 3, 1, 0, 2) \ - MACRO(__VA_ARGS__, u32_permute_yzw_xyz , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xe, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u32_permute_yzw_zxy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xe, 3, 2, 0, 1) \ - MACRO(__VA_ARGS__, u32_permute_yzw_zyx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xe, 3, 2, 1, 0) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_yzwx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xf, 1, 2, 3, 0) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wxyz , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xf, 3, 0, 1, 2) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wzxy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xf, 3, 2, 0, 1) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wzyx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0xf, 3, 2, 1, 0) + MACRO(__VA_ARGS__, u32_permute_xzyw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 0, 2, 1, 3) \ + MACRO(__VA_ARGS__, u32_permute_xzwy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 0, 2, 3, 1) \ + MACRO(__VA_ARGS__, u32_permute_xwzy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 0, 3, 2, 1) \ + MACRO(__VA_ARGS__, u32_permute_yxzw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 1, 0, 2, 3) \ + MACRO(__VA_ARGS__, u32_permute_yzxw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 1, 2, 0, 3) \ + MACRO(__VA_ARGS__, u32_permute_yzwx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 1, 2, 3, 0) \ + MACRO(__VA_ARGS__, u32_permute_zxyw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 2, 0, 1, 3) \ + MACRO(__VA_ARGS__, u32_permute_zyxw , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 2, 1, 0, 3) \ + MACRO(__VA_ARGS__, u32_permute_zywx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 2, 1, 3, 0) \ + MACRO(__VA_ARGS__, u32_permute_zwyx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 2, 3, 1, 0) \ + MACRO(__VA_ARGS__, u32_permute_wxyz , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 0, 1, 2) \ + MACRO(__VA_ARGS__, u32_permute_wxzy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 0, 2, 1) \ + MACRO(__VA_ARGS__, u32_permute_wyxz , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 1, 0, 2) \ + MACRO(__VA_ARGS__, u32_permute_wyzx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 1, 2, 0) \ + MACRO(__VA_ARGS__, u32_permute_wzxy , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 2, 0, 1) \ + MACRO(__VA_ARGS__, u32_permute_wzyx , SWS_PIXEL_U32, SWS_UOP_PERMUTE , 0x0, 3, 2, 1, 0) #define SWS_FOR_STRUCT_U32_PERMUTE(MACRO, ...) \ - MACRO(__VA_ARGS__, u32_permute_x_y , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u32_permute_x_z , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u32_permute_x_w , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x1, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u32_permute_y_w , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {0, 3, 2, 1}) \ - MACRO(__VA_ARGS__, u32_permute_y_x , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x2, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xy_yx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x3, .par.swizzle.in = {1, 0, 2, 3}) \ - MACRO(__VA_ARGS__, u32_permute_z_x , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x4, .par.swizzle.in = {1, 2, 0, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xz_zx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {2, 1, 0, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xz_zw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {2, 1, 3, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xz_wx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x5, .par.swizzle.in = {3, 1, 0, 2}) \ - MACRO(__VA_ARGS__, u32_permute_yz_zy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x6, .par.swizzle.in = {0, 2, 1, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xyz_yzx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 0, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xyz_yzw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xyz_zxy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 0, 1, 3}) \ - MACRO(__VA_ARGS__, u32_permute_xyz_zwy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {2, 3, 1, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xyz_wzy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x7, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u32_permute_w_y , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x8, .par.swizzle.in = {0, 2, 3, 1}) \ - MACRO(__VA_ARGS__, u32_permute_w_x , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x8, .par.swizzle.in = {3, 1, 2, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xw_yx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x9, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u32_permute_yw_wy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xa, .par.swizzle.in = {0, 3, 2, 1}) \ - MACRO(__VA_ARGS__, u32_permute_yw_xy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xa, .par.swizzle.in = {3, 0, 2, 1}) \ - MACRO(__VA_ARGS__, u32_permute_zw_xz , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xc, .par.swizzle.in = {3, 1, 0, 2}) \ - MACRO(__VA_ARGS__, u32_permute_yzw_xyz , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u32_permute_yzw_zxy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 2, 0, 1}) \ - MACRO(__VA_ARGS__, u32_permute_yzw_zyx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xe, .par.swizzle.in = {3, 2, 1, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_yzwx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {1, 2, 3, 0}) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wxyz , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 0, 1, 2}) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wzxy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 2, 0, 1}) \ - MACRO(__VA_ARGS__, u32_permute_xyzw_wzyx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0xf, .par.swizzle.in = {3, 2, 1, 0}) + MACRO(__VA_ARGS__, u32_permute_xzyw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 2, 1, 3}) \ + MACRO(__VA_ARGS__, u32_permute_xzwy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 2, 3, 1}) \ + MACRO(__VA_ARGS__, u32_permute_xwzy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {0, 3, 2, 1}) \ + MACRO(__VA_ARGS__, u32_permute_yxzw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 0, 2, 3}) \ + MACRO(__VA_ARGS__, u32_permute_yzxw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 0, 3}) \ + MACRO(__VA_ARGS__, u32_permute_yzwx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {1, 2, 3, 0}) \ + MACRO(__VA_ARGS__, u32_permute_zxyw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 0, 1, 3}) \ + MACRO(__VA_ARGS__, u32_permute_zyxw , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 0, 3}) \ + MACRO(__VA_ARGS__, u32_permute_zywx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 1, 3, 0}) \ + MACRO(__VA_ARGS__, u32_permute_zwyx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {2, 3, 1, 0}) \ + MACRO(__VA_ARGS__, u32_permute_wxyz , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 1, 2}) \ + MACRO(__VA_ARGS__, u32_permute_wxzy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 0, 2, 1}) \ + MACRO(__VA_ARGS__, u32_permute_wyxz , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 0, 2}) \ + MACRO(__VA_ARGS__, u32_permute_wyzx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 1, 2, 0}) \ + MACRO(__VA_ARGS__, u32_permute_wzxy , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 2, 0, 1}) \ + MACRO(__VA_ARGS__, u32_permute_wzyx , .type = SWS_PIXEL_U32, .uop = SWS_UOP_PERMUTE , .mask = 0x0, .par.swizzle.in = {3, 2, 1, 0}) #define SWS_FOR_U32_COPY(MACRO, ...) \ MACRO(__VA_ARGS__, u32_copy_yz_xx , SWS_PIXEL_U32, SWS_UOP_COPY , 0x6, 0, 0, 0, 3) \ MACRO(__VA_ARGS__, u32_copy_yzw_xxx , SWS_PIXEL_U32, SWS_UOP_COPY , 0xe, 0, 0, 0, 0) \ diff --git a/tests/ref/fate/sws-ops-list b/tests/ref/fate/sws-ops-list index dcda011ccc..d47e674bec 100644 --- a/tests/ref/fate/sws-ops-list +++ b/tests/ref/fate/sws-ops-list @@ -1 +1 @@ -e490d908612d059c644e64b43247fb08 +a5779f7e6e5f6a56d8150261343369ac _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
