1 // 2 // Copyright 2023 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // ReswizzleYUVOps: Adjusts swizzles for YUV channel order difference between 7 // GLES and Vulkan 8 // 9 10 #ifndef COMPILER_TRANSLATOR_TREEOPS_SPIRV_RESWIZZLEYUVOPS_H_ 11 #define COMPILER_TRANSLATOR_TREEOPS_SPIRV_RESWIZZLEYUVOPS_H_ 12 13 #include "common/angleutils.h" 14 #include "compiler/translator/Compiler.h" 15 16 namespace sh 17 { 18 class TCompiler; 19 class TIntermBlock; 20 class TSymbolTable; 21 22 [[nodiscard]] bool AdjustYUVOutput(TCompiler *compiler, 23 TIntermBlock *root, 24 TSymbolTable *symbolTable, 25 const TIntermSymbol &yuvOutput); 26 27 [[nodiscard]] bool ReswizzleYUVTextureAccess(TCompiler *compiler, 28 TIntermBlock *root, 29 TSymbolTable *symbolTable); 30 31 } // namespace sh 32 33 #endif // COMPILER_TRANSLATOR_TREEOPS_SPIRV_RESWIZZLEYUVOPS_H_ 34