Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1228)

Side by Side Diff: src/gpu/vk/GrVkUtil.cpp

Issue 1970293002: Support allowSRGBInputs on Vulkan (via secondary texture views) (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: default case for switch Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/vk/GrVkUtil.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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;
211 default:
212 break;
213 }
214 if (linearFormat) {
215 *linearFormat = linearFmt;
216 }
217 return (linearFmt != format);
218 }
219
121 bool GrSampleCountToVkSampleCount(uint32_t samples, VkSampleCountFlagBits* vkSam ples) { 220 bool GrSampleCountToVkSampleCount(uint32_t samples, VkSampleCountFlagBits* vkSam ples) {
122 switch (samples) { 221 switch (samples) {
123 case 0: // fall through 222 case 0: // fall through
124 case 1: 223 case 1:
125 *vkSamples = VK_SAMPLE_COUNT_1_BIT; 224 *vkSamples = VK_SAMPLE_COUNT_1_BIT;
126 return true; 225 return true;
127 case 2: 226 case 2:
128 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 227 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
129 return true; 228 return true;
130 case 4: 229 case 4:
131 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 230 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
132 return true; 231 return true;
133 case 8: 232 case 8:
134 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 233 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
135 return true; 234 return true;
136 case 16: 235 case 16:
137 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 236 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
138 return true; 237 return true;
139 case 32: 238 case 32:
140 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 239 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
141 return true; 240 return true;
142 case 64: 241 case 64:
143 *vkSamples = VK_SAMPLE_COUNT_2_BIT; 242 *vkSamples = VK_SAMPLE_COUNT_2_BIT;
144 return true; 243 return true;
145 default: 244 default:
146 return false; 245 return false;
147 } 246 }
148 } 247 }
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkUtil.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698