diff options
author | Ian Romanick <[email protected]> | 2017-07-17 12:31:06 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-07-18 09:43:12 -0700 |
commit | 2dd4e2ece32f86d7973cf444c7dae06d4cb1e40e (patch) | |
tree | 58f171ee24149c3d85383bad37b624a8eec10b29 /src/compiler/spirv/spirv_info.c | |
parent | de765ec9dc90c7e8325c6b101439fdebc87cf064 (diff) |
spirv: Generate spirv_info.c
The old table based spirv_*_to_string functions would return NULL for
any values "inside" the table that didn't have entries. The tables also
needed to be updated by hand each time a new spirv.h was imported.
Generate the file instead.
v2: Make this script work more like src/mesa/main/format_fallback.py.
Suggested by Jason. Remove SCons supports. Suggested by Jason and
Emil. Put all the build work in Makefile.nir.am in lieu of adding a new
Makefile.spirv.am. Suggested by Emil. Add support for Android builds
based on code provided by Emil.
Signed-off-by: Ian Romanick <[email protected]>
Suggested-by: Jason Ekstrand <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/compiler/spirv/spirv_info.c')
-rw-r--r-- | src/compiler/spirv/spirv_info.c | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/src/compiler/spirv/spirv_info.c b/src/compiler/spirv/spirv_info.c deleted file mode 100644 index 1036b41c31c..00000000000 --- a/src/compiler/spirv/spirv_info.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright © 2016 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -#include "spirv_info.h" -#include "util/macros.h" - -#define CAPABILITY(cap) [SpvCapability##cap] = #cap -static const char * const capability_to_string[] = { - CAPABILITY(Matrix), - CAPABILITY(Shader), - CAPABILITY(Geometry), - CAPABILITY(Tessellation), - CAPABILITY(Addresses), - CAPABILITY(Linkage), - CAPABILITY(Kernel), - CAPABILITY(Vector16), - CAPABILITY(Float16Buffer), - CAPABILITY(Float16), - CAPABILITY(Float64), - CAPABILITY(Int64), - CAPABILITY(Int64Atomics), - CAPABILITY(ImageBasic), - CAPABILITY(ImageReadWrite), - CAPABILITY(ImageMipmap), - CAPABILITY(Pipes), - CAPABILITY(Groups), - CAPABILITY(DeviceEnqueue), - CAPABILITY(LiteralSampler), - CAPABILITY(AtomicStorage), - CAPABILITY(Int16), - CAPABILITY(TessellationPointSize), - CAPABILITY(GeometryPointSize), - CAPABILITY(ImageGatherExtended), - CAPABILITY(StorageImageMultisample), - CAPABILITY(UniformBufferArrayDynamicIndexing), - CAPABILITY(SampledImageArrayDynamicIndexing), - CAPABILITY(StorageBufferArrayDynamicIndexing), - CAPABILITY(StorageImageArrayDynamicIndexing), - CAPABILITY(ClipDistance), - CAPABILITY(CullDistance), - CAPABILITY(ImageCubeArray), - CAPABILITY(SampleRateShading), - CAPABILITY(ImageRect), - CAPABILITY(SampledRect), - CAPABILITY(GenericPointer), - CAPABILITY(Int8), - CAPABILITY(InputAttachment), - CAPABILITY(SparseResidency), - CAPABILITY(MinLod), - CAPABILITY(Sampled1D), - CAPABILITY(Image1D), - CAPABILITY(SampledCubeArray), - CAPABILITY(SampledBuffer), - CAPABILITY(ImageBuffer), - CAPABILITY(ImageMSArray), - CAPABILITY(StorageImageExtendedFormats), - CAPABILITY(ImageQuery), - CAPABILITY(DerivativeControl), - CAPABILITY(InterpolationFunction), - CAPABILITY(TransformFeedback), - CAPABILITY(GeometryStreams), - CAPABILITY(StorageImageReadWithoutFormat), - CAPABILITY(StorageImageWriteWithoutFormat), - CAPABILITY(MultiViewport), - CAPABILITY(SubgroupDispatch), - CAPABILITY(NamedBarrier), - CAPABILITY(PipeStorage), - CAPABILITY(SubgroupBallotKHR), - CAPABILITY(DrawParameters), -}; - -const char * -spirv_capability_to_string(SpvCapability cap) -{ - if (cap < ARRAY_SIZE(capability_to_string)) - return capability_to_string[cap]; - else - return "unknown"; -} - -#define DECORATION(dec) [SpvDecoration##dec] = #dec -static const char * const decoration_to_string[] = { - DECORATION(RelaxedPrecision), - DECORATION(SpecId), - DECORATION(Block), - DECORATION(BufferBlock), - DECORATION(RowMajor), - DECORATION(ColMajor), - DECORATION(ArrayStride), - DECORATION(MatrixStride), - DECORATION(GLSLShared), - DECORATION(GLSLPacked), - DECORATION(CPacked), - DECORATION(BuiltIn), - DECORATION(NoPerspective), - DECORATION(Flat), - DECORATION(Patch), - DECORATION(Centroid), - DECORATION(Sample), - DECORATION(Invariant), - DECORATION(Restrict), - DECORATION(Aliased), - DECORATION(Volatile), - DECORATION(Constant), - DECORATION(Coherent), - DECORATION(NonWritable), - DECORATION(NonReadable), - DECORATION(Uniform), - DECORATION(SaturatedConversion), - DECORATION(Stream), - DECORATION(Location), - DECORATION(Component), - DECORATION(Index), - DECORATION(Binding), - DECORATION(DescriptorSet), - DECORATION(Offset), - DECORATION(XfbBuffer), - DECORATION(XfbStride), - DECORATION(FuncParamAttr), - DECORATION(FPRoundingMode), - DECORATION(FPFastMathMode), - DECORATION(LinkageAttributes), - DECORATION(NoContraction), - DECORATION(InputAttachmentIndex), - DECORATION(Alignment), - DECORATION(MaxByteOffset), -}; - -const char * -spirv_decoration_to_string(SpvDecoration dec) -{ - if (dec < ARRAY_SIZE(decoration_to_string)) - return decoration_to_string[dec]; - else - return "unknown"; -} |