Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "GrVkUtil.h" | 8 #include "GrVkUtil.h" |
| 9 | 9 |
| 10 bool GrPixelConfigToVkFormat(GrPixelConfig config, VkFormat* format) { | 10 bool GrPixelConfigToVkFormat(GrPixelConfig config, VkFormat* format) { |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 111 break; | 111 break; |
| 112 case VK_FORMAT_R16_SFLOAT: | 112 case VK_FORMAT_R16_SFLOAT: |
| 113 *config = kAlpha_half_GrPixelConfig; | 113 *config = kAlpha_half_GrPixelConfig; |
| 114 break; | 114 break; |
| 115 default: | 115 default: |
| 116 return false; | 116 return false; |
| 117 } | 117 } |
| 118 return true; | 118 return true; |
| 119 } | 119 } |
| 120 | 120 |
| 121 bool GrVkFormatIsSRGB(VkFormat format, VkFormat* linearFormat) { | |
| 122 VkFormat linearFmt = format; | |
| 123 switch (format) { | |
| 124 case VK_FORMAT_R8_SRGB: | |
| 125 linearFmt = VK_FORMAT_R8_UNORM; | |
| 126 break; | |
| 127 case VK_FORMAT_R8G8_SRGB: | |
| 128 linearFmt = VK_FORMAT_R8G8_UNORM; | |
| 129 break; | |
| 130 case VK_FORMAT_R8G8B8_SRGB: | |
| 131 linearFmt = VK_FORMAT_R8G8B8_UNORM; | |
| 132 break; | |
| 133 case VK_FORMAT_B8G8R8_SRGB: | |
| 134 linearFmt = VK_FORMAT_B8G8R8_UNORM; | |
| 135 break; | |
| 136 case VK_FORMAT_R8G8B8A8_SRGB: | |
| 137 linearFmt = VK_FORMAT_R8G8B8A8_UNORM; | |
| 138 break; | |
| 139 case VK_FORMAT_B8G8R8A8_SRGB: | |
| 140 linearFmt = VK_FORMAT_B8G8R8A8_UNORM; | |
| 141 break; | |
| 142 case VK_FORMAT_A8B8G8R8_SRGB_PACK32: | |
| 143 linearFmt = VK_FORMAT_A8B8G8R8_UNORM_PACK32; | |
| 144 break; | |
| 145 case VK_FORMAT_BC1_RGB_SRGB_BLOCK: | |
| 146 linearFmt = VK_FORMAT_BC1_RGB_UNORM_BLOCK; | |
| 147 break; | |
| 148 case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: | |
| 149 linearFmt = VK_FORMAT_BC1_RGBA_UNORM_BLOCK; | |
| 150 break; | |
| 151 case VK_FORMAT_BC2_SRGB_BLOCK: | |
| 152 linearFmt = VK_FORMAT_BC2_UNORM_BLOCK; | |
| 153 break; | |
| 154 case VK_FORMAT_BC3_SRGB_BLOCK: | |
| 155 linearFmt = VK_FORMAT_BC3_UNORM_BLOCK; | |
| 156 break; | |
| 157 case VK_FORMAT_BC7_SRGB_BLOCK: | |
| 158 linearFmt = VK_FORMAT_BC7_UNORM_BLOCK; | |
| 159 break; | |
| 160 case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: | |
| 161 linearFmt = VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK; | |
| 162 break; | |
| 163 case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: | |
| 164 linearFmt = VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK; | |
| 165 break; | |
| 166 case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: | |
| 167 linearFmt = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK; | |
| 168 break; | |
| 169 case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: | |
| 170 linearFmt = VK_FORMAT_ASTC_4x4_UNORM_BLOCK; | |
| 171 break; | |
| 172 case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: | |
| 173 linearFmt = VK_FORMAT_ASTC_5x4_UNORM_BLOCK; | |
| 174 break; | |
| 175 case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: | |
| 176 linearFmt = VK_FORMAT_ASTC_5x5_UNORM_BLOCK; | |
| 177 break; | |
| 178 case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: | |
| 179 linearFmt = VK_FORMAT_ASTC_6x5_UNORM_BLOCK; | |
| 180 break; | |
| 181 case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: | |
| 182 linearFmt = VK_FORMAT_ASTC_6x6_UNORM_BLOCK; | |
| 183 break; | |
| 184 case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: | |
| 185 linearFmt = VK_FORMAT_ASTC_8x5_UNORM_BLOCK; | |
| 186 break; | |
| 187 case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: | |
| 188 linearFmt = VK_FORMAT_ASTC_8x6_UNORM_BLOCK; | |
| 189 break; | |
| 190 case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: | |
| 191 linearFmt = VK_FORMAT_ASTC_8x8_UNORM_BLOCK; | |
| 192 break; | |
| 193 case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: | |
| 194 linearFmt = VK_FORMAT_ASTC_10x5_UNORM_BLOCK; | |
| 195 break; | |
| 196 case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: | |
| 197 linearFmt = VK_FORMAT_ASTC_10x6_UNORM_BLOCK; | |
| 198 break; | |
| 199 case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: | |
| 200 linearFmt = VK_FORMAT_ASTC_10x8_UNORM_BLOCK; | |
| 201 break; | |
| 202 case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: | |
| 203 linearFmt = VK_FORMAT_ASTC_10x10_UNORM_BLOCK; | |
| 204 break; | |
| 205 case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: | |
| 206 linearFmt = VK_FORMAT_ASTC_12x10_UNORM_BLOCK; | |
| 207 break; | |
| 208 case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: | |
| 209 linearFmt = VK_FORMAT_ASTC_12x12_UNORM_BLOCK; | |
| 210 break; | |
|
jvanverth1
2016/05/12 17:27:36
Probably want a default case here -- I think some
| |
| 211 } | |
| 212 if (linearFormat) { | |
| 213 *linearFormat = linearFmt; | |
| 214 } | |
| 215 return (linearFmt != format); | |
| 216 } | |
| 217 | |
| 121 bool GrSampleCountToVkSampleCount(uint32_t samples, VkSampleCountFlagBits* vkSam ples) { | 218 bool GrSampleCountToVkSampleCount(uint32_t samples, VkSampleCountFlagBits* vkSam ples) { |
| 122 switch (samples) { | 219 switch (samples) { |
| 123 case 0: // fall through | 220 case 0: // fall through |
| 124 case 1: | 221 case 1: |
| 125 *vkSamples = VK_SAMPLE_COUNT_1_BIT; | 222 *vkSamples = VK_SAMPLE_COUNT_1_BIT; |
| 126 return true; | 223 return true; |
| 127 case 2: | 224 case 2: |
| 128 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 225 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 129 return true; | 226 return true; |
| 130 case 4: | 227 case 4: |
| 131 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 228 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 132 return true; | 229 return true; |
| 133 case 8: | 230 case 8: |
| 134 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 231 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 135 return true; | 232 return true; |
| 136 case 16: | 233 case 16: |
| 137 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 234 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 138 return true; | 235 return true; |
| 139 case 32: | 236 case 32: |
| 140 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 237 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 141 return true; | 238 return true; |
| 142 case 64: | 239 case 64: |
| 143 *vkSamples = VK_SAMPLE_COUNT_2_BIT; | 240 *vkSamples = VK_SAMPLE_COUNT_2_BIT; |
| 144 return true; | 241 return true; |
| 145 default: | 242 default: |
| 146 return false; | 243 return false; |
| 147 } | 244 } |
| 148 } | 245 } |
| OLD | NEW |