From 508dc3a95de50de4a4d07d0a72a18e40d55b0e2e Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Tue, 29 Aug 2023 06:05:26 +0800 Subject: Allow bitwise or expressions and numeric literals in spirv_asm blocks (#3157) * Add -spirv-core-grammar option to load alternate spirv defs Also embed a version to use by default * Use perfect hash for spv op lookup * Neaten perfect hash embedding * Refactor spirv grammar lookup in preperation for more kinds of lookups * Load spirv capability list from spec * Add all SPIR-V enums to lookup table * regenerate vs projects * appease msvc * Use string slices for spir-v core grammar lookups * wiggle * comment * Add OpInfo for spv ops * regenerate vs projects * Embed op names * Add min/max operand counts and enum categories to spirv info * neaten * Operand kinds for spirv ops * Store and embed all information relating to spirv enums and qualifiers * Use SPIR-V spec to position instructions in spirv_asm blocks * Neaten spir-v info embedding * Neaten perfect hash embedding * Add assignment syntax to spirv_asm snippets * Better errors for spirv_asm parser * Add warning for too many operands in spirv asm * squash warnings * neaten * test wiggle * Lookup enums for spirv * Put OpCapability and OpExtension in the correct place for spirv_asm blocks * Tests for OpCapability and OpExtension * ci wiggle * Add expected failure * Allow raising immediate values to constant ids where necessary in spirv_asm blocks * Allow bitwise or expressions and numeric literals in spirv_asm blocks * test numeric literals * Fix memory issues. * fix. --------- Co-authored-by: Yong He --- external/spirv/spirv-capabilities.txt | 238 ---------------------------------- 1 file changed, 238 deletions(-) delete mode 100644 external/spirv/spirv-capabilities.txt (limited to 'external') diff --git a/external/spirv/spirv-capabilities.txt b/external/spirv/spirv-capabilities.txt deleted file mode 100644 index abdd73fc0..000000000 --- a/external/spirv/spirv-capabilities.txt +++ /dev/null @@ -1,238 +0,0 @@ -Matrix -Shader -Geometry -Tessellation -Addresses -Linkage -Kernel -Vector16 -Float16Buffer -Float16 -Float64 -Int64 -Int64Atomics -ImageBasic -ImageReadWrite -ImageMipmap -Pipes -Groups -DeviceEnqueue -LiteralSampler -AtomicStorage -Int16 -TessellationPointSize -GeometryPointSize -ImageGatherExtended -StorageImageMultisample -UniformBufferArrayDynamicIndexing -SampledImageArrayDynamicIndexing -StorageBufferArrayDynamicIndexing -StorageImageArrayDynamicIndexing -ClipDistance -CullDistance -ImageCubeArray -SampleRateShading -ImageRect -SampledRect -GenericPointer -Int8 -InputAttachment -SparseResidency -MinLod -Sampled1D -Image1D -SampledCubeArray -SampledBuffer -ImageBuffer -ImageMSArray -StorageImageExtendedFormats -ImageQuery -DerivativeControl -InterpolationFunction -TransformFeedback -GeometryStreams -StorageImageReadWithoutFormat -StorageImageWriteWithoutFormat -MultiViewport -SubgroupDispatch -NamedBarrier -PipeStorage -GroupNonUniform -GroupNonUniformVote -GroupNonUniformArithmetic -GroupNonUniformBallot -GroupNonUniformShuffle -GroupNonUniformShuffleRelative -GroupNonUniformClustered -GroupNonUniformQuad -ShaderLayer -ShaderViewportIndex -UniformDecoration -CoreBuiltinsARM -TileImageColorReadAccessEXT -TileImageDepthReadAccessEXT -TileImageStencilReadAccessEXT -FragmentShadingRateKHR -SubgroupBallotKHR -DrawParameters -WorkgroupMemoryExplicitLayoutKHR -WorkgroupMemoryExplicitLayout8BitAccessKHR -WorkgroupMemoryExplicitLayout16BitAccessKHR -SubgroupVoteKHR -StorageBuffer16BitAccess -StorageUniformBufferBlock16 -StorageUniform16 -UniformAndStorageBuffer16BitAccess -StoragePushConstant16 -StorageInputOutput16 -DeviceGroup -MultiView -VariablePointersStorageBuffer -VariablePointers -AtomicStorageOps -SampleMaskPostDepthCoverage -StorageBuffer8BitAccess -UniformAndStorageBuffer8BitAccess -StoragePushConstant8 -DenormPreserve -DenormFlushToZero -SignedZeroInfNanPreserve -RoundingModeRTE -RoundingModeRTZ -RayQueryProvisionalKHR -RayQueryKHR -RayTraversalPrimitiveCullingKHR -RayTracingKHR -Float16ImageAMD -ImageGatherBiasLodAMD -FragmentMaskAMD -StencilExportEXT -ImageReadWriteLodAMD -Int64ImageEXT -ShaderClockKHR -SampleMaskOverrideCoverageNV -GeometryShaderPassthroughNV -ShaderViewportIndexLayerEXT -ShaderViewportIndexLayerNV -ShaderViewportMaskNV -ShaderStereoViewNV -PerViewAttributesNV -FragmentFullyCoveredEXT -MeshShadingNV -ImageFootprintNV -MeshShadingEXT -FragmentBarycentricKHR -FragmentBarycentricNV -ComputeDerivativeGroupQuadsNV -FragmentDensityEXT -ShadingRateNV -GroupNonUniformPartitionedNV -ShaderNonUniform -ShaderNonUniformEXT -RuntimeDescriptorArray -RuntimeDescriptorArrayEXT -InputAttachmentArrayDynamicIndexing -InputAttachmentArrayDynamicIndexingEXT -UniformTexelBufferArrayDynamicIndexing -UniformTexelBufferArrayDynamicIndexingEXT -StorageTexelBufferArrayDynamicIndexing -StorageTexelBufferArrayDynamicIndexingEXT -UniformBufferArrayNonUniformIndexing -UniformBufferArrayNonUniformIndexingEXT -SampledImageArrayNonUniformIndexing -SampledImageArrayNonUniformIndexingEXT -StorageBufferArrayNonUniformIndexing -StorageBufferArrayNonUniformIndexingEXT -StorageImageArrayNonUniformIndexing -StorageImageArrayNonUniformIndexingEXT -InputAttachmentArrayNonUniformIndexing -InputAttachmentArrayNonUniformIndexingEXT -UniformTexelBufferArrayNonUniformIndexing -UniformTexelBufferArrayNonUniformIndexingEXT -StorageTexelBufferArrayNonUniformIndexing -StorageTexelBufferArrayNonUniformIndexingEXT -RayTracingPositionFetchKHR -RayTracingNV -RayTracingMotionBlurNV -VulkanMemoryModel -VulkanMemoryModelKHR -VulkanMemoryModelDeviceScope -VulkanMemoryModelDeviceScopeKHR -PhysicalStorageBufferAddresses -PhysicalStorageBufferAddressesEXT -ComputeDerivativeGroupLinearNV -RayTracingProvisionalKHR -CooperativeMatrixNV -FragmentShaderSampleInterlockEXT -FragmentShaderShadingRateInterlockEXT -ShaderSMBuiltinsNV -FragmentShaderPixelInterlockEXT -DemoteToHelperInvocation -DemoteToHelperInvocationEXT -RayTracingOpacityMicromapEXT -ShaderInvocationReorderNV -BindlessTextureNV -RayQueryPositionFetchKHR -SubgroupShuffleINTEL -SubgroupBufferBlockIOINTEL -SubgroupImageBlockIOINTEL -SubgroupImageMediaBlockIOINTEL -RoundToInfinityINTEL -FloatingPointModeINTEL -IntegerFunctions2INTEL -FunctionPointersINTEL -IndirectReferencesINTEL -AsmINTEL -AtomicFloat32MinMaxEXT -AtomicFloat64MinMaxEXT -AtomicFloat16MinMaxEXT -VectorComputeINTEL -VectorAnyINTEL -ExpectAssumeKHR -SubgroupAvcMotionEstimationINTEL -SubgroupAvcMotionEstimationIntraINTEL -SubgroupAvcMotionEstimationChromaINTEL -VariableLengthArrayINTEL -FunctionFloatControlINTEL -FPGAMemoryAttributesINTEL -FPFastMathModeINTEL -ArbitraryPrecisionIntegersINTEL -ArbitraryPrecisionFloatingPointINTEL -UnstructuredLoopControlsINTEL -FPGALoopControlsINTEL -KernelAttributesINTEL -FPGAKernelAttributesINTEL -FPGAMemoryAccessesINTEL -FPGAClusterAttributesINTEL -LoopFuseINTEL -FPGADSPControlINTEL -MemoryAccessAliasingINTEL -FPGAInvocationPipeliningAttributesINTEL -FPGABufferLocationINTEL -ArbitraryPrecisionFixedPointINTEL -USMStorageClassesINTEL -RuntimeAlignedAttributeINTEL -IOPipesINTEL -BlockingPipesINTEL -FPGARegINTEL -DotProductInputAll -DotProductInputAllKHR -DotProductInput4x8Bit -DotProductInput4x8BitKHR -DotProductInput4x8BitPacked -DotProductInput4x8BitPackedKHR -DotProduct -DotProductKHR -RayCullMaskKHR -BitInstructions -GroupNonUniformRotateKHR -AtomicFloat32AddEXT -AtomicFloat64AddEXT -LongConstantCompositeINTEL -OptNoneINTEL -AtomicFloat16AddEXT -DebugInfoModuleINTEL -SplitBarrierINTEL -FPGAArgumentInterfacesINTEL -GroupUniformArithmeticKHR -Max \ No newline at end of file -- cgit v1.2.3