blob: 6eda8992ba841b16b44489a55e7527174f3d65f4 [file] [log] [blame]
Mike Kleinded7a552018-04-10 10:05:31 -04001/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8// Op is a type used by both Transform.c and Transform_inl.h.
9
10#pragma once
11
Mike Kleinef522502018-04-16 11:10:08 -040012#define FOREACH_Op(M) \
13 M(noop) \
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com09f92b92018-06-21 18:47:13 +000014 M(load_a8) \
15 M(load_g8) \
16 M(load_4444) \
Mike Kleinef522502018-04-16 11:10:08 -040017 M(load_565) \
18 M(load_888) \
19 M(load_8888) \
20 M(load_1010102) \
21 M(load_161616) \
22 M(load_16161616) \
23 M(load_hhh) \
24 M(load_hhhh) \
25 M(load_fff) \
26 M(load_ffff) \
27 M(swap_rb) \
28 M(clamp) \
29 M(invert) \
30 M(force_opaque) \
31 M(premul) \
32 M(unpremul) \
33 M(matrix_3x3) \
34 M(matrix_3x4) \
35 M(lab_to_xyz) \
36 M(tf_r) \
37 M(tf_g) \
38 M(tf_b) \
39 M(tf_a) \
40 M(table_8_r) \
41 M(table_8_g) \
42 M(table_8_b) \
43 M(table_8_a) \
44 M(table_16_r) \
45 M(table_16_g) \
46 M(table_16_b) \
47 M(table_16_a) \
48 M(clut_3D_8) \
49 M(clut_3D_16) \
50 M(clut_4D_8) \
51 M(clut_4D_16) \
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com09f92b92018-06-21 18:47:13 +000052 M(store_a8) \
53 M(store_g8) \
54 M(store_4444) \
Mike Kleinef522502018-04-16 11:10:08 -040055 M(store_565) \
56 M(store_888) \
57 M(store_8888) \
58 M(store_1010102) \
59 M(store_161616) \
60 M(store_16161616) \
61 M(store_hhh) \
62 M(store_hhhh) \
63 M(store_fff) \
64 M(store_ffff)
65
Mike Kleinded7a552018-04-10 10:05:31 -040066typedef enum {
Mike Kleinef522502018-04-16 11:10:08 -040067 #define M(op) Op_##op,
68 FOREACH_Op(M)
69 #undef M
Mike Kleinded7a552018-04-10 10:05:31 -040070} Op;