1 // 2 // Copyright 2021 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 // RewriteR32fImages: Change images qualified with r32f to use r32ui instead. The only supported 7 // operation on these images is imageAtomicExchange(), which works identically with r32ui. This 8 // avoids requiring atomic operations support for the R32_FLOAT format in Vulkan. 9 10 #ifndef COMPILER_TRANSLATOR_TREEOPS_VULKAN_REWRITER32FIMAGES_H_ 11 #define COMPILER_TRANSLATOR_TREEOPS_VULKAN_REWRITER32FIMAGES_H_ 12 13 #include "common/angleutils.h" 14 15 namespace sh 16 { 17 class TCompiler; 18 class TIntermBlock; 19 class TSymbolTable; 20 21 ANGLE_NO_DISCARD bool RewriteR32fImages(TCompiler *compiler, 22 TIntermBlock *root, 23 TSymbolTable *symbolTable); 24 } // namespace sh 25 26 #endif // COMPILER_TRANSLATOR_TREEOPS_VULKAN_REWRITER32FIMAGES_H_ 27