Id Builder::makeImageType(Id sampledType, Dim dim, bool depth, bool arrayed, bool ms, unsigned sampled, ImageFormat format)
{
+ assert(sampled == 1 || sampled == 2);
+
// try to find it
Instruction* type;
for (int t = 0; t < (int)groupedTypes[OpTypeImage].size(); ++t) {
// deal with capabilities
switch (dim) {
case DimBuffer:
- if (sampled)
+ if (sampled == 1)
addCapability(CapabilitySampledBuffer);
else
addCapability(CapabilityImageBuffer);
break;
case Dim1D:
- if (sampled)
+ if (sampled == 1)
addCapability(CapabilitySampled1D);
else
addCapability(CapabilityImage1D);
break;
case DimCube:
if (arrayed) {
- if (sampled)
+ if (sampled == 1)
addCapability(CapabilitySampledCubeArray);
else
addCapability(CapabilityImageCubeArray);
}
break;
case DimRect:
- if (sampled)
+ if (sampled == 1)
addCapability(CapabilitySampledRect);
else
addCapability(CapabilityImageRect);
}
if (ms) {
- if (arrayed)
- addCapability(CapabilityImageMSArray);
- if (! sampled)
+ if (sampled == 2) {
addCapability(CapabilityStorageImageMultisample);
+ if (arrayed)
+ addCapability(CapabilityImageMSArray);
+ }
}
return type->getResultId();
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
- Capability ImageMSArray
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 232
Capability Shader
- Capability Sampled1D
- Capability SampledBuffer
+ Capability Image1D
+ Capability ImageBuffer
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 221
Capability Shader
- Capability ImageMSArray
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
Capability Shader
Capability ImageGatherExtended
- Capability ImageMSArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 120 124
// Id's are bound by 57
Capability Shader
- Capability SampledBuffer
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 54
// Id's are bound by 119
Capability Shader
- Capability Sampled1D
+ Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 82 86
// Id's are bound by 132
Capability Shader
- Capability Sampled1D
+ Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 104 108
// Id's are bound by 36
Capability Shader
- Capability SampledBuffer
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 34
// Id's are bound by 1147
Capability Shader
- Capability Sampled1D
- Capability SampledBuffer
+ Capability Image1D
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 1117
// Id's are bound by 607
Capability Shader
- Capability Sampled1D
+ Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 583
// Id's are bound by 42
Capability Shader
- Capability Sampled1D
- Capability SampledBuffer
+ Capability Image1D
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 39
// Id's are bound by 571
Capability Shader
- Capability Sampled1D
+ Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 547
// Id's are bound by 63
Capability Shader
- Capability SampledBuffer
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 58
// Id's are bound by 605
Capability Shader
- Capability Sampled1D
+ Capability Image1D
Capability StorageImageExtendedFormats
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 61
Capability Shader
- Capability SampledBuffer
+ Capability ImageBuffer
Capability StorageImageExtendedFormats
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 376
Capability Shader
- Capability SampledRect
- Capability Sampled1D
- Capability SampledCubeArray
- Capability SampledBuffer
+ Capability StorageImageMultisample
+ Capability ImageCubeArray
+ Capability ImageRect
+ Capability Image1D
+ Capability ImageBuffer
Capability ImageMSArray
Capability StorageImageExtendedFormats
Capability ImageQuery
// Id's are bound by 97
Capability Shader
- Capability SampledRect
- Capability Sampled1D
+ Capability ImageRect
+ Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
// Id's are bound by 42
Capability Shader
- Capability Sampled1D
- Capability SampledBuffer
+ Capability Image1D
+ Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 39
Capability Sampled1D
Capability SampledCubeArray
Capability SampledBuffer
- Capability ImageMSArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 11 34
// Id's are bound by 438
Capability Shader
+ Capability StorageImageMultisample
Capability SampledRect
Capability SparseResidency
Capability SampledCubeArray
// Id's are bound by 67
Capability Shader
+ Capability StorageImageMultisample
Capability InputAttachment
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450