48
49 struct TransformMatrix {
50 matrix_float4x4 transformMatrix;
51 };
52
53 struct GradFrameUniforms {
54 vector_float3 params;
55 vector_float4 color1;
56 vector_float4 color2;
57 };
58
59 struct Vertex {
60 float position[2];
61 };
62
63 struct TxtVertex {
64 float position[2];
65 float txtpos[2];
66 };
67
68 struct TxtFrameUniforms {
69 vector_float4 color;
70 int mode;
71 int isSrcOpaque;
72 int isDstOpaque;
73 float extraAlpha;
74 };
75
76 struct AnchorData
77 {
78 vector_float3 xParams;
79 vector_float3 yParams;
80 };
81
82 struct LCDFrameUniforms {
83 vector_float3 src_adj;
84 vector_float3 gamma;
85 vector_float3 invgamma;
86 };
87 #endif
|
48
49 struct TransformMatrix {
50 matrix_float4x4 transformMatrix;
51 };
52
53 struct GradFrameUniforms {
54 vector_float3 params;
55 vector_float4 color1;
56 vector_float4 color2;
57 };
58
59 struct Vertex {
60 float position[2];
61 };
62
63 struct TxtVertex {
64 float position[2];
65 float txtpos[2];
66 };
67
68 #define INTERPOLATION_NEAREST_NEIGHBOR 0
69 #define INTERPOLATION_BILINEAR 1
70 // NOTE: Metal samplers doesn't supports bicubic interpolation
71 // see table 2.7 from https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
72 // (probably we need to implement separate fragment shader with bicubic interpolation)
73
74 struct TxtFrameUniforms {
75 vector_float4 color;
76 int mode; // NOTE: consider to use bit fields
77 int isSrcOpaque;
78 int isDstOpaque;
79 float extraAlpha;
80 };
81
82 struct AnchorData
83 {
84 vector_float3 xParams;
85 vector_float3 yParams;
86 };
87
88 struct LCDFrameUniforms {
89 vector_float3 src_adj;
90 vector_float3 gamma;
91 vector_float3 invgamma;
92 };
93 #endif
|