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