From 0a7fc45259910f07f00c5a3fa10be5678bee1f83 Mon Sep 17 00:00:00 2001 From: David Neto Date: Wed, 26 Feb 2020 13:58:17 -0500 Subject: Add grammars, C header, and header generator for vendor and KHR extended instruction sets (#143) * Add JSON grammars for extened instruction sets Add AMD extended instruction sets Add DebugInfo Add OpenCL.DebugInfo.100 * Add script to generate C headers from extinst grammar This is cloned then adapted from the same-named script in SPIRV-Tools (contributed under same authorship but different copyright). Invoke the script as part of the overall header generation script. * Add generated C header for extended instruction sets Add for DebugInfo and OpenCLDebugInfo Add for AMD vendor extended instruction sets * Update the README for extinst header generation * Fix header include guard to match directory structure * Ensure generated header ends in newline * Fix typo in file reference * Fix name of AMD_shader_explicit_vertex_parameter.h * Avoid duplicate generation * Split Revision and Version enum values by newlines Per code review request * Convert C header generator driver to Python3 * Fix README for Python3 for extinst header generation * Use 4-space in generated headers, consistently --- include/spirv/unified1/AMD_shader_ballot.h | 53 ++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 include/spirv/unified1/AMD_shader_ballot.h (limited to 'include/spirv/unified1/AMD_shader_ballot.h') diff --git a/include/spirv/unified1/AMD_shader_ballot.h b/include/spirv/unified1/AMD_shader_ballot.h new file mode 100644 index 0000000..59b2aaf --- /dev/null +++ b/include/spirv/unified1/AMD_shader_ballot.h @@ -0,0 +1,53 @@ +// Copyright (c) 2020 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and/or associated documentation files (the +// "Materials"), to deal in the Materials without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Materials, and to +// permit persons to whom the Materials are furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT +// https://www.khronos.org/registry/ +// +// THE MATERIALS ARE 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 +// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +// + +#ifndef SPIRV_UNIFIED1_AMD_shader_ballot_H_ +#define SPIRV_UNIFIED1_AMD_shader_ballot_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +enum { + AMD_shader_ballotRevision = 5, + AMD_shader_ballotRevision_BitWidthPadding = 0x7fffffff +}; + +enum AMD_shader_ballotInstructions { + AMD_shader_ballotSwizzleInvocationsAMD = 1, + AMD_shader_ballotSwizzleInvocationsMaskedAMD = 2, + AMD_shader_ballotWriteInvocationAMD = 3, + AMD_shader_ballotMbcntAMD = 4, + AMD_shader_ballotInstructionsMax = 0x7ffffff +}; + + +#ifdef __cplusplus +} +#endif + +#endif // SPIRV_UNIFIED1_AMD_shader_ballot_H_ -- cgit v1.2.3