mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
nir/spirv: Complete the list of capabilities
Previously we supported a subset of capabilities and just left a default case for the others. It's time to stop being lazy and actually audit the capabilities. This should bring them up-to-date with reality. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
9fa958e95b
commit
5a1e56f344
1 changed files with 45 additions and 3 deletions
|
|
@ -2266,7 +2266,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||
case SpvCapabilityMatrix:
|
||||
case SpvCapabilityShader:
|
||||
case SpvCapabilityGeometry:
|
||||
case SpvCapabilityTessellationPointSize:
|
||||
case SpvCapabilityGeometryPointSize:
|
||||
case SpvCapabilityUniformBufferArrayDynamicIndexing:
|
||||
case SpvCapabilitySampledImageArrayDynamicIndexing:
|
||||
|
|
@ -2280,14 +2279,57 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||
case SpvCapabilitySampledBuffer:
|
||||
case SpvCapabilityImageBuffer:
|
||||
case SpvCapabilityImageQuery:
|
||||
case SpvCapabilityDerivativeControl:
|
||||
case SpvCapabilityInterpolationFunction:
|
||||
case SpvCapabilityMultiViewport:
|
||||
break;
|
||||
case SpvCapabilityClipDistance:
|
||||
case SpvCapabilityCullDistance:
|
||||
case SpvCapabilityGeometryStreams:
|
||||
/* glslang sometimes throws these at us even though it doesn't
|
||||
* actually use the associated variable.
|
||||
*/
|
||||
fprintf(stderr, "WARNING: Unsupported SPIR-V Capability\n");
|
||||
break;
|
||||
default:
|
||||
assert(!"Unsupported capability");
|
||||
case SpvCapabilityTessellation:
|
||||
case SpvCapabilityTessellationPointSize:
|
||||
case SpvCapabilityLinkage:
|
||||
case SpvCapabilityVector16:
|
||||
case SpvCapabilityFloat16Buffer:
|
||||
case SpvCapabilityFloat16:
|
||||
case SpvCapabilityFloat64:
|
||||
case SpvCapabilityInt64:
|
||||
case SpvCapabilityInt64Atomics:
|
||||
case SpvCapabilityAtomicStorage:
|
||||
case SpvCapabilityInt16:
|
||||
case SpvCapabilityImageGatherExtended:
|
||||
case SpvCapabilityStorageImageMultisample:
|
||||
case SpvCapabilityImageCubeArray:
|
||||
case SpvCapabilitySampleRateShading:
|
||||
case SpvCapabilityInt8:
|
||||
case SpvCapabilityInputAttachment:
|
||||
case SpvCapabilitySparseResidency:
|
||||
case SpvCapabilityMinLod:
|
||||
case SpvCapabilityImageMSArray:
|
||||
case SpvCapabilityStorageImageExtendedFormats:
|
||||
case SpvCapabilityTransformFeedback:
|
||||
case SpvCapabilityStorageImageReadWithoutFormat:
|
||||
case SpvCapabilityStorageImageWriteWithoutFormat:
|
||||
unreachable("Unsupported SPIR-V Capability");
|
||||
break;
|
||||
|
||||
case SpvCapabilityAddresses:
|
||||
case SpvCapabilityKernel:
|
||||
case SpvCapabilityImageBasic:
|
||||
case SpvCapabilityImageReadWrite:
|
||||
case SpvCapabilityImageMipmap:
|
||||
case SpvCapabilityPipes:
|
||||
case SpvCapabilityGroups:
|
||||
case SpvCapabilityDeviceEnqueue:
|
||||
case SpvCapabilityLiteralSampler:
|
||||
case SpvCapabilityGenericPointer:
|
||||
unreachable("Unsupported OpenCL-style Capability");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue