MCPcopy Create free account
hub / github.com/baldurk/renderdoc / DXGIFormat2ResourceFormat

Function DXGIFormat2ResourceFormat

renderdoc/common/dds_readwrite.cpp:235–481  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

233#define DDPF_RGBA (DDPF_RGB | DDPF_ALPHAPIXELS)
234
235ResourceFormat DXGIFormat2ResourceFormat(DXGI_FORMAT format)
236{
237 ResourceFormat special;
238 ResourceFormat fmt32, fmt16, fmt8;
239
240 fmt32.compByteWidth = 4;
241 fmt32.compCount = 1;
242 fmt32.compType = CompType::Float;
243 fmt32.type = ResourceFormatType::Regular;
244
245 fmt16.compByteWidth = 2;
246 fmt16.compCount = 1;
247 fmt16.compType = CompType::Float;
248 fmt16.type = ResourceFormatType::Regular;
249
250 fmt8.compByteWidth = 1;
251 fmt8.compCount = 1;
252 fmt8.compType = CompType::UNorm;
253 fmt8.type = ResourceFormatType::Regular;
254
255 special.compCount = 4;
256
257 switch(format)
258 {
259 case DXGI_FORMAT_BC1_UNORM:
260 case DXGI_FORMAT_BC1_UNORM_SRGB:
261 special.type = ResourceFormatType::BC1;
262 special.compType =
263 (format == DXGI_FORMAT_BC1_UNORM_SRGB) ? CompType::UNormSRGB : CompType::UNorm;
264 return special;
265 case DXGI_FORMAT_BC2_UNORM:
266 case DXGI_FORMAT_BC2_UNORM_SRGB:
267 special.type = ResourceFormatType::BC2;
268 special.compType =
269 (format == DXGI_FORMAT_BC2_UNORM_SRGB) ? CompType::UNormSRGB : CompType::UNorm;
270 return special;
271 case DXGI_FORMAT_BC3_UNORM:
272 case DXGI_FORMAT_BC3_UNORM_SRGB:
273 special.type = ResourceFormatType::BC3;
274 special.compType =
275 (format == DXGI_FORMAT_BC3_UNORM_SRGB) ? CompType::UNormSRGB : CompType::UNorm;
276 return special;
277 case DXGI_FORMAT_BC4_UNORM:
278 case DXGI_FORMAT_BC4_SNORM:
279 special.type = ResourceFormatType::BC4;
280 special.compType = (format == DXGI_FORMAT_BC4_UNORM ? CompType::UNorm : CompType::SNorm);
281 special.compCount = 1;
282 return special;
283 case DXGI_FORMAT_BC5_UNORM:
284 case DXGI_FORMAT_BC5_SNORM:
285 special.type = ResourceFormatType::BC5;
286 special.compType = (format == DXGI_FORMAT_BC5_UNORM ? CompType::UNorm : CompType::SNorm);
287 special.compCount = 2;
288 return special;
289 case DXGI_FORMAT_BC6H_UF16:
290 case DXGI_FORMAT_BC6H_SF16:
291 special.type = ResourceFormatType::BC6;
292 special.compType = (format == DXGI_FORMAT_BC6H_UF16 ? CompType::UNorm : CompType::SNorm);

Callers 1

load_dds_from_fileFunction · 0.85

Calls 1

ResourceFormatClass · 0.50

Tested by

no test coverage detected