| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file is here so other GLES2 related files can have a common set of | 5 // This file is here so other GLES2 related files can have a common set of |
| 6 // includes where appropriate. | 6 // includes where appropriate. |
| 7 | 7 |
| 8 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ | 8 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ |
| 9 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ | 9 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ |
| 10 | 10 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 // A wrapper for SafeAdd to remove the need to cast. | 52 // A wrapper for SafeAdd to remove the need to cast. |
| 53 inline bool SafeAddUint32(uint32 a, uint32 b, uint32* dst) { | 53 inline bool SafeAddUint32(uint32 a, uint32 b, uint32* dst) { |
| 54 return SafeAdd(a, b, dst); | 54 return SafeAdd(a, b, dst); |
| 55 } | 55 } |
| 56 | 56 |
| 57 // Utilties for GLES2 support. | 57 // Utilties for GLES2 support. |
| 58 class GLES2_UTILS_EXPORT GLES2Util { | 58 class GLES2_UTILS_EXPORT GLES2Util { |
| 59 public: | 59 public: |
| 60 static const int kNumFaces = 6; | 60 static const int kNumFaces = 6; |
| 61 | 61 |
| 62 // Bits returned by GetChannelsForFormat |
| 63 enum ChannelBits { |
| 64 kRed = 0x1, |
| 65 kGreen = 0x2, |
| 66 kBlue = 0x4, |
| 67 kAlpha = 0x8, |
| 68 kDepth = 0x10000, |
| 69 kStencil = 0x20000, |
| 70 |
| 71 kRGB = kRed | kGreen | kBlue, |
| 72 kRGBA = kRGB | kAlpha |
| 73 }; |
| 74 |
| 62 struct EnumToString { | 75 struct EnumToString { |
| 63 uint32 value; | 76 uint32 value; |
| 64 const char* name; | 77 const char* name; |
| 65 }; | 78 }; |
| 66 | 79 |
| 67 GLES2Util() | 80 GLES2Util() |
| 68 : num_compressed_texture_formats_(0), | 81 : num_compressed_texture_formats_(0), |
| 69 num_shader_binary_formats_(0) { | 82 num_shader_binary_formats_(0) { |
| 70 } | 83 } |
| 71 | 84 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 99 static uint32 GetGLDataTypeSizeForUniforms(int type); | 112 static uint32 GetGLDataTypeSizeForUniforms(int type); |
| 100 | 113 |
| 101 static size_t GetGLTypeSizeForTexturesAndBuffers(uint32 type); | 114 static size_t GetGLTypeSizeForTexturesAndBuffers(uint32 type); |
| 102 | 115 |
| 103 static uint32 GLErrorToErrorBit(uint32 gl_error); | 116 static uint32 GLErrorToErrorBit(uint32 gl_error); |
| 104 | 117 |
| 105 static uint32 GLErrorBitToGLError(uint32 error_bit); | 118 static uint32 GLErrorBitToGLError(uint32 error_bit); |
| 106 | 119 |
| 107 static uint32 IndexToGLFaceTarget(int index); | 120 static uint32 IndexToGLFaceTarget(int index); |
| 108 | 121 |
| 109 // Returns a bitmask for the channels the given format supports where | 122 // Returns a bitmask for the channels the given format supports. |
| 110 // 0x1 is red | 123 // See ChannelBits. |
| 111 // 0x2 is green | |
| 112 // 0x4 is blue | |
| 113 // 0x8 is alpha | |
| 114 static uint32 GetChannelsForFormat(int format); | 124 static uint32 GetChannelsForFormat(int format); |
| 115 | 125 |
| 126 // Returns a bitmask for the channels the given attachment type needs. |
| 127 static uint32 GetChannelsNeededForAttachmentType(int type); |
| 128 |
| 116 static bool IsNPOT(uint32 value) { | 129 static bool IsNPOT(uint32 value) { |
| 117 return value > 0 && (value & (value - 1)) != 0; | 130 return value > 0 && (value & (value - 1)) != 0; |
| 118 } | 131 } |
| 119 | 132 |
| 120 static std::string GetStringEnum(uint32 value); | 133 static std::string GetStringEnum(uint32 value); |
| 121 static std::string GetStringBool(uint32 value); | 134 static std::string GetStringBool(uint32 value); |
| 122 static std::string GetStringError(uint32 value); | 135 static std::string GetStringError(uint32 value); |
| 123 | 136 |
| 124 #include "../common/gles2_cmd_utils_autogen.h" | 137 #include "../common/gles2_cmd_utils_autogen.h" |
| 125 | 138 |
| 126 private: | 139 private: |
| 127 static std::string GetQualifiedEnumString( | 140 static std::string GetQualifiedEnumString( |
| 128 const EnumToString* table, size_t count, uint32 value); | 141 const EnumToString* table, size_t count, uint32 value); |
| 129 | 142 |
| 130 static const EnumToString* enum_to_string_table_; | 143 static const EnumToString* enum_to_string_table_; |
| 131 static const size_t enum_to_string_table_len_; | 144 static const size_t enum_to_string_table_len_; |
| 132 | 145 |
| 133 int num_compressed_texture_formats_; | 146 int num_compressed_texture_formats_; |
| 134 int num_shader_binary_formats_; | 147 int num_shader_binary_formats_; |
| 135 }; | 148 }; |
| 136 | 149 |
| 137 } // namespace gles2 | 150 } // namespace gles2 |
| 138 } // namespace gpu | 151 } // namespace gpu |
| 139 | 152 |
| 140 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ | 153 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_UTILS_H_ |
| 141 | 154 |
| OLD | NEW |