1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 
7 #ifndef mozilla_gfx_layers_d3d11_ShaderDefinitionsD3D11_h
8 #define mozilla_gfx_layers_d3d11_ShaderDefinitionsD3D11_h
9 
10 #include "mozilla/gfx/Rect.h"
11 
12 namespace mozilla {
13 namespace layers {
14 
15 struct VertexShaderConstants {
16   float layerTransform[4][4];
17   float projection[4][4];
18   float renderTargetOffset[4];
19   gfx::Rect textureCoords;
20   gfx::Rect layerQuad;
21   float maskTransform[4][4];
22   float backdropTransform[4][4];
23 };
24 
25 struct PixelShaderConstants {
26   float layerColor[4];
27   float layerOpacity[4];
28   int blendConfig[4];
29   float vCoefficient[4];
30   float yuvColorMatrix[3][4];
31 };
32 
33 struct Vertex {
34   float position[2];
35 };
36 
37 }  // namespace layers
38 }  // namespace mozilla
39 
40 #endif  // mozilla_gfx_layers_d3d11_ShaderDefinitionsD3D11_h
41