mirror of
https://gitee.com/openharmony/third_party_spirv-tools
synced 2024-11-22 23:09:56 +00:00
适配v2021.1版本
Signed-off-by: wangshi <wangshi@kaihong.com>
This commit is contained in:
parent
8a7727e840
commit
5c2f5db5c5
@ -1,6 +0,0 @@
|
||||
---
|
||||
Language: Cpp
|
||||
BasedOnStyle: Google
|
||||
DerivePointerAlignment: false
|
||||
SortIncludes: true
|
||||
...
|
14
.github/workflows/wasm.yml
vendored
14
.github/workflows/wasm.yml
vendored
@ -1,14 +0,0 @@
|
||||
name: Wasm Build
|
||||
|
||||
on: [ push, pull_request ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build web
|
||||
run: docker-compose up
|
||||
- name: Run tests
|
||||
run: node test/wasm/test.js
|
35
.gitignore
vendored
35
.gitignore
vendored
@ -1,35 +0,0 @@
|
||||
.clang_complete
|
||||
.ycm_extra_conf.py*
|
||||
*.pyc
|
||||
compile_commands.json
|
||||
/build*/
|
||||
/buildtools/
|
||||
/external/googletest
|
||||
/external/SPIRV-Headers
|
||||
/external/spirv-headers
|
||||
/external/effcee
|
||||
/external/re2
|
||||
/external/protobuf
|
||||
/out
|
||||
/TAGS
|
||||
/third_party/llvm-build/
|
||||
/testing
|
||||
/tools/clang/
|
||||
/utils/clang-format-diff.py
|
||||
bazel-bin
|
||||
bazel-genfiles
|
||||
bazel-out
|
||||
bazel-spirv-tools
|
||||
bazel-spirv-tools
|
||||
bazel-testlogs
|
||||
|
||||
# Vim
|
||||
[._]*.s[a-w][a-z]
|
||||
*~
|
||||
|
||||
# C-Lion
|
||||
/.idea/
|
||||
/cmake-build-*/
|
||||
|
||||
# VSCode
|
||||
/.vscode/*
|
20
.gn
20
.gn
@ -1,20 +0,0 @@
|
||||
# Copyright 2018 Google Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
buildconfig = "//build/config/BUILDCONFIG.gn"
|
||||
|
||||
default_args = {
|
||||
clang_use_chrome_plugins = false
|
||||
use_custom_libcxx = false
|
||||
}
|
19
Android.mk
19
Android.mk
@ -88,11 +88,8 @@ SPVTOOLS_OPT_SRC_FILES := \
|
||||
source/opt/composite.cpp \
|
||||
source/opt/const_folding_rules.cpp \
|
||||
source/opt/constants.cpp \
|
||||
source/opt/control_dependence.cpp \
|
||||
source/opt/convert_to_sampled_image_pass.cpp \
|
||||
source/opt/convert_to_half_pass.cpp \
|
||||
source/opt/copy_prop_arrays.cpp \
|
||||
source/opt/dataflow.cpp \
|
||||
source/opt/dead_branch_elim_pass.cpp \
|
||||
source/opt/dead_insert_elim_pass.cpp \
|
||||
source/opt/dead_variable_elimination.cpp \
|
||||
@ -100,16 +97,13 @@ SPVTOOLS_OPT_SRC_FILES := \
|
||||
source/opt/debug_info_manager.cpp \
|
||||
source/opt/def_use_manager.cpp \
|
||||
source/opt/desc_sroa.cpp \
|
||||
source/opt/desc_sroa_util.cpp \
|
||||
source/opt/dominator_analysis.cpp \
|
||||
source/opt/dominator_tree.cpp \
|
||||
source/opt/eliminate_dead_constant_pass.cpp \
|
||||
source/opt/eliminate_dead_functions_pass.cpp \
|
||||
source/opt/eliminate_dead_functions_util.cpp \
|
||||
source/opt/eliminate_dead_input_components_pass.cpp \
|
||||
source/opt/eliminate_dead_members_pass.cpp \
|
||||
source/opt/feature_manager.cpp \
|
||||
source/opt/fix_func_call_arguments.cpp \
|
||||
source/opt/fix_storage_class.cpp \
|
||||
source/opt/flatten_decoration_pass.cpp \
|
||||
source/opt/fold.cpp \
|
||||
@ -128,7 +122,6 @@ SPVTOOLS_OPT_SRC_FILES := \
|
||||
source/opt/instruction.cpp \
|
||||
source/opt/instruction_list.cpp \
|
||||
source/opt/instrument_pass.cpp \
|
||||
source/opt/interface_var_sroa.cpp \
|
||||
source/opt/interp_fixup_pass.cpp \
|
||||
source/opt/ir_context.cpp \
|
||||
source/opt/ir_loader.cpp \
|
||||
@ -159,21 +152,17 @@ SPVTOOLS_OPT_SRC_FILES := \
|
||||
source/opt/redundancy_elimination.cpp \
|
||||
source/opt/register_pressure.cpp \
|
||||
source/opt/relax_float_ops_pass.cpp \
|
||||
source/opt/remove_dontinline_pass.cpp \
|
||||
source/opt/remove_duplicates_pass.cpp \
|
||||
source/opt/remove_unused_interface_variables_pass.cpp \
|
||||
source/opt/replace_desc_array_access_using_var_index.cpp \
|
||||
source/opt/replace_invalid_opc.cpp \
|
||||
source/opt/scalar_analysis.cpp \
|
||||
source/opt/scalar_analysis_simplification.cpp \
|
||||
source/opt/scalar_replacement_pass.cpp \
|
||||
source/opt/set_spec_constant_default_value_pass.cpp \
|
||||
source/opt/simplification_pass.cpp \
|
||||
source/opt/spread_volatile_semantics.cpp \
|
||||
source/opt/ssa_rewrite_pass.cpp \
|
||||
source/opt/strength_reduction_pass.cpp \
|
||||
source/opt/strip_debug_info_pass.cpp \
|
||||
source/opt/strip_nonsemantic_info_pass.cpp \
|
||||
source/opt/strip_reflect_info_pass.cpp \
|
||||
source/opt/struct_cfg_analysis.cpp \
|
||||
source/opt/type_manager.cpp \
|
||||
source/opt/types.cpp \
|
||||
@ -191,7 +180,6 @@ SPV_GLSL_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/extinst.glsl.st
|
||||
SPV_OPENCL_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/extinst.opencl.std.100.grammar.json
|
||||
SPV_DEBUGINFO_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/extinst.debuginfo.grammar.json
|
||||
SPV_CLDEBUGINFO100_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json
|
||||
SPV_VKDEBUGINFO100_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json
|
||||
|
||||
define gen_spvtools_grammar_tables
|
||||
$(call generate-file-dir,$(1)/core.insts-unified1.inc)
|
||||
@ -223,7 +211,6 @@ $(LOCAL_PATH)/source/ext_inst.cpp: \
|
||||
$(1)/opencl.std.insts.inc \
|
||||
$(1)/debuginfo.insts.inc \
|
||||
$(1)/opencl.debuginfo.100.insts.inc \
|
||||
$(1)/nonsemantic.shader.debuginfo.100.insts.inc \
|
||||
$(1)/spv-amd-gcn-shader.insts.inc \
|
||||
$(1)/spv-amd-shader-ballot.insts.inc \
|
||||
$(1)/spv-amd-shader-explicit-vertex-parameter.insts.inc \
|
||||
@ -253,7 +240,6 @@ endef
|
||||
# We generate language-specific headers for DebugInfo and OpenCL.DebugInfo.100
|
||||
$(eval $(call gen_spvtools_lang_headers,$(SPVTOOLS_OUT_PATH),DebugInfo,$(SPV_DEBUGINFO_GRAMMAR)))
|
||||
$(eval $(call gen_spvtools_lang_headers,$(SPVTOOLS_OUT_PATH),OpenCLDebugInfo100,$(SPV_CLDEBUGINFO100_GRAMMAR)))
|
||||
$(eval $(call gen_spvtools_lang_headers,$(SPVTOOLS_OUT_PATH),NonSemanticShaderDebugInfo100,$(SPV_VKDEBUGINFO100_GRAMMAR)))
|
||||
|
||||
|
||||
define gen_spvtools_vendor_tables
|
||||
@ -271,7 +257,6 @@ endef
|
||||
# Vendor and debug extended instruction sets, with grammars from SPIRV-Tools source tree.
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),debuginfo,""))
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),opencl.debuginfo.100,"CLDEBUG100_"))
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),nonsemantic.shader.debuginfo.100,"SHDEBUG100_"))
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),spv-amd-gcn-shader,""))
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),spv-amd-shader-ballot,""))
|
||||
$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),spv-amd-shader-explicit-vertex-parameter,""))
|
||||
@ -304,7 +289,7 @@ $(1)/build-version.inc: \
|
||||
$(LOCAL_PATH)/utils/update_build_version.py \
|
||||
$(LOCAL_PATH)/CHANGES
|
||||
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/update_build_version.py \
|
||||
$(LOCAL_PATH)/CHANGES $(1)/build-version.inc
|
||||
$(LOCAL_PATH) $(1)/build-version.inc
|
||||
@echo "[$(TARGET_ARCH_ABI)] Generate : build-version.inc <= CHANGES"
|
||||
$(LOCAL_PATH)/source/software_version.cpp: $(1)/build-version.inc
|
||||
endef
|
||||
|
47
BUILD.bazel
47
BUILD.bazel
@ -3,7 +3,6 @@ load(
|
||||
"COMMON_COPTS",
|
||||
"DEBUGINFO_GRAMMAR_JSON_FILE",
|
||||
"CLDEBUGINFO100_GRAMMAR_JSON_FILE",
|
||||
"SHDEBUGINFO100_GRAMMAR_JSON_FILE",
|
||||
"TEST_COPTS",
|
||||
"base_test",
|
||||
"generate_core_tables",
|
||||
@ -13,7 +12,6 @@ load(
|
||||
"generate_opencl_tables",
|
||||
"generate_vendor_tables",
|
||||
"link_test",
|
||||
"lint_test",
|
||||
"opt_test",
|
||||
"reduce_test",
|
||||
"util_test",
|
||||
@ -61,16 +59,12 @@ generate_vendor_tables("debuginfo")
|
||||
|
||||
generate_vendor_tables("opencl.debuginfo.100", "CLDEBUG100_")
|
||||
|
||||
generate_vendor_tables("nonsemantic.shader.debuginfo.100", "SHDEBUG100_")
|
||||
|
||||
generate_vendor_tables("nonsemantic.clspvreflection")
|
||||
|
||||
generate_extinst_lang_headers("DebugInfo", DEBUGINFO_GRAMMAR_JSON_FILE)
|
||||
|
||||
generate_extinst_lang_headers("OpenCLDebugInfo100", CLDEBUGINFO100_GRAMMAR_JSON_FILE)
|
||||
|
||||
generate_extinst_lang_headers("NonSemanticShaderDebugInfo100", SHDEBUGINFO100_GRAMMAR_JSON_FILE)
|
||||
|
||||
py_binary(
|
||||
name = "generate_registry_tables",
|
||||
srcs = ["utils/generate_registry_tables.py"],
|
||||
@ -81,7 +75,6 @@ genrule(
|
||||
srcs = ["@spirv_headers//:spirv_xml_registry"],
|
||||
outs = ["generators.inc"],
|
||||
cmd = "$(location generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
|
||||
cmd_bat = "$(location //:generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
|
||||
tools = [":generate_registry_tables"],
|
||||
)
|
||||
|
||||
@ -94,8 +87,7 @@ genrule(
|
||||
name = "gen_build_version",
|
||||
srcs = ["CHANGES"],
|
||||
outs = ["build-version.inc"],
|
||||
cmd = "SOURCE_DATE_EPOCH=0 $(location update_build_version) $(location CHANGES) $(location build-version.inc)",
|
||||
cmd_bat = "set SOURCE_DATE_EPOCH=0 && $(location //:update_build_version) $(location CHANGES) $(location build-version.inc)",
|
||||
cmd = "SOURCE_DATE_EPOCH=0 $(location update_build_version) $$(dirname $(location CHANGES)) $(location build-version.inc)",
|
||||
tools = [":update_build_version"],
|
||||
)
|
||||
|
||||
@ -109,14 +101,12 @@ cc_library(
|
||||
":gen_enum_string_mapping",
|
||||
":gen_extinst_lang_headers_DebugInfo",
|
||||
":gen_extinst_lang_headers_OpenCLDebugInfo100",
|
||||
":gen_extinst_lang_headers_NonSemanticShaderDebugInfo100",
|
||||
":gen_glsl_tables_unified1",
|
||||
":gen_opencl_tables_unified1",
|
||||
":gen_registry_tables",
|
||||
":gen_vendor_tables_debuginfo",
|
||||
":gen_vendor_tables_nonsemantic_clspvreflection",
|
||||
":gen_vendor_tables_opencl_debuginfo_100",
|
||||
":gen_vendor_tables_nonsemantic_shader_debuginfo_100",
|
||||
":gen_vendor_tables_spv_amd_gcn_shader",
|
||||
":gen_vendor_tables_spv_amd_shader_ballot",
|
||||
":gen_vendor_tables_spv_amd_shader_explicit_vertex_parameter",
|
||||
@ -235,19 +225,6 @@ cc_library(
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "spirv_tools_lint",
|
||||
srcs = glob(["source/lint/*.cpp", "source/lint/*.h"]),
|
||||
hdrs = ["include/spirv-tools/linter.hpp"],
|
||||
copts = COMMON_COPTS,
|
||||
linkstatic = 1,
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":spirv_tools",
|
||||
":spirv_tools_opt",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "tools_util",
|
||||
srcs = glob(["tools/util/*.cpp"]),
|
||||
@ -345,21 +322,6 @@ cc_binary(
|
||||
],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "spirv-lint",
|
||||
srcs = [
|
||||
"tools/io.h",
|
||||
"tools/lint/lint.cpp",
|
||||
],
|
||||
copts = COMMON_COPTS,
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":spirv_tools",
|
||||
":spirv_tools_lint",
|
||||
":tools_util",
|
||||
],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "spirv-cfg",
|
||||
srcs = [
|
||||
@ -503,13 +465,6 @@ base_test(
|
||||
["test/link/*.cpp"],
|
||||
)]
|
||||
|
||||
[lint_test(
|
||||
name = f[10:-4], # strip test/lint/, .cpp
|
||||
srcs = [f],
|
||||
) for f in glob(
|
||||
["test/lint/*.cpp"],
|
||||
)]
|
||||
|
||||
[opt_test(
|
||||
name = f[9:-4], # strip test/opt/, .cpp
|
||||
srcs = [f],
|
||||
|
5
BUILD.gn
5
BUILD.gn
@ -50,7 +50,8 @@ import("//third_party/vk-gl-cts/vk_gl_cts.gni")
|
||||
config("deqp_spirvtool_config") {
|
||||
cflags_cc = deqp_common_cflags_cc
|
||||
cflags_cc += [
|
||||
"-ftemplate-depth=1024"
|
||||
"-ftemplate-depth=1024",
|
||||
"-Wno-switch"
|
||||
]
|
||||
defines = deqp_common_defines
|
||||
defines += [
|
||||
@ -149,4 +150,4 @@ ohos_static_library("libdeqp_spirvtools") {
|
||||
deps = [ ":deqp_spirvtool_source" ]
|
||||
part_name = "graphic_standard"
|
||||
subsystem_name = "graphic"
|
||||
}
|
||||
}
|
||||
|
140
CHANGES
140
CHANGES
@ -1,141 +1,5 @@
|
||||
Revision history for SPIRV-Tools
|
||||
|
||||
v2022.3-dev 2022-05-31
|
||||
- General
|
||||
- Add SPV_KHR_fragment_shader_barycentric support (#4805)
|
||||
- Add support for SPV_KHR_subgroup_rotate (#4786)
|
||||
- Optimizer
|
||||
- Fold multiply and subtraction into FMA with negation (#4808)
|
||||
- Add more folding for composite instructions (#4802)
|
||||
- spirv-opt: add pass for interface variable scalar replacement (#4779)
|
||||
- Don't try to unroll loop with step count 0. (#4769)
|
||||
- Validator
|
||||
- spirv-val: Add PerVertexKHR (#4807)
|
||||
- spirv-opt : Add FixFuncCallArgumentsPass (#4775)
|
||||
- spirv-val: Add CullMaskKHR support (#4792)
|
||||
- Linker
|
||||
- linker: Recalculate interface variables (#4784)
|
||||
|
||||
v2022.2 2022-04-07
|
||||
- General
|
||||
- Add OpModuleProcessed to debug opcode (#4694)
|
||||
- Optimizer
|
||||
- Complete handling of RayQueryKHR type (#4690)
|
||||
- Have scalar replacement use undef instead of null (#4691)
|
||||
- Optimize Instruction::Instruction (#4705)
|
||||
- Handle propagation of arrays with decorations (#4717)
|
||||
- spirv-opt: Add OpExecutionModeId support (#4719)
|
||||
- Optimize Type::HashValue (#4707)
|
||||
- Optimize DefUseManager allocations (#4709)
|
||||
- Add pass to remove DontInline function control (#4747)
|
||||
- Better handling of 0xFFFFFFFF when folding vector shuffle (#4743)
|
||||
- Reset the id bound on the module in compact ids (#4744)
|
||||
- spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720)
|
||||
- Support SPV_KHR_uniform_group_instructions (#4734)
|
||||
- Handle shaders without execution model in spread-volatile-semantics (#4766)
|
||||
- Validator
|
||||
- Fix handling of Nontemporal image operand (#4692)
|
||||
- [spirv-val] Allow 0 Component Count for DebugTypeArray for Shader (#4706)
|
||||
- spirv-val: Validate DebugTypeMatrix (#4732)
|
||||
- spirv-val: Label Vulkan VUID 04734 (#4739)
|
||||
- spirv-val: Label VUID 06491 (#4745)
|
||||
- spirv-val: Disallow array of push constants (#4742)
|
||||
- spirv-val: Label Vulkan RuntimeArray VUID (#4749)
|
||||
- spirv-val: Add Vulkan Image VUID 06214 (#4750)
|
||||
- spirv-val: Add Vulkan Dref not allowed 3D dim VUID (#4751)
|
||||
- spirv-val: Label and add test for PSB Aligned (#4756)
|
||||
- spirv-val: Add Vulkan 32-bit bit op Base (#4758)
|
||||
- spirv-val: Add more Vulkan VUID labels (#4764)
|
||||
- Diff
|
||||
- Introduce spirv-diff (#4611)
|
||||
- Stabilize the output of spirv-diff (#4698)
|
||||
- spirv-diff: Handle OpSpecConstant array sizes (#4700)
|
||||
- spirv-diff: Match OpSpecConstantComposite correctly (#4704)
|
||||
- spirv-diff: Use GetSingleWord*Operand (#4768)
|
||||
- spirv-diff: Basic support for OpTypeForwardPointer (#4761)
|
||||
- spirv-diff: Fix OpTypeFunction matching w.r.t operand count (#4771)
|
||||
|
||||
v2022.1 2022-01-26
|
||||
- General
|
||||
- Add SPIR-V 1.6 support to wasm build (#4674)
|
||||
- Improvements to disassembly within PassManager (#4677)
|
||||
- Basic support for SPIR-V 1.6 (#4663)
|
||||
- reflect debug (#4662)
|
||||
- Fix endianness of string literals (#4622)
|
||||
- Optimizer
|
||||
- spirv-opt: add pass to Spread Volatile semantics (#4667)
|
||||
- Fix constant propagation and folding of FClamp instructions (#4651)
|
||||
- Manually fold floating point division by zero (#4637)
|
||||
- Allow ADCE to remove dead inputs (#4629)
|
||||
- Linker
|
||||
- Linker improvements (#4679)
|
||||
* test/linker: Code factorisation and small tweaks
|
||||
* linker: Do not fail when going over limits
|
||||
- Validator
|
||||
- val: interface struct with builtins must be Block (#4665)
|
||||
- Fuzzer
|
||||
- Avoid id bound errors during opt fuzzing (#4658)
|
||||
- Avoid uninitialised read when parsing hex float (#4646)
|
||||
|
||||
v2021.4 2021-11-11
|
||||
- General
|
||||
- Add a WebAssembly build (#3752)
|
||||
- Make cxx exceptions controllable (#4591)
|
||||
- Validator
|
||||
- Improve decoration validation (#4490)
|
||||
- Optimizer
|
||||
- Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574)
|
||||
- Do not fold snegate feeding sdiv (#4600)
|
||||
- Handle overflowing id in merge return (#4606)
|
||||
- Fuzzer
|
||||
- Add libFuzzer target for spirv-fuzz (#4434)
|
||||
- Linter
|
||||
|
||||
v2021.3 2021-08-24
|
||||
- General
|
||||
- Initial support for SPV_KHR_integer_dot_product (#4327)
|
||||
- Add non-semantic vulkan extended instruction set (#4362)
|
||||
- Add common enum for debug info instructions from either opencl or vulkan (#4377)
|
||||
- Validator
|
||||
- Add validation for SPV_EXT_shader_atomic_float16_add (#4325)
|
||||
- Disallow loading a runtime-sized array (#4473)
|
||||
- spirv-val: Validate vulkan debug info similarly to opencl debug info (#4466)
|
||||
- Optimizer
|
||||
- spirv-opt: support SPV_EXT_shader_image_int64 (#4379)
|
||||
- spirv-opt: Add dataflow analysis framework (#4402)
|
||||
- Add control dependence analysis to opt (#4380)
|
||||
- Add spirv-opt convert-to-sampled-image pass (#4340)
|
||||
- spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423)
|
||||
- Fuzz
|
||||
- spirv-fuzz: support AtomicLoad (#4330)
|
||||
- spirv-fuzz: Support AtomicStore (#4440)
|
||||
- spirv-fuzz: TransformationWrapVectorSynonym that rewrites scalar operations using vectors (#4376)
|
||||
- spirv-fuzz: Add minimal SPIR-V example to test shaders (#4415)
|
||||
- spirv-fuzz: support building using gn (#4365)
|
||||
- Linter
|
||||
- Add new target for spirv-lint (#4446)
|
||||
- spirv-lint: add basic CLI argument handling (#4478)
|
||||
- Add divergence analysis to linter (#4465)
|
||||
|
||||
v2021.2 2021-06-18
|
||||
- General
|
||||
- Support SPV_KHR_subgroup_uniform_control_flow (#4318)
|
||||
- Support Intel extensions for fixed point and hls-float (#4321)
|
||||
- Fix crash when optimizing shaders with DebugPrintf (#4280)
|
||||
|
||||
- Validator
|
||||
- Support Vulkan Storage Class for Execution Model (#4212)
|
||||
|
||||
- Optimizer
|
||||
- Handle SPV_KHR_vulkan_memory_model in dead-code elimination (#4320)
|
||||
- Support folding OpBitcast with numeric constants (#4247)
|
||||
|
||||
- Fuzz
|
||||
- Add tests for MaybeGet* functions in fuzzerutil (#4284)
|
||||
- Fix OutlineFunction in presence of unreachable blocks (#4308)
|
||||
- Fix def-use update in PermutePhiOperands (#4309)
|
||||
- Swap positions of two functions in a module (#4236)
|
||||
|
||||
v2021.1 2021-04-19
|
||||
- General
|
||||
- Support SPV_KHR_linkonce_odr, SPV_KHR_expect_assume (#4161)
|
||||
@ -151,6 +15,10 @@ v2021.1 2021-04-19
|
||||
- Do not add too many dead blocks (#4217)
|
||||
- Add WGSL compatibility flag to context (#4193)
|
||||
- Add persistent state to the fuzzer (#4137)
|
||||
- Debug Info
|
||||
- Instrumentation
|
||||
- Linker
|
||||
- Reduce
|
||||
|
||||
v2020.7 2021-02-16
|
||||
- General
|
||||
|
@ -33,7 +33,6 @@ include(GNUInstallDirs)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
option(ENABLE_RTTI "Enables RTTI" OFF)
|
||||
option(SPIRV_ALLOW_TIMERS "Allow timers via clock_gettime on supported platforms" ON)
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
@ -49,8 +48,6 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
|
||||
add_definitions(-DSPIRV_MAC)
|
||||
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "iOS")
|
||||
add_definitions(-DSPIRV_IOS)
|
||||
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "tvOS")
|
||||
add_definitions(-DSPIRV_TVOS)
|
||||
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
|
||||
add_definitions(-DSPIRV_ANDROID)
|
||||
set(SPIRV_TIMER_ENABLED ${SPIRV_ALLOW_TIMERS})
|
||||
@ -84,10 +81,6 @@ endif(SPIRV_BUILD_COMPRESSION)
|
||||
|
||||
option(SPIRV_BUILD_FUZZER "Build spirv-fuzz" OFF)
|
||||
|
||||
set(SPIRV_LIB_FUZZING_ENGINE_LINK_OPTIONS "" CACHE STRING "Used by OSS-Fuzz to control, via link options, which fuzzing engine should be used")
|
||||
|
||||
option(SPIRV_BUILD_LIBFUZZER_TARGETS "Build libFuzzer targets" OFF)
|
||||
|
||||
option(SPIRV_WERROR "Enable error on warning" ON)
|
||||
if(("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") AND (NOT CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")))
|
||||
set(COMPILER_IS_LIKE_GNU TRUE)
|
||||
@ -116,7 +109,7 @@ if(${COMPILER_IS_LIKE_GNU})
|
||||
set(SPIRV_WARNINGS ${SPIRV_WARNINGS} -Werror)
|
||||
endif()
|
||||
elseif(MSVC)
|
||||
set(SPIRV_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS /wd4800 /wd4819)
|
||||
set(SPIRV_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS /wd4800)
|
||||
|
||||
if(${SPIRV_WERROR})
|
||||
set(SPIRV_WARNINGS ${SPIRV_WARNINGS} /WX)
|
||||
@ -164,7 +157,6 @@ endif()
|
||||
# Note this target provides no API stability guarantees.
|
||||
#
|
||||
# Ideally, all of these will go away - see https://github.com/KhronosGroup/SPIRV-Tools/issues/3909.
|
||||
option(ENABLE_EXCEPTIONS_ON_MSVC "Build SPIRV-TOOLS with c++ exceptions enabled in MSVC" ON)
|
||||
option(SPIRV_TOOLS_BUILD_STATIC "Build ${SPIRV_TOOLS}-static target. ${SPIRV_TOOLS} will alias to ${SPIRV_TOOLS}-static or ${SPIRV_TOOLS}-shared based on BUILD_SHARED_LIBS" ON)
|
||||
if(SPIRV_TOOLS_BUILD_STATIC)
|
||||
set(SPIRV_TOOLS_FULL_VISIBILITY ${SPIRV_TOOLS}-static)
|
||||
@ -184,14 +176,11 @@ function(spvtools_default_compile_options TARGET)
|
||||
target_compile_options(${TARGET} PRIVATE ${SPIRV_WARNINGS})
|
||||
|
||||
if (${COMPILER_IS_LIKE_GNU})
|
||||
target_compile_options(${TARGET} PRIVATE -std=c++11 -fno-exceptions)
|
||||
target_compile_options(${TARGET} PRIVATE
|
||||
-std=c++11 -fno-exceptions -fno-rtti)
|
||||
target_compile_options(${TARGET} PRIVATE
|
||||
-Wall -Wextra -Wno-long-long -Wshadow -Wundef -Wconversion
|
||||
-Wno-sign-conversion)
|
||||
|
||||
if(NOT ENABLE_RTTI)
|
||||
add_compile_options(-fno-rtti)
|
||||
endif()
|
||||
# For good call stacks in profiles, keep the frame pointers.
|
||||
if(NOT "${SPIRV_PERF}" STREQUAL "")
|
||||
target_compile_options(${TARGET} PRIVATE -fno-omit-frame-pointer)
|
||||
@ -216,9 +205,7 @@ function(spvtools_default_compile_options TARGET)
|
||||
if (MSVC)
|
||||
# Specify /EHs for exception handling. This makes using SPIRV-Tools as
|
||||
# dependencies in other projects easier.
|
||||
if(ENABLE_EXCEPTIONS_ON_MSVC)
|
||||
target_compile_options(${TARGET} PRIVATE /EHs)
|
||||
endif()
|
||||
target_compile_options(${TARGET} PRIVATE /EHs)
|
||||
endif()
|
||||
|
||||
# For MinGW cross compile, statically link to the C++ runtime.
|
||||
@ -299,7 +286,7 @@ endif()
|
||||
# Turn off if they take too long.
|
||||
option(SPIRV_CHECK_CONTEXT "In a debug build, check if the IR context is in a valid state." ON)
|
||||
if (${SPIRV_CHECK_CONTEXT})
|
||||
add_compile_options($<$<CONFIG:Debug>:-DSPIRV_CHECK_CONTEXT>)
|
||||
add_definitions(-DSPIRV_CHECK_CONTEXT)
|
||||
endif()
|
||||
|
||||
# Precompiled header macro. Parameters are source file list and filename for pch cpp file.
|
||||
|
@ -98,6 +98,13 @@ should pay particular attention to:
|
||||
scenarios? The respective SPIR-V dialects are slightly different.
|
||||
* Changes are made to a container while iterating through it. You have to be
|
||||
careful that iterators are not invalidated or that elements are not skipped.
|
||||
* C++11 and VS2013. We generally assume that we have a C++11 compliant
|
||||
compiler. However, on Windows, we still support Visual Studio 2013, which is
|
||||
not fully C++11 compliant. See
|
||||
[here](https://msdn.microsoft.com/en-us/library/hh567368.aspx). In
|
||||
particular, note that it does not provide default move-constructors or
|
||||
move-assignments for classes. In general, r-value references do not work the
|
||||
way you might assume they do.
|
||||
* For SPIR-V transforms: The module is changed, but the analyses are not
|
||||
updated. For example, a new instruction is added, but the def-use manager is
|
||||
not updated. Later on, it is possible that the def-use manager will be used,
|
||||
|
8
DEPS
8
DEPS
@ -3,10 +3,10 @@ use_relative_paths = True
|
||||
vars = {
|
||||
'github': 'https://github.com',
|
||||
|
||||
'effcee_revision': 'ddf5e2bb92957dc8a12c5392f8495333d6844133',
|
||||
'googletest_revision': '548b13dc3c02b93f60eeff9a0cc6e11c1ea722ca',
|
||||
're2_revision': '5723bb8950318135ed9cf4fc76bed988a087f536',
|
||||
'spirv_headers_revision': '5a121866927a16ab9d49bed4788b532c7fcea766',
|
||||
'effcee_revision': '2ec8f8738118cc483b67c04a759fee53496c5659',
|
||||
'googletest_revision': 'b7d472f1225c5a64943821d8483fecb469d3f382',
|
||||
're2_revision': 'f8e389f3acdc2517562924239e2a188037393683',
|
||||
'spirv_headers_revision': 'bcf55210f13a4fa3c3d0963b509ff1070e434c79',
|
||||
}
|
||||
|
||||
deps = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
"Name": "spirv-tools",
|
||||
"License": "Apache-2.0",
|
||||
"License File": "LICENSE",
|
||||
"Version Number": "sdk-1.3.216.0",
|
||||
"Version Number": "v2021.1",
|
||||
"Owner": "zhangleiyu1@huawei.com",
|
||||
"Upstream URL": "https://github.com/KhronosGroup/SPIRV-Tools.git",
|
||||
"Description": "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules."
|
||||
|
196
README.md
196
README.md
@ -21,6 +21,7 @@ headers, and XML registry.
|
||||
|
||||
## Downloads
|
||||
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/gpue87cesrx3pi0d/branch/master?svg=true)](https://ci.appveyor.com/project/Khronoswebmaster/spirv-tools/branch/master)
|
||||
<img alt="Linux" src="kokoro/img/linux.png" width="20px" height="20px" hspace="2px"/>[![Linux Build Status](https://storage.googleapis.com/spirv-tools/badges/build_status_linux_clang_release.svg)](https://storage.googleapis.com/spirv-tools/badges/build_link_linux_clang_release.html)
|
||||
<img alt="MacOS" src="kokoro/img/macos.png" width="20px" height="20px" hspace="2px"/>[![MacOS Build Status](https://storage.googleapis.com/spirv-tools/badges/build_status_macos_clang_release.svg)](https://storage.googleapis.com/spirv-tools/badges/build_link_macos_clang_release.html)
|
||||
<img alt="Windows" src="kokoro/img/windows.png" width="20px" height="20px" hspace="2px"/>[![Windows Build Status](https://storage.googleapis.com/spirv-tools/badges/build_status_windows_release.svg)](https://storage.googleapis.com/spirv-tools/badges/build_link_windows_vs2017_release.html)
|
||||
@ -44,20 +45,6 @@ following versions are ordered from oldest to newest:
|
||||
Use the `--version` option on each command line tool to see the software
|
||||
version. An API call reports the software version as a C-style string.
|
||||
|
||||
## Releases
|
||||
|
||||
Some versions of SPIRV-Tools are tagged as stable releases (see
|
||||
[tags](https://github.com/KhronosGroup/SPIRV-Tools/tags) on github).
|
||||
These versions undergo extra testing.
|
||||
Releases are not directly related to releases (or versions) of
|
||||
[SPIRV-Headers][spirv-headers].
|
||||
Releases of SPIRV-Tools are tested against the version of SPIRV-Headers listed
|
||||
in the [DEPS](DEPS) file.
|
||||
The release generally uses the most recent compatible version of SPIRV-Headers
|
||||
available at the time of release.
|
||||
No version of SPIRV-Headers other than the one listed in the DEPS file is
|
||||
guaranteed to work with the SPIRV-Tools release.
|
||||
|
||||
## Supported features
|
||||
|
||||
### Assembler, binary parser, and disassembler
|
||||
@ -212,24 +199,6 @@ issue](https://github.com/KhronosGroup/SPIRV-Tools/issues]) with
|
||||
"Fuzzer:" as the start of its title.
|
||||
|
||||
|
||||
### Diff
|
||||
|
||||
*Note:* The diff tool is still under development.
|
||||
|
||||
The diff tool takes two SPIR-V files, either in binary or text format and
|
||||
produces a diff-style comparison between the two. The instructions between the
|
||||
src and dst modules are matched as best as the tool can, and output is produced
|
||||
(in src id-space) that shows which instructions are removed in src, added in dst
|
||||
or modified between them. The order of instructions are not retained.
|
||||
|
||||
Matching instructions between two SPIR-V modules is not trivial, and thus a
|
||||
number of heuristics are applied in this tool. In particular, without debug
|
||||
information, match functions is nontrivial as they can be reordered. As such,
|
||||
this tool is primarily useful to produce the diff of two SPIR-V modules derived
|
||||
from the same source, for example before and after a modification to the shader,
|
||||
before and after a transformation, or SPIR-V produced from different tools.
|
||||
|
||||
|
||||
### Extras
|
||||
|
||||
* [Utility filters](#utility-filters)
|
||||
@ -273,34 +242,6 @@ Contributions via merge request are welcome. Changes should:
|
||||
|
||||
We intend to maintain a linear history on the GitHub `master` branch.
|
||||
|
||||
### Getting the source
|
||||
|
||||
Example of getting sources, assuming SPIRV-Tools is configured as a standalone project:
|
||||
|
||||
git clone https://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools
|
||||
cd spirv-tools
|
||||
|
||||
# Check out sources for dependencies, at versions known to work together,
|
||||
# as listed in the DEPS file.
|
||||
python3 utils/git-sync-deps
|
||||
|
||||
For some kinds of development, you may need the latest sources from the third-party projects:
|
||||
|
||||
git clone https://github.com/KhronosGroup/SPIRV-Headers.git spirv-tools/external/spirv-headers
|
||||
git clone https://github.com/google/googletest.git spirv-tools/external/googletest
|
||||
git clone https://github.com/google/effcee.git spirv-tools/external/effcee
|
||||
git clone https://github.com/google/re2.git spirv-tools/external/re2
|
||||
|
||||
#### Dependency on Effcee
|
||||
|
||||
Some tests depend on the [Effcee][effcee] library for stateful matching.
|
||||
Effcee itself depends on [RE2][re2].
|
||||
|
||||
* If SPIRV-Tools is configured as part of a larger project that already uses
|
||||
Effcee, then that project should include Effcee before SPIRV-Tools.
|
||||
* Otherwise, SPIRV-Tools expects Effcee sources to appear in `external/effcee`
|
||||
and RE2 sources to appear in `external/re2`.
|
||||
|
||||
### Source code organization
|
||||
|
||||
* `example`: demo code of using SPIRV-Tools APIs
|
||||
@ -319,6 +260,14 @@ Effcee itself depends on [RE2][re2].
|
||||
* `test/`: Tests, using the [googletest][googletest] framework
|
||||
* `tools/`: Command line executables
|
||||
|
||||
Example of getting sources, assuming SPIRV-Tools is configured as a standalone project:
|
||||
|
||||
git clone https://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools
|
||||
git clone https://github.com/KhronosGroup/SPIRV-Headers.git spirv-tools/external/spirv-headers
|
||||
git clone https://github.com/google/googletest.git spirv-tools/external/googletest
|
||||
git clone https://github.com/google/effcee.git spirv-tools/external/effcee
|
||||
git clone https://github.com/google/re2.git spirv-tools/external/re2
|
||||
|
||||
### Tests
|
||||
|
||||
The project contains a number of tests, used to drive development
|
||||
@ -332,12 +281,46 @@ tests:
|
||||
`googletest` source into the `<spirv-dir>/external/googletest` directory before
|
||||
configuring and building the project.
|
||||
|
||||
*Note*: You must use a version of googletest that includes
|
||||
[a fix][googletest-pull-612] for [googletest issue 610][googletest-issue-610].
|
||||
The fix is included on the googletest master branch any time after 2015-11-10.
|
||||
In particular, googletest must be newer than version 1.7.0.
|
||||
|
||||
### Dependency on Effcee
|
||||
|
||||
Some tests depend on the [Effcee][effcee] library for stateful matching.
|
||||
Effcee itself depends on [RE2][re2].
|
||||
|
||||
* If SPIRV-Tools is configured as part of a larger project that already uses
|
||||
Effcee, then that project should include Effcee before SPIRV-Tools.
|
||||
* Otherwise, SPIRV-Tools expects Effcee sources to appear in `external/effcee`
|
||||
and RE2 sources to appear in `external/re2`.
|
||||
|
||||
|
||||
## Build
|
||||
|
||||
*Note*: Prebuilt binaries are available from the [downloads](docs/downloads.md) page.
|
||||
Instead of building manually, you can also download the binaries for your
|
||||
platform directly from the [master-tot release][master-tot-release] on GitHub.
|
||||
Those binaries are automatically uploaded by the buildbots after successful
|
||||
testing and they always reflect the current top of the tree of the master
|
||||
branch.
|
||||
|
||||
First [get the sources](#getting-the-source).
|
||||
Then build using CMake, Bazel, Android ndk-build, or the Emscripten SDK.
|
||||
In order to build the code, you first need to sync the external repositories
|
||||
that it depends on. Assume that `<spirv-dir>` is the root directory of the
|
||||
checked out code:
|
||||
|
||||
```sh
|
||||
cd <spirv-dir>
|
||||
git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
|
||||
git clone https://github.com/google/effcee.git external/effcee
|
||||
git clone https://github.com/google/re2.git external/re2
|
||||
git clone https://github.com/google/googletest.git external/googletest # optional
|
||||
|
||||
```
|
||||
|
||||
*Note*:
|
||||
The script `utils/git-sync-deps` can be used to checkout and/or update the
|
||||
contents of the repos under `external/` instead of manually maintaining them.
|
||||
|
||||
### Build using CMake
|
||||
You can build the project using [CMake][cmake]:
|
||||
@ -365,7 +348,7 @@ option, like so:
|
||||
|
||||
```sh
|
||||
# In <spirv-dir> (the SPIRV-Tools repo root):
|
||||
git clone --depth=1 --branch v3.13.0.1 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
git clone --depth=1 --branch v3.13.0 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
|
||||
# In your build directory:
|
||||
cmake [-G <platform-generator>] <spirv-dir> -DSPIRV_BUILD_FUZZER=ON
|
||||
@ -382,30 +365,6 @@ You can also use [Bazel](https://bazel.build/) to build the project.
|
||||
cd <spirv-dir>
|
||||
bazel build :all
|
||||
```
|
||||
### Build a node.js package using Emscripten
|
||||
|
||||
The SPIRV-Tools core library can be built to a WebAssembly [node.js](https://nodejs.org)
|
||||
module. The resulting `SpirvTools` WebAssembly module only exports methods to
|
||||
assemble and disassemble SPIR-V modules.
|
||||
|
||||
First, make sure you have the [Emscripten SDK](https://emscripten.org).
|
||||
Then:
|
||||
|
||||
```sh
|
||||
cd <spirv-dir>
|
||||
./source/wasm/build.sh
|
||||
```
|
||||
|
||||
The resulting node package, with JavaScript and TypeScript bindings, is
|
||||
written to `<spirv-dir>/out/web`.
|
||||
|
||||
Note: This builds the package locally. It does *not* publish it to [npm](https://npmjs.org).
|
||||
|
||||
To test the result:
|
||||
|
||||
```sh
|
||||
node ./test/wasm/test.js
|
||||
```
|
||||
|
||||
### Tools you'll need
|
||||
|
||||
@ -417,19 +376,17 @@ targets, you need to install CMake Version 2.8.12 or later.
|
||||
- [Python 3](http://www.python.org/): for utility scripts and running the test
|
||||
suite.
|
||||
- [Bazel](https://bazel.build/) (optional): if building the source with Bazel,
|
||||
you need to install Bazel Version 5.0.0 on your machine. Other versions may
|
||||
you need to install Bazel Version 0.29.1 on your machine. Other versions may
|
||||
also work, but are not verified.
|
||||
- [Emscripten SDK](https://emscripten.org) (optional): if building the
|
||||
WebAssembly module.
|
||||
|
||||
SPIRV-Tools is regularly tested with the following compilers:
|
||||
|
||||
On Linux
|
||||
- GCC version 9.3
|
||||
- Clang version 10.0
|
||||
- GCC version 4.8.5
|
||||
- Clang version 3.8
|
||||
|
||||
On MacOS
|
||||
- AppleClang 11.0
|
||||
- AppleClang 10.0
|
||||
|
||||
On Windows
|
||||
- Visual Studio 2015
|
||||
@ -464,7 +421,7 @@ via setting `SPIRV_TOOLS_EXTRA_DEFINITIONS`. For example, by setting it to
|
||||
`/D_ITERATOR_DEBUG_LEVEL=0` on Windows, you can disable checked iterators and
|
||||
iterator debugging.
|
||||
|
||||
### Android ndk-build
|
||||
### Android
|
||||
|
||||
SPIR-V Tools supports building static libraries `libSPIRV-Tools.a` and
|
||||
`libSPIRV-Tools-opt.a` for Android:
|
||||
@ -485,12 +442,11 @@ $ANDROID_NDK/ndk-build -C ../android_test \
|
||||
```
|
||||
|
||||
### Updating DEPS
|
||||
|
||||
Occasionally the entries in [DEPS](DEPS) will need to be updated. This is done on
|
||||
demand when there is a request to do this, often due to downstream breakages.
|
||||
To update `DEPS`, run `utils/roll_deps.sh` and confirm that tests pass.
|
||||
The script requires Chromium's
|
||||
[`depot_tools`](https://chromium.googlesource.com/chromium/tools/depot_tools).
|
||||
Occasionally the entries in DEPS will need to be updated. This is done on demand
|
||||
when there is a request to do this, often due to downstream breakages. There is
|
||||
a script `utils/roll_deps.sh` provided, which will generate a patch with the
|
||||
updated DEPS values. This will still need to be tested in your checkout to
|
||||
confirm that there are no integration issues that need to be resolved.
|
||||
|
||||
## Library
|
||||
|
||||
@ -642,15 +598,6 @@ This is experimental.
|
||||
* `spirv-cfg` - the control flow graph dumper
|
||||
* `<spirv-dir>/tools/cfg`
|
||||
|
||||
### Diff tool
|
||||
|
||||
*Warning:* This functionality is under development, and is incomplete.
|
||||
|
||||
The diff tool produces a diff-style comparison between two SPIR-V modules.
|
||||
|
||||
* `spirv-diff` - the standalone diff tool
|
||||
* `<spirv-dir>`/tools/diff`
|
||||
|
||||
### Utility filters
|
||||
|
||||
* `spirv-lesspipe.sh` - Automatically disassembles `.spv` binary files for the
|
||||
@ -696,32 +643,8 @@ The diff tool produces a diff-style comparison between two SPIR-V modules.
|
||||
|
||||
### Tests
|
||||
|
||||
Tests are only built when googletest is found.
|
||||
|
||||
#### Running test with CMake
|
||||
|
||||
Use `ctest -j <num threads>` to run all the tests. To run tests using all threads:
|
||||
```shell
|
||||
ctest -j$(nproc)
|
||||
```
|
||||
|
||||
To run a single test target, use `ctest [-j <N>] -R <test regex>`. For example,
|
||||
you can run all `opt` tests with:
|
||||
```shell
|
||||
ctest -R 'spirv-tools-test_opt'
|
||||
```
|
||||
|
||||
#### Running test with Bazel
|
||||
|
||||
Use `bazel test :all` to run all tests. This will run tests in parallel by default.
|
||||
|
||||
To run a single test target, specify `:my_test_target` instead of `:all`. Test target
|
||||
names get printed when you run `bazel test :all`. For example, you can run
|
||||
`opt_def_use_test` with:
|
||||
```shell
|
||||
bazel test :opt_def_use_test
|
||||
```
|
||||
|
||||
Tests are only built when googletest is found. Use `ctest` to run all the
|
||||
tests.
|
||||
|
||||
## Future Work
|
||||
<a name="future"></a>
|
||||
@ -782,3 +705,4 @@ limitations under the License.
|
||||
[CMake]: https://cmake.org/
|
||||
[cpp-style-guide]: https://google.github.io/styleguide/cppguide.html
|
||||
[clang-sanitizers]: http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation
|
||||
[master-tot-release]: https://github.com/KhronosGroup/SPIRV-Tools/releases/tag/master-tot
|
||||
|
@ -41,7 +41,6 @@ TEST_COPTS = COMMON_COPTS + select({
|
||||
|
||||
DEBUGINFO_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_debuginfo_grammar_unified1"
|
||||
CLDEBUGINFO100_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_opencl_debuginfo_100_grammar_unified1"
|
||||
SHDEBUGINFO100_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_nonsemantic_shader_debuginfo_100_grammar_unified1"
|
||||
|
||||
def generate_core_tables(version = None):
|
||||
if not version:
|
||||
@ -68,14 +67,6 @@ def generate_core_tables(version = None):
|
||||
"--core-insts-output=$(location {3}) " +
|
||||
"--operand-kinds-output=$(location {4})"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_grammar_tables) " +
|
||||
"--spirv-core-grammar=$(location {0}) " +
|
||||
"--extinst-debuginfo-grammar=$(location {1}) " +
|
||||
"--extinst-cldebuginfo100-grammar=$(location {2}) " +
|
||||
"--core-insts-output=$(location {3}) " +
|
||||
"--operand-kinds-output=$(location {4})"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_grammar_tables"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -105,14 +96,6 @@ def generate_enum_string_mapping(version = None):
|
||||
"--extension-enum-output=$(location {3}) " +
|
||||
"--enum-string-mapping-output=$(location {4})"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_grammar_tables) " +
|
||||
"--spirv-core-grammar=$(location {0}) " +
|
||||
"--extinst-debuginfo-grammar=$(location {1}) " +
|
||||
"--extinst-cldebuginfo100-grammar=$(location {2}) " +
|
||||
"--extension-enum-output=$(location {3}) " +
|
||||
"--enum-string-mapping-output=$(location {4})"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_grammar_tables"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -134,11 +117,6 @@ def generate_opencl_tables(version = None):
|
||||
"--extinst-opencl-grammar=$(location {0}) " +
|
||||
"--opencl-insts-output=$(location {1})"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_grammar_tables) " +
|
||||
"--extinst-opencl-grammar=$(location {0}) " +
|
||||
"--opencl-insts-output=$(location {1})"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_grammar_tables"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -160,11 +138,6 @@ def generate_glsl_tables(version = None):
|
||||
"--extinst-glsl-grammar=$(location {0}) " +
|
||||
"--glsl-insts-output=$(location {1})"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_grammar_tables) " +
|
||||
"--extinst-glsl-grammar=$(location {0}) " +
|
||||
"--glsl-insts-output=$(location {1})"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_grammar_tables"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -187,12 +160,6 @@ def generate_vendor_tables(extension, operand_kind_prefix = ""):
|
||||
"--vendor-insts-output=$(location {1}) " +
|
||||
"--vendor-operand-kind-prefix={2}"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_grammar_tables) " +
|
||||
"--extinst-vendor-grammar=$(location {0}) " +
|
||||
"--vendor-insts-output=$(location {1}) " +
|
||||
"--vendor-operand-kind-prefix={2}"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_grammar_tables"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -211,11 +178,6 @@ def generate_extinst_lang_headers(name, grammar = None):
|
||||
"--extinst-grammar=$< " +
|
||||
"--extinst-output-path=$(location {0})"
|
||||
).format(*fmtargs),
|
||||
cmd_bat = (
|
||||
"$(location :generate_language_headers) " +
|
||||
"--extinst-grammar=$< " +
|
||||
"--extinst-output-path=$(location {0})"
|
||||
).format(*fmtargs),
|
||||
tools = [":generate_language_headers"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
@ -239,23 +201,6 @@ def base_test(name, srcs, deps = []):
|
||||
] + deps,
|
||||
)
|
||||
|
||||
def lint_test(name, srcs, deps = []):
|
||||
if name[-5:] != "_test":
|
||||
name = name + "_test"
|
||||
native.cc_test(
|
||||
name = "lint_" + name,
|
||||
srcs = srcs,
|
||||
compatible_with = [],
|
||||
copts = TEST_COPTS,
|
||||
size = "large",
|
||||
deps = [
|
||||
":spirv_tools_lint",
|
||||
"@com_google_googletest//:gtest_main",
|
||||
"@com_google_googletest//:gtest",
|
||||
"@com_google_effcee//:effcee",
|
||||
] + deps,
|
||||
)
|
||||
|
||||
def link_test(name, srcs, deps = []):
|
||||
if name[-5:] != "_test":
|
||||
name = name + "_test"
|
||||
|
@ -1,4 +0,0 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
|
||||
check_required_components("@PROJECT_NAME@")
|
@ -178,7 +178,6 @@ static const int kInstErrorBuffOOBUniform = 4;
|
||||
static const int kInstErrorBuffOOBStorage = 5;
|
||||
static const int kInstErrorBuffOOBUniformTexel = 6;
|
||||
static const int kInstErrorBuffOOBStorageTexel = 7;
|
||||
static const int kInstErrorMax = kInstErrorBuffOOBStorageTexel;
|
||||
|
||||
// Direct Input Buffer Offsets
|
||||
//
|
||||
|
@ -113,9 +113,6 @@ typedef enum spv_endianness_t {
|
||||
// Sometimes we also need to be able to express the fact that an operand
|
||||
// is a member of an optional tuple of values. In that case the first member
|
||||
// would be optional, and the subsequent members would be required.
|
||||
//
|
||||
// NOTE: Although we don't promise binary compatibility, as a courtesy, please
|
||||
// add new enum values at the end.
|
||||
typedef enum spv_operand_type_t {
|
||||
// A sentinel value.
|
||||
SPV_OPERAND_TYPE_NONE = 0,
|
||||
@ -170,8 +167,12 @@ typedef enum spv_operand_type_t {
|
||||
SPV_OPERAND_TYPE_KERNEL_ENQ_FLAGS, // SPIR-V Sec 3.29
|
||||
SPV_OPERAND_TYPE_KERNEL_PROFILING_INFO, // SPIR-V Sec 3.30
|
||||
SPV_OPERAND_TYPE_CAPABILITY, // SPIR-V Sec 3.31
|
||||
|
||||
// NOTE: New concrete enum values should be added at the end.
|
||||
SPV_OPERAND_TYPE_RAY_FLAGS, // SPIR-V Sec 3.RF
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_INTERSECTION, // SPIR-V Sec 3.RQIntersection
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_COMMITTED_INTERSECTION_TYPE, // SPIR-V Sec
|
||||
// 3.RQCommitted
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_CANDIDATE_INTERSECTION_TYPE, // SPIR-V Sec
|
||||
// 3.RQCandidate
|
||||
|
||||
// Set 5: Operands that are a single word bitmask.
|
||||
// Sometimes a set bit indicates the instruction requires still more operands.
|
||||
@ -183,10 +184,7 @@ typedef enum spv_operand_type_t {
|
||||
SPV_OPERAND_TYPE_MEMORY_ACCESS, // SPIR-V Sec 3.26
|
||||
SPV_OPERAND_TYPE_FRAGMENT_SHADING_RATE, // SPIR-V Sec 3.FSR
|
||||
|
||||
// NOTE: New concrete enum values should be added at the end.
|
||||
|
||||
// The "optional" and "variable" operand types are only used internally by
|
||||
// the assembler and the binary parser.
|
||||
// The remaining operand types are only used internally by the assembler.
|
||||
// There are two categories:
|
||||
// Optional : expands to 0 or 1 operand, like ? in regular expressions.
|
||||
// Variable : expands to 0, 1 or many operands or pairs of operands.
|
||||
@ -271,14 +269,6 @@ typedef enum spv_operand_type_t {
|
||||
// A value enum from https://github.com/KhronosGroup/SPIRV-Headers/pull/177
|
||||
SPV_OPERAND_TYPE_OVERFLOW_MODES,
|
||||
|
||||
// Concrete operand types for the provisional Vulkan ray tracing feature.
|
||||
SPV_OPERAND_TYPE_RAY_FLAGS, // SPIR-V Sec 3.RF
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_INTERSECTION, // SPIR-V Sec 3.RQIntersection
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_COMMITTED_INTERSECTION_TYPE, // SPIR-V Sec
|
||||
// 3.RQCommitted
|
||||
SPV_OPERAND_TYPE_RAY_QUERY_CANDIDATE_INTERSECTION_TYPE, // SPIR-V Sec
|
||||
// 3.RQCandidate
|
||||
|
||||
// Concrete operand types for integer dot product.
|
||||
// Packed vector format
|
||||
SPV_OPERAND_TYPE_PACKED_VECTOR_FORMAT, // SPIR-V Sec 3.x
|
||||
@ -309,7 +299,6 @@ typedef enum spv_ext_inst_type_t {
|
||||
SPV_EXT_INST_TYPE_DEBUGINFO,
|
||||
SPV_EXT_INST_TYPE_OPENCL_DEBUGINFO_100,
|
||||
SPV_EXT_INST_TYPE_NONSEMANTIC_CLSPVREFLECTION,
|
||||
SPV_EXT_INST_TYPE_NONSEMANTIC_VULKAN_DEBUGINFO_100,
|
||||
|
||||
// Multiple distinct extended instruction set types could return this
|
||||
// value, if they are prefixed with NonSemantic. and are otherwise
|
||||
|
@ -115,12 +115,6 @@ class ValidatorOptions {
|
||||
spvValidatorOptionsSetSkipBlockLayout(options_, val);
|
||||
}
|
||||
|
||||
// Enables LocalSizeId decorations where the environment would not otherwise
|
||||
// allow them.
|
||||
void SetAllowLocalSizeId(bool val) {
|
||||
spvValidatorOptionsSetAllowLocalSizeId(options_, val);
|
||||
}
|
||||
|
||||
// Records whether or not the validator should relax the rules on pointer
|
||||
// usage in logical addressing mode.
|
||||
//
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "libspirv.hpp"
|
||||
@ -28,7 +27,6 @@ namespace spvtools {
|
||||
|
||||
namespace opt {
|
||||
class Pass;
|
||||
struct DescriptorSetAndBinding;
|
||||
}
|
||||
|
||||
// C++ interface for SPIR-V optimization functionalities. It wraps the context
|
||||
@ -516,13 +514,6 @@ Optimizer::PassToken CreateDeadInsertElimPass();
|
||||
// eliminated with standard dead code elimination.
|
||||
Optimizer::PassToken CreateAggressiveDCEPass();
|
||||
|
||||
// Creates a remove-unused-interface-variables pass.
|
||||
// Removes variables referenced on the |OpEntryPoint| instruction that are not
|
||||
// referenced in the entry point function or any function in its call tree. Note
|
||||
// that this could cause the shader interface to no longer match other shader
|
||||
// stages.
|
||||
Optimizer::PassToken CreateRemoveUnusedInterfaceVariablesPass();
|
||||
|
||||
// Creates an empty pass.
|
||||
// This is deprecated and will be removed.
|
||||
// TODO(jaebaek): remove this pass after handling glslang's broken unit tests.
|
||||
@ -856,16 +847,6 @@ Optimizer::PassToken CreateAmdExtToKhrPass();
|
||||
// propagated into their final positions.
|
||||
Optimizer::PassToken CreateInterpolateFixupPass();
|
||||
|
||||
// Creates a convert-to-sampled-image pass to convert images and/or
|
||||
// samplers with given pairs of descriptor set and binding to sampled image.
|
||||
// If a pair of an image and a sampler have the same pair of descriptor set and
|
||||
// binding that is one of the given pairs, they will be converted to a sampled
|
||||
// image. In addition, if only an image has the descriptor set and binding that
|
||||
// is one of the given pairs, it will be converted to a sampled image as well.
|
||||
Optimizer::PassToken CreateConvertToSampledImagePass(
|
||||
const std::vector<opt::DescriptorSetAndBinding>&
|
||||
descriptor_set_binding_pairs);
|
||||
|
||||
} // namespace spvtools
|
||||
|
||||
#endif // INCLUDE_SPIRV_TOOLS_OPTIMIZER_HPP_
|
||||
|
@ -1,131 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2014-2016 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 GLSLstd450_H
|
||||
#define GLSLstd450_H
|
||||
|
||||
static const int GLSLstd450Version = 100;
|
||||
static const int GLSLstd450Revision = 3;
|
||||
|
||||
enum GLSLstd450 {
|
||||
GLSLstd450Bad = 0, // Don't use
|
||||
|
||||
GLSLstd450Round = 1,
|
||||
GLSLstd450RoundEven = 2,
|
||||
GLSLstd450Trunc = 3,
|
||||
GLSLstd450FAbs = 4,
|
||||
GLSLstd450SAbs = 5,
|
||||
GLSLstd450FSign = 6,
|
||||
GLSLstd450SSign = 7,
|
||||
GLSLstd450Floor = 8,
|
||||
GLSLstd450Ceil = 9,
|
||||
GLSLstd450Fract = 10,
|
||||
|
||||
GLSLstd450Radians = 11,
|
||||
GLSLstd450Degrees = 12,
|
||||
GLSLstd450Sin = 13,
|
||||
GLSLstd450Cos = 14,
|
||||
GLSLstd450Tan = 15,
|
||||
GLSLstd450Asin = 16,
|
||||
GLSLstd450Acos = 17,
|
||||
GLSLstd450Atan = 18,
|
||||
GLSLstd450Sinh = 19,
|
||||
GLSLstd450Cosh = 20,
|
||||
GLSLstd450Tanh = 21,
|
||||
GLSLstd450Asinh = 22,
|
||||
GLSLstd450Acosh = 23,
|
||||
GLSLstd450Atanh = 24,
|
||||
GLSLstd450Atan2 = 25,
|
||||
|
||||
GLSLstd450Pow = 26,
|
||||
GLSLstd450Exp = 27,
|
||||
GLSLstd450Log = 28,
|
||||
GLSLstd450Exp2 = 29,
|
||||
GLSLstd450Log2 = 30,
|
||||
GLSLstd450Sqrt = 31,
|
||||
GLSLstd450InverseSqrt = 32,
|
||||
|
||||
GLSLstd450Determinant = 33,
|
||||
GLSLstd450MatrixInverse = 34,
|
||||
|
||||
GLSLstd450Modf = 35, // second operand needs an OpVariable to write to
|
||||
GLSLstd450ModfStruct = 36, // no OpVariable operand
|
||||
GLSLstd450FMin = 37,
|
||||
GLSLstd450UMin = 38,
|
||||
GLSLstd450SMin = 39,
|
||||
GLSLstd450FMax = 40,
|
||||
GLSLstd450UMax = 41,
|
||||
GLSLstd450SMax = 42,
|
||||
GLSLstd450FClamp = 43,
|
||||
GLSLstd450UClamp = 44,
|
||||
GLSLstd450SClamp = 45,
|
||||
GLSLstd450FMix = 46,
|
||||
GLSLstd450IMix = 47, // Reserved
|
||||
GLSLstd450Step = 48,
|
||||
GLSLstd450SmoothStep = 49,
|
||||
|
||||
GLSLstd450Fma = 50,
|
||||
GLSLstd450Frexp = 51, // second operand needs an OpVariable to write to
|
||||
GLSLstd450FrexpStruct = 52, // no OpVariable operand
|
||||
GLSLstd450Ldexp = 53,
|
||||
|
||||
GLSLstd450PackSnorm4x8 = 54,
|
||||
GLSLstd450PackUnorm4x8 = 55,
|
||||
GLSLstd450PackSnorm2x16 = 56,
|
||||
GLSLstd450PackUnorm2x16 = 57,
|
||||
GLSLstd450PackHalf2x16 = 58,
|
||||
GLSLstd450PackDouble2x32 = 59,
|
||||
GLSLstd450UnpackSnorm2x16 = 60,
|
||||
GLSLstd450UnpackUnorm2x16 = 61,
|
||||
GLSLstd450UnpackHalf2x16 = 62,
|
||||
GLSLstd450UnpackSnorm4x8 = 63,
|
||||
GLSLstd450UnpackUnorm4x8 = 64,
|
||||
GLSLstd450UnpackDouble2x32 = 65,
|
||||
|
||||
GLSLstd450Length = 66,
|
||||
GLSLstd450Distance = 67,
|
||||
GLSLstd450Cross = 68,
|
||||
GLSLstd450Normalize = 69,
|
||||
GLSLstd450FaceForward = 70,
|
||||
GLSLstd450Reflect = 71,
|
||||
GLSLstd450Refract = 72,
|
||||
|
||||
GLSLstd450FindILsb = 73,
|
||||
GLSLstd450FindSMsb = 74,
|
||||
GLSLstd450FindUMsb = 75,
|
||||
|
||||
GLSLstd450InterpolateAtCentroid = 76,
|
||||
GLSLstd450InterpolateAtSample = 77,
|
||||
GLSLstd450InterpolateAtOffset = 78,
|
||||
|
||||
GLSLstd450NMin = 79,
|
||||
GLSLstd450NMax = 80,
|
||||
GLSLstd450NClamp = 81,
|
||||
|
||||
GLSLstd450Count
|
||||
};
|
||||
|
||||
#endif // #ifndef GLSLstd450_H
|
@ -1,210 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2015-2017 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.
|
||||
*/
|
||||
|
||||
namespace OpenCLLIB {
|
||||
|
||||
enum Entrypoints {
|
||||
|
||||
// Section 2.1: Math extended instructions
|
||||
Acos = 0,
|
||||
Acosh = 1,
|
||||
Acospi = 2,
|
||||
Asin = 3,
|
||||
Asinh = 4,
|
||||
Asinpi = 5,
|
||||
Atan = 6,
|
||||
Atan2 = 7,
|
||||
Atanh = 8,
|
||||
Atanpi = 9,
|
||||
Atan2pi = 10,
|
||||
Cbrt = 11,
|
||||
Ceil = 12,
|
||||
Copysign = 13,
|
||||
Cos = 14,
|
||||
Cosh = 15,
|
||||
Cospi = 16,
|
||||
Erfc = 17,
|
||||
Erf = 18,
|
||||
Exp = 19,
|
||||
Exp2 = 20,
|
||||
Exp10 = 21,
|
||||
Expm1 = 22,
|
||||
Fabs = 23,
|
||||
Fdim = 24,
|
||||
Floor = 25,
|
||||
Fma = 26,
|
||||
Fmax = 27,
|
||||
Fmin = 28,
|
||||
Fmod = 29,
|
||||
Fract = 30,
|
||||
Frexp = 31,
|
||||
Hypot = 32,
|
||||
Ilogb = 33,
|
||||
Ldexp = 34,
|
||||
Lgamma = 35,
|
||||
Lgamma_r = 36,
|
||||
Log = 37,
|
||||
Log2 = 38,
|
||||
Log10 = 39,
|
||||
Log1p = 40,
|
||||
Logb = 41,
|
||||
Mad = 42,
|
||||
Maxmag = 43,
|
||||
Minmag = 44,
|
||||
Modf = 45,
|
||||
Nan = 46,
|
||||
Nextafter = 47,
|
||||
Pow = 48,
|
||||
Pown = 49,
|
||||
Powr = 50,
|
||||
Remainder = 51,
|
||||
Remquo = 52,
|
||||
Rint = 53,
|
||||
Rootn = 54,
|
||||
Round = 55,
|
||||
Rsqrt = 56,
|
||||
Sin = 57,
|
||||
Sincos = 58,
|
||||
Sinh = 59,
|
||||
Sinpi = 60,
|
||||
Sqrt = 61,
|
||||
Tan = 62,
|
||||
Tanh = 63,
|
||||
Tanpi = 64,
|
||||
Tgamma = 65,
|
||||
Trunc = 66,
|
||||
Half_cos = 67,
|
||||
Half_divide = 68,
|
||||
Half_exp = 69,
|
||||
Half_exp2 = 70,
|
||||
Half_exp10 = 71,
|
||||
Half_log = 72,
|
||||
Half_log2 = 73,
|
||||
Half_log10 = 74,
|
||||
Half_powr = 75,
|
||||
Half_recip = 76,
|
||||
Half_rsqrt = 77,
|
||||
Half_sin = 78,
|
||||
Half_sqrt = 79,
|
||||
Half_tan = 80,
|
||||
Native_cos = 81,
|
||||
Native_divide = 82,
|
||||
Native_exp = 83,
|
||||
Native_exp2 = 84,
|
||||
Native_exp10 = 85,
|
||||
Native_log = 86,
|
||||
Native_log2 = 87,
|
||||
Native_log10 = 88,
|
||||
Native_powr = 89,
|
||||
Native_recip = 90,
|
||||
Native_rsqrt = 91,
|
||||
Native_sin = 92,
|
||||
Native_sqrt = 93,
|
||||
Native_tan = 94,
|
||||
|
||||
// Section 2.2: Integer instructions
|
||||
SAbs = 141,
|
||||
SAbs_diff = 142,
|
||||
SAdd_sat = 143,
|
||||
UAdd_sat = 144,
|
||||
SHadd = 145,
|
||||
UHadd = 146,
|
||||
SRhadd = 147,
|
||||
URhadd = 148,
|
||||
SClamp = 149,
|
||||
UClamp = 150,
|
||||
Clz = 151,
|
||||
Ctz = 152,
|
||||
SMad_hi = 153,
|
||||
UMad_sat = 154,
|
||||
SMad_sat = 155,
|
||||
SMax = 156,
|
||||
UMax = 157,
|
||||
SMin = 158,
|
||||
UMin = 159,
|
||||
SMul_hi = 160,
|
||||
Rotate = 161,
|
||||
SSub_sat = 162,
|
||||
USub_sat = 163,
|
||||
U_Upsample = 164,
|
||||
S_Upsample = 165,
|
||||
Popcount = 166,
|
||||
SMad24 = 167,
|
||||
UMad24 = 168,
|
||||
SMul24 = 169,
|
||||
UMul24 = 170,
|
||||
UAbs = 201,
|
||||
UAbs_diff = 202,
|
||||
UMul_hi = 203,
|
||||
UMad_hi = 204,
|
||||
|
||||
// Section 2.3: Common instructions
|
||||
FClamp = 95,
|
||||
Degrees = 96,
|
||||
FMax_common = 97,
|
||||
FMin_common = 98,
|
||||
Mix = 99,
|
||||
Radians = 100,
|
||||
Step = 101,
|
||||
Smoothstep = 102,
|
||||
Sign = 103,
|
||||
|
||||
// Section 2.4: Geometric instructions
|
||||
Cross = 104,
|
||||
Distance = 105,
|
||||
Length = 106,
|
||||
Normalize = 107,
|
||||
Fast_distance = 108,
|
||||
Fast_length = 109,
|
||||
Fast_normalize = 110,
|
||||
|
||||
// Section 2.5: Relational instructions
|
||||
Bitselect = 186,
|
||||
Select = 187,
|
||||
|
||||
// Section 2.6: Vector Data Load and Store instructions
|
||||
Vloadn = 171,
|
||||
Vstoren = 172,
|
||||
Vload_half = 173,
|
||||
Vload_halfn = 174,
|
||||
Vstore_half = 175,
|
||||
Vstore_half_r = 176,
|
||||
Vstore_halfn = 177,
|
||||
Vstore_halfn_r = 178,
|
||||
Vloada_halfn = 179,
|
||||
Vstorea_halfn = 180,
|
||||
Vstorea_halfn_r = 181,
|
||||
|
||||
// Section 2.7: Miscellaneous Vector instructions
|
||||
Shuffle = 182,
|
||||
Shuffle2 = 183,
|
||||
|
||||
// Section 2.8: Misc instructions
|
||||
Printf = 184,
|
||||
Prefetch = 185,
|
||||
};
|
||||
|
||||
} // end namespace OpenCLLIB
|
@ -1,642 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2014-2016 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Round",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "RoundEven",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Trunc",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FAbs",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SAbs",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FSign",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SSign",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Floor",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ceil",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fract",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Radians",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'degrees'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Degrees",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'radians'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sin",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cos",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tan",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asin",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acos",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y_over_x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sinh",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cosh",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tanh",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asinh",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acosh",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atanh",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan2",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Pow",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp2",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log2",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sqrt",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InverseSqrt",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Determinant",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "MatrixInverse",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Modf",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'i'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ModfStruct",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMin",
|
||||
"opcode" : 37,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMin",
|
||||
"opcode" : 38,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMin",
|
||||
"opcode" : 39,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMax",
|
||||
"opcode" : 40,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMax",
|
||||
"opcode" : 41,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMax",
|
||||
"opcode" : 42,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FClamp",
|
||||
"opcode" : 43,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UClamp",
|
||||
"opcode" : 44,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SClamp",
|
||||
"opcode" : 45,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMix",
|
||||
"opcode" : 46,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "IMix",
|
||||
"opcode" : 47,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Step",
|
||||
"opcode" : 48,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SmoothStep",
|
||||
"opcode" : 49,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge0'" },
|
||||
{ "kind" : "IdRef", "name" : "'edge1'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fma",
|
||||
"opcode" : 50,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'a'" },
|
||||
{ "kind" : "IdRef", "name" : "'b'" },
|
||||
{ "kind" : "IdRef", "name" : "'c'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Frexp",
|
||||
"opcode" : 51,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FrexpStruct",
|
||||
"opcode" : 52,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ldexp",
|
||||
"opcode" : 53,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm4x8",
|
||||
"opcode" : 54,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm4x8",
|
||||
"opcode" : 55,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm2x16",
|
||||
"opcode" : 56,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm2x16",
|
||||
"opcode" : 57,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackHalf2x16",
|
||||
"opcode" : 58,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackDouble2x32",
|
||||
"opcode" : 59,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm2x16",
|
||||
"opcode" : 60,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm2x16",
|
||||
"opcode" : 61,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackHalf2x16",
|
||||
"opcode" : 62,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm4x8",
|
||||
"opcode" : 63,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm4x8",
|
||||
"opcode" : 64,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackDouble2x32",
|
||||
"opcode" : 65,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "Length",
|
||||
"opcode" : 66,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Distance",
|
||||
"opcode" : 67,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p0'" },
|
||||
{ "kind" : "IdRef", "name" : "'p1'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cross",
|
||||
"opcode" : 68,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Normalize",
|
||||
"opcode" : 69,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FaceForward",
|
||||
"opcode" : 70,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'Nref'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Reflect",
|
||||
"opcode" : 71,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Refract",
|
||||
"opcode" : 72,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'eta'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindILsb",
|
||||
"opcode" : 73,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindSMsb",
|
||||
"opcode" : 74,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindUMsb",
|
||||
"opcode" : 75,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtCentroid",
|
||||
"opcode" : 76,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtSample",
|
||||
"opcode" : 77,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'sample'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtOffset",
|
||||
"opcode" : 78,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'offset'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "NMin",
|
||||
"opcode" : 79,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NMax",
|
||||
"opcode" : 80,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NClamp",
|
||||
"opcode" : 81,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,993 +0,0 @@
|
||||
// Copyright (c) 2014-2018 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.
|
||||
|
||||
// This header is automatically generated by the same tool that creates
|
||||
// the Binary Section of the SPIR-V specification.
|
||||
|
||||
// Enumeration tokens for SPIR-V, in various styles:
|
||||
// C, C++, C++11, JSON, Lua, Python, C#
|
||||
//
|
||||
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
// - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL
|
||||
//
|
||||
// Some tokens act like mask values, which can be OR'd together,
|
||||
// while others are mutually exclusive. The mask-like ones have
|
||||
// "Mask" in their name, and a parallel enum that has the shift
|
||||
// amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
namespace Spv
|
||||
{
|
||||
|
||||
public static class Specification
|
||||
{
|
||||
public const uint MagicNumber = 0x07230203;
|
||||
public const uint Version = 0x00010000;
|
||||
public const uint Revision = 12;
|
||||
public const uint OpCodeMask = 0xffff;
|
||||
public const uint WordCountShift = 16;
|
||||
|
||||
public enum SourceLanguage
|
||||
{
|
||||
Unknown = 0,
|
||||
ESSL = 1,
|
||||
GLSL = 2,
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
}
|
||||
|
||||
public enum ExecutionModel
|
||||
{
|
||||
Vertex = 0,
|
||||
TessellationControl = 1,
|
||||
TessellationEvaluation = 2,
|
||||
Geometry = 3,
|
||||
Fragment = 4,
|
||||
GLCompute = 5,
|
||||
Kernel = 6,
|
||||
}
|
||||
|
||||
public enum AddressingModel
|
||||
{
|
||||
Logical = 0,
|
||||
Physical32 = 1,
|
||||
Physical64 = 2,
|
||||
}
|
||||
|
||||
public enum MemoryModel
|
||||
{
|
||||
Simple = 0,
|
||||
GLSL450 = 1,
|
||||
OpenCL = 2,
|
||||
}
|
||||
|
||||
public enum ExecutionMode
|
||||
{
|
||||
Invocations = 0,
|
||||
SpacingEqual = 1,
|
||||
SpacingFractionalEven = 2,
|
||||
SpacingFractionalOdd = 3,
|
||||
VertexOrderCw = 4,
|
||||
VertexOrderCcw = 5,
|
||||
PixelCenterInteger = 6,
|
||||
OriginUpperLeft = 7,
|
||||
OriginLowerLeft = 8,
|
||||
EarlyFragmentTests = 9,
|
||||
PointMode = 10,
|
||||
Xfb = 11,
|
||||
DepthReplacing = 12,
|
||||
DepthGreater = 14,
|
||||
DepthLess = 15,
|
||||
DepthUnchanged = 16,
|
||||
LocalSize = 17,
|
||||
LocalSizeHint = 18,
|
||||
InputPoints = 19,
|
||||
InputLines = 20,
|
||||
InputLinesAdjacency = 21,
|
||||
Triangles = 22,
|
||||
InputTrianglesAdjacency = 23,
|
||||
Quads = 24,
|
||||
Isolines = 25,
|
||||
OutputVertices = 26,
|
||||
OutputPoints = 27,
|
||||
OutputLineStrip = 28,
|
||||
OutputTriangleStrip = 29,
|
||||
VecTypeHint = 30,
|
||||
ContractionOff = 31,
|
||||
PostDepthCoverage = 4446,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
}
|
||||
|
||||
public enum StorageClass
|
||||
{
|
||||
UniformConstant = 0,
|
||||
Input = 1,
|
||||
Uniform = 2,
|
||||
Output = 3,
|
||||
Workgroup = 4,
|
||||
CrossWorkgroup = 5,
|
||||
Private = 6,
|
||||
Function = 7,
|
||||
Generic = 8,
|
||||
PushConstant = 9,
|
||||
AtomicCounter = 10,
|
||||
Image = 11,
|
||||
StorageBuffer = 12,
|
||||
}
|
||||
|
||||
public enum Dim
|
||||
{
|
||||
Dim1D = 0,
|
||||
Dim2D = 1,
|
||||
Dim3D = 2,
|
||||
Cube = 3,
|
||||
Rect = 4,
|
||||
Buffer = 5,
|
||||
SubpassData = 6,
|
||||
}
|
||||
|
||||
public enum SamplerAddressingMode
|
||||
{
|
||||
None = 0,
|
||||
ClampToEdge = 1,
|
||||
Clamp = 2,
|
||||
Repeat = 3,
|
||||
RepeatMirrored = 4,
|
||||
}
|
||||
|
||||
public enum SamplerFilterMode
|
||||
{
|
||||
Nearest = 0,
|
||||
Linear = 1,
|
||||
}
|
||||
|
||||
public enum ImageFormat
|
||||
{
|
||||
Unknown = 0,
|
||||
Rgba32f = 1,
|
||||
Rgba16f = 2,
|
||||
R32f = 3,
|
||||
Rgba8 = 4,
|
||||
Rgba8Snorm = 5,
|
||||
Rg32f = 6,
|
||||
Rg16f = 7,
|
||||
R11fG11fB10f = 8,
|
||||
R16f = 9,
|
||||
Rgba16 = 10,
|
||||
Rgb10A2 = 11,
|
||||
Rg16 = 12,
|
||||
Rg8 = 13,
|
||||
R16 = 14,
|
||||
R8 = 15,
|
||||
Rgba16Snorm = 16,
|
||||
Rg16Snorm = 17,
|
||||
Rg8Snorm = 18,
|
||||
R16Snorm = 19,
|
||||
R8Snorm = 20,
|
||||
Rgba32i = 21,
|
||||
Rgba16i = 22,
|
||||
Rgba8i = 23,
|
||||
R32i = 24,
|
||||
Rg32i = 25,
|
||||
Rg16i = 26,
|
||||
Rg8i = 27,
|
||||
R16i = 28,
|
||||
R8i = 29,
|
||||
Rgba32ui = 30,
|
||||
Rgba16ui = 31,
|
||||
Rgba8ui = 32,
|
||||
R32ui = 33,
|
||||
Rgb10a2ui = 34,
|
||||
Rg32ui = 35,
|
||||
Rg16ui = 36,
|
||||
Rg8ui = 37,
|
||||
R16ui = 38,
|
||||
R8ui = 39,
|
||||
}
|
||||
|
||||
public enum ImageChannelOrder
|
||||
{
|
||||
R = 0,
|
||||
A = 1,
|
||||
RG = 2,
|
||||
RA = 3,
|
||||
RGB = 4,
|
||||
RGBA = 5,
|
||||
BGRA = 6,
|
||||
ARGB = 7,
|
||||
Intensity = 8,
|
||||
Luminance = 9,
|
||||
Rx = 10,
|
||||
RGx = 11,
|
||||
RGBx = 12,
|
||||
Depth = 13,
|
||||
DepthStencil = 14,
|
||||
sRGB = 15,
|
||||
sRGBx = 16,
|
||||
sRGBA = 17,
|
||||
sBGRA = 18,
|
||||
ABGR = 19,
|
||||
}
|
||||
|
||||
public enum ImageChannelDataType
|
||||
{
|
||||
SnormInt8 = 0,
|
||||
SnormInt16 = 1,
|
||||
UnormInt8 = 2,
|
||||
UnormInt16 = 3,
|
||||
UnormShort565 = 4,
|
||||
UnormShort555 = 5,
|
||||
UnormInt101010 = 6,
|
||||
SignedInt8 = 7,
|
||||
SignedInt16 = 8,
|
||||
SignedInt32 = 9,
|
||||
UnsignedInt8 = 10,
|
||||
UnsignedInt16 = 11,
|
||||
UnsignedInt32 = 12,
|
||||
HalfFloat = 13,
|
||||
Float = 14,
|
||||
UnormInt24 = 15,
|
||||
UnormInt101010_2 = 16,
|
||||
}
|
||||
|
||||
public enum ImageOperandsShift
|
||||
{
|
||||
Bias = 0,
|
||||
Lod = 1,
|
||||
Grad = 2,
|
||||
ConstOffset = 3,
|
||||
Offset = 4,
|
||||
ConstOffsets = 5,
|
||||
Sample = 6,
|
||||
MinLod = 7,
|
||||
}
|
||||
|
||||
public enum ImageOperandsMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Bias = 0x00000001,
|
||||
Lod = 0x00000002,
|
||||
Grad = 0x00000004,
|
||||
ConstOffset = 0x00000008,
|
||||
Offset = 0x00000010,
|
||||
ConstOffsets = 0x00000020,
|
||||
Sample = 0x00000040,
|
||||
MinLod = 0x00000080,
|
||||
}
|
||||
|
||||
public enum FPFastMathModeShift
|
||||
{
|
||||
NotNaN = 0,
|
||||
NotInf = 1,
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
}
|
||||
|
||||
public enum FPFastMathModeMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
NotNaN = 0x00000001,
|
||||
NotInf = 0x00000002,
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
}
|
||||
|
||||
public enum FPRoundingMode
|
||||
{
|
||||
RTE = 0,
|
||||
RTZ = 1,
|
||||
RTP = 2,
|
||||
RTN = 3,
|
||||
}
|
||||
|
||||
public enum LinkageType
|
||||
{
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
}
|
||||
|
||||
public enum AccessQualifier
|
||||
{
|
||||
ReadOnly = 0,
|
||||
WriteOnly = 1,
|
||||
ReadWrite = 2,
|
||||
}
|
||||
|
||||
public enum FunctionParameterAttribute
|
||||
{
|
||||
Zext = 0,
|
||||
Sext = 1,
|
||||
ByVal = 2,
|
||||
Sret = 3,
|
||||
NoAlias = 4,
|
||||
NoCapture = 5,
|
||||
NoWrite = 6,
|
||||
NoReadWrite = 7,
|
||||
}
|
||||
|
||||
public enum Decoration
|
||||
{
|
||||
RelaxedPrecision = 0,
|
||||
SpecId = 1,
|
||||
Block = 2,
|
||||
BufferBlock = 3,
|
||||
RowMajor = 4,
|
||||
ColMajor = 5,
|
||||
ArrayStride = 6,
|
||||
MatrixStride = 7,
|
||||
GLSLShared = 8,
|
||||
GLSLPacked = 9,
|
||||
CPacked = 10,
|
||||
BuiltIn = 11,
|
||||
NoPerspective = 13,
|
||||
Flat = 14,
|
||||
Patch = 15,
|
||||
Centroid = 16,
|
||||
Sample = 17,
|
||||
Invariant = 18,
|
||||
Restrict = 19,
|
||||
Aliased = 20,
|
||||
Volatile = 21,
|
||||
Constant = 22,
|
||||
Coherent = 23,
|
||||
NonWritable = 24,
|
||||
NonReadable = 25,
|
||||
Uniform = 26,
|
||||
SaturatedConversion = 28,
|
||||
Stream = 29,
|
||||
Location = 30,
|
||||
Component = 31,
|
||||
Index = 32,
|
||||
Binding = 33,
|
||||
DescriptorSet = 34,
|
||||
Offset = 35,
|
||||
XfbBuffer = 36,
|
||||
XfbStride = 37,
|
||||
FuncParamAttr = 38,
|
||||
FPRoundingMode = 39,
|
||||
FPFastMathMode = 40,
|
||||
LinkageAttributes = 41,
|
||||
NoContraction = 42,
|
||||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
ExplicitInterpAMD = 4999,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
}
|
||||
|
||||
public enum BuiltIn
|
||||
{
|
||||
Position = 0,
|
||||
PointSize = 1,
|
||||
ClipDistance = 3,
|
||||
CullDistance = 4,
|
||||
VertexId = 5,
|
||||
InstanceId = 6,
|
||||
PrimitiveId = 7,
|
||||
InvocationId = 8,
|
||||
Layer = 9,
|
||||
ViewportIndex = 10,
|
||||
TessLevelOuter = 11,
|
||||
TessLevelInner = 12,
|
||||
TessCoord = 13,
|
||||
PatchVertices = 14,
|
||||
FragCoord = 15,
|
||||
PointCoord = 16,
|
||||
FrontFacing = 17,
|
||||
SampleId = 18,
|
||||
SamplePosition = 19,
|
||||
SampleMask = 20,
|
||||
FragDepth = 22,
|
||||
HelperInvocation = 23,
|
||||
NumWorkgroups = 24,
|
||||
WorkgroupSize = 25,
|
||||
WorkgroupId = 26,
|
||||
LocalInvocationId = 27,
|
||||
GlobalInvocationId = 28,
|
||||
LocalInvocationIndex = 29,
|
||||
WorkDim = 30,
|
||||
GlobalSize = 31,
|
||||
EnqueuedWorkgroupSize = 32,
|
||||
GlobalOffset = 33,
|
||||
GlobalLinearId = 34,
|
||||
SubgroupSize = 36,
|
||||
SubgroupMaxSize = 37,
|
||||
NumSubgroups = 38,
|
||||
NumEnqueuedSubgroups = 39,
|
||||
SubgroupId = 40,
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMaskKHR = 4417,
|
||||
SubgroupGtMaskKHR = 4418,
|
||||
SubgroupLeMaskKHR = 4419,
|
||||
SubgroupLtMaskKHR = 4420,
|
||||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
BaryCoordNoPerspAMD = 4992,
|
||||
BaryCoordNoPerspCentroidAMD = 4993,
|
||||
BaryCoordNoPerspSampleAMD = 4994,
|
||||
BaryCoordSmoothAMD = 4995,
|
||||
BaryCoordSmoothCentroidAMD = 4996,
|
||||
BaryCoordSmoothSampleAMD = 4997,
|
||||
BaryCoordPullModelAMD = 4998,
|
||||
FragStencilRefEXT = 5014,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
}
|
||||
|
||||
public enum SelectionControlShift
|
||||
{
|
||||
Flatten = 0,
|
||||
DontFlatten = 1,
|
||||
}
|
||||
|
||||
public enum SelectionControlMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Flatten = 0x00000001,
|
||||
DontFlatten = 0x00000002,
|
||||
}
|
||||
|
||||
public enum LoopControlShift
|
||||
{
|
||||
Unroll = 0,
|
||||
DontUnroll = 1,
|
||||
}
|
||||
|
||||
public enum LoopControlMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Unroll = 0x00000001,
|
||||
DontUnroll = 0x00000002,
|
||||
}
|
||||
|
||||
public enum FunctionControlShift
|
||||
{
|
||||
Inline = 0,
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
}
|
||||
|
||||
public enum FunctionControlMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Inline = 0x00000001,
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
}
|
||||
|
||||
public enum MemorySemanticsShift
|
||||
{
|
||||
Acquire = 1,
|
||||
Release = 2,
|
||||
AcquireRelease = 3,
|
||||
SequentiallyConsistent = 4,
|
||||
UniformMemory = 6,
|
||||
SubgroupMemory = 7,
|
||||
WorkgroupMemory = 8,
|
||||
CrossWorkgroupMemory = 9,
|
||||
AtomicCounterMemory = 10,
|
||||
ImageMemory = 11,
|
||||
}
|
||||
|
||||
public enum MemorySemanticsMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Acquire = 0x00000002,
|
||||
Release = 0x00000004,
|
||||
AcquireRelease = 0x00000008,
|
||||
SequentiallyConsistent = 0x00000010,
|
||||
UniformMemory = 0x00000040,
|
||||
SubgroupMemory = 0x00000080,
|
||||
WorkgroupMemory = 0x00000100,
|
||||
CrossWorkgroupMemory = 0x00000200,
|
||||
AtomicCounterMemory = 0x00000400,
|
||||
ImageMemory = 0x00000800,
|
||||
}
|
||||
|
||||
public enum MemoryAccessShift
|
||||
{
|
||||
Volatile = 0,
|
||||
Aligned = 1,
|
||||
Nontemporal = 2,
|
||||
}
|
||||
|
||||
public enum MemoryAccessMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
Volatile = 0x00000001,
|
||||
Aligned = 0x00000002,
|
||||
Nontemporal = 0x00000004,
|
||||
}
|
||||
|
||||
public enum Scope
|
||||
{
|
||||
CrossDevice = 0,
|
||||
Device = 1,
|
||||
Workgroup = 2,
|
||||
Subgroup = 3,
|
||||
Invocation = 4,
|
||||
}
|
||||
|
||||
public enum GroupOperation
|
||||
{
|
||||
Reduce = 0,
|
||||
InclusiveScan = 1,
|
||||
ExclusiveScan = 2,
|
||||
}
|
||||
|
||||
public enum KernelEnqueueFlags
|
||||
{
|
||||
NoWait = 0,
|
||||
WaitKernel = 1,
|
||||
WaitWorkGroup = 2,
|
||||
}
|
||||
|
||||
public enum KernelProfilingInfoShift
|
||||
{
|
||||
CmdExecTime = 0,
|
||||
}
|
||||
|
||||
public enum KernelProfilingInfoMask
|
||||
{
|
||||
MaskNone = 0,
|
||||
CmdExecTime = 0x00000001,
|
||||
}
|
||||
|
||||
public enum Capability
|
||||
{
|
||||
Matrix = 0,
|
||||
Shader = 1,
|
||||
Geometry = 2,
|
||||
Tessellation = 3,
|
||||
Addresses = 4,
|
||||
Linkage = 5,
|
||||
Kernel = 6,
|
||||
Vector16 = 7,
|
||||
Float16Buffer = 8,
|
||||
Float16 = 9,
|
||||
Float64 = 10,
|
||||
Int64 = 11,
|
||||
Int64Atomics = 12,
|
||||
ImageBasic = 13,
|
||||
ImageReadWrite = 14,
|
||||
ImageMipmap = 15,
|
||||
Pipes = 17,
|
||||
Groups = 18,
|
||||
DeviceEnqueue = 19,
|
||||
LiteralSampler = 20,
|
||||
AtomicStorage = 21,
|
||||
Int16 = 22,
|
||||
TessellationPointSize = 23,
|
||||
GeometryPointSize = 24,
|
||||
ImageGatherExtended = 25,
|
||||
StorageImageMultisample = 27,
|
||||
UniformBufferArrayDynamicIndexing = 28,
|
||||
SampledImageArrayDynamicIndexing = 29,
|
||||
StorageBufferArrayDynamicIndexing = 30,
|
||||
StorageImageArrayDynamicIndexing = 31,
|
||||
ClipDistance = 32,
|
||||
CullDistance = 33,
|
||||
ImageCubeArray = 34,
|
||||
SampleRateShading = 35,
|
||||
ImageRect = 36,
|
||||
SampledRect = 37,
|
||||
GenericPointer = 38,
|
||||
Int8 = 39,
|
||||
InputAttachment = 40,
|
||||
SparseResidency = 41,
|
||||
MinLod = 42,
|
||||
Sampled1D = 43,
|
||||
Image1D = 44,
|
||||
SampledCubeArray = 45,
|
||||
SampledBuffer = 46,
|
||||
ImageBuffer = 47,
|
||||
ImageMSArray = 48,
|
||||
StorageImageExtendedFormats = 49,
|
||||
ImageQuery = 50,
|
||||
DerivativeControl = 51,
|
||||
InterpolationFunction = 52,
|
||||
TransformFeedback = 53,
|
||||
GeometryStreams = 54,
|
||||
StorageImageReadWithoutFormat = 55,
|
||||
StorageImageWriteWithoutFormat = 56,
|
||||
MultiViewport = 57,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
UniformAndStorageBuffer16BitAccess = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
VariablePointersStorageBuffer = 4441,
|
||||
VariablePointers = 4442,
|
||||
AtomicStorageOps = 4445,
|
||||
SampleMaskPostDepthCoverage = 4447,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
StencilExportEXT = 5013,
|
||||
ImageReadWriteLodAMD = 5015,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
}
|
||||
|
||||
public enum Op
|
||||
{
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
OpSourceContinued = 2,
|
||||
OpSource = 3,
|
||||
OpSourceExtension = 4,
|
||||
OpName = 5,
|
||||
OpMemberName = 6,
|
||||
OpString = 7,
|
||||
OpLine = 8,
|
||||
OpExtension = 10,
|
||||
OpExtInstImport = 11,
|
||||
OpExtInst = 12,
|
||||
OpMemoryModel = 14,
|
||||
OpEntryPoint = 15,
|
||||
OpExecutionMode = 16,
|
||||
OpCapability = 17,
|
||||
OpTypeVoid = 19,
|
||||
OpTypeBool = 20,
|
||||
OpTypeInt = 21,
|
||||
OpTypeFloat = 22,
|
||||
OpTypeVector = 23,
|
||||
OpTypeMatrix = 24,
|
||||
OpTypeImage = 25,
|
||||
OpTypeSampler = 26,
|
||||
OpTypeSampledImage = 27,
|
||||
OpTypeArray = 28,
|
||||
OpTypeRuntimeArray = 29,
|
||||
OpTypeStruct = 30,
|
||||
OpTypeOpaque = 31,
|
||||
OpTypePointer = 32,
|
||||
OpTypeFunction = 33,
|
||||
OpTypeEvent = 34,
|
||||
OpTypeDeviceEvent = 35,
|
||||
OpTypeReserveId = 36,
|
||||
OpTypeQueue = 37,
|
||||
OpTypePipe = 38,
|
||||
OpTypeForwardPointer = 39,
|
||||
OpConstantTrue = 41,
|
||||
OpConstantFalse = 42,
|
||||
OpConstant = 43,
|
||||
OpConstantComposite = 44,
|
||||
OpConstantSampler = 45,
|
||||
OpConstantNull = 46,
|
||||
OpSpecConstantTrue = 48,
|
||||
OpSpecConstantFalse = 49,
|
||||
OpSpecConstant = 50,
|
||||
OpSpecConstantComposite = 51,
|
||||
OpSpecConstantOp = 52,
|
||||
OpFunction = 54,
|
||||
OpFunctionParameter = 55,
|
||||
OpFunctionEnd = 56,
|
||||
OpFunctionCall = 57,
|
||||
OpVariable = 59,
|
||||
OpImageTexelPointer = 60,
|
||||
OpLoad = 61,
|
||||
OpStore = 62,
|
||||
OpCopyMemory = 63,
|
||||
OpCopyMemorySized = 64,
|
||||
OpAccessChain = 65,
|
||||
OpInBoundsAccessChain = 66,
|
||||
OpPtrAccessChain = 67,
|
||||
OpArrayLength = 68,
|
||||
OpGenericPtrMemSemantics = 69,
|
||||
OpInBoundsPtrAccessChain = 70,
|
||||
OpDecorate = 71,
|
||||
OpMemberDecorate = 72,
|
||||
OpDecorationGroup = 73,
|
||||
OpGroupDecorate = 74,
|
||||
OpGroupMemberDecorate = 75,
|
||||
OpVectorExtractDynamic = 77,
|
||||
OpVectorInsertDynamic = 78,
|
||||
OpVectorShuffle = 79,
|
||||
OpCompositeConstruct = 80,
|
||||
OpCompositeExtract = 81,
|
||||
OpCompositeInsert = 82,
|
||||
OpCopyObject = 83,
|
||||
OpTranspose = 84,
|
||||
OpSampledImage = 86,
|
||||
OpImageSampleImplicitLod = 87,
|
||||
OpImageSampleExplicitLod = 88,
|
||||
OpImageSampleDrefImplicitLod = 89,
|
||||
OpImageSampleDrefExplicitLod = 90,
|
||||
OpImageSampleProjImplicitLod = 91,
|
||||
OpImageSampleProjExplicitLod = 92,
|
||||
OpImageSampleProjDrefImplicitLod = 93,
|
||||
OpImageSampleProjDrefExplicitLod = 94,
|
||||
OpImageFetch = 95,
|
||||
OpImageGather = 96,
|
||||
OpImageDrefGather = 97,
|
||||
OpImageRead = 98,
|
||||
OpImageWrite = 99,
|
||||
OpImage = 100,
|
||||
OpImageQueryFormat = 101,
|
||||
OpImageQueryOrder = 102,
|
||||
OpImageQuerySizeLod = 103,
|
||||
OpImageQuerySize = 104,
|
||||
OpImageQueryLod = 105,
|
||||
OpImageQueryLevels = 106,
|
||||
OpImageQuerySamples = 107,
|
||||
OpConvertFToU = 109,
|
||||
OpConvertFToS = 110,
|
||||
OpConvertSToF = 111,
|
||||
OpConvertUToF = 112,
|
||||
OpUConvert = 113,
|
||||
OpSConvert = 114,
|
||||
OpFConvert = 115,
|
||||
OpQuantizeToF16 = 116,
|
||||
OpConvertPtrToU = 117,
|
||||
OpSatConvertSToU = 118,
|
||||
OpSatConvertUToS = 119,
|
||||
OpConvertUToPtr = 120,
|
||||
OpPtrCastToGeneric = 121,
|
||||
OpGenericCastToPtr = 122,
|
||||
OpGenericCastToPtrExplicit = 123,
|
||||
OpBitcast = 124,
|
||||
OpSNegate = 126,
|
||||
OpFNegate = 127,
|
||||
OpIAdd = 128,
|
||||
OpFAdd = 129,
|
||||
OpISub = 130,
|
||||
OpFSub = 131,
|
||||
OpIMul = 132,
|
||||
OpFMul = 133,
|
||||
OpUDiv = 134,
|
||||
OpSDiv = 135,
|
||||
OpFDiv = 136,
|
||||
OpUMod = 137,
|
||||
OpSRem = 138,
|
||||
OpSMod = 139,
|
||||
OpFRem = 140,
|
||||
OpFMod = 141,
|
||||
OpVectorTimesScalar = 142,
|
||||
OpMatrixTimesScalar = 143,
|
||||
OpVectorTimesMatrix = 144,
|
||||
OpMatrixTimesVector = 145,
|
||||
OpMatrixTimesMatrix = 146,
|
||||
OpOuterProduct = 147,
|
||||
OpDot = 148,
|
||||
OpIAddCarry = 149,
|
||||
OpISubBorrow = 150,
|
||||
OpUMulExtended = 151,
|
||||
OpSMulExtended = 152,
|
||||
OpAny = 154,
|
||||
OpAll = 155,
|
||||
OpIsNan = 156,
|
||||
OpIsInf = 157,
|
||||
OpIsFinite = 158,
|
||||
OpIsNormal = 159,
|
||||
OpSignBitSet = 160,
|
||||
OpLessOrGreater = 161,
|
||||
OpOrdered = 162,
|
||||
OpUnordered = 163,
|
||||
OpLogicalEqual = 164,
|
||||
OpLogicalNotEqual = 165,
|
||||
OpLogicalOr = 166,
|
||||
OpLogicalAnd = 167,
|
||||
OpLogicalNot = 168,
|
||||
OpSelect = 169,
|
||||
OpIEqual = 170,
|
||||
OpINotEqual = 171,
|
||||
OpUGreaterThan = 172,
|
||||
OpSGreaterThan = 173,
|
||||
OpUGreaterThanEqual = 174,
|
||||
OpSGreaterThanEqual = 175,
|
||||
OpULessThan = 176,
|
||||
OpSLessThan = 177,
|
||||
OpULessThanEqual = 178,
|
||||
OpSLessThanEqual = 179,
|
||||
OpFOrdEqual = 180,
|
||||
OpFUnordEqual = 181,
|
||||
OpFOrdNotEqual = 182,
|
||||
OpFUnordNotEqual = 183,
|
||||
OpFOrdLessThan = 184,
|
||||
OpFUnordLessThan = 185,
|
||||
OpFOrdGreaterThan = 186,
|
||||
OpFUnordGreaterThan = 187,
|
||||
OpFOrdLessThanEqual = 188,
|
||||
OpFUnordLessThanEqual = 189,
|
||||
OpFOrdGreaterThanEqual = 190,
|
||||
OpFUnordGreaterThanEqual = 191,
|
||||
OpShiftRightLogical = 194,
|
||||
OpShiftRightArithmetic = 195,
|
||||
OpShiftLeftLogical = 196,
|
||||
OpBitwiseOr = 197,
|
||||
OpBitwiseXor = 198,
|
||||
OpBitwiseAnd = 199,
|
||||
OpNot = 200,
|
||||
OpBitFieldInsert = 201,
|
||||
OpBitFieldSExtract = 202,
|
||||
OpBitFieldUExtract = 203,
|
||||
OpBitReverse = 204,
|
||||
OpBitCount = 205,
|
||||
OpDPdx = 207,
|
||||
OpDPdy = 208,
|
||||
OpFwidth = 209,
|
||||
OpDPdxFine = 210,
|
||||
OpDPdyFine = 211,
|
||||
OpFwidthFine = 212,
|
||||
OpDPdxCoarse = 213,
|
||||
OpDPdyCoarse = 214,
|
||||
OpFwidthCoarse = 215,
|
||||
OpEmitVertex = 218,
|
||||
OpEndPrimitive = 219,
|
||||
OpEmitStreamVertex = 220,
|
||||
OpEndStreamPrimitive = 221,
|
||||
OpControlBarrier = 224,
|
||||
OpMemoryBarrier = 225,
|
||||
OpAtomicLoad = 227,
|
||||
OpAtomicStore = 228,
|
||||
OpAtomicExchange = 229,
|
||||
OpAtomicCompareExchange = 230,
|
||||
OpAtomicCompareExchangeWeak = 231,
|
||||
OpAtomicIIncrement = 232,
|
||||
OpAtomicIDecrement = 233,
|
||||
OpAtomicIAdd = 234,
|
||||
OpAtomicISub = 235,
|
||||
OpAtomicSMin = 236,
|
||||
OpAtomicUMin = 237,
|
||||
OpAtomicSMax = 238,
|
||||
OpAtomicUMax = 239,
|
||||
OpAtomicAnd = 240,
|
||||
OpAtomicOr = 241,
|
||||
OpAtomicXor = 242,
|
||||
OpPhi = 245,
|
||||
OpLoopMerge = 246,
|
||||
OpSelectionMerge = 247,
|
||||
OpLabel = 248,
|
||||
OpBranch = 249,
|
||||
OpBranchConditional = 250,
|
||||
OpSwitch = 251,
|
||||
OpKill = 252,
|
||||
OpReturn = 253,
|
||||
OpReturnValue = 254,
|
||||
OpUnreachable = 255,
|
||||
OpLifetimeStart = 256,
|
||||
OpLifetimeStop = 257,
|
||||
OpGroupAsyncCopy = 259,
|
||||
OpGroupWaitEvents = 260,
|
||||
OpGroupAll = 261,
|
||||
OpGroupAny = 262,
|
||||
OpGroupBroadcast = 263,
|
||||
OpGroupIAdd = 264,
|
||||
OpGroupFAdd = 265,
|
||||
OpGroupFMin = 266,
|
||||
OpGroupUMin = 267,
|
||||
OpGroupSMin = 268,
|
||||
OpGroupFMax = 269,
|
||||
OpGroupUMax = 270,
|
||||
OpGroupSMax = 271,
|
||||
OpReadPipe = 274,
|
||||
OpWritePipe = 275,
|
||||
OpReservedReadPipe = 276,
|
||||
OpReservedWritePipe = 277,
|
||||
OpReserveReadPipePackets = 278,
|
||||
OpReserveWritePipePackets = 279,
|
||||
OpCommitReadPipe = 280,
|
||||
OpCommitWritePipe = 281,
|
||||
OpIsValidReserveId = 282,
|
||||
OpGetNumPipePackets = 283,
|
||||
OpGetMaxPipePackets = 284,
|
||||
OpGroupReserveReadPipePackets = 285,
|
||||
OpGroupReserveWritePipePackets = 286,
|
||||
OpGroupCommitReadPipe = 287,
|
||||
OpGroupCommitWritePipe = 288,
|
||||
OpEnqueueMarker = 291,
|
||||
OpEnqueueKernel = 292,
|
||||
OpGetKernelNDrangeSubGroupCount = 293,
|
||||
OpGetKernelNDrangeMaxSubGroupSize = 294,
|
||||
OpGetKernelWorkGroupSize = 295,
|
||||
OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
||||
OpRetainEvent = 297,
|
||||
OpReleaseEvent = 298,
|
||||
OpCreateUserEvent = 299,
|
||||
OpIsValidEvent = 300,
|
||||
OpSetUserEventStatus = 301,
|
||||
OpCaptureEventProfilingInfo = 302,
|
||||
OpGetDefaultQueue = 303,
|
||||
OpBuildNDRange = 304,
|
||||
OpImageSparseSampleImplicitLod = 305,
|
||||
OpImageSparseSampleExplicitLod = 306,
|
||||
OpImageSparseSampleDrefImplicitLod = 307,
|
||||
OpImageSparseSampleDrefExplicitLod = 308,
|
||||
OpImageSparseSampleProjImplicitLod = 309,
|
||||
OpImageSparseSampleProjExplicitLod = 310,
|
||||
OpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
OpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
OpImageSparseFetch = 313,
|
||||
OpImageSparseGather = 314,
|
||||
OpImageSparseDrefGather = 315,
|
||||
OpImageSparseTexelsResident = 316,
|
||||
OpNoLine = 317,
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
OpImageSparseRead = 320,
|
||||
OpDecorateId = 332,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
OpGroupUMinNonUniformAMD = 5003,
|
||||
OpGroupSMinNonUniformAMD = 5004,
|
||||
OpGroupFMaxNonUniformAMD = 5005,
|
||||
OpGroupUMaxNonUniformAMD = 5006,
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
OpSubgroupShuffleXorINTEL = 5574,
|
||||
OpSubgroupBlockReadINTEL = 5575,
|
||||
OpSubgroupBlockWriteINTEL = 5576,
|
||||
OpSubgroupImageBlockReadINTEL = 5577,
|
||||
OpSubgroupImageBlockWriteINTEL = 5578,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateStringGOOGLE = 5633,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,993 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2014-2018 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
** This header is automatically generated by the same tool that creates
|
||||
** the Binary Section of the SPIR-V specification.
|
||||
*/
|
||||
|
||||
/*
|
||||
** Enumeration tokens for SPIR-V, in various styles:
|
||||
** C, C++, C++11, JSON, Lua, Python
|
||||
**
|
||||
** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
**
|
||||
** Some tokens act like mask values, which can be OR'd together,
|
||||
** while others are mutually exclusive. The mask-like ones have
|
||||
** "Mask" in their name, and a parallel enum that has the shift
|
||||
** amount (1 << x) for each corresponding enumerant.
|
||||
*/
|
||||
|
||||
#ifndef spirv_H
|
||||
#define spirv_H
|
||||
|
||||
typedef unsigned int SpvId;
|
||||
|
||||
#define SPV_VERSION 0x10000
|
||||
#define SPV_REVISION 12
|
||||
|
||||
static const unsigned int SpvMagicNumber = 0x07230203;
|
||||
static const unsigned int SpvVersion = 0x00010000;
|
||||
static const unsigned int SpvRevision = 12;
|
||||
static const unsigned int SpvOpCodeMask = 0xffff;
|
||||
static const unsigned int SpvWordCountShift = 16;
|
||||
|
||||
typedef enum SpvSourceLanguage_ {
|
||||
SpvSourceLanguageUnknown = 0,
|
||||
SpvSourceLanguageESSL = 1,
|
||||
SpvSourceLanguageGLSL = 2,
|
||||
SpvSourceLanguageOpenCL_C = 3,
|
||||
SpvSourceLanguageOpenCL_CPP = 4,
|
||||
SpvSourceLanguageHLSL = 5,
|
||||
SpvSourceLanguageMax = 0x7fffffff,
|
||||
} SpvSourceLanguage;
|
||||
|
||||
typedef enum SpvExecutionModel_ {
|
||||
SpvExecutionModelVertex = 0,
|
||||
SpvExecutionModelTessellationControl = 1,
|
||||
SpvExecutionModelTessellationEvaluation = 2,
|
||||
SpvExecutionModelGeometry = 3,
|
||||
SpvExecutionModelFragment = 4,
|
||||
SpvExecutionModelGLCompute = 5,
|
||||
SpvExecutionModelKernel = 6,
|
||||
SpvExecutionModelMax = 0x7fffffff,
|
||||
} SpvExecutionModel;
|
||||
|
||||
typedef enum SpvAddressingModel_ {
|
||||
SpvAddressingModelLogical = 0,
|
||||
SpvAddressingModelPhysical32 = 1,
|
||||
SpvAddressingModelPhysical64 = 2,
|
||||
SpvAddressingModelMax = 0x7fffffff,
|
||||
} SpvAddressingModel;
|
||||
|
||||
typedef enum SpvMemoryModel_ {
|
||||
SpvMemoryModelSimple = 0,
|
||||
SpvMemoryModelGLSL450 = 1,
|
||||
SpvMemoryModelOpenCL = 2,
|
||||
SpvMemoryModelMax = 0x7fffffff,
|
||||
} SpvMemoryModel;
|
||||
|
||||
typedef enum SpvExecutionMode_ {
|
||||
SpvExecutionModeInvocations = 0,
|
||||
SpvExecutionModeSpacingEqual = 1,
|
||||
SpvExecutionModeSpacingFractionalEven = 2,
|
||||
SpvExecutionModeSpacingFractionalOdd = 3,
|
||||
SpvExecutionModeVertexOrderCw = 4,
|
||||
SpvExecutionModeVertexOrderCcw = 5,
|
||||
SpvExecutionModePixelCenterInteger = 6,
|
||||
SpvExecutionModeOriginUpperLeft = 7,
|
||||
SpvExecutionModeOriginLowerLeft = 8,
|
||||
SpvExecutionModeEarlyFragmentTests = 9,
|
||||
SpvExecutionModePointMode = 10,
|
||||
SpvExecutionModeXfb = 11,
|
||||
SpvExecutionModeDepthReplacing = 12,
|
||||
SpvExecutionModeDepthGreater = 14,
|
||||
SpvExecutionModeDepthLess = 15,
|
||||
SpvExecutionModeDepthUnchanged = 16,
|
||||
SpvExecutionModeLocalSize = 17,
|
||||
SpvExecutionModeLocalSizeHint = 18,
|
||||
SpvExecutionModeInputPoints = 19,
|
||||
SpvExecutionModeInputLines = 20,
|
||||
SpvExecutionModeInputLinesAdjacency = 21,
|
||||
SpvExecutionModeTriangles = 22,
|
||||
SpvExecutionModeInputTrianglesAdjacency = 23,
|
||||
SpvExecutionModeQuads = 24,
|
||||
SpvExecutionModeIsolines = 25,
|
||||
SpvExecutionModeOutputVertices = 26,
|
||||
SpvExecutionModeOutputPoints = 27,
|
||||
SpvExecutionModeOutputLineStrip = 28,
|
||||
SpvExecutionModeOutputTriangleStrip = 29,
|
||||
SpvExecutionModeVecTypeHint = 30,
|
||||
SpvExecutionModeContractionOff = 31,
|
||||
SpvExecutionModePostDepthCoverage = 4446,
|
||||
SpvExecutionModeStencilRefReplacingEXT = 5027,
|
||||
SpvExecutionModeMax = 0x7fffffff,
|
||||
} SpvExecutionMode;
|
||||
|
||||
typedef enum SpvStorageClass_ {
|
||||
SpvStorageClassUniformConstant = 0,
|
||||
SpvStorageClassInput = 1,
|
||||
SpvStorageClassUniform = 2,
|
||||
SpvStorageClassOutput = 3,
|
||||
SpvStorageClassWorkgroup = 4,
|
||||
SpvStorageClassCrossWorkgroup = 5,
|
||||
SpvStorageClassPrivate = 6,
|
||||
SpvStorageClassFunction = 7,
|
||||
SpvStorageClassGeneric = 8,
|
||||
SpvStorageClassPushConstant = 9,
|
||||
SpvStorageClassAtomicCounter = 10,
|
||||
SpvStorageClassImage = 11,
|
||||
SpvStorageClassStorageBuffer = 12,
|
||||
SpvStorageClassMax = 0x7fffffff,
|
||||
} SpvStorageClass;
|
||||
|
||||
typedef enum SpvDim_ {
|
||||
SpvDim1D = 0,
|
||||
SpvDim2D = 1,
|
||||
SpvDim3D = 2,
|
||||
SpvDimCube = 3,
|
||||
SpvDimRect = 4,
|
||||
SpvDimBuffer = 5,
|
||||
SpvDimSubpassData = 6,
|
||||
SpvDimMax = 0x7fffffff,
|
||||
} SpvDim;
|
||||
|
||||
typedef enum SpvSamplerAddressingMode_ {
|
||||
SpvSamplerAddressingModeNone = 0,
|
||||
SpvSamplerAddressingModeClampToEdge = 1,
|
||||
SpvSamplerAddressingModeClamp = 2,
|
||||
SpvSamplerAddressingModeRepeat = 3,
|
||||
SpvSamplerAddressingModeRepeatMirrored = 4,
|
||||
SpvSamplerAddressingModeMax = 0x7fffffff,
|
||||
} SpvSamplerAddressingMode;
|
||||
|
||||
typedef enum SpvSamplerFilterMode_ {
|
||||
SpvSamplerFilterModeNearest = 0,
|
||||
SpvSamplerFilterModeLinear = 1,
|
||||
SpvSamplerFilterModeMax = 0x7fffffff,
|
||||
} SpvSamplerFilterMode;
|
||||
|
||||
typedef enum SpvImageFormat_ {
|
||||
SpvImageFormatUnknown = 0,
|
||||
SpvImageFormatRgba32f = 1,
|
||||
SpvImageFormatRgba16f = 2,
|
||||
SpvImageFormatR32f = 3,
|
||||
SpvImageFormatRgba8 = 4,
|
||||
SpvImageFormatRgba8Snorm = 5,
|
||||
SpvImageFormatRg32f = 6,
|
||||
SpvImageFormatRg16f = 7,
|
||||
SpvImageFormatR11fG11fB10f = 8,
|
||||
SpvImageFormatR16f = 9,
|
||||
SpvImageFormatRgba16 = 10,
|
||||
SpvImageFormatRgb10A2 = 11,
|
||||
SpvImageFormatRg16 = 12,
|
||||
SpvImageFormatRg8 = 13,
|
||||
SpvImageFormatR16 = 14,
|
||||
SpvImageFormatR8 = 15,
|
||||
SpvImageFormatRgba16Snorm = 16,
|
||||
SpvImageFormatRg16Snorm = 17,
|
||||
SpvImageFormatRg8Snorm = 18,
|
||||
SpvImageFormatR16Snorm = 19,
|
||||
SpvImageFormatR8Snorm = 20,
|
||||
SpvImageFormatRgba32i = 21,
|
||||
SpvImageFormatRgba16i = 22,
|
||||
SpvImageFormatRgba8i = 23,
|
||||
SpvImageFormatR32i = 24,
|
||||
SpvImageFormatRg32i = 25,
|
||||
SpvImageFormatRg16i = 26,
|
||||
SpvImageFormatRg8i = 27,
|
||||
SpvImageFormatR16i = 28,
|
||||
SpvImageFormatR8i = 29,
|
||||
SpvImageFormatRgba32ui = 30,
|
||||
SpvImageFormatRgba16ui = 31,
|
||||
SpvImageFormatRgba8ui = 32,
|
||||
SpvImageFormatR32ui = 33,
|
||||
SpvImageFormatRgb10a2ui = 34,
|
||||
SpvImageFormatRg32ui = 35,
|
||||
SpvImageFormatRg16ui = 36,
|
||||
SpvImageFormatRg8ui = 37,
|
||||
SpvImageFormatR16ui = 38,
|
||||
SpvImageFormatR8ui = 39,
|
||||
SpvImageFormatMax = 0x7fffffff,
|
||||
} SpvImageFormat;
|
||||
|
||||
typedef enum SpvImageChannelOrder_ {
|
||||
SpvImageChannelOrderR = 0,
|
||||
SpvImageChannelOrderA = 1,
|
||||
SpvImageChannelOrderRG = 2,
|
||||
SpvImageChannelOrderRA = 3,
|
||||
SpvImageChannelOrderRGB = 4,
|
||||
SpvImageChannelOrderRGBA = 5,
|
||||
SpvImageChannelOrderBGRA = 6,
|
||||
SpvImageChannelOrderARGB = 7,
|
||||
SpvImageChannelOrderIntensity = 8,
|
||||
SpvImageChannelOrderLuminance = 9,
|
||||
SpvImageChannelOrderRx = 10,
|
||||
SpvImageChannelOrderRGx = 11,
|
||||
SpvImageChannelOrderRGBx = 12,
|
||||
SpvImageChannelOrderDepth = 13,
|
||||
SpvImageChannelOrderDepthStencil = 14,
|
||||
SpvImageChannelOrdersRGB = 15,
|
||||
SpvImageChannelOrdersRGBx = 16,
|
||||
SpvImageChannelOrdersRGBA = 17,
|
||||
SpvImageChannelOrdersBGRA = 18,
|
||||
SpvImageChannelOrderABGR = 19,
|
||||
SpvImageChannelOrderMax = 0x7fffffff,
|
||||
} SpvImageChannelOrder;
|
||||
|
||||
typedef enum SpvImageChannelDataType_ {
|
||||
SpvImageChannelDataTypeSnormInt8 = 0,
|
||||
SpvImageChannelDataTypeSnormInt16 = 1,
|
||||
SpvImageChannelDataTypeUnormInt8 = 2,
|
||||
SpvImageChannelDataTypeUnormInt16 = 3,
|
||||
SpvImageChannelDataTypeUnormShort565 = 4,
|
||||
SpvImageChannelDataTypeUnormShort555 = 5,
|
||||
SpvImageChannelDataTypeUnormInt101010 = 6,
|
||||
SpvImageChannelDataTypeSignedInt8 = 7,
|
||||
SpvImageChannelDataTypeSignedInt16 = 8,
|
||||
SpvImageChannelDataTypeSignedInt32 = 9,
|
||||
SpvImageChannelDataTypeUnsignedInt8 = 10,
|
||||
SpvImageChannelDataTypeUnsignedInt16 = 11,
|
||||
SpvImageChannelDataTypeUnsignedInt32 = 12,
|
||||
SpvImageChannelDataTypeHalfFloat = 13,
|
||||
SpvImageChannelDataTypeFloat = 14,
|
||||
SpvImageChannelDataTypeUnormInt24 = 15,
|
||||
SpvImageChannelDataTypeUnormInt101010_2 = 16,
|
||||
SpvImageChannelDataTypeMax = 0x7fffffff,
|
||||
} SpvImageChannelDataType;
|
||||
|
||||
typedef enum SpvImageOperandsShift_ {
|
||||
SpvImageOperandsBiasShift = 0,
|
||||
SpvImageOperandsLodShift = 1,
|
||||
SpvImageOperandsGradShift = 2,
|
||||
SpvImageOperandsConstOffsetShift = 3,
|
||||
SpvImageOperandsOffsetShift = 4,
|
||||
SpvImageOperandsConstOffsetsShift = 5,
|
||||
SpvImageOperandsSampleShift = 6,
|
||||
SpvImageOperandsMinLodShift = 7,
|
||||
SpvImageOperandsMax = 0x7fffffff,
|
||||
} SpvImageOperandsShift;
|
||||
|
||||
typedef enum SpvImageOperandsMask_ {
|
||||
SpvImageOperandsMaskNone = 0,
|
||||
SpvImageOperandsBiasMask = 0x00000001,
|
||||
SpvImageOperandsLodMask = 0x00000002,
|
||||
SpvImageOperandsGradMask = 0x00000004,
|
||||
SpvImageOperandsConstOffsetMask = 0x00000008,
|
||||
SpvImageOperandsOffsetMask = 0x00000010,
|
||||
SpvImageOperandsConstOffsetsMask = 0x00000020,
|
||||
SpvImageOperandsSampleMask = 0x00000040,
|
||||
SpvImageOperandsMinLodMask = 0x00000080,
|
||||
} SpvImageOperandsMask;
|
||||
|
||||
typedef enum SpvFPFastMathModeShift_ {
|
||||
SpvFPFastMathModeNotNaNShift = 0,
|
||||
SpvFPFastMathModeNotInfShift = 1,
|
||||
SpvFPFastMathModeNSZShift = 2,
|
||||
SpvFPFastMathModeAllowRecipShift = 3,
|
||||
SpvFPFastMathModeFastShift = 4,
|
||||
SpvFPFastMathModeMax = 0x7fffffff,
|
||||
} SpvFPFastMathModeShift;
|
||||
|
||||
typedef enum SpvFPFastMathModeMask_ {
|
||||
SpvFPFastMathModeMaskNone = 0,
|
||||
SpvFPFastMathModeNotNaNMask = 0x00000001,
|
||||
SpvFPFastMathModeNotInfMask = 0x00000002,
|
||||
SpvFPFastMathModeNSZMask = 0x00000004,
|
||||
SpvFPFastMathModeAllowRecipMask = 0x00000008,
|
||||
SpvFPFastMathModeFastMask = 0x00000010,
|
||||
} SpvFPFastMathModeMask;
|
||||
|
||||
typedef enum SpvFPRoundingMode_ {
|
||||
SpvFPRoundingModeRTE = 0,
|
||||
SpvFPRoundingModeRTZ = 1,
|
||||
SpvFPRoundingModeRTP = 2,
|
||||
SpvFPRoundingModeRTN = 3,
|
||||
SpvFPRoundingModeMax = 0x7fffffff,
|
||||
} SpvFPRoundingMode;
|
||||
|
||||
typedef enum SpvLinkageType_ {
|
||||
SpvLinkageTypeExport = 0,
|
||||
SpvLinkageTypeImport = 1,
|
||||
SpvLinkageTypeMax = 0x7fffffff,
|
||||
} SpvLinkageType;
|
||||
|
||||
typedef enum SpvAccessQualifier_ {
|
||||
SpvAccessQualifierReadOnly = 0,
|
||||
SpvAccessQualifierWriteOnly = 1,
|
||||
SpvAccessQualifierReadWrite = 2,
|
||||
SpvAccessQualifierMax = 0x7fffffff,
|
||||
} SpvAccessQualifier;
|
||||
|
||||
typedef enum SpvFunctionParameterAttribute_ {
|
||||
SpvFunctionParameterAttributeZext = 0,
|
||||
SpvFunctionParameterAttributeSext = 1,
|
||||
SpvFunctionParameterAttributeByVal = 2,
|
||||
SpvFunctionParameterAttributeSret = 3,
|
||||
SpvFunctionParameterAttributeNoAlias = 4,
|
||||
SpvFunctionParameterAttributeNoCapture = 5,
|
||||
SpvFunctionParameterAttributeNoWrite = 6,
|
||||
SpvFunctionParameterAttributeNoReadWrite = 7,
|
||||
SpvFunctionParameterAttributeMax = 0x7fffffff,
|
||||
} SpvFunctionParameterAttribute;
|
||||
|
||||
typedef enum SpvDecoration_ {
|
||||
SpvDecorationRelaxedPrecision = 0,
|
||||
SpvDecorationSpecId = 1,
|
||||
SpvDecorationBlock = 2,
|
||||
SpvDecorationBufferBlock = 3,
|
||||
SpvDecorationRowMajor = 4,
|
||||
SpvDecorationColMajor = 5,
|
||||
SpvDecorationArrayStride = 6,
|
||||
SpvDecorationMatrixStride = 7,
|
||||
SpvDecorationGLSLShared = 8,
|
||||
SpvDecorationGLSLPacked = 9,
|
||||
SpvDecorationCPacked = 10,
|
||||
SpvDecorationBuiltIn = 11,
|
||||
SpvDecorationNoPerspective = 13,
|
||||
SpvDecorationFlat = 14,
|
||||
SpvDecorationPatch = 15,
|
||||
SpvDecorationCentroid = 16,
|
||||
SpvDecorationSample = 17,
|
||||
SpvDecorationInvariant = 18,
|
||||
SpvDecorationRestrict = 19,
|
||||
SpvDecorationAliased = 20,
|
||||
SpvDecorationVolatile = 21,
|
||||
SpvDecorationConstant = 22,
|
||||
SpvDecorationCoherent = 23,
|
||||
SpvDecorationNonWritable = 24,
|
||||
SpvDecorationNonReadable = 25,
|
||||
SpvDecorationUniform = 26,
|
||||
SpvDecorationSaturatedConversion = 28,
|
||||
SpvDecorationStream = 29,
|
||||
SpvDecorationLocation = 30,
|
||||
SpvDecorationComponent = 31,
|
||||
SpvDecorationIndex = 32,
|
||||
SpvDecorationBinding = 33,
|
||||
SpvDecorationDescriptorSet = 34,
|
||||
SpvDecorationOffset = 35,
|
||||
SpvDecorationXfbBuffer = 36,
|
||||
SpvDecorationXfbStride = 37,
|
||||
SpvDecorationFuncParamAttr = 38,
|
||||
SpvDecorationFPRoundingMode = 39,
|
||||
SpvDecorationFPFastMathMode = 40,
|
||||
SpvDecorationLinkageAttributes = 41,
|
||||
SpvDecorationNoContraction = 42,
|
||||
SpvDecorationInputAttachmentIndex = 43,
|
||||
SpvDecorationAlignment = 44,
|
||||
SpvDecorationExplicitInterpAMD = 4999,
|
||||
SpvDecorationOverrideCoverageNV = 5248,
|
||||
SpvDecorationPassthroughNV = 5250,
|
||||
SpvDecorationViewportRelativeNV = 5252,
|
||||
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
||||
SpvDecorationHlslCounterBufferGOOGLE = 5634,
|
||||
SpvDecorationHlslSemanticGOOGLE = 5635,
|
||||
SpvDecorationMax = 0x7fffffff,
|
||||
} SpvDecoration;
|
||||
|
||||
typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInPosition = 0,
|
||||
SpvBuiltInPointSize = 1,
|
||||
SpvBuiltInClipDistance = 3,
|
||||
SpvBuiltInCullDistance = 4,
|
||||
SpvBuiltInVertexId = 5,
|
||||
SpvBuiltInInstanceId = 6,
|
||||
SpvBuiltInPrimitiveId = 7,
|
||||
SpvBuiltInInvocationId = 8,
|
||||
SpvBuiltInLayer = 9,
|
||||
SpvBuiltInViewportIndex = 10,
|
||||
SpvBuiltInTessLevelOuter = 11,
|
||||
SpvBuiltInTessLevelInner = 12,
|
||||
SpvBuiltInTessCoord = 13,
|
||||
SpvBuiltInPatchVertices = 14,
|
||||
SpvBuiltInFragCoord = 15,
|
||||
SpvBuiltInPointCoord = 16,
|
||||
SpvBuiltInFrontFacing = 17,
|
||||
SpvBuiltInSampleId = 18,
|
||||
SpvBuiltInSamplePosition = 19,
|
||||
SpvBuiltInSampleMask = 20,
|
||||
SpvBuiltInFragDepth = 22,
|
||||
SpvBuiltInHelperInvocation = 23,
|
||||
SpvBuiltInNumWorkgroups = 24,
|
||||
SpvBuiltInWorkgroupSize = 25,
|
||||
SpvBuiltInWorkgroupId = 26,
|
||||
SpvBuiltInLocalInvocationId = 27,
|
||||
SpvBuiltInGlobalInvocationId = 28,
|
||||
SpvBuiltInLocalInvocationIndex = 29,
|
||||
SpvBuiltInWorkDim = 30,
|
||||
SpvBuiltInGlobalSize = 31,
|
||||
SpvBuiltInEnqueuedWorkgroupSize = 32,
|
||||
SpvBuiltInGlobalOffset = 33,
|
||||
SpvBuiltInGlobalLinearId = 34,
|
||||
SpvBuiltInSubgroupSize = 36,
|
||||
SpvBuiltInSubgroupMaxSize = 37,
|
||||
SpvBuiltInNumSubgroups = 38,
|
||||
SpvBuiltInNumEnqueuedSubgroups = 39,
|
||||
SpvBuiltInSubgroupId = 40,
|
||||
SpvBuiltInSubgroupLocalInvocationId = 41,
|
||||
SpvBuiltInVertexIndex = 42,
|
||||
SpvBuiltInInstanceIndex = 43,
|
||||
SpvBuiltInSubgroupEqMaskKHR = 4416,
|
||||
SpvBuiltInSubgroupGeMaskKHR = 4417,
|
||||
SpvBuiltInSubgroupGtMaskKHR = 4418,
|
||||
SpvBuiltInSubgroupLeMaskKHR = 4419,
|
||||
SpvBuiltInSubgroupLtMaskKHR = 4420,
|
||||
SpvBuiltInBaseVertex = 4424,
|
||||
SpvBuiltInBaseInstance = 4425,
|
||||
SpvBuiltInDrawIndex = 4426,
|
||||
SpvBuiltInDeviceIndex = 4438,
|
||||
SpvBuiltInViewIndex = 4440,
|
||||
SpvBuiltInBaryCoordNoPerspAMD = 4992,
|
||||
SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
|
||||
SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
|
||||
SpvBuiltInBaryCoordSmoothAMD = 4995,
|
||||
SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
|
||||
SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
|
||||
SpvBuiltInBaryCoordPullModelAMD = 4998,
|
||||
SpvBuiltInFragStencilRefEXT = 5014,
|
||||
SpvBuiltInViewportMaskNV = 5253,
|
||||
SpvBuiltInSecondaryPositionNV = 5257,
|
||||
SpvBuiltInSecondaryViewportMaskNV = 5258,
|
||||
SpvBuiltInPositionPerViewNV = 5261,
|
||||
SpvBuiltInViewportMaskPerViewNV = 5262,
|
||||
SpvBuiltInMax = 0x7fffffff,
|
||||
} SpvBuiltIn;
|
||||
|
||||
typedef enum SpvSelectionControlShift_ {
|
||||
SpvSelectionControlFlattenShift = 0,
|
||||
SpvSelectionControlDontFlattenShift = 1,
|
||||
SpvSelectionControlMax = 0x7fffffff,
|
||||
} SpvSelectionControlShift;
|
||||
|
||||
typedef enum SpvSelectionControlMask_ {
|
||||
SpvSelectionControlMaskNone = 0,
|
||||
SpvSelectionControlFlattenMask = 0x00000001,
|
||||
SpvSelectionControlDontFlattenMask = 0x00000002,
|
||||
} SpvSelectionControlMask;
|
||||
|
||||
typedef enum SpvLoopControlShift_ {
|
||||
SpvLoopControlUnrollShift = 0,
|
||||
SpvLoopControlDontUnrollShift = 1,
|
||||
SpvLoopControlMax = 0x7fffffff,
|
||||
} SpvLoopControlShift;
|
||||
|
||||
typedef enum SpvLoopControlMask_ {
|
||||
SpvLoopControlMaskNone = 0,
|
||||
SpvLoopControlUnrollMask = 0x00000001,
|
||||
SpvLoopControlDontUnrollMask = 0x00000002,
|
||||
} SpvLoopControlMask;
|
||||
|
||||
typedef enum SpvFunctionControlShift_ {
|
||||
SpvFunctionControlInlineShift = 0,
|
||||
SpvFunctionControlDontInlineShift = 1,
|
||||
SpvFunctionControlPureShift = 2,
|
||||
SpvFunctionControlConstShift = 3,
|
||||
SpvFunctionControlMax = 0x7fffffff,
|
||||
} SpvFunctionControlShift;
|
||||
|
||||
typedef enum SpvFunctionControlMask_ {
|
||||
SpvFunctionControlMaskNone = 0,
|
||||
SpvFunctionControlInlineMask = 0x00000001,
|
||||
SpvFunctionControlDontInlineMask = 0x00000002,
|
||||
SpvFunctionControlPureMask = 0x00000004,
|
||||
SpvFunctionControlConstMask = 0x00000008,
|
||||
} SpvFunctionControlMask;
|
||||
|
||||
typedef enum SpvMemorySemanticsShift_ {
|
||||
SpvMemorySemanticsAcquireShift = 1,
|
||||
SpvMemorySemanticsReleaseShift = 2,
|
||||
SpvMemorySemanticsAcquireReleaseShift = 3,
|
||||
SpvMemorySemanticsSequentiallyConsistentShift = 4,
|
||||
SpvMemorySemanticsUniformMemoryShift = 6,
|
||||
SpvMemorySemanticsSubgroupMemoryShift = 7,
|
||||
SpvMemorySemanticsWorkgroupMemoryShift = 8,
|
||||
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
|
||||
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
|
||||
SpvMemorySemanticsImageMemoryShift = 11,
|
||||
SpvMemorySemanticsMax = 0x7fffffff,
|
||||
} SpvMemorySemanticsShift;
|
||||
|
||||
typedef enum SpvMemorySemanticsMask_ {
|
||||
SpvMemorySemanticsMaskNone = 0,
|
||||
SpvMemorySemanticsAcquireMask = 0x00000002,
|
||||
SpvMemorySemanticsReleaseMask = 0x00000004,
|
||||
SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
|
||||
SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
|
||||
SpvMemorySemanticsUniformMemoryMask = 0x00000040,
|
||||
SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
|
||||
SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
|
||||
SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
|
||||
SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
|
||||
SpvMemorySemanticsImageMemoryMask = 0x00000800,
|
||||
} SpvMemorySemanticsMask;
|
||||
|
||||
typedef enum SpvMemoryAccessShift_ {
|
||||
SpvMemoryAccessVolatileShift = 0,
|
||||
SpvMemoryAccessAlignedShift = 1,
|
||||
SpvMemoryAccessNontemporalShift = 2,
|
||||
SpvMemoryAccessMax = 0x7fffffff,
|
||||
} SpvMemoryAccessShift;
|
||||
|
||||
typedef enum SpvMemoryAccessMask_ {
|
||||
SpvMemoryAccessMaskNone = 0,
|
||||
SpvMemoryAccessVolatileMask = 0x00000001,
|
||||
SpvMemoryAccessAlignedMask = 0x00000002,
|
||||
SpvMemoryAccessNontemporalMask = 0x00000004,
|
||||
} SpvMemoryAccessMask;
|
||||
|
||||
typedef enum SpvScope_ {
|
||||
SpvScopeCrossDevice = 0,
|
||||
SpvScopeDevice = 1,
|
||||
SpvScopeWorkgroup = 2,
|
||||
SpvScopeSubgroup = 3,
|
||||
SpvScopeInvocation = 4,
|
||||
SpvScopeMax = 0x7fffffff,
|
||||
} SpvScope;
|
||||
|
||||
typedef enum SpvGroupOperation_ {
|
||||
SpvGroupOperationReduce = 0,
|
||||
SpvGroupOperationInclusiveScan = 1,
|
||||
SpvGroupOperationExclusiveScan = 2,
|
||||
SpvGroupOperationMax = 0x7fffffff,
|
||||
} SpvGroupOperation;
|
||||
|
||||
typedef enum SpvKernelEnqueueFlags_ {
|
||||
SpvKernelEnqueueFlagsNoWait = 0,
|
||||
SpvKernelEnqueueFlagsWaitKernel = 1,
|
||||
SpvKernelEnqueueFlagsWaitWorkGroup = 2,
|
||||
SpvKernelEnqueueFlagsMax = 0x7fffffff,
|
||||
} SpvKernelEnqueueFlags;
|
||||
|
||||
typedef enum SpvKernelProfilingInfoShift_ {
|
||||
SpvKernelProfilingInfoCmdExecTimeShift = 0,
|
||||
SpvKernelProfilingInfoMax = 0x7fffffff,
|
||||
} SpvKernelProfilingInfoShift;
|
||||
|
||||
typedef enum SpvKernelProfilingInfoMask_ {
|
||||
SpvKernelProfilingInfoMaskNone = 0,
|
||||
SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
|
||||
} SpvKernelProfilingInfoMask;
|
||||
|
||||
typedef enum SpvCapability_ {
|
||||
SpvCapabilityMatrix = 0,
|
||||
SpvCapabilityShader = 1,
|
||||
SpvCapabilityGeometry = 2,
|
||||
SpvCapabilityTessellation = 3,
|
||||
SpvCapabilityAddresses = 4,
|
||||
SpvCapabilityLinkage = 5,
|
||||
SpvCapabilityKernel = 6,
|
||||
SpvCapabilityVector16 = 7,
|
||||
SpvCapabilityFloat16Buffer = 8,
|
||||
SpvCapabilityFloat16 = 9,
|
||||
SpvCapabilityFloat64 = 10,
|
||||
SpvCapabilityInt64 = 11,
|
||||
SpvCapabilityInt64Atomics = 12,
|
||||
SpvCapabilityImageBasic = 13,
|
||||
SpvCapabilityImageReadWrite = 14,
|
||||
SpvCapabilityImageMipmap = 15,
|
||||
SpvCapabilityPipes = 17,
|
||||
SpvCapabilityGroups = 18,
|
||||
SpvCapabilityDeviceEnqueue = 19,
|
||||
SpvCapabilityLiteralSampler = 20,
|
||||
SpvCapabilityAtomicStorage = 21,
|
||||
SpvCapabilityInt16 = 22,
|
||||
SpvCapabilityTessellationPointSize = 23,
|
||||
SpvCapabilityGeometryPointSize = 24,
|
||||
SpvCapabilityImageGatherExtended = 25,
|
||||
SpvCapabilityStorageImageMultisample = 27,
|
||||
SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
|
||||
SpvCapabilitySampledImageArrayDynamicIndexing = 29,
|
||||
SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
|
||||
SpvCapabilityStorageImageArrayDynamicIndexing = 31,
|
||||
SpvCapabilityClipDistance = 32,
|
||||
SpvCapabilityCullDistance = 33,
|
||||
SpvCapabilityImageCubeArray = 34,
|
||||
SpvCapabilitySampleRateShading = 35,
|
||||
SpvCapabilityImageRect = 36,
|
||||
SpvCapabilitySampledRect = 37,
|
||||
SpvCapabilityGenericPointer = 38,
|
||||
SpvCapabilityInt8 = 39,
|
||||
SpvCapabilityInputAttachment = 40,
|
||||
SpvCapabilitySparseResidency = 41,
|
||||
SpvCapabilityMinLod = 42,
|
||||
SpvCapabilitySampled1D = 43,
|
||||
SpvCapabilityImage1D = 44,
|
||||
SpvCapabilitySampledCubeArray = 45,
|
||||
SpvCapabilitySampledBuffer = 46,
|
||||
SpvCapabilityImageBuffer = 47,
|
||||
SpvCapabilityImageMSArray = 48,
|
||||
SpvCapabilityStorageImageExtendedFormats = 49,
|
||||
SpvCapabilityImageQuery = 50,
|
||||
SpvCapabilityDerivativeControl = 51,
|
||||
SpvCapabilityInterpolationFunction = 52,
|
||||
SpvCapabilityTransformFeedback = 53,
|
||||
SpvCapabilityGeometryStreams = 54,
|
||||
SpvCapabilityStorageImageReadWithoutFormat = 55,
|
||||
SpvCapabilityStorageImageWriteWithoutFormat = 56,
|
||||
SpvCapabilityMultiViewport = 57,
|
||||
SpvCapabilitySubgroupBallotKHR = 4423,
|
||||
SpvCapabilityDrawParameters = 4427,
|
||||
SpvCapabilitySubgroupVoteKHR = 4431,
|
||||
SpvCapabilityStorageBuffer16BitAccess = 4433,
|
||||
SpvCapabilityStorageUniformBufferBlock16 = 4433,
|
||||
SpvCapabilityStorageUniform16 = 4434,
|
||||
SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
|
||||
SpvCapabilityStoragePushConstant16 = 4435,
|
||||
SpvCapabilityStorageInputOutput16 = 4436,
|
||||
SpvCapabilityDeviceGroup = 4437,
|
||||
SpvCapabilityMultiView = 4439,
|
||||
SpvCapabilityVariablePointersStorageBuffer = 4441,
|
||||
SpvCapabilityVariablePointers = 4442,
|
||||
SpvCapabilityAtomicStorageOps = 4445,
|
||||
SpvCapabilitySampleMaskPostDepthCoverage = 4447,
|
||||
SpvCapabilityImageGatherBiasLodAMD = 5009,
|
||||
SpvCapabilityFragmentMaskAMD = 5010,
|
||||
SpvCapabilityStencilExportEXT = 5013,
|
||||
SpvCapabilityImageReadWriteLodAMD = 5015,
|
||||
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
SpvCapabilityGeometryShaderPassthroughNV = 5251,
|
||||
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
|
||||
SpvCapabilityShaderViewportIndexLayerNV = 5254,
|
||||
SpvCapabilityShaderViewportMaskNV = 5255,
|
||||
SpvCapabilityShaderStereoViewNV = 5259,
|
||||
SpvCapabilityPerViewAttributesNV = 5260,
|
||||
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
||||
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
SpvCapabilityMax = 0x7fffffff,
|
||||
} SpvCapability;
|
||||
|
||||
typedef enum SpvOp_ {
|
||||
SpvOpNop = 0,
|
||||
SpvOpUndef = 1,
|
||||
SpvOpSourceContinued = 2,
|
||||
SpvOpSource = 3,
|
||||
SpvOpSourceExtension = 4,
|
||||
SpvOpName = 5,
|
||||
SpvOpMemberName = 6,
|
||||
SpvOpString = 7,
|
||||
SpvOpLine = 8,
|
||||
SpvOpExtension = 10,
|
||||
SpvOpExtInstImport = 11,
|
||||
SpvOpExtInst = 12,
|
||||
SpvOpMemoryModel = 14,
|
||||
SpvOpEntryPoint = 15,
|
||||
SpvOpExecutionMode = 16,
|
||||
SpvOpCapability = 17,
|
||||
SpvOpTypeVoid = 19,
|
||||
SpvOpTypeBool = 20,
|
||||
SpvOpTypeInt = 21,
|
||||
SpvOpTypeFloat = 22,
|
||||
SpvOpTypeVector = 23,
|
||||
SpvOpTypeMatrix = 24,
|
||||
SpvOpTypeImage = 25,
|
||||
SpvOpTypeSampler = 26,
|
||||
SpvOpTypeSampledImage = 27,
|
||||
SpvOpTypeArray = 28,
|
||||
SpvOpTypeRuntimeArray = 29,
|
||||
SpvOpTypeStruct = 30,
|
||||
SpvOpTypeOpaque = 31,
|
||||
SpvOpTypePointer = 32,
|
||||
SpvOpTypeFunction = 33,
|
||||
SpvOpTypeEvent = 34,
|
||||
SpvOpTypeDeviceEvent = 35,
|
||||
SpvOpTypeReserveId = 36,
|
||||
SpvOpTypeQueue = 37,
|
||||
SpvOpTypePipe = 38,
|
||||
SpvOpTypeForwardPointer = 39,
|
||||
SpvOpConstantTrue = 41,
|
||||
SpvOpConstantFalse = 42,
|
||||
SpvOpConstant = 43,
|
||||
SpvOpConstantComposite = 44,
|
||||
SpvOpConstantSampler = 45,
|
||||
SpvOpConstantNull = 46,
|
||||
SpvOpSpecConstantTrue = 48,
|
||||
SpvOpSpecConstantFalse = 49,
|
||||
SpvOpSpecConstant = 50,
|
||||
SpvOpSpecConstantComposite = 51,
|
||||
SpvOpSpecConstantOp = 52,
|
||||
SpvOpFunction = 54,
|
||||
SpvOpFunctionParameter = 55,
|
||||
SpvOpFunctionEnd = 56,
|
||||
SpvOpFunctionCall = 57,
|
||||
SpvOpVariable = 59,
|
||||
SpvOpImageTexelPointer = 60,
|
||||
SpvOpLoad = 61,
|
||||
SpvOpStore = 62,
|
||||
SpvOpCopyMemory = 63,
|
||||
SpvOpCopyMemorySized = 64,
|
||||
SpvOpAccessChain = 65,
|
||||
SpvOpInBoundsAccessChain = 66,
|
||||
SpvOpPtrAccessChain = 67,
|
||||
SpvOpArrayLength = 68,
|
||||
SpvOpGenericPtrMemSemantics = 69,
|
||||
SpvOpInBoundsPtrAccessChain = 70,
|
||||
SpvOpDecorate = 71,
|
||||
SpvOpMemberDecorate = 72,
|
||||
SpvOpDecorationGroup = 73,
|
||||
SpvOpGroupDecorate = 74,
|
||||
SpvOpGroupMemberDecorate = 75,
|
||||
SpvOpVectorExtractDynamic = 77,
|
||||
SpvOpVectorInsertDynamic = 78,
|
||||
SpvOpVectorShuffle = 79,
|
||||
SpvOpCompositeConstruct = 80,
|
||||
SpvOpCompositeExtract = 81,
|
||||
SpvOpCompositeInsert = 82,
|
||||
SpvOpCopyObject = 83,
|
||||
SpvOpTranspose = 84,
|
||||
SpvOpSampledImage = 86,
|
||||
SpvOpImageSampleImplicitLod = 87,
|
||||
SpvOpImageSampleExplicitLod = 88,
|
||||
SpvOpImageSampleDrefImplicitLod = 89,
|
||||
SpvOpImageSampleDrefExplicitLod = 90,
|
||||
SpvOpImageSampleProjImplicitLod = 91,
|
||||
SpvOpImageSampleProjExplicitLod = 92,
|
||||
SpvOpImageSampleProjDrefImplicitLod = 93,
|
||||
SpvOpImageSampleProjDrefExplicitLod = 94,
|
||||
SpvOpImageFetch = 95,
|
||||
SpvOpImageGather = 96,
|
||||
SpvOpImageDrefGather = 97,
|
||||
SpvOpImageRead = 98,
|
||||
SpvOpImageWrite = 99,
|
||||
SpvOpImage = 100,
|
||||
SpvOpImageQueryFormat = 101,
|
||||
SpvOpImageQueryOrder = 102,
|
||||
SpvOpImageQuerySizeLod = 103,
|
||||
SpvOpImageQuerySize = 104,
|
||||
SpvOpImageQueryLod = 105,
|
||||
SpvOpImageQueryLevels = 106,
|
||||
SpvOpImageQuerySamples = 107,
|
||||
SpvOpConvertFToU = 109,
|
||||
SpvOpConvertFToS = 110,
|
||||
SpvOpConvertSToF = 111,
|
||||
SpvOpConvertUToF = 112,
|
||||
SpvOpUConvert = 113,
|
||||
SpvOpSConvert = 114,
|
||||
SpvOpFConvert = 115,
|
||||
SpvOpQuantizeToF16 = 116,
|
||||
SpvOpConvertPtrToU = 117,
|
||||
SpvOpSatConvertSToU = 118,
|
||||
SpvOpSatConvertUToS = 119,
|
||||
SpvOpConvertUToPtr = 120,
|
||||
SpvOpPtrCastToGeneric = 121,
|
||||
SpvOpGenericCastToPtr = 122,
|
||||
SpvOpGenericCastToPtrExplicit = 123,
|
||||
SpvOpBitcast = 124,
|
||||
SpvOpSNegate = 126,
|
||||
SpvOpFNegate = 127,
|
||||
SpvOpIAdd = 128,
|
||||
SpvOpFAdd = 129,
|
||||
SpvOpISub = 130,
|
||||
SpvOpFSub = 131,
|
||||
SpvOpIMul = 132,
|
||||
SpvOpFMul = 133,
|
||||
SpvOpUDiv = 134,
|
||||
SpvOpSDiv = 135,
|
||||
SpvOpFDiv = 136,
|
||||
SpvOpUMod = 137,
|
||||
SpvOpSRem = 138,
|
||||
SpvOpSMod = 139,
|
||||
SpvOpFRem = 140,
|
||||
SpvOpFMod = 141,
|
||||
SpvOpVectorTimesScalar = 142,
|
||||
SpvOpMatrixTimesScalar = 143,
|
||||
SpvOpVectorTimesMatrix = 144,
|
||||
SpvOpMatrixTimesVector = 145,
|
||||
SpvOpMatrixTimesMatrix = 146,
|
||||
SpvOpOuterProduct = 147,
|
||||
SpvOpDot = 148,
|
||||
SpvOpIAddCarry = 149,
|
||||
SpvOpISubBorrow = 150,
|
||||
SpvOpUMulExtended = 151,
|
||||
SpvOpSMulExtended = 152,
|
||||
SpvOpAny = 154,
|
||||
SpvOpAll = 155,
|
||||
SpvOpIsNan = 156,
|
||||
SpvOpIsInf = 157,
|
||||
SpvOpIsFinite = 158,
|
||||
SpvOpIsNormal = 159,
|
||||
SpvOpSignBitSet = 160,
|
||||
SpvOpLessOrGreater = 161,
|
||||
SpvOpOrdered = 162,
|
||||
SpvOpUnordered = 163,
|
||||
SpvOpLogicalEqual = 164,
|
||||
SpvOpLogicalNotEqual = 165,
|
||||
SpvOpLogicalOr = 166,
|
||||
SpvOpLogicalAnd = 167,
|
||||
SpvOpLogicalNot = 168,
|
||||
SpvOpSelect = 169,
|
||||
SpvOpIEqual = 170,
|
||||
SpvOpINotEqual = 171,
|
||||
SpvOpUGreaterThan = 172,
|
||||
SpvOpSGreaterThan = 173,
|
||||
SpvOpUGreaterThanEqual = 174,
|
||||
SpvOpSGreaterThanEqual = 175,
|
||||
SpvOpULessThan = 176,
|
||||
SpvOpSLessThan = 177,
|
||||
SpvOpULessThanEqual = 178,
|
||||
SpvOpSLessThanEqual = 179,
|
||||
SpvOpFOrdEqual = 180,
|
||||
SpvOpFUnordEqual = 181,
|
||||
SpvOpFOrdNotEqual = 182,
|
||||
SpvOpFUnordNotEqual = 183,
|
||||
SpvOpFOrdLessThan = 184,
|
||||
SpvOpFUnordLessThan = 185,
|
||||
SpvOpFOrdGreaterThan = 186,
|
||||
SpvOpFUnordGreaterThan = 187,
|
||||
SpvOpFOrdLessThanEqual = 188,
|
||||
SpvOpFUnordLessThanEqual = 189,
|
||||
SpvOpFOrdGreaterThanEqual = 190,
|
||||
SpvOpFUnordGreaterThanEqual = 191,
|
||||
SpvOpShiftRightLogical = 194,
|
||||
SpvOpShiftRightArithmetic = 195,
|
||||
SpvOpShiftLeftLogical = 196,
|
||||
SpvOpBitwiseOr = 197,
|
||||
SpvOpBitwiseXor = 198,
|
||||
SpvOpBitwiseAnd = 199,
|
||||
SpvOpNot = 200,
|
||||
SpvOpBitFieldInsert = 201,
|
||||
SpvOpBitFieldSExtract = 202,
|
||||
SpvOpBitFieldUExtract = 203,
|
||||
SpvOpBitReverse = 204,
|
||||
SpvOpBitCount = 205,
|
||||
SpvOpDPdx = 207,
|
||||
SpvOpDPdy = 208,
|
||||
SpvOpFwidth = 209,
|
||||
SpvOpDPdxFine = 210,
|
||||
SpvOpDPdyFine = 211,
|
||||
SpvOpFwidthFine = 212,
|
||||
SpvOpDPdxCoarse = 213,
|
||||
SpvOpDPdyCoarse = 214,
|
||||
SpvOpFwidthCoarse = 215,
|
||||
SpvOpEmitVertex = 218,
|
||||
SpvOpEndPrimitive = 219,
|
||||
SpvOpEmitStreamVertex = 220,
|
||||
SpvOpEndStreamPrimitive = 221,
|
||||
SpvOpControlBarrier = 224,
|
||||
SpvOpMemoryBarrier = 225,
|
||||
SpvOpAtomicLoad = 227,
|
||||
SpvOpAtomicStore = 228,
|
||||
SpvOpAtomicExchange = 229,
|
||||
SpvOpAtomicCompareExchange = 230,
|
||||
SpvOpAtomicCompareExchangeWeak = 231,
|
||||
SpvOpAtomicIIncrement = 232,
|
||||
SpvOpAtomicIDecrement = 233,
|
||||
SpvOpAtomicIAdd = 234,
|
||||
SpvOpAtomicISub = 235,
|
||||
SpvOpAtomicSMin = 236,
|
||||
SpvOpAtomicUMin = 237,
|
||||
SpvOpAtomicSMax = 238,
|
||||
SpvOpAtomicUMax = 239,
|
||||
SpvOpAtomicAnd = 240,
|
||||
SpvOpAtomicOr = 241,
|
||||
SpvOpAtomicXor = 242,
|
||||
SpvOpPhi = 245,
|
||||
SpvOpLoopMerge = 246,
|
||||
SpvOpSelectionMerge = 247,
|
||||
SpvOpLabel = 248,
|
||||
SpvOpBranch = 249,
|
||||
SpvOpBranchConditional = 250,
|
||||
SpvOpSwitch = 251,
|
||||
SpvOpKill = 252,
|
||||
SpvOpReturn = 253,
|
||||
SpvOpReturnValue = 254,
|
||||
SpvOpUnreachable = 255,
|
||||
SpvOpLifetimeStart = 256,
|
||||
SpvOpLifetimeStop = 257,
|
||||
SpvOpGroupAsyncCopy = 259,
|
||||
SpvOpGroupWaitEvents = 260,
|
||||
SpvOpGroupAll = 261,
|
||||
SpvOpGroupAny = 262,
|
||||
SpvOpGroupBroadcast = 263,
|
||||
SpvOpGroupIAdd = 264,
|
||||
SpvOpGroupFAdd = 265,
|
||||
SpvOpGroupFMin = 266,
|
||||
SpvOpGroupUMin = 267,
|
||||
SpvOpGroupSMin = 268,
|
||||
SpvOpGroupFMax = 269,
|
||||
SpvOpGroupUMax = 270,
|
||||
SpvOpGroupSMax = 271,
|
||||
SpvOpReadPipe = 274,
|
||||
SpvOpWritePipe = 275,
|
||||
SpvOpReservedReadPipe = 276,
|
||||
SpvOpReservedWritePipe = 277,
|
||||
SpvOpReserveReadPipePackets = 278,
|
||||
SpvOpReserveWritePipePackets = 279,
|
||||
SpvOpCommitReadPipe = 280,
|
||||
SpvOpCommitWritePipe = 281,
|
||||
SpvOpIsValidReserveId = 282,
|
||||
SpvOpGetNumPipePackets = 283,
|
||||
SpvOpGetMaxPipePackets = 284,
|
||||
SpvOpGroupReserveReadPipePackets = 285,
|
||||
SpvOpGroupReserveWritePipePackets = 286,
|
||||
SpvOpGroupCommitReadPipe = 287,
|
||||
SpvOpGroupCommitWritePipe = 288,
|
||||
SpvOpEnqueueMarker = 291,
|
||||
SpvOpEnqueueKernel = 292,
|
||||
SpvOpGetKernelNDrangeSubGroupCount = 293,
|
||||
SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
|
||||
SpvOpGetKernelWorkGroupSize = 295,
|
||||
SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
||||
SpvOpRetainEvent = 297,
|
||||
SpvOpReleaseEvent = 298,
|
||||
SpvOpCreateUserEvent = 299,
|
||||
SpvOpIsValidEvent = 300,
|
||||
SpvOpSetUserEventStatus = 301,
|
||||
SpvOpCaptureEventProfilingInfo = 302,
|
||||
SpvOpGetDefaultQueue = 303,
|
||||
SpvOpBuildNDRange = 304,
|
||||
SpvOpImageSparseSampleImplicitLod = 305,
|
||||
SpvOpImageSparseSampleExplicitLod = 306,
|
||||
SpvOpImageSparseSampleDrefImplicitLod = 307,
|
||||
SpvOpImageSparseSampleDrefExplicitLod = 308,
|
||||
SpvOpImageSparseSampleProjImplicitLod = 309,
|
||||
SpvOpImageSparseSampleProjExplicitLod = 310,
|
||||
SpvOpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
SpvOpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
SpvOpImageSparseFetch = 313,
|
||||
SpvOpImageSparseGather = 314,
|
||||
SpvOpImageSparseDrefGather = 315,
|
||||
SpvOpImageSparseTexelsResident = 316,
|
||||
SpvOpNoLine = 317,
|
||||
SpvOpAtomicFlagTestAndSet = 318,
|
||||
SpvOpAtomicFlagClear = 319,
|
||||
SpvOpImageSparseRead = 320,
|
||||
SpvOpDecorateId = 332,
|
||||
SpvOpSubgroupBallotKHR = 4421,
|
||||
SpvOpSubgroupFirstInvocationKHR = 4422,
|
||||
SpvOpSubgroupAllKHR = 4428,
|
||||
SpvOpSubgroupAnyKHR = 4429,
|
||||
SpvOpSubgroupAllEqualKHR = 4430,
|
||||
SpvOpSubgroupReadInvocationKHR = 4432,
|
||||
SpvOpGroupIAddNonUniformAMD = 5000,
|
||||
SpvOpGroupFAddNonUniformAMD = 5001,
|
||||
SpvOpGroupFMinNonUniformAMD = 5002,
|
||||
SpvOpGroupUMinNonUniformAMD = 5003,
|
||||
SpvOpGroupSMinNonUniformAMD = 5004,
|
||||
SpvOpGroupFMaxNonUniformAMD = 5005,
|
||||
SpvOpGroupUMaxNonUniformAMD = 5006,
|
||||
SpvOpGroupSMaxNonUniformAMD = 5007,
|
||||
SpvOpFragmentMaskFetchAMD = 5011,
|
||||
SpvOpFragmentFetchAMD = 5012,
|
||||
SpvOpSubgroupShuffleINTEL = 5571,
|
||||
SpvOpSubgroupShuffleDownINTEL = 5572,
|
||||
SpvOpSubgroupShuffleUpINTEL = 5573,
|
||||
SpvOpSubgroupShuffleXorINTEL = 5574,
|
||||
SpvOpSubgroupBlockReadINTEL = 5575,
|
||||
SpvOpSubgroupBlockWriteINTEL = 5576,
|
||||
SpvOpSubgroupImageBlockReadINTEL = 5577,
|
||||
SpvOpSubgroupImageBlockWriteINTEL = 5578,
|
||||
SpvOpDecorateStringGOOGLE = 5632,
|
||||
SpvOpMemberDecorateStringGOOGLE = 5633,
|
||||
SpvOpMax = 0x7fffffff,
|
||||
} SpvOp;
|
||||
|
||||
#endif // #ifndef spirv_H
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,949 +0,0 @@
|
||||
-- Copyright (c) 2014-2018 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.
|
||||
|
||||
-- This header is automatically generated by the same tool that creates
|
||||
-- the Binary Section of the SPIR-V specification.
|
||||
|
||||
-- Enumeration tokens for SPIR-V, in various styles:
|
||||
-- C, C++, C++11, JSON, Lua, Python
|
||||
--
|
||||
-- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
-- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
-- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
-- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
-- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
--
|
||||
-- Some tokens act like mask values, which can be OR'd together,
|
||||
-- while others are mutually exclusive. The mask-like ones have
|
||||
-- "Mask" in their name, and a parallel enum that has the shift
|
||||
-- amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
MagicNumber = 0x07230203,
|
||||
Version = 0x00010000,
|
||||
Revision = 12,
|
||||
OpCodeMask = 0xffff,
|
||||
WordCountShift = 16,
|
||||
|
||||
SourceLanguage = {
|
||||
Unknown = 0,
|
||||
ESSL = 1,
|
||||
GLSL = 2,
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
},
|
||||
|
||||
ExecutionModel = {
|
||||
Vertex = 0,
|
||||
TessellationControl = 1,
|
||||
TessellationEvaluation = 2,
|
||||
Geometry = 3,
|
||||
Fragment = 4,
|
||||
GLCompute = 5,
|
||||
Kernel = 6,
|
||||
},
|
||||
|
||||
AddressingModel = {
|
||||
Logical = 0,
|
||||
Physical32 = 1,
|
||||
Physical64 = 2,
|
||||
},
|
||||
|
||||
MemoryModel = {
|
||||
Simple = 0,
|
||||
GLSL450 = 1,
|
||||
OpenCL = 2,
|
||||
},
|
||||
|
||||
ExecutionMode = {
|
||||
Invocations = 0,
|
||||
SpacingEqual = 1,
|
||||
SpacingFractionalEven = 2,
|
||||
SpacingFractionalOdd = 3,
|
||||
VertexOrderCw = 4,
|
||||
VertexOrderCcw = 5,
|
||||
PixelCenterInteger = 6,
|
||||
OriginUpperLeft = 7,
|
||||
OriginLowerLeft = 8,
|
||||
EarlyFragmentTests = 9,
|
||||
PointMode = 10,
|
||||
Xfb = 11,
|
||||
DepthReplacing = 12,
|
||||
DepthGreater = 14,
|
||||
DepthLess = 15,
|
||||
DepthUnchanged = 16,
|
||||
LocalSize = 17,
|
||||
LocalSizeHint = 18,
|
||||
InputPoints = 19,
|
||||
InputLines = 20,
|
||||
InputLinesAdjacency = 21,
|
||||
Triangles = 22,
|
||||
InputTrianglesAdjacency = 23,
|
||||
Quads = 24,
|
||||
Isolines = 25,
|
||||
OutputVertices = 26,
|
||||
OutputPoints = 27,
|
||||
OutputLineStrip = 28,
|
||||
OutputTriangleStrip = 29,
|
||||
VecTypeHint = 30,
|
||||
ContractionOff = 31,
|
||||
PostDepthCoverage = 4446,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
},
|
||||
|
||||
StorageClass = {
|
||||
UniformConstant = 0,
|
||||
Input = 1,
|
||||
Uniform = 2,
|
||||
Output = 3,
|
||||
Workgroup = 4,
|
||||
CrossWorkgroup = 5,
|
||||
Private = 6,
|
||||
Function = 7,
|
||||
Generic = 8,
|
||||
PushConstant = 9,
|
||||
AtomicCounter = 10,
|
||||
Image = 11,
|
||||
StorageBuffer = 12,
|
||||
},
|
||||
|
||||
Dim = {
|
||||
Dim1D = 0,
|
||||
Dim2D = 1,
|
||||
Dim3D = 2,
|
||||
Cube = 3,
|
||||
Rect = 4,
|
||||
Buffer = 5,
|
||||
SubpassData = 6,
|
||||
},
|
||||
|
||||
SamplerAddressingMode = {
|
||||
None = 0,
|
||||
ClampToEdge = 1,
|
||||
Clamp = 2,
|
||||
Repeat = 3,
|
||||
RepeatMirrored = 4,
|
||||
},
|
||||
|
||||
SamplerFilterMode = {
|
||||
Nearest = 0,
|
||||
Linear = 1,
|
||||
},
|
||||
|
||||
ImageFormat = {
|
||||
Unknown = 0,
|
||||
Rgba32f = 1,
|
||||
Rgba16f = 2,
|
||||
R32f = 3,
|
||||
Rgba8 = 4,
|
||||
Rgba8Snorm = 5,
|
||||
Rg32f = 6,
|
||||
Rg16f = 7,
|
||||
R11fG11fB10f = 8,
|
||||
R16f = 9,
|
||||
Rgba16 = 10,
|
||||
Rgb10A2 = 11,
|
||||
Rg16 = 12,
|
||||
Rg8 = 13,
|
||||
R16 = 14,
|
||||
R8 = 15,
|
||||
Rgba16Snorm = 16,
|
||||
Rg16Snorm = 17,
|
||||
Rg8Snorm = 18,
|
||||
R16Snorm = 19,
|
||||
R8Snorm = 20,
|
||||
Rgba32i = 21,
|
||||
Rgba16i = 22,
|
||||
Rgba8i = 23,
|
||||
R32i = 24,
|
||||
Rg32i = 25,
|
||||
Rg16i = 26,
|
||||
Rg8i = 27,
|
||||
R16i = 28,
|
||||
R8i = 29,
|
||||
Rgba32ui = 30,
|
||||
Rgba16ui = 31,
|
||||
Rgba8ui = 32,
|
||||
R32ui = 33,
|
||||
Rgb10a2ui = 34,
|
||||
Rg32ui = 35,
|
||||
Rg16ui = 36,
|
||||
Rg8ui = 37,
|
||||
R16ui = 38,
|
||||
R8ui = 39,
|
||||
},
|
||||
|
||||
ImageChannelOrder = {
|
||||
R = 0,
|
||||
A = 1,
|
||||
RG = 2,
|
||||
RA = 3,
|
||||
RGB = 4,
|
||||
RGBA = 5,
|
||||
BGRA = 6,
|
||||
ARGB = 7,
|
||||
Intensity = 8,
|
||||
Luminance = 9,
|
||||
Rx = 10,
|
||||
RGx = 11,
|
||||
RGBx = 12,
|
||||
Depth = 13,
|
||||
DepthStencil = 14,
|
||||
sRGB = 15,
|
||||
sRGBx = 16,
|
||||
sRGBA = 17,
|
||||
sBGRA = 18,
|
||||
ABGR = 19,
|
||||
},
|
||||
|
||||
ImageChannelDataType = {
|
||||
SnormInt8 = 0,
|
||||
SnormInt16 = 1,
|
||||
UnormInt8 = 2,
|
||||
UnormInt16 = 3,
|
||||
UnormShort565 = 4,
|
||||
UnormShort555 = 5,
|
||||
UnormInt101010 = 6,
|
||||
SignedInt8 = 7,
|
||||
SignedInt16 = 8,
|
||||
SignedInt32 = 9,
|
||||
UnsignedInt8 = 10,
|
||||
UnsignedInt16 = 11,
|
||||
UnsignedInt32 = 12,
|
||||
HalfFloat = 13,
|
||||
Float = 14,
|
||||
UnormInt24 = 15,
|
||||
UnormInt101010_2 = 16,
|
||||
},
|
||||
|
||||
ImageOperandsShift = {
|
||||
Bias = 0,
|
||||
Lod = 1,
|
||||
Grad = 2,
|
||||
ConstOffset = 3,
|
||||
Offset = 4,
|
||||
ConstOffsets = 5,
|
||||
Sample = 6,
|
||||
MinLod = 7,
|
||||
},
|
||||
|
||||
ImageOperandsMask = {
|
||||
MaskNone = 0,
|
||||
Bias = 0x00000001,
|
||||
Lod = 0x00000002,
|
||||
Grad = 0x00000004,
|
||||
ConstOffset = 0x00000008,
|
||||
Offset = 0x00000010,
|
||||
ConstOffsets = 0x00000020,
|
||||
Sample = 0x00000040,
|
||||
MinLod = 0x00000080,
|
||||
},
|
||||
|
||||
FPFastMathModeShift = {
|
||||
NotNaN = 0,
|
||||
NotInf = 1,
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
},
|
||||
|
||||
FPFastMathModeMask = {
|
||||
MaskNone = 0,
|
||||
NotNaN = 0x00000001,
|
||||
NotInf = 0x00000002,
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
},
|
||||
|
||||
FPRoundingMode = {
|
||||
RTE = 0,
|
||||
RTZ = 1,
|
||||
RTP = 2,
|
||||
RTN = 3,
|
||||
},
|
||||
|
||||
LinkageType = {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
},
|
||||
|
||||
AccessQualifier = {
|
||||
ReadOnly = 0,
|
||||
WriteOnly = 1,
|
||||
ReadWrite = 2,
|
||||
},
|
||||
|
||||
FunctionParameterAttribute = {
|
||||
Zext = 0,
|
||||
Sext = 1,
|
||||
ByVal = 2,
|
||||
Sret = 3,
|
||||
NoAlias = 4,
|
||||
NoCapture = 5,
|
||||
NoWrite = 6,
|
||||
NoReadWrite = 7,
|
||||
},
|
||||
|
||||
Decoration = {
|
||||
RelaxedPrecision = 0,
|
||||
SpecId = 1,
|
||||
Block = 2,
|
||||
BufferBlock = 3,
|
||||
RowMajor = 4,
|
||||
ColMajor = 5,
|
||||
ArrayStride = 6,
|
||||
MatrixStride = 7,
|
||||
GLSLShared = 8,
|
||||
GLSLPacked = 9,
|
||||
CPacked = 10,
|
||||
BuiltIn = 11,
|
||||
NoPerspective = 13,
|
||||
Flat = 14,
|
||||
Patch = 15,
|
||||
Centroid = 16,
|
||||
Sample = 17,
|
||||
Invariant = 18,
|
||||
Restrict = 19,
|
||||
Aliased = 20,
|
||||
Volatile = 21,
|
||||
Constant = 22,
|
||||
Coherent = 23,
|
||||
NonWritable = 24,
|
||||
NonReadable = 25,
|
||||
Uniform = 26,
|
||||
SaturatedConversion = 28,
|
||||
Stream = 29,
|
||||
Location = 30,
|
||||
Component = 31,
|
||||
Index = 32,
|
||||
Binding = 33,
|
||||
DescriptorSet = 34,
|
||||
Offset = 35,
|
||||
XfbBuffer = 36,
|
||||
XfbStride = 37,
|
||||
FuncParamAttr = 38,
|
||||
FPRoundingMode = 39,
|
||||
FPFastMathMode = 40,
|
||||
LinkageAttributes = 41,
|
||||
NoContraction = 42,
|
||||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
ExplicitInterpAMD = 4999,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
},
|
||||
|
||||
BuiltIn = {
|
||||
Position = 0,
|
||||
PointSize = 1,
|
||||
ClipDistance = 3,
|
||||
CullDistance = 4,
|
||||
VertexId = 5,
|
||||
InstanceId = 6,
|
||||
PrimitiveId = 7,
|
||||
InvocationId = 8,
|
||||
Layer = 9,
|
||||
ViewportIndex = 10,
|
||||
TessLevelOuter = 11,
|
||||
TessLevelInner = 12,
|
||||
TessCoord = 13,
|
||||
PatchVertices = 14,
|
||||
FragCoord = 15,
|
||||
PointCoord = 16,
|
||||
FrontFacing = 17,
|
||||
SampleId = 18,
|
||||
SamplePosition = 19,
|
||||
SampleMask = 20,
|
||||
FragDepth = 22,
|
||||
HelperInvocation = 23,
|
||||
NumWorkgroups = 24,
|
||||
WorkgroupSize = 25,
|
||||
WorkgroupId = 26,
|
||||
LocalInvocationId = 27,
|
||||
GlobalInvocationId = 28,
|
||||
LocalInvocationIndex = 29,
|
||||
WorkDim = 30,
|
||||
GlobalSize = 31,
|
||||
EnqueuedWorkgroupSize = 32,
|
||||
GlobalOffset = 33,
|
||||
GlobalLinearId = 34,
|
||||
SubgroupSize = 36,
|
||||
SubgroupMaxSize = 37,
|
||||
NumSubgroups = 38,
|
||||
NumEnqueuedSubgroups = 39,
|
||||
SubgroupId = 40,
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMaskKHR = 4417,
|
||||
SubgroupGtMaskKHR = 4418,
|
||||
SubgroupLeMaskKHR = 4419,
|
||||
SubgroupLtMaskKHR = 4420,
|
||||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
BaryCoordNoPerspAMD = 4992,
|
||||
BaryCoordNoPerspCentroidAMD = 4993,
|
||||
BaryCoordNoPerspSampleAMD = 4994,
|
||||
BaryCoordSmoothAMD = 4995,
|
||||
BaryCoordSmoothCentroidAMD = 4996,
|
||||
BaryCoordSmoothSampleAMD = 4997,
|
||||
BaryCoordPullModelAMD = 4998,
|
||||
FragStencilRefEXT = 5014,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
},
|
||||
|
||||
SelectionControlShift = {
|
||||
Flatten = 0,
|
||||
DontFlatten = 1,
|
||||
},
|
||||
|
||||
SelectionControlMask = {
|
||||
MaskNone = 0,
|
||||
Flatten = 0x00000001,
|
||||
DontFlatten = 0x00000002,
|
||||
},
|
||||
|
||||
LoopControlShift = {
|
||||
Unroll = 0,
|
||||
DontUnroll = 1,
|
||||
},
|
||||
|
||||
LoopControlMask = {
|
||||
MaskNone = 0,
|
||||
Unroll = 0x00000001,
|
||||
DontUnroll = 0x00000002,
|
||||
},
|
||||
|
||||
FunctionControlShift = {
|
||||
Inline = 0,
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
},
|
||||
|
||||
FunctionControlMask = {
|
||||
MaskNone = 0,
|
||||
Inline = 0x00000001,
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
},
|
||||
|
||||
MemorySemanticsShift = {
|
||||
Acquire = 1,
|
||||
Release = 2,
|
||||
AcquireRelease = 3,
|
||||
SequentiallyConsistent = 4,
|
||||
UniformMemory = 6,
|
||||
SubgroupMemory = 7,
|
||||
WorkgroupMemory = 8,
|
||||
CrossWorkgroupMemory = 9,
|
||||
AtomicCounterMemory = 10,
|
||||
ImageMemory = 11,
|
||||
},
|
||||
|
||||
MemorySemanticsMask = {
|
||||
MaskNone = 0,
|
||||
Acquire = 0x00000002,
|
||||
Release = 0x00000004,
|
||||
AcquireRelease = 0x00000008,
|
||||
SequentiallyConsistent = 0x00000010,
|
||||
UniformMemory = 0x00000040,
|
||||
SubgroupMemory = 0x00000080,
|
||||
WorkgroupMemory = 0x00000100,
|
||||
CrossWorkgroupMemory = 0x00000200,
|
||||
AtomicCounterMemory = 0x00000400,
|
||||
ImageMemory = 0x00000800,
|
||||
},
|
||||
|
||||
MemoryAccessShift = {
|
||||
Volatile = 0,
|
||||
Aligned = 1,
|
||||
Nontemporal = 2,
|
||||
},
|
||||
|
||||
MemoryAccessMask = {
|
||||
MaskNone = 0,
|
||||
Volatile = 0x00000001,
|
||||
Aligned = 0x00000002,
|
||||
Nontemporal = 0x00000004,
|
||||
},
|
||||
|
||||
Scope = {
|
||||
CrossDevice = 0,
|
||||
Device = 1,
|
||||
Workgroup = 2,
|
||||
Subgroup = 3,
|
||||
Invocation = 4,
|
||||
},
|
||||
|
||||
GroupOperation = {
|
||||
Reduce = 0,
|
||||
InclusiveScan = 1,
|
||||
ExclusiveScan = 2,
|
||||
},
|
||||
|
||||
KernelEnqueueFlags = {
|
||||
NoWait = 0,
|
||||
WaitKernel = 1,
|
||||
WaitWorkGroup = 2,
|
||||
},
|
||||
|
||||
KernelProfilingInfoShift = {
|
||||
CmdExecTime = 0,
|
||||
},
|
||||
|
||||
KernelProfilingInfoMask = {
|
||||
MaskNone = 0,
|
||||
CmdExecTime = 0x00000001,
|
||||
},
|
||||
|
||||
Capability = {
|
||||
Matrix = 0,
|
||||
Shader = 1,
|
||||
Geometry = 2,
|
||||
Tessellation = 3,
|
||||
Addresses = 4,
|
||||
Linkage = 5,
|
||||
Kernel = 6,
|
||||
Vector16 = 7,
|
||||
Float16Buffer = 8,
|
||||
Float16 = 9,
|
||||
Float64 = 10,
|
||||
Int64 = 11,
|
||||
Int64Atomics = 12,
|
||||
ImageBasic = 13,
|
||||
ImageReadWrite = 14,
|
||||
ImageMipmap = 15,
|
||||
Pipes = 17,
|
||||
Groups = 18,
|
||||
DeviceEnqueue = 19,
|
||||
LiteralSampler = 20,
|
||||
AtomicStorage = 21,
|
||||
Int16 = 22,
|
||||
TessellationPointSize = 23,
|
||||
GeometryPointSize = 24,
|
||||
ImageGatherExtended = 25,
|
||||
StorageImageMultisample = 27,
|
||||
UniformBufferArrayDynamicIndexing = 28,
|
||||
SampledImageArrayDynamicIndexing = 29,
|
||||
StorageBufferArrayDynamicIndexing = 30,
|
||||
StorageImageArrayDynamicIndexing = 31,
|
||||
ClipDistance = 32,
|
||||
CullDistance = 33,
|
||||
ImageCubeArray = 34,
|
||||
SampleRateShading = 35,
|
||||
ImageRect = 36,
|
||||
SampledRect = 37,
|
||||
GenericPointer = 38,
|
||||
Int8 = 39,
|
||||
InputAttachment = 40,
|
||||
SparseResidency = 41,
|
||||
MinLod = 42,
|
||||
Sampled1D = 43,
|
||||
Image1D = 44,
|
||||
SampledCubeArray = 45,
|
||||
SampledBuffer = 46,
|
||||
ImageBuffer = 47,
|
||||
ImageMSArray = 48,
|
||||
StorageImageExtendedFormats = 49,
|
||||
ImageQuery = 50,
|
||||
DerivativeControl = 51,
|
||||
InterpolationFunction = 52,
|
||||
TransformFeedback = 53,
|
||||
GeometryStreams = 54,
|
||||
StorageImageReadWithoutFormat = 55,
|
||||
StorageImageWriteWithoutFormat = 56,
|
||||
MultiViewport = 57,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
UniformAndStorageBuffer16BitAccess = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
VariablePointersStorageBuffer = 4441,
|
||||
VariablePointers = 4442,
|
||||
AtomicStorageOps = 4445,
|
||||
SampleMaskPostDepthCoverage = 4447,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
StencilExportEXT = 5013,
|
||||
ImageReadWriteLodAMD = 5015,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
},
|
||||
|
||||
Op = {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
OpSourceContinued = 2,
|
||||
OpSource = 3,
|
||||
OpSourceExtension = 4,
|
||||
OpName = 5,
|
||||
OpMemberName = 6,
|
||||
OpString = 7,
|
||||
OpLine = 8,
|
||||
OpExtension = 10,
|
||||
OpExtInstImport = 11,
|
||||
OpExtInst = 12,
|
||||
OpMemoryModel = 14,
|
||||
OpEntryPoint = 15,
|
||||
OpExecutionMode = 16,
|
||||
OpCapability = 17,
|
||||
OpTypeVoid = 19,
|
||||
OpTypeBool = 20,
|
||||
OpTypeInt = 21,
|
||||
OpTypeFloat = 22,
|
||||
OpTypeVector = 23,
|
||||
OpTypeMatrix = 24,
|
||||
OpTypeImage = 25,
|
||||
OpTypeSampler = 26,
|
||||
OpTypeSampledImage = 27,
|
||||
OpTypeArray = 28,
|
||||
OpTypeRuntimeArray = 29,
|
||||
OpTypeStruct = 30,
|
||||
OpTypeOpaque = 31,
|
||||
OpTypePointer = 32,
|
||||
OpTypeFunction = 33,
|
||||
OpTypeEvent = 34,
|
||||
OpTypeDeviceEvent = 35,
|
||||
OpTypeReserveId = 36,
|
||||
OpTypeQueue = 37,
|
||||
OpTypePipe = 38,
|
||||
OpTypeForwardPointer = 39,
|
||||
OpConstantTrue = 41,
|
||||
OpConstantFalse = 42,
|
||||
OpConstant = 43,
|
||||
OpConstantComposite = 44,
|
||||
OpConstantSampler = 45,
|
||||
OpConstantNull = 46,
|
||||
OpSpecConstantTrue = 48,
|
||||
OpSpecConstantFalse = 49,
|
||||
OpSpecConstant = 50,
|
||||
OpSpecConstantComposite = 51,
|
||||
OpSpecConstantOp = 52,
|
||||
OpFunction = 54,
|
||||
OpFunctionParameter = 55,
|
||||
OpFunctionEnd = 56,
|
||||
OpFunctionCall = 57,
|
||||
OpVariable = 59,
|
||||
OpImageTexelPointer = 60,
|
||||
OpLoad = 61,
|
||||
OpStore = 62,
|
||||
OpCopyMemory = 63,
|
||||
OpCopyMemorySized = 64,
|
||||
OpAccessChain = 65,
|
||||
OpInBoundsAccessChain = 66,
|
||||
OpPtrAccessChain = 67,
|
||||
OpArrayLength = 68,
|
||||
OpGenericPtrMemSemantics = 69,
|
||||
OpInBoundsPtrAccessChain = 70,
|
||||
OpDecorate = 71,
|
||||
OpMemberDecorate = 72,
|
||||
OpDecorationGroup = 73,
|
||||
OpGroupDecorate = 74,
|
||||
OpGroupMemberDecorate = 75,
|
||||
OpVectorExtractDynamic = 77,
|
||||
OpVectorInsertDynamic = 78,
|
||||
OpVectorShuffle = 79,
|
||||
OpCompositeConstruct = 80,
|
||||
OpCompositeExtract = 81,
|
||||
OpCompositeInsert = 82,
|
||||
OpCopyObject = 83,
|
||||
OpTranspose = 84,
|
||||
OpSampledImage = 86,
|
||||
OpImageSampleImplicitLod = 87,
|
||||
OpImageSampleExplicitLod = 88,
|
||||
OpImageSampleDrefImplicitLod = 89,
|
||||
OpImageSampleDrefExplicitLod = 90,
|
||||
OpImageSampleProjImplicitLod = 91,
|
||||
OpImageSampleProjExplicitLod = 92,
|
||||
OpImageSampleProjDrefImplicitLod = 93,
|
||||
OpImageSampleProjDrefExplicitLod = 94,
|
||||
OpImageFetch = 95,
|
||||
OpImageGather = 96,
|
||||
OpImageDrefGather = 97,
|
||||
OpImageRead = 98,
|
||||
OpImageWrite = 99,
|
||||
OpImage = 100,
|
||||
OpImageQueryFormat = 101,
|
||||
OpImageQueryOrder = 102,
|
||||
OpImageQuerySizeLod = 103,
|
||||
OpImageQuerySize = 104,
|
||||
OpImageQueryLod = 105,
|
||||
OpImageQueryLevels = 106,
|
||||
OpImageQuerySamples = 107,
|
||||
OpConvertFToU = 109,
|
||||
OpConvertFToS = 110,
|
||||
OpConvertSToF = 111,
|
||||
OpConvertUToF = 112,
|
||||
OpUConvert = 113,
|
||||
OpSConvert = 114,
|
||||
OpFConvert = 115,
|
||||
OpQuantizeToF16 = 116,
|
||||
OpConvertPtrToU = 117,
|
||||
OpSatConvertSToU = 118,
|
||||
OpSatConvertUToS = 119,
|
||||
OpConvertUToPtr = 120,
|
||||
OpPtrCastToGeneric = 121,
|
||||
OpGenericCastToPtr = 122,
|
||||
OpGenericCastToPtrExplicit = 123,
|
||||
OpBitcast = 124,
|
||||
OpSNegate = 126,
|
||||
OpFNegate = 127,
|
||||
OpIAdd = 128,
|
||||
OpFAdd = 129,
|
||||
OpISub = 130,
|
||||
OpFSub = 131,
|
||||
OpIMul = 132,
|
||||
OpFMul = 133,
|
||||
OpUDiv = 134,
|
||||
OpSDiv = 135,
|
||||
OpFDiv = 136,
|
||||
OpUMod = 137,
|
||||
OpSRem = 138,
|
||||
OpSMod = 139,
|
||||
OpFRem = 140,
|
||||
OpFMod = 141,
|
||||
OpVectorTimesScalar = 142,
|
||||
OpMatrixTimesScalar = 143,
|
||||
OpVectorTimesMatrix = 144,
|
||||
OpMatrixTimesVector = 145,
|
||||
OpMatrixTimesMatrix = 146,
|
||||
OpOuterProduct = 147,
|
||||
OpDot = 148,
|
||||
OpIAddCarry = 149,
|
||||
OpISubBorrow = 150,
|
||||
OpUMulExtended = 151,
|
||||
OpSMulExtended = 152,
|
||||
OpAny = 154,
|
||||
OpAll = 155,
|
||||
OpIsNan = 156,
|
||||
OpIsInf = 157,
|
||||
OpIsFinite = 158,
|
||||
OpIsNormal = 159,
|
||||
OpSignBitSet = 160,
|
||||
OpLessOrGreater = 161,
|
||||
OpOrdered = 162,
|
||||
OpUnordered = 163,
|
||||
OpLogicalEqual = 164,
|
||||
OpLogicalNotEqual = 165,
|
||||
OpLogicalOr = 166,
|
||||
OpLogicalAnd = 167,
|
||||
OpLogicalNot = 168,
|
||||
OpSelect = 169,
|
||||
OpIEqual = 170,
|
||||
OpINotEqual = 171,
|
||||
OpUGreaterThan = 172,
|
||||
OpSGreaterThan = 173,
|
||||
OpUGreaterThanEqual = 174,
|
||||
OpSGreaterThanEqual = 175,
|
||||
OpULessThan = 176,
|
||||
OpSLessThan = 177,
|
||||
OpULessThanEqual = 178,
|
||||
OpSLessThanEqual = 179,
|
||||
OpFOrdEqual = 180,
|
||||
OpFUnordEqual = 181,
|
||||
OpFOrdNotEqual = 182,
|
||||
OpFUnordNotEqual = 183,
|
||||
OpFOrdLessThan = 184,
|
||||
OpFUnordLessThan = 185,
|
||||
OpFOrdGreaterThan = 186,
|
||||
OpFUnordGreaterThan = 187,
|
||||
OpFOrdLessThanEqual = 188,
|
||||
OpFUnordLessThanEqual = 189,
|
||||
OpFOrdGreaterThanEqual = 190,
|
||||
OpFUnordGreaterThanEqual = 191,
|
||||
OpShiftRightLogical = 194,
|
||||
OpShiftRightArithmetic = 195,
|
||||
OpShiftLeftLogical = 196,
|
||||
OpBitwiseOr = 197,
|
||||
OpBitwiseXor = 198,
|
||||
OpBitwiseAnd = 199,
|
||||
OpNot = 200,
|
||||
OpBitFieldInsert = 201,
|
||||
OpBitFieldSExtract = 202,
|
||||
OpBitFieldUExtract = 203,
|
||||
OpBitReverse = 204,
|
||||
OpBitCount = 205,
|
||||
OpDPdx = 207,
|
||||
OpDPdy = 208,
|
||||
OpFwidth = 209,
|
||||
OpDPdxFine = 210,
|
||||
OpDPdyFine = 211,
|
||||
OpFwidthFine = 212,
|
||||
OpDPdxCoarse = 213,
|
||||
OpDPdyCoarse = 214,
|
||||
OpFwidthCoarse = 215,
|
||||
OpEmitVertex = 218,
|
||||
OpEndPrimitive = 219,
|
||||
OpEmitStreamVertex = 220,
|
||||
OpEndStreamPrimitive = 221,
|
||||
OpControlBarrier = 224,
|
||||
OpMemoryBarrier = 225,
|
||||
OpAtomicLoad = 227,
|
||||
OpAtomicStore = 228,
|
||||
OpAtomicExchange = 229,
|
||||
OpAtomicCompareExchange = 230,
|
||||
OpAtomicCompareExchangeWeak = 231,
|
||||
OpAtomicIIncrement = 232,
|
||||
OpAtomicIDecrement = 233,
|
||||
OpAtomicIAdd = 234,
|
||||
OpAtomicISub = 235,
|
||||
OpAtomicSMin = 236,
|
||||
OpAtomicUMin = 237,
|
||||
OpAtomicSMax = 238,
|
||||
OpAtomicUMax = 239,
|
||||
OpAtomicAnd = 240,
|
||||
OpAtomicOr = 241,
|
||||
OpAtomicXor = 242,
|
||||
OpPhi = 245,
|
||||
OpLoopMerge = 246,
|
||||
OpSelectionMerge = 247,
|
||||
OpLabel = 248,
|
||||
OpBranch = 249,
|
||||
OpBranchConditional = 250,
|
||||
OpSwitch = 251,
|
||||
OpKill = 252,
|
||||
OpReturn = 253,
|
||||
OpReturnValue = 254,
|
||||
OpUnreachable = 255,
|
||||
OpLifetimeStart = 256,
|
||||
OpLifetimeStop = 257,
|
||||
OpGroupAsyncCopy = 259,
|
||||
OpGroupWaitEvents = 260,
|
||||
OpGroupAll = 261,
|
||||
OpGroupAny = 262,
|
||||
OpGroupBroadcast = 263,
|
||||
OpGroupIAdd = 264,
|
||||
OpGroupFAdd = 265,
|
||||
OpGroupFMin = 266,
|
||||
OpGroupUMin = 267,
|
||||
OpGroupSMin = 268,
|
||||
OpGroupFMax = 269,
|
||||
OpGroupUMax = 270,
|
||||
OpGroupSMax = 271,
|
||||
OpReadPipe = 274,
|
||||
OpWritePipe = 275,
|
||||
OpReservedReadPipe = 276,
|
||||
OpReservedWritePipe = 277,
|
||||
OpReserveReadPipePackets = 278,
|
||||
OpReserveWritePipePackets = 279,
|
||||
OpCommitReadPipe = 280,
|
||||
OpCommitWritePipe = 281,
|
||||
OpIsValidReserveId = 282,
|
||||
OpGetNumPipePackets = 283,
|
||||
OpGetMaxPipePackets = 284,
|
||||
OpGroupReserveReadPipePackets = 285,
|
||||
OpGroupReserveWritePipePackets = 286,
|
||||
OpGroupCommitReadPipe = 287,
|
||||
OpGroupCommitWritePipe = 288,
|
||||
OpEnqueueMarker = 291,
|
||||
OpEnqueueKernel = 292,
|
||||
OpGetKernelNDrangeSubGroupCount = 293,
|
||||
OpGetKernelNDrangeMaxSubGroupSize = 294,
|
||||
OpGetKernelWorkGroupSize = 295,
|
||||
OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
||||
OpRetainEvent = 297,
|
||||
OpReleaseEvent = 298,
|
||||
OpCreateUserEvent = 299,
|
||||
OpIsValidEvent = 300,
|
||||
OpSetUserEventStatus = 301,
|
||||
OpCaptureEventProfilingInfo = 302,
|
||||
OpGetDefaultQueue = 303,
|
||||
OpBuildNDRange = 304,
|
||||
OpImageSparseSampleImplicitLod = 305,
|
||||
OpImageSparseSampleExplicitLod = 306,
|
||||
OpImageSparseSampleDrefImplicitLod = 307,
|
||||
OpImageSparseSampleDrefExplicitLod = 308,
|
||||
OpImageSparseSampleProjImplicitLod = 309,
|
||||
OpImageSparseSampleProjExplicitLod = 310,
|
||||
OpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
OpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
OpImageSparseFetch = 313,
|
||||
OpImageSparseGather = 314,
|
||||
OpImageSparseDrefGather = 315,
|
||||
OpImageSparseTexelsResident = 316,
|
||||
OpNoLine = 317,
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
OpImageSparseRead = 320,
|
||||
OpDecorateId = 332,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
OpGroupUMinNonUniformAMD = 5003,
|
||||
OpGroupSMinNonUniformAMD = 5004,
|
||||
OpGroupFMaxNonUniformAMD = 5005,
|
||||
OpGroupUMaxNonUniformAMD = 5006,
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
OpSubgroupShuffleXorINTEL = 5574,
|
||||
OpSubgroupBlockReadINTEL = 5575,
|
||||
OpSubgroupBlockWriteINTEL = 5576,
|
||||
OpSubgroupImageBlockReadINTEL = 5577,
|
||||
OpSubgroupImageBlockWriteINTEL = 5578,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateStringGOOGLE = 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,949 +0,0 @@
|
||||
# Copyright (c) 2014-2018 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.
|
||||
|
||||
# This header is automatically generated by the same tool that creates
|
||||
# the Binary Section of the SPIR-V specification.
|
||||
|
||||
# Enumeration tokens for SPIR-V, in various styles:
|
||||
# C, C++, C++11, JSON, Lua, Python
|
||||
#
|
||||
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
#
|
||||
# Some tokens act like mask values, which can be OR'd together,
|
||||
# while others are mutually exclusive. The mask-like ones have
|
||||
# "Mask" in their name, and a parallel enum that has the shift
|
||||
# amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
'MagicNumber' : 0x07230203,
|
||||
'Version' : 0x00010000,
|
||||
'Revision' : 12,
|
||||
'OpCodeMask' : 0xffff,
|
||||
'WordCountShift' : 16,
|
||||
|
||||
'SourceLanguage' : {
|
||||
'Unknown' : 0,
|
||||
'ESSL' : 1,
|
||||
'GLSL' : 2,
|
||||
'OpenCL_C' : 3,
|
||||
'OpenCL_CPP' : 4,
|
||||
'HLSL' : 5,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
'Vertex' : 0,
|
||||
'TessellationControl' : 1,
|
||||
'TessellationEvaluation' : 2,
|
||||
'Geometry' : 3,
|
||||
'Fragment' : 4,
|
||||
'GLCompute' : 5,
|
||||
'Kernel' : 6,
|
||||
},
|
||||
|
||||
'AddressingModel' : {
|
||||
'Logical' : 0,
|
||||
'Physical32' : 1,
|
||||
'Physical64' : 2,
|
||||
},
|
||||
|
||||
'MemoryModel' : {
|
||||
'Simple' : 0,
|
||||
'GLSL450' : 1,
|
||||
'OpenCL' : 2,
|
||||
},
|
||||
|
||||
'ExecutionMode' : {
|
||||
'Invocations' : 0,
|
||||
'SpacingEqual' : 1,
|
||||
'SpacingFractionalEven' : 2,
|
||||
'SpacingFractionalOdd' : 3,
|
||||
'VertexOrderCw' : 4,
|
||||
'VertexOrderCcw' : 5,
|
||||
'PixelCenterInteger' : 6,
|
||||
'OriginUpperLeft' : 7,
|
||||
'OriginLowerLeft' : 8,
|
||||
'EarlyFragmentTests' : 9,
|
||||
'PointMode' : 10,
|
||||
'Xfb' : 11,
|
||||
'DepthReplacing' : 12,
|
||||
'DepthGreater' : 14,
|
||||
'DepthLess' : 15,
|
||||
'DepthUnchanged' : 16,
|
||||
'LocalSize' : 17,
|
||||
'LocalSizeHint' : 18,
|
||||
'InputPoints' : 19,
|
||||
'InputLines' : 20,
|
||||
'InputLinesAdjacency' : 21,
|
||||
'Triangles' : 22,
|
||||
'InputTrianglesAdjacency' : 23,
|
||||
'Quads' : 24,
|
||||
'Isolines' : 25,
|
||||
'OutputVertices' : 26,
|
||||
'OutputPoints' : 27,
|
||||
'OutputLineStrip' : 28,
|
||||
'OutputTriangleStrip' : 29,
|
||||
'VecTypeHint' : 30,
|
||||
'ContractionOff' : 31,
|
||||
'PostDepthCoverage' : 4446,
|
||||
'StencilRefReplacingEXT' : 5027,
|
||||
},
|
||||
|
||||
'StorageClass' : {
|
||||
'UniformConstant' : 0,
|
||||
'Input' : 1,
|
||||
'Uniform' : 2,
|
||||
'Output' : 3,
|
||||
'Workgroup' : 4,
|
||||
'CrossWorkgroup' : 5,
|
||||
'Private' : 6,
|
||||
'Function' : 7,
|
||||
'Generic' : 8,
|
||||
'PushConstant' : 9,
|
||||
'AtomicCounter' : 10,
|
||||
'Image' : 11,
|
||||
'StorageBuffer' : 12,
|
||||
},
|
||||
|
||||
'Dim' : {
|
||||
'Dim1D' : 0,
|
||||
'Dim2D' : 1,
|
||||
'Dim3D' : 2,
|
||||
'Cube' : 3,
|
||||
'Rect' : 4,
|
||||
'Buffer' : 5,
|
||||
'SubpassData' : 6,
|
||||
},
|
||||
|
||||
'SamplerAddressingMode' : {
|
||||
'None' : 0,
|
||||
'ClampToEdge' : 1,
|
||||
'Clamp' : 2,
|
||||
'Repeat' : 3,
|
||||
'RepeatMirrored' : 4,
|
||||
},
|
||||
|
||||
'SamplerFilterMode' : {
|
||||
'Nearest' : 0,
|
||||
'Linear' : 1,
|
||||
},
|
||||
|
||||
'ImageFormat' : {
|
||||
'Unknown' : 0,
|
||||
'Rgba32f' : 1,
|
||||
'Rgba16f' : 2,
|
||||
'R32f' : 3,
|
||||
'Rgba8' : 4,
|
||||
'Rgba8Snorm' : 5,
|
||||
'Rg32f' : 6,
|
||||
'Rg16f' : 7,
|
||||
'R11fG11fB10f' : 8,
|
||||
'R16f' : 9,
|
||||
'Rgba16' : 10,
|
||||
'Rgb10A2' : 11,
|
||||
'Rg16' : 12,
|
||||
'Rg8' : 13,
|
||||
'R16' : 14,
|
||||
'R8' : 15,
|
||||
'Rgba16Snorm' : 16,
|
||||
'Rg16Snorm' : 17,
|
||||
'Rg8Snorm' : 18,
|
||||
'R16Snorm' : 19,
|
||||
'R8Snorm' : 20,
|
||||
'Rgba32i' : 21,
|
||||
'Rgba16i' : 22,
|
||||
'Rgba8i' : 23,
|
||||
'R32i' : 24,
|
||||
'Rg32i' : 25,
|
||||
'Rg16i' : 26,
|
||||
'Rg8i' : 27,
|
||||
'R16i' : 28,
|
||||
'R8i' : 29,
|
||||
'Rgba32ui' : 30,
|
||||
'Rgba16ui' : 31,
|
||||
'Rgba8ui' : 32,
|
||||
'R32ui' : 33,
|
||||
'Rgb10a2ui' : 34,
|
||||
'Rg32ui' : 35,
|
||||
'Rg16ui' : 36,
|
||||
'Rg8ui' : 37,
|
||||
'R16ui' : 38,
|
||||
'R8ui' : 39,
|
||||
},
|
||||
|
||||
'ImageChannelOrder' : {
|
||||
'R' : 0,
|
||||
'A' : 1,
|
||||
'RG' : 2,
|
||||
'RA' : 3,
|
||||
'RGB' : 4,
|
||||
'RGBA' : 5,
|
||||
'BGRA' : 6,
|
||||
'ARGB' : 7,
|
||||
'Intensity' : 8,
|
||||
'Luminance' : 9,
|
||||
'Rx' : 10,
|
||||
'RGx' : 11,
|
||||
'RGBx' : 12,
|
||||
'Depth' : 13,
|
||||
'DepthStencil' : 14,
|
||||
'sRGB' : 15,
|
||||
'sRGBx' : 16,
|
||||
'sRGBA' : 17,
|
||||
'sBGRA' : 18,
|
||||
'ABGR' : 19,
|
||||
},
|
||||
|
||||
'ImageChannelDataType' : {
|
||||
'SnormInt8' : 0,
|
||||
'SnormInt16' : 1,
|
||||
'UnormInt8' : 2,
|
||||
'UnormInt16' : 3,
|
||||
'UnormShort565' : 4,
|
||||
'UnormShort555' : 5,
|
||||
'UnormInt101010' : 6,
|
||||
'SignedInt8' : 7,
|
||||
'SignedInt16' : 8,
|
||||
'SignedInt32' : 9,
|
||||
'UnsignedInt8' : 10,
|
||||
'UnsignedInt16' : 11,
|
||||
'UnsignedInt32' : 12,
|
||||
'HalfFloat' : 13,
|
||||
'Float' : 14,
|
||||
'UnormInt24' : 15,
|
||||
'UnormInt101010_2' : 16,
|
||||
},
|
||||
|
||||
'ImageOperandsShift' : {
|
||||
'Bias' : 0,
|
||||
'Lod' : 1,
|
||||
'Grad' : 2,
|
||||
'ConstOffset' : 3,
|
||||
'Offset' : 4,
|
||||
'ConstOffsets' : 5,
|
||||
'Sample' : 6,
|
||||
'MinLod' : 7,
|
||||
},
|
||||
|
||||
'ImageOperandsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Bias' : 0x00000001,
|
||||
'Lod' : 0x00000002,
|
||||
'Grad' : 0x00000004,
|
||||
'ConstOffset' : 0x00000008,
|
||||
'Offset' : 0x00000010,
|
||||
'ConstOffsets' : 0x00000020,
|
||||
'Sample' : 0x00000040,
|
||||
'MinLod' : 0x00000080,
|
||||
},
|
||||
|
||||
'FPFastMathModeShift' : {
|
||||
'NotNaN' : 0,
|
||||
'NotInf' : 1,
|
||||
'NSZ' : 2,
|
||||
'AllowRecip' : 3,
|
||||
'Fast' : 4,
|
||||
},
|
||||
|
||||
'FPFastMathModeMask' : {
|
||||
'MaskNone' : 0,
|
||||
'NotNaN' : 0x00000001,
|
||||
'NotInf' : 0x00000002,
|
||||
'NSZ' : 0x00000004,
|
||||
'AllowRecip' : 0x00000008,
|
||||
'Fast' : 0x00000010,
|
||||
},
|
||||
|
||||
'FPRoundingMode' : {
|
||||
'RTE' : 0,
|
||||
'RTZ' : 1,
|
||||
'RTP' : 2,
|
||||
'RTN' : 3,
|
||||
},
|
||||
|
||||
'LinkageType' : {
|
||||
'Export' : 0,
|
||||
'Import' : 1,
|
||||
},
|
||||
|
||||
'AccessQualifier' : {
|
||||
'ReadOnly' : 0,
|
||||
'WriteOnly' : 1,
|
||||
'ReadWrite' : 2,
|
||||
},
|
||||
|
||||
'FunctionParameterAttribute' : {
|
||||
'Zext' : 0,
|
||||
'Sext' : 1,
|
||||
'ByVal' : 2,
|
||||
'Sret' : 3,
|
||||
'NoAlias' : 4,
|
||||
'NoCapture' : 5,
|
||||
'NoWrite' : 6,
|
||||
'NoReadWrite' : 7,
|
||||
},
|
||||
|
||||
'Decoration' : {
|
||||
'RelaxedPrecision' : 0,
|
||||
'SpecId' : 1,
|
||||
'Block' : 2,
|
||||
'BufferBlock' : 3,
|
||||
'RowMajor' : 4,
|
||||
'ColMajor' : 5,
|
||||
'ArrayStride' : 6,
|
||||
'MatrixStride' : 7,
|
||||
'GLSLShared' : 8,
|
||||
'GLSLPacked' : 9,
|
||||
'CPacked' : 10,
|
||||
'BuiltIn' : 11,
|
||||
'NoPerspective' : 13,
|
||||
'Flat' : 14,
|
||||
'Patch' : 15,
|
||||
'Centroid' : 16,
|
||||
'Sample' : 17,
|
||||
'Invariant' : 18,
|
||||
'Restrict' : 19,
|
||||
'Aliased' : 20,
|
||||
'Volatile' : 21,
|
||||
'Constant' : 22,
|
||||
'Coherent' : 23,
|
||||
'NonWritable' : 24,
|
||||
'NonReadable' : 25,
|
||||
'Uniform' : 26,
|
||||
'SaturatedConversion' : 28,
|
||||
'Stream' : 29,
|
||||
'Location' : 30,
|
||||
'Component' : 31,
|
||||
'Index' : 32,
|
||||
'Binding' : 33,
|
||||
'DescriptorSet' : 34,
|
||||
'Offset' : 35,
|
||||
'XfbBuffer' : 36,
|
||||
'XfbStride' : 37,
|
||||
'FuncParamAttr' : 38,
|
||||
'FPRoundingMode' : 39,
|
||||
'FPFastMathMode' : 40,
|
||||
'LinkageAttributes' : 41,
|
||||
'NoContraction' : 42,
|
||||
'InputAttachmentIndex' : 43,
|
||||
'Alignment' : 44,
|
||||
'ExplicitInterpAMD' : 4999,
|
||||
'OverrideCoverageNV' : 5248,
|
||||
'PassthroughNV' : 5250,
|
||||
'ViewportRelativeNV' : 5252,
|
||||
'SecondaryViewportRelativeNV' : 5256,
|
||||
'HlslCounterBufferGOOGLE' : 5634,
|
||||
'HlslSemanticGOOGLE' : 5635,
|
||||
},
|
||||
|
||||
'BuiltIn' : {
|
||||
'Position' : 0,
|
||||
'PointSize' : 1,
|
||||
'ClipDistance' : 3,
|
||||
'CullDistance' : 4,
|
||||
'VertexId' : 5,
|
||||
'InstanceId' : 6,
|
||||
'PrimitiveId' : 7,
|
||||
'InvocationId' : 8,
|
||||
'Layer' : 9,
|
||||
'ViewportIndex' : 10,
|
||||
'TessLevelOuter' : 11,
|
||||
'TessLevelInner' : 12,
|
||||
'TessCoord' : 13,
|
||||
'PatchVertices' : 14,
|
||||
'FragCoord' : 15,
|
||||
'PointCoord' : 16,
|
||||
'FrontFacing' : 17,
|
||||
'SampleId' : 18,
|
||||
'SamplePosition' : 19,
|
||||
'SampleMask' : 20,
|
||||
'FragDepth' : 22,
|
||||
'HelperInvocation' : 23,
|
||||
'NumWorkgroups' : 24,
|
||||
'WorkgroupSize' : 25,
|
||||
'WorkgroupId' : 26,
|
||||
'LocalInvocationId' : 27,
|
||||
'GlobalInvocationId' : 28,
|
||||
'LocalInvocationIndex' : 29,
|
||||
'WorkDim' : 30,
|
||||
'GlobalSize' : 31,
|
||||
'EnqueuedWorkgroupSize' : 32,
|
||||
'GlobalOffset' : 33,
|
||||
'GlobalLinearId' : 34,
|
||||
'SubgroupSize' : 36,
|
||||
'SubgroupMaxSize' : 37,
|
||||
'NumSubgroups' : 38,
|
||||
'NumEnqueuedSubgroups' : 39,
|
||||
'SubgroupId' : 40,
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
'SubgroupEqMaskKHR' : 4416,
|
||||
'SubgroupGeMaskKHR' : 4417,
|
||||
'SubgroupGtMaskKHR' : 4418,
|
||||
'SubgroupLeMaskKHR' : 4419,
|
||||
'SubgroupLtMaskKHR' : 4420,
|
||||
'BaseVertex' : 4424,
|
||||
'BaseInstance' : 4425,
|
||||
'DrawIndex' : 4426,
|
||||
'DeviceIndex' : 4438,
|
||||
'ViewIndex' : 4440,
|
||||
'BaryCoordNoPerspAMD' : 4992,
|
||||
'BaryCoordNoPerspCentroidAMD' : 4993,
|
||||
'BaryCoordNoPerspSampleAMD' : 4994,
|
||||
'BaryCoordSmoothAMD' : 4995,
|
||||
'BaryCoordSmoothCentroidAMD' : 4996,
|
||||
'BaryCoordSmoothSampleAMD' : 4997,
|
||||
'BaryCoordPullModelAMD' : 4998,
|
||||
'FragStencilRefEXT' : 5014,
|
||||
'ViewportMaskNV' : 5253,
|
||||
'SecondaryPositionNV' : 5257,
|
||||
'SecondaryViewportMaskNV' : 5258,
|
||||
'PositionPerViewNV' : 5261,
|
||||
'ViewportMaskPerViewNV' : 5262,
|
||||
},
|
||||
|
||||
'SelectionControlShift' : {
|
||||
'Flatten' : 0,
|
||||
'DontFlatten' : 1,
|
||||
},
|
||||
|
||||
'SelectionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Flatten' : 0x00000001,
|
||||
'DontFlatten' : 0x00000002,
|
||||
},
|
||||
|
||||
'LoopControlShift' : {
|
||||
'Unroll' : 0,
|
||||
'DontUnroll' : 1,
|
||||
},
|
||||
|
||||
'LoopControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Unroll' : 0x00000001,
|
||||
'DontUnroll' : 0x00000002,
|
||||
},
|
||||
|
||||
'FunctionControlShift' : {
|
||||
'Inline' : 0,
|
||||
'DontInline' : 1,
|
||||
'Pure' : 2,
|
||||
'Const' : 3,
|
||||
},
|
||||
|
||||
'FunctionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Inline' : 0x00000001,
|
||||
'DontInline' : 0x00000002,
|
||||
'Pure' : 0x00000004,
|
||||
'Const' : 0x00000008,
|
||||
},
|
||||
|
||||
'MemorySemanticsShift' : {
|
||||
'Acquire' : 1,
|
||||
'Release' : 2,
|
||||
'AcquireRelease' : 3,
|
||||
'SequentiallyConsistent' : 4,
|
||||
'UniformMemory' : 6,
|
||||
'SubgroupMemory' : 7,
|
||||
'WorkgroupMemory' : 8,
|
||||
'CrossWorkgroupMemory' : 9,
|
||||
'AtomicCounterMemory' : 10,
|
||||
'ImageMemory' : 11,
|
||||
},
|
||||
|
||||
'MemorySemanticsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Acquire' : 0x00000002,
|
||||
'Release' : 0x00000004,
|
||||
'AcquireRelease' : 0x00000008,
|
||||
'SequentiallyConsistent' : 0x00000010,
|
||||
'UniformMemory' : 0x00000040,
|
||||
'SubgroupMemory' : 0x00000080,
|
||||
'WorkgroupMemory' : 0x00000100,
|
||||
'CrossWorkgroupMemory' : 0x00000200,
|
||||
'AtomicCounterMemory' : 0x00000400,
|
||||
'ImageMemory' : 0x00000800,
|
||||
},
|
||||
|
||||
'MemoryAccessShift' : {
|
||||
'Volatile' : 0,
|
||||
'Aligned' : 1,
|
||||
'Nontemporal' : 2,
|
||||
},
|
||||
|
||||
'MemoryAccessMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Volatile' : 0x00000001,
|
||||
'Aligned' : 0x00000002,
|
||||
'Nontemporal' : 0x00000004,
|
||||
},
|
||||
|
||||
'Scope' : {
|
||||
'CrossDevice' : 0,
|
||||
'Device' : 1,
|
||||
'Workgroup' : 2,
|
||||
'Subgroup' : 3,
|
||||
'Invocation' : 4,
|
||||
},
|
||||
|
||||
'GroupOperation' : {
|
||||
'Reduce' : 0,
|
||||
'InclusiveScan' : 1,
|
||||
'ExclusiveScan' : 2,
|
||||
},
|
||||
|
||||
'KernelEnqueueFlags' : {
|
||||
'NoWait' : 0,
|
||||
'WaitKernel' : 1,
|
||||
'WaitWorkGroup' : 2,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoShift' : {
|
||||
'CmdExecTime' : 0,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoMask' : {
|
||||
'MaskNone' : 0,
|
||||
'CmdExecTime' : 0x00000001,
|
||||
},
|
||||
|
||||
'Capability' : {
|
||||
'Matrix' : 0,
|
||||
'Shader' : 1,
|
||||
'Geometry' : 2,
|
||||
'Tessellation' : 3,
|
||||
'Addresses' : 4,
|
||||
'Linkage' : 5,
|
||||
'Kernel' : 6,
|
||||
'Vector16' : 7,
|
||||
'Float16Buffer' : 8,
|
||||
'Float16' : 9,
|
||||
'Float64' : 10,
|
||||
'Int64' : 11,
|
||||
'Int64Atomics' : 12,
|
||||
'ImageBasic' : 13,
|
||||
'ImageReadWrite' : 14,
|
||||
'ImageMipmap' : 15,
|
||||
'Pipes' : 17,
|
||||
'Groups' : 18,
|
||||
'DeviceEnqueue' : 19,
|
||||
'LiteralSampler' : 20,
|
||||
'AtomicStorage' : 21,
|
||||
'Int16' : 22,
|
||||
'TessellationPointSize' : 23,
|
||||
'GeometryPointSize' : 24,
|
||||
'ImageGatherExtended' : 25,
|
||||
'StorageImageMultisample' : 27,
|
||||
'UniformBufferArrayDynamicIndexing' : 28,
|
||||
'SampledImageArrayDynamicIndexing' : 29,
|
||||
'StorageBufferArrayDynamicIndexing' : 30,
|
||||
'StorageImageArrayDynamicIndexing' : 31,
|
||||
'ClipDistance' : 32,
|
||||
'CullDistance' : 33,
|
||||
'ImageCubeArray' : 34,
|
||||
'SampleRateShading' : 35,
|
||||
'ImageRect' : 36,
|
||||
'SampledRect' : 37,
|
||||
'GenericPointer' : 38,
|
||||
'Int8' : 39,
|
||||
'InputAttachment' : 40,
|
||||
'SparseResidency' : 41,
|
||||
'MinLod' : 42,
|
||||
'Sampled1D' : 43,
|
||||
'Image1D' : 44,
|
||||
'SampledCubeArray' : 45,
|
||||
'SampledBuffer' : 46,
|
||||
'ImageBuffer' : 47,
|
||||
'ImageMSArray' : 48,
|
||||
'StorageImageExtendedFormats' : 49,
|
||||
'ImageQuery' : 50,
|
||||
'DerivativeControl' : 51,
|
||||
'InterpolationFunction' : 52,
|
||||
'TransformFeedback' : 53,
|
||||
'GeometryStreams' : 54,
|
||||
'StorageImageReadWithoutFormat' : 55,
|
||||
'StorageImageWriteWithoutFormat' : 56,
|
||||
'MultiViewport' : 57,
|
||||
'SubgroupBallotKHR' : 4423,
|
||||
'DrawParameters' : 4427,
|
||||
'SubgroupVoteKHR' : 4431,
|
||||
'StorageBuffer16BitAccess' : 4433,
|
||||
'StorageUniformBufferBlock16' : 4433,
|
||||
'StorageUniform16' : 4434,
|
||||
'UniformAndStorageBuffer16BitAccess' : 4434,
|
||||
'StoragePushConstant16' : 4435,
|
||||
'StorageInputOutput16' : 4436,
|
||||
'DeviceGroup' : 4437,
|
||||
'MultiView' : 4439,
|
||||
'VariablePointersStorageBuffer' : 4441,
|
||||
'VariablePointers' : 4442,
|
||||
'AtomicStorageOps' : 4445,
|
||||
'SampleMaskPostDepthCoverage' : 4447,
|
||||
'ImageGatherBiasLodAMD' : 5009,
|
||||
'FragmentMaskAMD' : 5010,
|
||||
'StencilExportEXT' : 5013,
|
||||
'ImageReadWriteLodAMD' : 5015,
|
||||
'SampleMaskOverrideCoverageNV' : 5249,
|
||||
'GeometryShaderPassthroughNV' : 5251,
|
||||
'ShaderViewportIndexLayerEXT' : 5254,
|
||||
'ShaderViewportIndexLayerNV' : 5254,
|
||||
'ShaderViewportMaskNV' : 5255,
|
||||
'ShaderStereoViewNV' : 5259,
|
||||
'PerViewAttributesNV' : 5260,
|
||||
'SubgroupShuffleINTEL' : 5568,
|
||||
'SubgroupBufferBlockIOINTEL' : 5569,
|
||||
'SubgroupImageBlockIOINTEL' : 5570,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
'OpNop' : 0,
|
||||
'OpUndef' : 1,
|
||||
'OpSourceContinued' : 2,
|
||||
'OpSource' : 3,
|
||||
'OpSourceExtension' : 4,
|
||||
'OpName' : 5,
|
||||
'OpMemberName' : 6,
|
||||
'OpString' : 7,
|
||||
'OpLine' : 8,
|
||||
'OpExtension' : 10,
|
||||
'OpExtInstImport' : 11,
|
||||
'OpExtInst' : 12,
|
||||
'OpMemoryModel' : 14,
|
||||
'OpEntryPoint' : 15,
|
||||
'OpExecutionMode' : 16,
|
||||
'OpCapability' : 17,
|
||||
'OpTypeVoid' : 19,
|
||||
'OpTypeBool' : 20,
|
||||
'OpTypeInt' : 21,
|
||||
'OpTypeFloat' : 22,
|
||||
'OpTypeVector' : 23,
|
||||
'OpTypeMatrix' : 24,
|
||||
'OpTypeImage' : 25,
|
||||
'OpTypeSampler' : 26,
|
||||
'OpTypeSampledImage' : 27,
|
||||
'OpTypeArray' : 28,
|
||||
'OpTypeRuntimeArray' : 29,
|
||||
'OpTypeStruct' : 30,
|
||||
'OpTypeOpaque' : 31,
|
||||
'OpTypePointer' : 32,
|
||||
'OpTypeFunction' : 33,
|
||||
'OpTypeEvent' : 34,
|
||||
'OpTypeDeviceEvent' : 35,
|
||||
'OpTypeReserveId' : 36,
|
||||
'OpTypeQueue' : 37,
|
||||
'OpTypePipe' : 38,
|
||||
'OpTypeForwardPointer' : 39,
|
||||
'OpConstantTrue' : 41,
|
||||
'OpConstantFalse' : 42,
|
||||
'OpConstant' : 43,
|
||||
'OpConstantComposite' : 44,
|
||||
'OpConstantSampler' : 45,
|
||||
'OpConstantNull' : 46,
|
||||
'OpSpecConstantTrue' : 48,
|
||||
'OpSpecConstantFalse' : 49,
|
||||
'OpSpecConstant' : 50,
|
||||
'OpSpecConstantComposite' : 51,
|
||||
'OpSpecConstantOp' : 52,
|
||||
'OpFunction' : 54,
|
||||
'OpFunctionParameter' : 55,
|
||||
'OpFunctionEnd' : 56,
|
||||
'OpFunctionCall' : 57,
|
||||
'OpVariable' : 59,
|
||||
'OpImageTexelPointer' : 60,
|
||||
'OpLoad' : 61,
|
||||
'OpStore' : 62,
|
||||
'OpCopyMemory' : 63,
|
||||
'OpCopyMemorySized' : 64,
|
||||
'OpAccessChain' : 65,
|
||||
'OpInBoundsAccessChain' : 66,
|
||||
'OpPtrAccessChain' : 67,
|
||||
'OpArrayLength' : 68,
|
||||
'OpGenericPtrMemSemantics' : 69,
|
||||
'OpInBoundsPtrAccessChain' : 70,
|
||||
'OpDecorate' : 71,
|
||||
'OpMemberDecorate' : 72,
|
||||
'OpDecorationGroup' : 73,
|
||||
'OpGroupDecorate' : 74,
|
||||
'OpGroupMemberDecorate' : 75,
|
||||
'OpVectorExtractDynamic' : 77,
|
||||
'OpVectorInsertDynamic' : 78,
|
||||
'OpVectorShuffle' : 79,
|
||||
'OpCompositeConstruct' : 80,
|
||||
'OpCompositeExtract' : 81,
|
||||
'OpCompositeInsert' : 82,
|
||||
'OpCopyObject' : 83,
|
||||
'OpTranspose' : 84,
|
||||
'OpSampledImage' : 86,
|
||||
'OpImageSampleImplicitLod' : 87,
|
||||
'OpImageSampleExplicitLod' : 88,
|
||||
'OpImageSampleDrefImplicitLod' : 89,
|
||||
'OpImageSampleDrefExplicitLod' : 90,
|
||||
'OpImageSampleProjImplicitLod' : 91,
|
||||
'OpImageSampleProjExplicitLod' : 92,
|
||||
'OpImageSampleProjDrefImplicitLod' : 93,
|
||||
'OpImageSampleProjDrefExplicitLod' : 94,
|
||||
'OpImageFetch' : 95,
|
||||
'OpImageGather' : 96,
|
||||
'OpImageDrefGather' : 97,
|
||||
'OpImageRead' : 98,
|
||||
'OpImageWrite' : 99,
|
||||
'OpImage' : 100,
|
||||
'OpImageQueryFormat' : 101,
|
||||
'OpImageQueryOrder' : 102,
|
||||
'OpImageQuerySizeLod' : 103,
|
||||
'OpImageQuerySize' : 104,
|
||||
'OpImageQueryLod' : 105,
|
||||
'OpImageQueryLevels' : 106,
|
||||
'OpImageQuerySamples' : 107,
|
||||
'OpConvertFToU' : 109,
|
||||
'OpConvertFToS' : 110,
|
||||
'OpConvertSToF' : 111,
|
||||
'OpConvertUToF' : 112,
|
||||
'OpUConvert' : 113,
|
||||
'OpSConvert' : 114,
|
||||
'OpFConvert' : 115,
|
||||
'OpQuantizeToF16' : 116,
|
||||
'OpConvertPtrToU' : 117,
|
||||
'OpSatConvertSToU' : 118,
|
||||
'OpSatConvertUToS' : 119,
|
||||
'OpConvertUToPtr' : 120,
|
||||
'OpPtrCastToGeneric' : 121,
|
||||
'OpGenericCastToPtr' : 122,
|
||||
'OpGenericCastToPtrExplicit' : 123,
|
||||
'OpBitcast' : 124,
|
||||
'OpSNegate' : 126,
|
||||
'OpFNegate' : 127,
|
||||
'OpIAdd' : 128,
|
||||
'OpFAdd' : 129,
|
||||
'OpISub' : 130,
|
||||
'OpFSub' : 131,
|
||||
'OpIMul' : 132,
|
||||
'OpFMul' : 133,
|
||||
'OpUDiv' : 134,
|
||||
'OpSDiv' : 135,
|
||||
'OpFDiv' : 136,
|
||||
'OpUMod' : 137,
|
||||
'OpSRem' : 138,
|
||||
'OpSMod' : 139,
|
||||
'OpFRem' : 140,
|
||||
'OpFMod' : 141,
|
||||
'OpVectorTimesScalar' : 142,
|
||||
'OpMatrixTimesScalar' : 143,
|
||||
'OpVectorTimesMatrix' : 144,
|
||||
'OpMatrixTimesVector' : 145,
|
||||
'OpMatrixTimesMatrix' : 146,
|
||||
'OpOuterProduct' : 147,
|
||||
'OpDot' : 148,
|
||||
'OpIAddCarry' : 149,
|
||||
'OpISubBorrow' : 150,
|
||||
'OpUMulExtended' : 151,
|
||||
'OpSMulExtended' : 152,
|
||||
'OpAny' : 154,
|
||||
'OpAll' : 155,
|
||||
'OpIsNan' : 156,
|
||||
'OpIsInf' : 157,
|
||||
'OpIsFinite' : 158,
|
||||
'OpIsNormal' : 159,
|
||||
'OpSignBitSet' : 160,
|
||||
'OpLessOrGreater' : 161,
|
||||
'OpOrdered' : 162,
|
||||
'OpUnordered' : 163,
|
||||
'OpLogicalEqual' : 164,
|
||||
'OpLogicalNotEqual' : 165,
|
||||
'OpLogicalOr' : 166,
|
||||
'OpLogicalAnd' : 167,
|
||||
'OpLogicalNot' : 168,
|
||||
'OpSelect' : 169,
|
||||
'OpIEqual' : 170,
|
||||
'OpINotEqual' : 171,
|
||||
'OpUGreaterThan' : 172,
|
||||
'OpSGreaterThan' : 173,
|
||||
'OpUGreaterThanEqual' : 174,
|
||||
'OpSGreaterThanEqual' : 175,
|
||||
'OpULessThan' : 176,
|
||||
'OpSLessThan' : 177,
|
||||
'OpULessThanEqual' : 178,
|
||||
'OpSLessThanEqual' : 179,
|
||||
'OpFOrdEqual' : 180,
|
||||
'OpFUnordEqual' : 181,
|
||||
'OpFOrdNotEqual' : 182,
|
||||
'OpFUnordNotEqual' : 183,
|
||||
'OpFOrdLessThan' : 184,
|
||||
'OpFUnordLessThan' : 185,
|
||||
'OpFOrdGreaterThan' : 186,
|
||||
'OpFUnordGreaterThan' : 187,
|
||||
'OpFOrdLessThanEqual' : 188,
|
||||
'OpFUnordLessThanEqual' : 189,
|
||||
'OpFOrdGreaterThanEqual' : 190,
|
||||
'OpFUnordGreaterThanEqual' : 191,
|
||||
'OpShiftRightLogical' : 194,
|
||||
'OpShiftRightArithmetic' : 195,
|
||||
'OpShiftLeftLogical' : 196,
|
||||
'OpBitwiseOr' : 197,
|
||||
'OpBitwiseXor' : 198,
|
||||
'OpBitwiseAnd' : 199,
|
||||
'OpNot' : 200,
|
||||
'OpBitFieldInsert' : 201,
|
||||
'OpBitFieldSExtract' : 202,
|
||||
'OpBitFieldUExtract' : 203,
|
||||
'OpBitReverse' : 204,
|
||||
'OpBitCount' : 205,
|
||||
'OpDPdx' : 207,
|
||||
'OpDPdy' : 208,
|
||||
'OpFwidth' : 209,
|
||||
'OpDPdxFine' : 210,
|
||||
'OpDPdyFine' : 211,
|
||||
'OpFwidthFine' : 212,
|
||||
'OpDPdxCoarse' : 213,
|
||||
'OpDPdyCoarse' : 214,
|
||||
'OpFwidthCoarse' : 215,
|
||||
'OpEmitVertex' : 218,
|
||||
'OpEndPrimitive' : 219,
|
||||
'OpEmitStreamVertex' : 220,
|
||||
'OpEndStreamPrimitive' : 221,
|
||||
'OpControlBarrier' : 224,
|
||||
'OpMemoryBarrier' : 225,
|
||||
'OpAtomicLoad' : 227,
|
||||
'OpAtomicStore' : 228,
|
||||
'OpAtomicExchange' : 229,
|
||||
'OpAtomicCompareExchange' : 230,
|
||||
'OpAtomicCompareExchangeWeak' : 231,
|
||||
'OpAtomicIIncrement' : 232,
|
||||
'OpAtomicIDecrement' : 233,
|
||||
'OpAtomicIAdd' : 234,
|
||||
'OpAtomicISub' : 235,
|
||||
'OpAtomicSMin' : 236,
|
||||
'OpAtomicUMin' : 237,
|
||||
'OpAtomicSMax' : 238,
|
||||
'OpAtomicUMax' : 239,
|
||||
'OpAtomicAnd' : 240,
|
||||
'OpAtomicOr' : 241,
|
||||
'OpAtomicXor' : 242,
|
||||
'OpPhi' : 245,
|
||||
'OpLoopMerge' : 246,
|
||||
'OpSelectionMerge' : 247,
|
||||
'OpLabel' : 248,
|
||||
'OpBranch' : 249,
|
||||
'OpBranchConditional' : 250,
|
||||
'OpSwitch' : 251,
|
||||
'OpKill' : 252,
|
||||
'OpReturn' : 253,
|
||||
'OpReturnValue' : 254,
|
||||
'OpUnreachable' : 255,
|
||||
'OpLifetimeStart' : 256,
|
||||
'OpLifetimeStop' : 257,
|
||||
'OpGroupAsyncCopy' : 259,
|
||||
'OpGroupWaitEvents' : 260,
|
||||
'OpGroupAll' : 261,
|
||||
'OpGroupAny' : 262,
|
||||
'OpGroupBroadcast' : 263,
|
||||
'OpGroupIAdd' : 264,
|
||||
'OpGroupFAdd' : 265,
|
||||
'OpGroupFMin' : 266,
|
||||
'OpGroupUMin' : 267,
|
||||
'OpGroupSMin' : 268,
|
||||
'OpGroupFMax' : 269,
|
||||
'OpGroupUMax' : 270,
|
||||
'OpGroupSMax' : 271,
|
||||
'OpReadPipe' : 274,
|
||||
'OpWritePipe' : 275,
|
||||
'OpReservedReadPipe' : 276,
|
||||
'OpReservedWritePipe' : 277,
|
||||
'OpReserveReadPipePackets' : 278,
|
||||
'OpReserveWritePipePackets' : 279,
|
||||
'OpCommitReadPipe' : 280,
|
||||
'OpCommitWritePipe' : 281,
|
||||
'OpIsValidReserveId' : 282,
|
||||
'OpGetNumPipePackets' : 283,
|
||||
'OpGetMaxPipePackets' : 284,
|
||||
'OpGroupReserveReadPipePackets' : 285,
|
||||
'OpGroupReserveWritePipePackets' : 286,
|
||||
'OpGroupCommitReadPipe' : 287,
|
||||
'OpGroupCommitWritePipe' : 288,
|
||||
'OpEnqueueMarker' : 291,
|
||||
'OpEnqueueKernel' : 292,
|
||||
'OpGetKernelNDrangeSubGroupCount' : 293,
|
||||
'OpGetKernelNDrangeMaxSubGroupSize' : 294,
|
||||
'OpGetKernelWorkGroupSize' : 295,
|
||||
'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
|
||||
'OpRetainEvent' : 297,
|
||||
'OpReleaseEvent' : 298,
|
||||
'OpCreateUserEvent' : 299,
|
||||
'OpIsValidEvent' : 300,
|
||||
'OpSetUserEventStatus' : 301,
|
||||
'OpCaptureEventProfilingInfo' : 302,
|
||||
'OpGetDefaultQueue' : 303,
|
||||
'OpBuildNDRange' : 304,
|
||||
'OpImageSparseSampleImplicitLod' : 305,
|
||||
'OpImageSparseSampleExplicitLod' : 306,
|
||||
'OpImageSparseSampleDrefImplicitLod' : 307,
|
||||
'OpImageSparseSampleDrefExplicitLod' : 308,
|
||||
'OpImageSparseSampleProjImplicitLod' : 309,
|
||||
'OpImageSparseSampleProjExplicitLod' : 310,
|
||||
'OpImageSparseSampleProjDrefImplicitLod' : 311,
|
||||
'OpImageSparseSampleProjDrefExplicitLod' : 312,
|
||||
'OpImageSparseFetch' : 313,
|
||||
'OpImageSparseGather' : 314,
|
||||
'OpImageSparseDrefGather' : 315,
|
||||
'OpImageSparseTexelsResident' : 316,
|
||||
'OpNoLine' : 317,
|
||||
'OpAtomicFlagTestAndSet' : 318,
|
||||
'OpAtomicFlagClear' : 319,
|
||||
'OpImageSparseRead' : 320,
|
||||
'OpDecorateId' : 332,
|
||||
'OpSubgroupBallotKHR' : 4421,
|
||||
'OpSubgroupFirstInvocationKHR' : 4422,
|
||||
'OpSubgroupAllKHR' : 4428,
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
'OpGroupIAddNonUniformAMD' : 5000,
|
||||
'OpGroupFAddNonUniformAMD' : 5001,
|
||||
'OpGroupFMinNonUniformAMD' : 5002,
|
||||
'OpGroupUMinNonUniformAMD' : 5003,
|
||||
'OpGroupSMinNonUniformAMD' : 5004,
|
||||
'OpGroupFMaxNonUniformAMD' : 5005,
|
||||
'OpGroupUMaxNonUniformAMD' : 5006,
|
||||
'OpGroupSMaxNonUniformAMD' : 5007,
|
||||
'OpFragmentMaskFetchAMD' : 5011,
|
||||
'OpFragmentFetchAMD' : 5012,
|
||||
'OpSubgroupShuffleINTEL' : 5571,
|
||||
'OpSubgroupShuffleDownINTEL' : 5572,
|
||||
'OpSubgroupShuffleUpINTEL' : 5573,
|
||||
'OpSubgroupShuffleXorINTEL' : 5574,
|
||||
'OpSubgroupBlockReadINTEL' : 5575,
|
||||
'OpSubgroupBlockWriteINTEL' : 5576,
|
||||
'OpSubgroupImageBlockReadINTEL' : 5577,
|
||||
'OpSubgroupImageBlockWriteINTEL' : 5578,
|
||||
'OpDecorateStringGOOGLE' : 5632,
|
||||
'OpMemberDecorateStringGOOGLE' : 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,131 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2014-2016 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 GLSLstd450_H
|
||||
#define GLSLstd450_H
|
||||
|
||||
static const int GLSLstd450Version = 100;
|
||||
static const int GLSLstd450Revision = 3;
|
||||
|
||||
enum GLSLstd450 {
|
||||
GLSLstd450Bad = 0, // Don't use
|
||||
|
||||
GLSLstd450Round = 1,
|
||||
GLSLstd450RoundEven = 2,
|
||||
GLSLstd450Trunc = 3,
|
||||
GLSLstd450FAbs = 4,
|
||||
GLSLstd450SAbs = 5,
|
||||
GLSLstd450FSign = 6,
|
||||
GLSLstd450SSign = 7,
|
||||
GLSLstd450Floor = 8,
|
||||
GLSLstd450Ceil = 9,
|
||||
GLSLstd450Fract = 10,
|
||||
|
||||
GLSLstd450Radians = 11,
|
||||
GLSLstd450Degrees = 12,
|
||||
GLSLstd450Sin = 13,
|
||||
GLSLstd450Cos = 14,
|
||||
GLSLstd450Tan = 15,
|
||||
GLSLstd450Asin = 16,
|
||||
GLSLstd450Acos = 17,
|
||||
GLSLstd450Atan = 18,
|
||||
GLSLstd450Sinh = 19,
|
||||
GLSLstd450Cosh = 20,
|
||||
GLSLstd450Tanh = 21,
|
||||
GLSLstd450Asinh = 22,
|
||||
GLSLstd450Acosh = 23,
|
||||
GLSLstd450Atanh = 24,
|
||||
GLSLstd450Atan2 = 25,
|
||||
|
||||
GLSLstd450Pow = 26,
|
||||
GLSLstd450Exp = 27,
|
||||
GLSLstd450Log = 28,
|
||||
GLSLstd450Exp2 = 29,
|
||||
GLSLstd450Log2 = 30,
|
||||
GLSLstd450Sqrt = 31,
|
||||
GLSLstd450InverseSqrt = 32,
|
||||
|
||||
GLSLstd450Determinant = 33,
|
||||
GLSLstd450MatrixInverse = 34,
|
||||
|
||||
GLSLstd450Modf = 35, // second operand needs an OpVariable to write to
|
||||
GLSLstd450ModfStruct = 36, // no OpVariable operand
|
||||
GLSLstd450FMin = 37,
|
||||
GLSLstd450UMin = 38,
|
||||
GLSLstd450SMin = 39,
|
||||
GLSLstd450FMax = 40,
|
||||
GLSLstd450UMax = 41,
|
||||
GLSLstd450SMax = 42,
|
||||
GLSLstd450FClamp = 43,
|
||||
GLSLstd450UClamp = 44,
|
||||
GLSLstd450SClamp = 45,
|
||||
GLSLstd450FMix = 46,
|
||||
GLSLstd450IMix = 47, // Reserved
|
||||
GLSLstd450Step = 48,
|
||||
GLSLstd450SmoothStep = 49,
|
||||
|
||||
GLSLstd450Fma = 50,
|
||||
GLSLstd450Frexp = 51, // second operand needs an OpVariable to write to
|
||||
GLSLstd450FrexpStruct = 52, // no OpVariable operand
|
||||
GLSLstd450Ldexp = 53,
|
||||
|
||||
GLSLstd450PackSnorm4x8 = 54,
|
||||
GLSLstd450PackUnorm4x8 = 55,
|
||||
GLSLstd450PackSnorm2x16 = 56,
|
||||
GLSLstd450PackUnorm2x16 = 57,
|
||||
GLSLstd450PackHalf2x16 = 58,
|
||||
GLSLstd450PackDouble2x32 = 59,
|
||||
GLSLstd450UnpackSnorm2x16 = 60,
|
||||
GLSLstd450UnpackUnorm2x16 = 61,
|
||||
GLSLstd450UnpackHalf2x16 = 62,
|
||||
GLSLstd450UnpackSnorm4x8 = 63,
|
||||
GLSLstd450UnpackUnorm4x8 = 64,
|
||||
GLSLstd450UnpackDouble2x32 = 65,
|
||||
|
||||
GLSLstd450Length = 66,
|
||||
GLSLstd450Distance = 67,
|
||||
GLSLstd450Cross = 68,
|
||||
GLSLstd450Normalize = 69,
|
||||
GLSLstd450FaceForward = 70,
|
||||
GLSLstd450Reflect = 71,
|
||||
GLSLstd450Refract = 72,
|
||||
|
||||
GLSLstd450FindILsb = 73,
|
||||
GLSLstd450FindSMsb = 74,
|
||||
GLSLstd450FindUMsb = 75,
|
||||
|
||||
GLSLstd450InterpolateAtCentroid = 76,
|
||||
GLSLstd450InterpolateAtSample = 77,
|
||||
GLSLstd450InterpolateAtOffset = 78,
|
||||
|
||||
GLSLstd450NMin = 79,
|
||||
GLSLstd450NMax = 80,
|
||||
GLSLstd450NClamp = 81,
|
||||
|
||||
GLSLstd450Count
|
||||
};
|
||||
|
||||
#endif // #ifndef GLSLstd450_H
|
@ -1,210 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2015-2017 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.
|
||||
*/
|
||||
|
||||
namespace OpenCLLIB {
|
||||
|
||||
enum Entrypoints {
|
||||
|
||||
// Section 2.1: Math extended instructions
|
||||
Acos = 0,
|
||||
Acosh = 1,
|
||||
Acospi = 2,
|
||||
Asin = 3,
|
||||
Asinh = 4,
|
||||
Asinpi = 5,
|
||||
Atan = 6,
|
||||
Atan2 = 7,
|
||||
Atanh = 8,
|
||||
Atanpi = 9,
|
||||
Atan2pi = 10,
|
||||
Cbrt = 11,
|
||||
Ceil = 12,
|
||||
Copysign = 13,
|
||||
Cos = 14,
|
||||
Cosh = 15,
|
||||
Cospi = 16,
|
||||
Erfc = 17,
|
||||
Erf = 18,
|
||||
Exp = 19,
|
||||
Exp2 = 20,
|
||||
Exp10 = 21,
|
||||
Expm1 = 22,
|
||||
Fabs = 23,
|
||||
Fdim = 24,
|
||||
Floor = 25,
|
||||
Fma = 26,
|
||||
Fmax = 27,
|
||||
Fmin = 28,
|
||||
Fmod = 29,
|
||||
Fract = 30,
|
||||
Frexp = 31,
|
||||
Hypot = 32,
|
||||
Ilogb = 33,
|
||||
Ldexp = 34,
|
||||
Lgamma = 35,
|
||||
Lgamma_r = 36,
|
||||
Log = 37,
|
||||
Log2 = 38,
|
||||
Log10 = 39,
|
||||
Log1p = 40,
|
||||
Logb = 41,
|
||||
Mad = 42,
|
||||
Maxmag = 43,
|
||||
Minmag = 44,
|
||||
Modf = 45,
|
||||
Nan = 46,
|
||||
Nextafter = 47,
|
||||
Pow = 48,
|
||||
Pown = 49,
|
||||
Powr = 50,
|
||||
Remainder = 51,
|
||||
Remquo = 52,
|
||||
Rint = 53,
|
||||
Rootn = 54,
|
||||
Round = 55,
|
||||
Rsqrt = 56,
|
||||
Sin = 57,
|
||||
Sincos = 58,
|
||||
Sinh = 59,
|
||||
Sinpi = 60,
|
||||
Sqrt = 61,
|
||||
Tan = 62,
|
||||
Tanh = 63,
|
||||
Tanpi = 64,
|
||||
Tgamma = 65,
|
||||
Trunc = 66,
|
||||
Half_cos = 67,
|
||||
Half_divide = 68,
|
||||
Half_exp = 69,
|
||||
Half_exp2 = 70,
|
||||
Half_exp10 = 71,
|
||||
Half_log = 72,
|
||||
Half_log2 = 73,
|
||||
Half_log10 = 74,
|
||||
Half_powr = 75,
|
||||
Half_recip = 76,
|
||||
Half_rsqrt = 77,
|
||||
Half_sin = 78,
|
||||
Half_sqrt = 79,
|
||||
Half_tan = 80,
|
||||
Native_cos = 81,
|
||||
Native_divide = 82,
|
||||
Native_exp = 83,
|
||||
Native_exp2 = 84,
|
||||
Native_exp10 = 85,
|
||||
Native_log = 86,
|
||||
Native_log2 = 87,
|
||||
Native_log10 = 88,
|
||||
Native_powr = 89,
|
||||
Native_recip = 90,
|
||||
Native_rsqrt = 91,
|
||||
Native_sin = 92,
|
||||
Native_sqrt = 93,
|
||||
Native_tan = 94,
|
||||
|
||||
// Section 2.2: Integer instructions
|
||||
SAbs = 141,
|
||||
SAbs_diff = 142,
|
||||
SAdd_sat = 143,
|
||||
UAdd_sat = 144,
|
||||
SHadd = 145,
|
||||
UHadd = 146,
|
||||
SRhadd = 147,
|
||||
URhadd = 148,
|
||||
SClamp = 149,
|
||||
UClamp = 150,
|
||||
Clz = 151,
|
||||
Ctz = 152,
|
||||
SMad_hi = 153,
|
||||
UMad_sat = 154,
|
||||
SMad_sat = 155,
|
||||
SMax = 156,
|
||||
UMax = 157,
|
||||
SMin = 158,
|
||||
UMin = 159,
|
||||
SMul_hi = 160,
|
||||
Rotate = 161,
|
||||
SSub_sat = 162,
|
||||
USub_sat = 163,
|
||||
U_Upsample = 164,
|
||||
S_Upsample = 165,
|
||||
Popcount = 166,
|
||||
SMad24 = 167,
|
||||
UMad24 = 168,
|
||||
SMul24 = 169,
|
||||
UMul24 = 170,
|
||||
UAbs = 201,
|
||||
UAbs_diff = 202,
|
||||
UMul_hi = 203,
|
||||
UMad_hi = 204,
|
||||
|
||||
// Section 2.3: Common instructions
|
||||
FClamp = 95,
|
||||
Degrees = 96,
|
||||
FMax_common = 97,
|
||||
FMin_common = 98,
|
||||
Mix = 99,
|
||||
Radians = 100,
|
||||
Step = 101,
|
||||
Smoothstep = 102,
|
||||
Sign = 103,
|
||||
|
||||
// Section 2.4: Geometric instructions
|
||||
Cross = 104,
|
||||
Distance = 105,
|
||||
Length = 106,
|
||||
Normalize = 107,
|
||||
Fast_distance = 108,
|
||||
Fast_length = 109,
|
||||
Fast_normalize = 110,
|
||||
|
||||
// Section 2.5: Relational instructions
|
||||
Bitselect = 186,
|
||||
Select = 187,
|
||||
|
||||
// Section 2.6: Vector Data Load and Store instructions
|
||||
Vloadn = 171,
|
||||
Vstoren = 172,
|
||||
Vload_half = 173,
|
||||
Vload_halfn = 174,
|
||||
Vstore_half = 175,
|
||||
Vstore_half_r = 176,
|
||||
Vstore_halfn = 177,
|
||||
Vstore_halfn_r = 178,
|
||||
Vloada_halfn = 179,
|
||||
Vstorea_halfn = 180,
|
||||
Vstorea_halfn_r = 181,
|
||||
|
||||
// Section 2.7: Miscellaneous Vector instructions
|
||||
Shuffle = 182,
|
||||
Shuffle2 = 183,
|
||||
|
||||
// Section 2.8: Misc instructions
|
||||
Printf = 184,
|
||||
Prefetch = 185,
|
||||
};
|
||||
|
||||
} // end namespace OpenCLLIB
|
@ -1,642 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2014-2016 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Round",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "RoundEven",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Trunc",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FAbs",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SAbs",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FSign",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SSign",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Floor",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ceil",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fract",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Radians",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'degrees'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Degrees",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'radians'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sin",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cos",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tan",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asin",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acos",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y_over_x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sinh",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cosh",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tanh",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asinh",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acosh",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atanh",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan2",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Pow",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp2",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log2",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sqrt",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InverseSqrt",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Determinant",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "MatrixInverse",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Modf",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'i'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ModfStruct",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMin",
|
||||
"opcode" : 37,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMin",
|
||||
"opcode" : 38,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMin",
|
||||
"opcode" : 39,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMax",
|
||||
"opcode" : 40,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMax",
|
||||
"opcode" : 41,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMax",
|
||||
"opcode" : 42,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FClamp",
|
||||
"opcode" : 43,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UClamp",
|
||||
"opcode" : 44,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SClamp",
|
||||
"opcode" : 45,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMix",
|
||||
"opcode" : 46,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "IMix",
|
||||
"opcode" : 47,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Step",
|
||||
"opcode" : 48,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SmoothStep",
|
||||
"opcode" : 49,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge0'" },
|
||||
{ "kind" : "IdRef", "name" : "'edge1'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fma",
|
||||
"opcode" : 50,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'a'" },
|
||||
{ "kind" : "IdRef", "name" : "'b'" },
|
||||
{ "kind" : "IdRef", "name" : "'c'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Frexp",
|
||||
"opcode" : 51,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FrexpStruct",
|
||||
"opcode" : 52,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ldexp",
|
||||
"opcode" : 53,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm4x8",
|
||||
"opcode" : 54,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm4x8",
|
||||
"opcode" : 55,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm2x16",
|
||||
"opcode" : 56,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm2x16",
|
||||
"opcode" : 57,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackHalf2x16",
|
||||
"opcode" : 58,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackDouble2x32",
|
||||
"opcode" : 59,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm2x16",
|
||||
"opcode" : 60,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm2x16",
|
||||
"opcode" : 61,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackHalf2x16",
|
||||
"opcode" : 62,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm4x8",
|
||||
"opcode" : 63,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm4x8",
|
||||
"opcode" : 64,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackDouble2x32",
|
||||
"opcode" : 65,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "Length",
|
||||
"opcode" : 66,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Distance",
|
||||
"opcode" : 67,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p0'" },
|
||||
{ "kind" : "IdRef", "name" : "'p1'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cross",
|
||||
"opcode" : 68,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Normalize",
|
||||
"opcode" : 69,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FaceForward",
|
||||
"opcode" : 70,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'Nref'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Reflect",
|
||||
"opcode" : 71,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Refract",
|
||||
"opcode" : 72,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'eta'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindILsb",
|
||||
"opcode" : 73,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindSMsb",
|
||||
"opcode" : 74,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindUMsb",
|
||||
"opcode" : 75,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtCentroid",
|
||||
"opcode" : 76,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtSample",
|
||||
"opcode" : 77,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'sample'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtOffset",
|
||||
"opcode" : 78,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'offset'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "NMin",
|
||||
"opcode" : 79,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NMax",
|
||||
"opcode" : 80,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NClamp",
|
||||
"opcode" : 81,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,971 +0,0 @@
|
||||
-- Copyright (c) 2014-2018 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.
|
||||
|
||||
-- This header is automatically generated by the same tool that creates
|
||||
-- the Binary Section of the SPIR-V specification.
|
||||
|
||||
-- Enumeration tokens for SPIR-V, in various styles:
|
||||
-- C, C++, C++11, JSON, Lua, Python
|
||||
--
|
||||
-- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
-- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
-- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
-- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
-- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
--
|
||||
-- Some tokens act like mask values, which can be OR'd together,
|
||||
-- while others are mutually exclusive. The mask-like ones have
|
||||
-- "Mask" in their name, and a parallel enum that has the shift
|
||||
-- amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
MagicNumber = 0x07230203,
|
||||
Version = 0x00010100,
|
||||
Revision = 8,
|
||||
OpCodeMask = 0xffff,
|
||||
WordCountShift = 16,
|
||||
|
||||
SourceLanguage = {
|
||||
Unknown = 0,
|
||||
ESSL = 1,
|
||||
GLSL = 2,
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
},
|
||||
|
||||
ExecutionModel = {
|
||||
Vertex = 0,
|
||||
TessellationControl = 1,
|
||||
TessellationEvaluation = 2,
|
||||
Geometry = 3,
|
||||
Fragment = 4,
|
||||
GLCompute = 5,
|
||||
Kernel = 6,
|
||||
},
|
||||
|
||||
AddressingModel = {
|
||||
Logical = 0,
|
||||
Physical32 = 1,
|
||||
Physical64 = 2,
|
||||
},
|
||||
|
||||
MemoryModel = {
|
||||
Simple = 0,
|
||||
GLSL450 = 1,
|
||||
OpenCL = 2,
|
||||
},
|
||||
|
||||
ExecutionMode = {
|
||||
Invocations = 0,
|
||||
SpacingEqual = 1,
|
||||
SpacingFractionalEven = 2,
|
||||
SpacingFractionalOdd = 3,
|
||||
VertexOrderCw = 4,
|
||||
VertexOrderCcw = 5,
|
||||
PixelCenterInteger = 6,
|
||||
OriginUpperLeft = 7,
|
||||
OriginLowerLeft = 8,
|
||||
EarlyFragmentTests = 9,
|
||||
PointMode = 10,
|
||||
Xfb = 11,
|
||||
DepthReplacing = 12,
|
||||
DepthGreater = 14,
|
||||
DepthLess = 15,
|
||||
DepthUnchanged = 16,
|
||||
LocalSize = 17,
|
||||
LocalSizeHint = 18,
|
||||
InputPoints = 19,
|
||||
InputLines = 20,
|
||||
InputLinesAdjacency = 21,
|
||||
Triangles = 22,
|
||||
InputTrianglesAdjacency = 23,
|
||||
Quads = 24,
|
||||
Isolines = 25,
|
||||
OutputVertices = 26,
|
||||
OutputPoints = 27,
|
||||
OutputLineStrip = 28,
|
||||
OutputTriangleStrip = 29,
|
||||
VecTypeHint = 30,
|
||||
ContractionOff = 31,
|
||||
Initializer = 33,
|
||||
Finalizer = 34,
|
||||
SubgroupSize = 35,
|
||||
SubgroupsPerWorkgroup = 36,
|
||||
PostDepthCoverage = 4446,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
},
|
||||
|
||||
StorageClass = {
|
||||
UniformConstant = 0,
|
||||
Input = 1,
|
||||
Uniform = 2,
|
||||
Output = 3,
|
||||
Workgroup = 4,
|
||||
CrossWorkgroup = 5,
|
||||
Private = 6,
|
||||
Function = 7,
|
||||
Generic = 8,
|
||||
PushConstant = 9,
|
||||
AtomicCounter = 10,
|
||||
Image = 11,
|
||||
StorageBuffer = 12,
|
||||
},
|
||||
|
||||
Dim = {
|
||||
Dim1D = 0,
|
||||
Dim2D = 1,
|
||||
Dim3D = 2,
|
||||
Cube = 3,
|
||||
Rect = 4,
|
||||
Buffer = 5,
|
||||
SubpassData = 6,
|
||||
},
|
||||
|
||||
SamplerAddressingMode = {
|
||||
None = 0,
|
||||
ClampToEdge = 1,
|
||||
Clamp = 2,
|
||||
Repeat = 3,
|
||||
RepeatMirrored = 4,
|
||||
},
|
||||
|
||||
SamplerFilterMode = {
|
||||
Nearest = 0,
|
||||
Linear = 1,
|
||||
},
|
||||
|
||||
ImageFormat = {
|
||||
Unknown = 0,
|
||||
Rgba32f = 1,
|
||||
Rgba16f = 2,
|
||||
R32f = 3,
|
||||
Rgba8 = 4,
|
||||
Rgba8Snorm = 5,
|
||||
Rg32f = 6,
|
||||
Rg16f = 7,
|
||||
R11fG11fB10f = 8,
|
||||
R16f = 9,
|
||||
Rgba16 = 10,
|
||||
Rgb10A2 = 11,
|
||||
Rg16 = 12,
|
||||
Rg8 = 13,
|
||||
R16 = 14,
|
||||
R8 = 15,
|
||||
Rgba16Snorm = 16,
|
||||
Rg16Snorm = 17,
|
||||
Rg8Snorm = 18,
|
||||
R16Snorm = 19,
|
||||
R8Snorm = 20,
|
||||
Rgba32i = 21,
|
||||
Rgba16i = 22,
|
||||
Rgba8i = 23,
|
||||
R32i = 24,
|
||||
Rg32i = 25,
|
||||
Rg16i = 26,
|
||||
Rg8i = 27,
|
||||
R16i = 28,
|
||||
R8i = 29,
|
||||
Rgba32ui = 30,
|
||||
Rgba16ui = 31,
|
||||
Rgba8ui = 32,
|
||||
R32ui = 33,
|
||||
Rgb10a2ui = 34,
|
||||
Rg32ui = 35,
|
||||
Rg16ui = 36,
|
||||
Rg8ui = 37,
|
||||
R16ui = 38,
|
||||
R8ui = 39,
|
||||
},
|
||||
|
||||
ImageChannelOrder = {
|
||||
R = 0,
|
||||
A = 1,
|
||||
RG = 2,
|
||||
RA = 3,
|
||||
RGB = 4,
|
||||
RGBA = 5,
|
||||
BGRA = 6,
|
||||
ARGB = 7,
|
||||
Intensity = 8,
|
||||
Luminance = 9,
|
||||
Rx = 10,
|
||||
RGx = 11,
|
||||
RGBx = 12,
|
||||
Depth = 13,
|
||||
DepthStencil = 14,
|
||||
sRGB = 15,
|
||||
sRGBx = 16,
|
||||
sRGBA = 17,
|
||||
sBGRA = 18,
|
||||
ABGR = 19,
|
||||
},
|
||||
|
||||
ImageChannelDataType = {
|
||||
SnormInt8 = 0,
|
||||
SnormInt16 = 1,
|
||||
UnormInt8 = 2,
|
||||
UnormInt16 = 3,
|
||||
UnormShort565 = 4,
|
||||
UnormShort555 = 5,
|
||||
UnormInt101010 = 6,
|
||||
SignedInt8 = 7,
|
||||
SignedInt16 = 8,
|
||||
SignedInt32 = 9,
|
||||
UnsignedInt8 = 10,
|
||||
UnsignedInt16 = 11,
|
||||
UnsignedInt32 = 12,
|
||||
HalfFloat = 13,
|
||||
Float = 14,
|
||||
UnormInt24 = 15,
|
||||
UnormInt101010_2 = 16,
|
||||
},
|
||||
|
||||
ImageOperandsShift = {
|
||||
Bias = 0,
|
||||
Lod = 1,
|
||||
Grad = 2,
|
||||
ConstOffset = 3,
|
||||
Offset = 4,
|
||||
ConstOffsets = 5,
|
||||
Sample = 6,
|
||||
MinLod = 7,
|
||||
},
|
||||
|
||||
ImageOperandsMask = {
|
||||
MaskNone = 0,
|
||||
Bias = 0x00000001,
|
||||
Lod = 0x00000002,
|
||||
Grad = 0x00000004,
|
||||
ConstOffset = 0x00000008,
|
||||
Offset = 0x00000010,
|
||||
ConstOffsets = 0x00000020,
|
||||
Sample = 0x00000040,
|
||||
MinLod = 0x00000080,
|
||||
},
|
||||
|
||||
FPFastMathModeShift = {
|
||||
NotNaN = 0,
|
||||
NotInf = 1,
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
},
|
||||
|
||||
FPFastMathModeMask = {
|
||||
MaskNone = 0,
|
||||
NotNaN = 0x00000001,
|
||||
NotInf = 0x00000002,
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
},
|
||||
|
||||
FPRoundingMode = {
|
||||
RTE = 0,
|
||||
RTZ = 1,
|
||||
RTP = 2,
|
||||
RTN = 3,
|
||||
},
|
||||
|
||||
LinkageType = {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
},
|
||||
|
||||
AccessQualifier = {
|
||||
ReadOnly = 0,
|
||||
WriteOnly = 1,
|
||||
ReadWrite = 2,
|
||||
},
|
||||
|
||||
FunctionParameterAttribute = {
|
||||
Zext = 0,
|
||||
Sext = 1,
|
||||
ByVal = 2,
|
||||
Sret = 3,
|
||||
NoAlias = 4,
|
||||
NoCapture = 5,
|
||||
NoWrite = 6,
|
||||
NoReadWrite = 7,
|
||||
},
|
||||
|
||||
Decoration = {
|
||||
RelaxedPrecision = 0,
|
||||
SpecId = 1,
|
||||
Block = 2,
|
||||
BufferBlock = 3,
|
||||
RowMajor = 4,
|
||||
ColMajor = 5,
|
||||
ArrayStride = 6,
|
||||
MatrixStride = 7,
|
||||
GLSLShared = 8,
|
||||
GLSLPacked = 9,
|
||||
CPacked = 10,
|
||||
BuiltIn = 11,
|
||||
NoPerspective = 13,
|
||||
Flat = 14,
|
||||
Patch = 15,
|
||||
Centroid = 16,
|
||||
Sample = 17,
|
||||
Invariant = 18,
|
||||
Restrict = 19,
|
||||
Aliased = 20,
|
||||
Volatile = 21,
|
||||
Constant = 22,
|
||||
Coherent = 23,
|
||||
NonWritable = 24,
|
||||
NonReadable = 25,
|
||||
Uniform = 26,
|
||||
SaturatedConversion = 28,
|
||||
Stream = 29,
|
||||
Location = 30,
|
||||
Component = 31,
|
||||
Index = 32,
|
||||
Binding = 33,
|
||||
DescriptorSet = 34,
|
||||
Offset = 35,
|
||||
XfbBuffer = 36,
|
||||
XfbStride = 37,
|
||||
FuncParamAttr = 38,
|
||||
FPRoundingMode = 39,
|
||||
FPFastMathMode = 40,
|
||||
LinkageAttributes = 41,
|
||||
NoContraction = 42,
|
||||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
MaxByteOffset = 45,
|
||||
ExplicitInterpAMD = 4999,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
},
|
||||
|
||||
BuiltIn = {
|
||||
Position = 0,
|
||||
PointSize = 1,
|
||||
ClipDistance = 3,
|
||||
CullDistance = 4,
|
||||
VertexId = 5,
|
||||
InstanceId = 6,
|
||||
PrimitiveId = 7,
|
||||
InvocationId = 8,
|
||||
Layer = 9,
|
||||
ViewportIndex = 10,
|
||||
TessLevelOuter = 11,
|
||||
TessLevelInner = 12,
|
||||
TessCoord = 13,
|
||||
PatchVertices = 14,
|
||||
FragCoord = 15,
|
||||
PointCoord = 16,
|
||||
FrontFacing = 17,
|
||||
SampleId = 18,
|
||||
SamplePosition = 19,
|
||||
SampleMask = 20,
|
||||
FragDepth = 22,
|
||||
HelperInvocation = 23,
|
||||
NumWorkgroups = 24,
|
||||
WorkgroupSize = 25,
|
||||
WorkgroupId = 26,
|
||||
LocalInvocationId = 27,
|
||||
GlobalInvocationId = 28,
|
||||
LocalInvocationIndex = 29,
|
||||
WorkDim = 30,
|
||||
GlobalSize = 31,
|
||||
EnqueuedWorkgroupSize = 32,
|
||||
GlobalOffset = 33,
|
||||
GlobalLinearId = 34,
|
||||
SubgroupSize = 36,
|
||||
SubgroupMaxSize = 37,
|
||||
NumSubgroups = 38,
|
||||
NumEnqueuedSubgroups = 39,
|
||||
SubgroupId = 40,
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMaskKHR = 4417,
|
||||
SubgroupGtMaskKHR = 4418,
|
||||
SubgroupLeMaskKHR = 4419,
|
||||
SubgroupLtMaskKHR = 4420,
|
||||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
BaryCoordNoPerspAMD = 4992,
|
||||
BaryCoordNoPerspCentroidAMD = 4993,
|
||||
BaryCoordNoPerspSampleAMD = 4994,
|
||||
BaryCoordSmoothAMD = 4995,
|
||||
BaryCoordSmoothCentroidAMD = 4996,
|
||||
BaryCoordSmoothSampleAMD = 4997,
|
||||
BaryCoordPullModelAMD = 4998,
|
||||
FragStencilRefEXT = 5014,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
},
|
||||
|
||||
SelectionControlShift = {
|
||||
Flatten = 0,
|
||||
DontFlatten = 1,
|
||||
},
|
||||
|
||||
SelectionControlMask = {
|
||||
MaskNone = 0,
|
||||
Flatten = 0x00000001,
|
||||
DontFlatten = 0x00000002,
|
||||
},
|
||||
|
||||
LoopControlShift = {
|
||||
Unroll = 0,
|
||||
DontUnroll = 1,
|
||||
DependencyInfinite = 2,
|
||||
DependencyLength = 3,
|
||||
},
|
||||
|
||||
LoopControlMask = {
|
||||
MaskNone = 0,
|
||||
Unroll = 0x00000001,
|
||||
DontUnroll = 0x00000002,
|
||||
DependencyInfinite = 0x00000004,
|
||||
DependencyLength = 0x00000008,
|
||||
},
|
||||
|
||||
FunctionControlShift = {
|
||||
Inline = 0,
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
},
|
||||
|
||||
FunctionControlMask = {
|
||||
MaskNone = 0,
|
||||
Inline = 0x00000001,
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
},
|
||||
|
||||
MemorySemanticsShift = {
|
||||
Acquire = 1,
|
||||
Release = 2,
|
||||
AcquireRelease = 3,
|
||||
SequentiallyConsistent = 4,
|
||||
UniformMemory = 6,
|
||||
SubgroupMemory = 7,
|
||||
WorkgroupMemory = 8,
|
||||
CrossWorkgroupMemory = 9,
|
||||
AtomicCounterMemory = 10,
|
||||
ImageMemory = 11,
|
||||
},
|
||||
|
||||
MemorySemanticsMask = {
|
||||
MaskNone = 0,
|
||||
Acquire = 0x00000002,
|
||||
Release = 0x00000004,
|
||||
AcquireRelease = 0x00000008,
|
||||
SequentiallyConsistent = 0x00000010,
|
||||
UniformMemory = 0x00000040,
|
||||
SubgroupMemory = 0x00000080,
|
||||
WorkgroupMemory = 0x00000100,
|
||||
CrossWorkgroupMemory = 0x00000200,
|
||||
AtomicCounterMemory = 0x00000400,
|
||||
ImageMemory = 0x00000800,
|
||||
},
|
||||
|
||||
MemoryAccessShift = {
|
||||
Volatile = 0,
|
||||
Aligned = 1,
|
||||
Nontemporal = 2,
|
||||
},
|
||||
|
||||
MemoryAccessMask = {
|
||||
MaskNone = 0,
|
||||
Volatile = 0x00000001,
|
||||
Aligned = 0x00000002,
|
||||
Nontemporal = 0x00000004,
|
||||
},
|
||||
|
||||
Scope = {
|
||||
CrossDevice = 0,
|
||||
Device = 1,
|
||||
Workgroup = 2,
|
||||
Subgroup = 3,
|
||||
Invocation = 4,
|
||||
},
|
||||
|
||||
GroupOperation = {
|
||||
Reduce = 0,
|
||||
InclusiveScan = 1,
|
||||
ExclusiveScan = 2,
|
||||
},
|
||||
|
||||
KernelEnqueueFlags = {
|
||||
NoWait = 0,
|
||||
WaitKernel = 1,
|
||||
WaitWorkGroup = 2,
|
||||
},
|
||||
|
||||
KernelProfilingInfoShift = {
|
||||
CmdExecTime = 0,
|
||||
},
|
||||
|
||||
KernelProfilingInfoMask = {
|
||||
MaskNone = 0,
|
||||
CmdExecTime = 0x00000001,
|
||||
},
|
||||
|
||||
Capability = {
|
||||
Matrix = 0,
|
||||
Shader = 1,
|
||||
Geometry = 2,
|
||||
Tessellation = 3,
|
||||
Addresses = 4,
|
||||
Linkage = 5,
|
||||
Kernel = 6,
|
||||
Vector16 = 7,
|
||||
Float16Buffer = 8,
|
||||
Float16 = 9,
|
||||
Float64 = 10,
|
||||
Int64 = 11,
|
||||
Int64Atomics = 12,
|
||||
ImageBasic = 13,
|
||||
ImageReadWrite = 14,
|
||||
ImageMipmap = 15,
|
||||
Pipes = 17,
|
||||
Groups = 18,
|
||||
DeviceEnqueue = 19,
|
||||
LiteralSampler = 20,
|
||||
AtomicStorage = 21,
|
||||
Int16 = 22,
|
||||
TessellationPointSize = 23,
|
||||
GeometryPointSize = 24,
|
||||
ImageGatherExtended = 25,
|
||||
StorageImageMultisample = 27,
|
||||
UniformBufferArrayDynamicIndexing = 28,
|
||||
SampledImageArrayDynamicIndexing = 29,
|
||||
StorageBufferArrayDynamicIndexing = 30,
|
||||
StorageImageArrayDynamicIndexing = 31,
|
||||
ClipDistance = 32,
|
||||
CullDistance = 33,
|
||||
ImageCubeArray = 34,
|
||||
SampleRateShading = 35,
|
||||
ImageRect = 36,
|
||||
SampledRect = 37,
|
||||
GenericPointer = 38,
|
||||
Int8 = 39,
|
||||
InputAttachment = 40,
|
||||
SparseResidency = 41,
|
||||
MinLod = 42,
|
||||
Sampled1D = 43,
|
||||
Image1D = 44,
|
||||
SampledCubeArray = 45,
|
||||
SampledBuffer = 46,
|
||||
ImageBuffer = 47,
|
||||
ImageMSArray = 48,
|
||||
StorageImageExtendedFormats = 49,
|
||||
ImageQuery = 50,
|
||||
DerivativeControl = 51,
|
||||
InterpolationFunction = 52,
|
||||
TransformFeedback = 53,
|
||||
GeometryStreams = 54,
|
||||
StorageImageReadWithoutFormat = 55,
|
||||
StorageImageWriteWithoutFormat = 56,
|
||||
MultiViewport = 57,
|
||||
SubgroupDispatch = 58,
|
||||
NamedBarrier = 59,
|
||||
PipeStorage = 60,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
UniformAndStorageBuffer16BitAccess = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
VariablePointersStorageBuffer = 4441,
|
||||
VariablePointers = 4442,
|
||||
AtomicStorageOps = 4445,
|
||||
SampleMaskPostDepthCoverage = 4447,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
StencilExportEXT = 5013,
|
||||
ImageReadWriteLodAMD = 5015,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
},
|
||||
|
||||
Op = {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
OpSourceContinued = 2,
|
||||
OpSource = 3,
|
||||
OpSourceExtension = 4,
|
||||
OpName = 5,
|
||||
OpMemberName = 6,
|
||||
OpString = 7,
|
||||
OpLine = 8,
|
||||
OpExtension = 10,
|
||||
OpExtInstImport = 11,
|
||||
OpExtInst = 12,
|
||||
OpMemoryModel = 14,
|
||||
OpEntryPoint = 15,
|
||||
OpExecutionMode = 16,
|
||||
OpCapability = 17,
|
||||
OpTypeVoid = 19,
|
||||
OpTypeBool = 20,
|
||||
OpTypeInt = 21,
|
||||
OpTypeFloat = 22,
|
||||
OpTypeVector = 23,
|
||||
OpTypeMatrix = 24,
|
||||
OpTypeImage = 25,
|
||||
OpTypeSampler = 26,
|
||||
OpTypeSampledImage = 27,
|
||||
OpTypeArray = 28,
|
||||
OpTypeRuntimeArray = 29,
|
||||
OpTypeStruct = 30,
|
||||
OpTypeOpaque = 31,
|
||||
OpTypePointer = 32,
|
||||
OpTypeFunction = 33,
|
||||
OpTypeEvent = 34,
|
||||
OpTypeDeviceEvent = 35,
|
||||
OpTypeReserveId = 36,
|
||||
OpTypeQueue = 37,
|
||||
OpTypePipe = 38,
|
||||
OpTypeForwardPointer = 39,
|
||||
OpConstantTrue = 41,
|
||||
OpConstantFalse = 42,
|
||||
OpConstant = 43,
|
||||
OpConstantComposite = 44,
|
||||
OpConstantSampler = 45,
|
||||
OpConstantNull = 46,
|
||||
OpSpecConstantTrue = 48,
|
||||
OpSpecConstantFalse = 49,
|
||||
OpSpecConstant = 50,
|
||||
OpSpecConstantComposite = 51,
|
||||
OpSpecConstantOp = 52,
|
||||
OpFunction = 54,
|
||||
OpFunctionParameter = 55,
|
||||
OpFunctionEnd = 56,
|
||||
OpFunctionCall = 57,
|
||||
OpVariable = 59,
|
||||
OpImageTexelPointer = 60,
|
||||
OpLoad = 61,
|
||||
OpStore = 62,
|
||||
OpCopyMemory = 63,
|
||||
OpCopyMemorySized = 64,
|
||||
OpAccessChain = 65,
|
||||
OpInBoundsAccessChain = 66,
|
||||
OpPtrAccessChain = 67,
|
||||
OpArrayLength = 68,
|
||||
OpGenericPtrMemSemantics = 69,
|
||||
OpInBoundsPtrAccessChain = 70,
|
||||
OpDecorate = 71,
|
||||
OpMemberDecorate = 72,
|
||||
OpDecorationGroup = 73,
|
||||
OpGroupDecorate = 74,
|
||||
OpGroupMemberDecorate = 75,
|
||||
OpVectorExtractDynamic = 77,
|
||||
OpVectorInsertDynamic = 78,
|
||||
OpVectorShuffle = 79,
|
||||
OpCompositeConstruct = 80,
|
||||
OpCompositeExtract = 81,
|
||||
OpCompositeInsert = 82,
|
||||
OpCopyObject = 83,
|
||||
OpTranspose = 84,
|
||||
OpSampledImage = 86,
|
||||
OpImageSampleImplicitLod = 87,
|
||||
OpImageSampleExplicitLod = 88,
|
||||
OpImageSampleDrefImplicitLod = 89,
|
||||
OpImageSampleDrefExplicitLod = 90,
|
||||
OpImageSampleProjImplicitLod = 91,
|
||||
OpImageSampleProjExplicitLod = 92,
|
||||
OpImageSampleProjDrefImplicitLod = 93,
|
||||
OpImageSampleProjDrefExplicitLod = 94,
|
||||
OpImageFetch = 95,
|
||||
OpImageGather = 96,
|
||||
OpImageDrefGather = 97,
|
||||
OpImageRead = 98,
|
||||
OpImageWrite = 99,
|
||||
OpImage = 100,
|
||||
OpImageQueryFormat = 101,
|
||||
OpImageQueryOrder = 102,
|
||||
OpImageQuerySizeLod = 103,
|
||||
OpImageQuerySize = 104,
|
||||
OpImageQueryLod = 105,
|
||||
OpImageQueryLevels = 106,
|
||||
OpImageQuerySamples = 107,
|
||||
OpConvertFToU = 109,
|
||||
OpConvertFToS = 110,
|
||||
OpConvertSToF = 111,
|
||||
OpConvertUToF = 112,
|
||||
OpUConvert = 113,
|
||||
OpSConvert = 114,
|
||||
OpFConvert = 115,
|
||||
OpQuantizeToF16 = 116,
|
||||
OpConvertPtrToU = 117,
|
||||
OpSatConvertSToU = 118,
|
||||
OpSatConvertUToS = 119,
|
||||
OpConvertUToPtr = 120,
|
||||
OpPtrCastToGeneric = 121,
|
||||
OpGenericCastToPtr = 122,
|
||||
OpGenericCastToPtrExplicit = 123,
|
||||
OpBitcast = 124,
|
||||
OpSNegate = 126,
|
||||
OpFNegate = 127,
|
||||
OpIAdd = 128,
|
||||
OpFAdd = 129,
|
||||
OpISub = 130,
|
||||
OpFSub = 131,
|
||||
OpIMul = 132,
|
||||
OpFMul = 133,
|
||||
OpUDiv = 134,
|
||||
OpSDiv = 135,
|
||||
OpFDiv = 136,
|
||||
OpUMod = 137,
|
||||
OpSRem = 138,
|
||||
OpSMod = 139,
|
||||
OpFRem = 140,
|
||||
OpFMod = 141,
|
||||
OpVectorTimesScalar = 142,
|
||||
OpMatrixTimesScalar = 143,
|
||||
OpVectorTimesMatrix = 144,
|
||||
OpMatrixTimesVector = 145,
|
||||
OpMatrixTimesMatrix = 146,
|
||||
OpOuterProduct = 147,
|
||||
OpDot = 148,
|
||||
OpIAddCarry = 149,
|
||||
OpISubBorrow = 150,
|
||||
OpUMulExtended = 151,
|
||||
OpSMulExtended = 152,
|
||||
OpAny = 154,
|
||||
OpAll = 155,
|
||||
OpIsNan = 156,
|
||||
OpIsInf = 157,
|
||||
OpIsFinite = 158,
|
||||
OpIsNormal = 159,
|
||||
OpSignBitSet = 160,
|
||||
OpLessOrGreater = 161,
|
||||
OpOrdered = 162,
|
||||
OpUnordered = 163,
|
||||
OpLogicalEqual = 164,
|
||||
OpLogicalNotEqual = 165,
|
||||
OpLogicalOr = 166,
|
||||
OpLogicalAnd = 167,
|
||||
OpLogicalNot = 168,
|
||||
OpSelect = 169,
|
||||
OpIEqual = 170,
|
||||
OpINotEqual = 171,
|
||||
OpUGreaterThan = 172,
|
||||
OpSGreaterThan = 173,
|
||||
OpUGreaterThanEqual = 174,
|
||||
OpSGreaterThanEqual = 175,
|
||||
OpULessThan = 176,
|
||||
OpSLessThan = 177,
|
||||
OpULessThanEqual = 178,
|
||||
OpSLessThanEqual = 179,
|
||||
OpFOrdEqual = 180,
|
||||
OpFUnordEqual = 181,
|
||||
OpFOrdNotEqual = 182,
|
||||
OpFUnordNotEqual = 183,
|
||||
OpFOrdLessThan = 184,
|
||||
OpFUnordLessThan = 185,
|
||||
OpFOrdGreaterThan = 186,
|
||||
OpFUnordGreaterThan = 187,
|
||||
OpFOrdLessThanEqual = 188,
|
||||
OpFUnordLessThanEqual = 189,
|
||||
OpFOrdGreaterThanEqual = 190,
|
||||
OpFUnordGreaterThanEqual = 191,
|
||||
OpShiftRightLogical = 194,
|
||||
OpShiftRightArithmetic = 195,
|
||||
OpShiftLeftLogical = 196,
|
||||
OpBitwiseOr = 197,
|
||||
OpBitwiseXor = 198,
|
||||
OpBitwiseAnd = 199,
|
||||
OpNot = 200,
|
||||
OpBitFieldInsert = 201,
|
||||
OpBitFieldSExtract = 202,
|
||||
OpBitFieldUExtract = 203,
|
||||
OpBitReverse = 204,
|
||||
OpBitCount = 205,
|
||||
OpDPdx = 207,
|
||||
OpDPdy = 208,
|
||||
OpFwidth = 209,
|
||||
OpDPdxFine = 210,
|
||||
OpDPdyFine = 211,
|
||||
OpFwidthFine = 212,
|
||||
OpDPdxCoarse = 213,
|
||||
OpDPdyCoarse = 214,
|
||||
OpFwidthCoarse = 215,
|
||||
OpEmitVertex = 218,
|
||||
OpEndPrimitive = 219,
|
||||
OpEmitStreamVertex = 220,
|
||||
OpEndStreamPrimitive = 221,
|
||||
OpControlBarrier = 224,
|
||||
OpMemoryBarrier = 225,
|
||||
OpAtomicLoad = 227,
|
||||
OpAtomicStore = 228,
|
||||
OpAtomicExchange = 229,
|
||||
OpAtomicCompareExchange = 230,
|
||||
OpAtomicCompareExchangeWeak = 231,
|
||||
OpAtomicIIncrement = 232,
|
||||
OpAtomicIDecrement = 233,
|
||||
OpAtomicIAdd = 234,
|
||||
OpAtomicISub = 235,
|
||||
OpAtomicSMin = 236,
|
||||
OpAtomicUMin = 237,
|
||||
OpAtomicSMax = 238,
|
||||
OpAtomicUMax = 239,
|
||||
OpAtomicAnd = 240,
|
||||
OpAtomicOr = 241,
|
||||
OpAtomicXor = 242,
|
||||
OpPhi = 245,
|
||||
OpLoopMerge = 246,
|
||||
OpSelectionMerge = 247,
|
||||
OpLabel = 248,
|
||||
OpBranch = 249,
|
||||
OpBranchConditional = 250,
|
||||
OpSwitch = 251,
|
||||
OpKill = 252,
|
||||
OpReturn = 253,
|
||||
OpReturnValue = 254,
|
||||
OpUnreachable = 255,
|
||||
OpLifetimeStart = 256,
|
||||
OpLifetimeStop = 257,
|
||||
OpGroupAsyncCopy = 259,
|
||||
OpGroupWaitEvents = 260,
|
||||
OpGroupAll = 261,
|
||||
OpGroupAny = 262,
|
||||
OpGroupBroadcast = 263,
|
||||
OpGroupIAdd = 264,
|
||||
OpGroupFAdd = 265,
|
||||
OpGroupFMin = 266,
|
||||
OpGroupUMin = 267,
|
||||
OpGroupSMin = 268,
|
||||
OpGroupFMax = 269,
|
||||
OpGroupUMax = 270,
|
||||
OpGroupSMax = 271,
|
||||
OpReadPipe = 274,
|
||||
OpWritePipe = 275,
|
||||
OpReservedReadPipe = 276,
|
||||
OpReservedWritePipe = 277,
|
||||
OpReserveReadPipePackets = 278,
|
||||
OpReserveWritePipePackets = 279,
|
||||
OpCommitReadPipe = 280,
|
||||
OpCommitWritePipe = 281,
|
||||
OpIsValidReserveId = 282,
|
||||
OpGetNumPipePackets = 283,
|
||||
OpGetMaxPipePackets = 284,
|
||||
OpGroupReserveReadPipePackets = 285,
|
||||
OpGroupReserveWritePipePackets = 286,
|
||||
OpGroupCommitReadPipe = 287,
|
||||
OpGroupCommitWritePipe = 288,
|
||||
OpEnqueueMarker = 291,
|
||||
OpEnqueueKernel = 292,
|
||||
OpGetKernelNDrangeSubGroupCount = 293,
|
||||
OpGetKernelNDrangeMaxSubGroupSize = 294,
|
||||
OpGetKernelWorkGroupSize = 295,
|
||||
OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
||||
OpRetainEvent = 297,
|
||||
OpReleaseEvent = 298,
|
||||
OpCreateUserEvent = 299,
|
||||
OpIsValidEvent = 300,
|
||||
OpSetUserEventStatus = 301,
|
||||
OpCaptureEventProfilingInfo = 302,
|
||||
OpGetDefaultQueue = 303,
|
||||
OpBuildNDRange = 304,
|
||||
OpImageSparseSampleImplicitLod = 305,
|
||||
OpImageSparseSampleExplicitLod = 306,
|
||||
OpImageSparseSampleDrefImplicitLod = 307,
|
||||
OpImageSparseSampleDrefExplicitLod = 308,
|
||||
OpImageSparseSampleProjImplicitLod = 309,
|
||||
OpImageSparseSampleProjExplicitLod = 310,
|
||||
OpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
OpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
OpImageSparseFetch = 313,
|
||||
OpImageSparseGather = 314,
|
||||
OpImageSparseDrefGather = 315,
|
||||
OpImageSparseTexelsResident = 316,
|
||||
OpNoLine = 317,
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
OpImageSparseRead = 320,
|
||||
OpSizeOf = 321,
|
||||
OpTypePipeStorage = 322,
|
||||
OpConstantPipeStorage = 323,
|
||||
OpCreatePipeFromPipeStorage = 324,
|
||||
OpGetKernelLocalSizeForSubgroupCount = 325,
|
||||
OpGetKernelMaxNumSubgroups = 326,
|
||||
OpTypeNamedBarrier = 327,
|
||||
OpNamedBarrierInitialize = 328,
|
||||
OpMemoryNamedBarrier = 329,
|
||||
OpModuleProcessed = 330,
|
||||
OpDecorateId = 332,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
OpGroupUMinNonUniformAMD = 5003,
|
||||
OpGroupSMinNonUniformAMD = 5004,
|
||||
OpGroupFMaxNonUniformAMD = 5005,
|
||||
OpGroupUMaxNonUniformAMD = 5006,
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
OpSubgroupShuffleXorINTEL = 5574,
|
||||
OpSubgroupBlockReadINTEL = 5575,
|
||||
OpSubgroupBlockWriteINTEL = 5576,
|
||||
OpSubgroupImageBlockReadINTEL = 5577,
|
||||
OpSubgroupImageBlockWriteINTEL = 5578,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateStringGOOGLE = 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,971 +0,0 @@
|
||||
# Copyright (c) 2014-2018 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.
|
||||
|
||||
# This header is automatically generated by the same tool that creates
|
||||
# the Binary Section of the SPIR-V specification.
|
||||
|
||||
# Enumeration tokens for SPIR-V, in various styles:
|
||||
# C, C++, C++11, JSON, Lua, Python
|
||||
#
|
||||
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
#
|
||||
# Some tokens act like mask values, which can be OR'd together,
|
||||
# while others are mutually exclusive. The mask-like ones have
|
||||
# "Mask" in their name, and a parallel enum that has the shift
|
||||
# amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
'MagicNumber' : 0x07230203,
|
||||
'Version' : 0x00010100,
|
||||
'Revision' : 8,
|
||||
'OpCodeMask' : 0xffff,
|
||||
'WordCountShift' : 16,
|
||||
|
||||
'SourceLanguage' : {
|
||||
'Unknown' : 0,
|
||||
'ESSL' : 1,
|
||||
'GLSL' : 2,
|
||||
'OpenCL_C' : 3,
|
||||
'OpenCL_CPP' : 4,
|
||||
'HLSL' : 5,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
'Vertex' : 0,
|
||||
'TessellationControl' : 1,
|
||||
'TessellationEvaluation' : 2,
|
||||
'Geometry' : 3,
|
||||
'Fragment' : 4,
|
||||
'GLCompute' : 5,
|
||||
'Kernel' : 6,
|
||||
},
|
||||
|
||||
'AddressingModel' : {
|
||||
'Logical' : 0,
|
||||
'Physical32' : 1,
|
||||
'Physical64' : 2,
|
||||
},
|
||||
|
||||
'MemoryModel' : {
|
||||
'Simple' : 0,
|
||||
'GLSL450' : 1,
|
||||
'OpenCL' : 2,
|
||||
},
|
||||
|
||||
'ExecutionMode' : {
|
||||
'Invocations' : 0,
|
||||
'SpacingEqual' : 1,
|
||||
'SpacingFractionalEven' : 2,
|
||||
'SpacingFractionalOdd' : 3,
|
||||
'VertexOrderCw' : 4,
|
||||
'VertexOrderCcw' : 5,
|
||||
'PixelCenterInteger' : 6,
|
||||
'OriginUpperLeft' : 7,
|
||||
'OriginLowerLeft' : 8,
|
||||
'EarlyFragmentTests' : 9,
|
||||
'PointMode' : 10,
|
||||
'Xfb' : 11,
|
||||
'DepthReplacing' : 12,
|
||||
'DepthGreater' : 14,
|
||||
'DepthLess' : 15,
|
||||
'DepthUnchanged' : 16,
|
||||
'LocalSize' : 17,
|
||||
'LocalSizeHint' : 18,
|
||||
'InputPoints' : 19,
|
||||
'InputLines' : 20,
|
||||
'InputLinesAdjacency' : 21,
|
||||
'Triangles' : 22,
|
||||
'InputTrianglesAdjacency' : 23,
|
||||
'Quads' : 24,
|
||||
'Isolines' : 25,
|
||||
'OutputVertices' : 26,
|
||||
'OutputPoints' : 27,
|
||||
'OutputLineStrip' : 28,
|
||||
'OutputTriangleStrip' : 29,
|
||||
'VecTypeHint' : 30,
|
||||
'ContractionOff' : 31,
|
||||
'Initializer' : 33,
|
||||
'Finalizer' : 34,
|
||||
'SubgroupSize' : 35,
|
||||
'SubgroupsPerWorkgroup' : 36,
|
||||
'PostDepthCoverage' : 4446,
|
||||
'StencilRefReplacingEXT' : 5027,
|
||||
},
|
||||
|
||||
'StorageClass' : {
|
||||
'UniformConstant' : 0,
|
||||
'Input' : 1,
|
||||
'Uniform' : 2,
|
||||
'Output' : 3,
|
||||
'Workgroup' : 4,
|
||||
'CrossWorkgroup' : 5,
|
||||
'Private' : 6,
|
||||
'Function' : 7,
|
||||
'Generic' : 8,
|
||||
'PushConstant' : 9,
|
||||
'AtomicCounter' : 10,
|
||||
'Image' : 11,
|
||||
'StorageBuffer' : 12,
|
||||
},
|
||||
|
||||
'Dim' : {
|
||||
'Dim1D' : 0,
|
||||
'Dim2D' : 1,
|
||||
'Dim3D' : 2,
|
||||
'Cube' : 3,
|
||||
'Rect' : 4,
|
||||
'Buffer' : 5,
|
||||
'SubpassData' : 6,
|
||||
},
|
||||
|
||||
'SamplerAddressingMode' : {
|
||||
'None' : 0,
|
||||
'ClampToEdge' : 1,
|
||||
'Clamp' : 2,
|
||||
'Repeat' : 3,
|
||||
'RepeatMirrored' : 4,
|
||||
},
|
||||
|
||||
'SamplerFilterMode' : {
|
||||
'Nearest' : 0,
|
||||
'Linear' : 1,
|
||||
},
|
||||
|
||||
'ImageFormat' : {
|
||||
'Unknown' : 0,
|
||||
'Rgba32f' : 1,
|
||||
'Rgba16f' : 2,
|
||||
'R32f' : 3,
|
||||
'Rgba8' : 4,
|
||||
'Rgba8Snorm' : 5,
|
||||
'Rg32f' : 6,
|
||||
'Rg16f' : 7,
|
||||
'R11fG11fB10f' : 8,
|
||||
'R16f' : 9,
|
||||
'Rgba16' : 10,
|
||||
'Rgb10A2' : 11,
|
||||
'Rg16' : 12,
|
||||
'Rg8' : 13,
|
||||
'R16' : 14,
|
||||
'R8' : 15,
|
||||
'Rgba16Snorm' : 16,
|
||||
'Rg16Snorm' : 17,
|
||||
'Rg8Snorm' : 18,
|
||||
'R16Snorm' : 19,
|
||||
'R8Snorm' : 20,
|
||||
'Rgba32i' : 21,
|
||||
'Rgba16i' : 22,
|
||||
'Rgba8i' : 23,
|
||||
'R32i' : 24,
|
||||
'Rg32i' : 25,
|
||||
'Rg16i' : 26,
|
||||
'Rg8i' : 27,
|
||||
'R16i' : 28,
|
||||
'R8i' : 29,
|
||||
'Rgba32ui' : 30,
|
||||
'Rgba16ui' : 31,
|
||||
'Rgba8ui' : 32,
|
||||
'R32ui' : 33,
|
||||
'Rgb10a2ui' : 34,
|
||||
'Rg32ui' : 35,
|
||||
'Rg16ui' : 36,
|
||||
'Rg8ui' : 37,
|
||||
'R16ui' : 38,
|
||||
'R8ui' : 39,
|
||||
},
|
||||
|
||||
'ImageChannelOrder' : {
|
||||
'R' : 0,
|
||||
'A' : 1,
|
||||
'RG' : 2,
|
||||
'RA' : 3,
|
||||
'RGB' : 4,
|
||||
'RGBA' : 5,
|
||||
'BGRA' : 6,
|
||||
'ARGB' : 7,
|
||||
'Intensity' : 8,
|
||||
'Luminance' : 9,
|
||||
'Rx' : 10,
|
||||
'RGx' : 11,
|
||||
'RGBx' : 12,
|
||||
'Depth' : 13,
|
||||
'DepthStencil' : 14,
|
||||
'sRGB' : 15,
|
||||
'sRGBx' : 16,
|
||||
'sRGBA' : 17,
|
||||
'sBGRA' : 18,
|
||||
'ABGR' : 19,
|
||||
},
|
||||
|
||||
'ImageChannelDataType' : {
|
||||
'SnormInt8' : 0,
|
||||
'SnormInt16' : 1,
|
||||
'UnormInt8' : 2,
|
||||
'UnormInt16' : 3,
|
||||
'UnormShort565' : 4,
|
||||
'UnormShort555' : 5,
|
||||
'UnormInt101010' : 6,
|
||||
'SignedInt8' : 7,
|
||||
'SignedInt16' : 8,
|
||||
'SignedInt32' : 9,
|
||||
'UnsignedInt8' : 10,
|
||||
'UnsignedInt16' : 11,
|
||||
'UnsignedInt32' : 12,
|
||||
'HalfFloat' : 13,
|
||||
'Float' : 14,
|
||||
'UnormInt24' : 15,
|
||||
'UnormInt101010_2' : 16,
|
||||
},
|
||||
|
||||
'ImageOperandsShift' : {
|
||||
'Bias' : 0,
|
||||
'Lod' : 1,
|
||||
'Grad' : 2,
|
||||
'ConstOffset' : 3,
|
||||
'Offset' : 4,
|
||||
'ConstOffsets' : 5,
|
||||
'Sample' : 6,
|
||||
'MinLod' : 7,
|
||||
},
|
||||
|
||||
'ImageOperandsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Bias' : 0x00000001,
|
||||
'Lod' : 0x00000002,
|
||||
'Grad' : 0x00000004,
|
||||
'ConstOffset' : 0x00000008,
|
||||
'Offset' : 0x00000010,
|
||||
'ConstOffsets' : 0x00000020,
|
||||
'Sample' : 0x00000040,
|
||||
'MinLod' : 0x00000080,
|
||||
},
|
||||
|
||||
'FPFastMathModeShift' : {
|
||||
'NotNaN' : 0,
|
||||
'NotInf' : 1,
|
||||
'NSZ' : 2,
|
||||
'AllowRecip' : 3,
|
||||
'Fast' : 4,
|
||||
},
|
||||
|
||||
'FPFastMathModeMask' : {
|
||||
'MaskNone' : 0,
|
||||
'NotNaN' : 0x00000001,
|
||||
'NotInf' : 0x00000002,
|
||||
'NSZ' : 0x00000004,
|
||||
'AllowRecip' : 0x00000008,
|
||||
'Fast' : 0x00000010,
|
||||
},
|
||||
|
||||
'FPRoundingMode' : {
|
||||
'RTE' : 0,
|
||||
'RTZ' : 1,
|
||||
'RTP' : 2,
|
||||
'RTN' : 3,
|
||||
},
|
||||
|
||||
'LinkageType' : {
|
||||
'Export' : 0,
|
||||
'Import' : 1,
|
||||
},
|
||||
|
||||
'AccessQualifier' : {
|
||||
'ReadOnly' : 0,
|
||||
'WriteOnly' : 1,
|
||||
'ReadWrite' : 2,
|
||||
},
|
||||
|
||||
'FunctionParameterAttribute' : {
|
||||
'Zext' : 0,
|
||||
'Sext' : 1,
|
||||
'ByVal' : 2,
|
||||
'Sret' : 3,
|
||||
'NoAlias' : 4,
|
||||
'NoCapture' : 5,
|
||||
'NoWrite' : 6,
|
||||
'NoReadWrite' : 7,
|
||||
},
|
||||
|
||||
'Decoration' : {
|
||||
'RelaxedPrecision' : 0,
|
||||
'SpecId' : 1,
|
||||
'Block' : 2,
|
||||
'BufferBlock' : 3,
|
||||
'RowMajor' : 4,
|
||||
'ColMajor' : 5,
|
||||
'ArrayStride' : 6,
|
||||
'MatrixStride' : 7,
|
||||
'GLSLShared' : 8,
|
||||
'GLSLPacked' : 9,
|
||||
'CPacked' : 10,
|
||||
'BuiltIn' : 11,
|
||||
'NoPerspective' : 13,
|
||||
'Flat' : 14,
|
||||
'Patch' : 15,
|
||||
'Centroid' : 16,
|
||||
'Sample' : 17,
|
||||
'Invariant' : 18,
|
||||
'Restrict' : 19,
|
||||
'Aliased' : 20,
|
||||
'Volatile' : 21,
|
||||
'Constant' : 22,
|
||||
'Coherent' : 23,
|
||||
'NonWritable' : 24,
|
||||
'NonReadable' : 25,
|
||||
'Uniform' : 26,
|
||||
'SaturatedConversion' : 28,
|
||||
'Stream' : 29,
|
||||
'Location' : 30,
|
||||
'Component' : 31,
|
||||
'Index' : 32,
|
||||
'Binding' : 33,
|
||||
'DescriptorSet' : 34,
|
||||
'Offset' : 35,
|
||||
'XfbBuffer' : 36,
|
||||
'XfbStride' : 37,
|
||||
'FuncParamAttr' : 38,
|
||||
'FPRoundingMode' : 39,
|
||||
'FPFastMathMode' : 40,
|
||||
'LinkageAttributes' : 41,
|
||||
'NoContraction' : 42,
|
||||
'InputAttachmentIndex' : 43,
|
||||
'Alignment' : 44,
|
||||
'MaxByteOffset' : 45,
|
||||
'ExplicitInterpAMD' : 4999,
|
||||
'OverrideCoverageNV' : 5248,
|
||||
'PassthroughNV' : 5250,
|
||||
'ViewportRelativeNV' : 5252,
|
||||
'SecondaryViewportRelativeNV' : 5256,
|
||||
'HlslCounterBufferGOOGLE' : 5634,
|
||||
'HlslSemanticGOOGLE' : 5635,
|
||||
},
|
||||
|
||||
'BuiltIn' : {
|
||||
'Position' : 0,
|
||||
'PointSize' : 1,
|
||||
'ClipDistance' : 3,
|
||||
'CullDistance' : 4,
|
||||
'VertexId' : 5,
|
||||
'InstanceId' : 6,
|
||||
'PrimitiveId' : 7,
|
||||
'InvocationId' : 8,
|
||||
'Layer' : 9,
|
||||
'ViewportIndex' : 10,
|
||||
'TessLevelOuter' : 11,
|
||||
'TessLevelInner' : 12,
|
||||
'TessCoord' : 13,
|
||||
'PatchVertices' : 14,
|
||||
'FragCoord' : 15,
|
||||
'PointCoord' : 16,
|
||||
'FrontFacing' : 17,
|
||||
'SampleId' : 18,
|
||||
'SamplePosition' : 19,
|
||||
'SampleMask' : 20,
|
||||
'FragDepth' : 22,
|
||||
'HelperInvocation' : 23,
|
||||
'NumWorkgroups' : 24,
|
||||
'WorkgroupSize' : 25,
|
||||
'WorkgroupId' : 26,
|
||||
'LocalInvocationId' : 27,
|
||||
'GlobalInvocationId' : 28,
|
||||
'LocalInvocationIndex' : 29,
|
||||
'WorkDim' : 30,
|
||||
'GlobalSize' : 31,
|
||||
'EnqueuedWorkgroupSize' : 32,
|
||||
'GlobalOffset' : 33,
|
||||
'GlobalLinearId' : 34,
|
||||
'SubgroupSize' : 36,
|
||||
'SubgroupMaxSize' : 37,
|
||||
'NumSubgroups' : 38,
|
||||
'NumEnqueuedSubgroups' : 39,
|
||||
'SubgroupId' : 40,
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
'SubgroupEqMaskKHR' : 4416,
|
||||
'SubgroupGeMaskKHR' : 4417,
|
||||
'SubgroupGtMaskKHR' : 4418,
|
||||
'SubgroupLeMaskKHR' : 4419,
|
||||
'SubgroupLtMaskKHR' : 4420,
|
||||
'BaseVertex' : 4424,
|
||||
'BaseInstance' : 4425,
|
||||
'DrawIndex' : 4426,
|
||||
'DeviceIndex' : 4438,
|
||||
'ViewIndex' : 4440,
|
||||
'BaryCoordNoPerspAMD' : 4992,
|
||||
'BaryCoordNoPerspCentroidAMD' : 4993,
|
||||
'BaryCoordNoPerspSampleAMD' : 4994,
|
||||
'BaryCoordSmoothAMD' : 4995,
|
||||
'BaryCoordSmoothCentroidAMD' : 4996,
|
||||
'BaryCoordSmoothSampleAMD' : 4997,
|
||||
'BaryCoordPullModelAMD' : 4998,
|
||||
'FragStencilRefEXT' : 5014,
|
||||
'ViewportMaskNV' : 5253,
|
||||
'SecondaryPositionNV' : 5257,
|
||||
'SecondaryViewportMaskNV' : 5258,
|
||||
'PositionPerViewNV' : 5261,
|
||||
'ViewportMaskPerViewNV' : 5262,
|
||||
},
|
||||
|
||||
'SelectionControlShift' : {
|
||||
'Flatten' : 0,
|
||||
'DontFlatten' : 1,
|
||||
},
|
||||
|
||||
'SelectionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Flatten' : 0x00000001,
|
||||
'DontFlatten' : 0x00000002,
|
||||
},
|
||||
|
||||
'LoopControlShift' : {
|
||||
'Unroll' : 0,
|
||||
'DontUnroll' : 1,
|
||||
'DependencyInfinite' : 2,
|
||||
'DependencyLength' : 3,
|
||||
},
|
||||
|
||||
'LoopControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Unroll' : 0x00000001,
|
||||
'DontUnroll' : 0x00000002,
|
||||
'DependencyInfinite' : 0x00000004,
|
||||
'DependencyLength' : 0x00000008,
|
||||
},
|
||||
|
||||
'FunctionControlShift' : {
|
||||
'Inline' : 0,
|
||||
'DontInline' : 1,
|
||||
'Pure' : 2,
|
||||
'Const' : 3,
|
||||
},
|
||||
|
||||
'FunctionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Inline' : 0x00000001,
|
||||
'DontInline' : 0x00000002,
|
||||
'Pure' : 0x00000004,
|
||||
'Const' : 0x00000008,
|
||||
},
|
||||
|
||||
'MemorySemanticsShift' : {
|
||||
'Acquire' : 1,
|
||||
'Release' : 2,
|
||||
'AcquireRelease' : 3,
|
||||
'SequentiallyConsistent' : 4,
|
||||
'UniformMemory' : 6,
|
||||
'SubgroupMemory' : 7,
|
||||
'WorkgroupMemory' : 8,
|
||||
'CrossWorkgroupMemory' : 9,
|
||||
'AtomicCounterMemory' : 10,
|
||||
'ImageMemory' : 11,
|
||||
},
|
||||
|
||||
'MemorySemanticsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Acquire' : 0x00000002,
|
||||
'Release' : 0x00000004,
|
||||
'AcquireRelease' : 0x00000008,
|
||||
'SequentiallyConsistent' : 0x00000010,
|
||||
'UniformMemory' : 0x00000040,
|
||||
'SubgroupMemory' : 0x00000080,
|
||||
'WorkgroupMemory' : 0x00000100,
|
||||
'CrossWorkgroupMemory' : 0x00000200,
|
||||
'AtomicCounterMemory' : 0x00000400,
|
||||
'ImageMemory' : 0x00000800,
|
||||
},
|
||||
|
||||
'MemoryAccessShift' : {
|
||||
'Volatile' : 0,
|
||||
'Aligned' : 1,
|
||||
'Nontemporal' : 2,
|
||||
},
|
||||
|
||||
'MemoryAccessMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Volatile' : 0x00000001,
|
||||
'Aligned' : 0x00000002,
|
||||
'Nontemporal' : 0x00000004,
|
||||
},
|
||||
|
||||
'Scope' : {
|
||||
'CrossDevice' : 0,
|
||||
'Device' : 1,
|
||||
'Workgroup' : 2,
|
||||
'Subgroup' : 3,
|
||||
'Invocation' : 4,
|
||||
},
|
||||
|
||||
'GroupOperation' : {
|
||||
'Reduce' : 0,
|
||||
'InclusiveScan' : 1,
|
||||
'ExclusiveScan' : 2,
|
||||
},
|
||||
|
||||
'KernelEnqueueFlags' : {
|
||||
'NoWait' : 0,
|
||||
'WaitKernel' : 1,
|
||||
'WaitWorkGroup' : 2,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoShift' : {
|
||||
'CmdExecTime' : 0,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoMask' : {
|
||||
'MaskNone' : 0,
|
||||
'CmdExecTime' : 0x00000001,
|
||||
},
|
||||
|
||||
'Capability' : {
|
||||
'Matrix' : 0,
|
||||
'Shader' : 1,
|
||||
'Geometry' : 2,
|
||||
'Tessellation' : 3,
|
||||
'Addresses' : 4,
|
||||
'Linkage' : 5,
|
||||
'Kernel' : 6,
|
||||
'Vector16' : 7,
|
||||
'Float16Buffer' : 8,
|
||||
'Float16' : 9,
|
||||
'Float64' : 10,
|
||||
'Int64' : 11,
|
||||
'Int64Atomics' : 12,
|
||||
'ImageBasic' : 13,
|
||||
'ImageReadWrite' : 14,
|
||||
'ImageMipmap' : 15,
|
||||
'Pipes' : 17,
|
||||
'Groups' : 18,
|
||||
'DeviceEnqueue' : 19,
|
||||
'LiteralSampler' : 20,
|
||||
'AtomicStorage' : 21,
|
||||
'Int16' : 22,
|
||||
'TessellationPointSize' : 23,
|
||||
'GeometryPointSize' : 24,
|
||||
'ImageGatherExtended' : 25,
|
||||
'StorageImageMultisample' : 27,
|
||||
'UniformBufferArrayDynamicIndexing' : 28,
|
||||
'SampledImageArrayDynamicIndexing' : 29,
|
||||
'StorageBufferArrayDynamicIndexing' : 30,
|
||||
'StorageImageArrayDynamicIndexing' : 31,
|
||||
'ClipDistance' : 32,
|
||||
'CullDistance' : 33,
|
||||
'ImageCubeArray' : 34,
|
||||
'SampleRateShading' : 35,
|
||||
'ImageRect' : 36,
|
||||
'SampledRect' : 37,
|
||||
'GenericPointer' : 38,
|
||||
'Int8' : 39,
|
||||
'InputAttachment' : 40,
|
||||
'SparseResidency' : 41,
|
||||
'MinLod' : 42,
|
||||
'Sampled1D' : 43,
|
||||
'Image1D' : 44,
|
||||
'SampledCubeArray' : 45,
|
||||
'SampledBuffer' : 46,
|
||||
'ImageBuffer' : 47,
|
||||
'ImageMSArray' : 48,
|
||||
'StorageImageExtendedFormats' : 49,
|
||||
'ImageQuery' : 50,
|
||||
'DerivativeControl' : 51,
|
||||
'InterpolationFunction' : 52,
|
||||
'TransformFeedback' : 53,
|
||||
'GeometryStreams' : 54,
|
||||
'StorageImageReadWithoutFormat' : 55,
|
||||
'StorageImageWriteWithoutFormat' : 56,
|
||||
'MultiViewport' : 57,
|
||||
'SubgroupDispatch' : 58,
|
||||
'NamedBarrier' : 59,
|
||||
'PipeStorage' : 60,
|
||||
'SubgroupBallotKHR' : 4423,
|
||||
'DrawParameters' : 4427,
|
||||
'SubgroupVoteKHR' : 4431,
|
||||
'StorageBuffer16BitAccess' : 4433,
|
||||
'StorageUniformBufferBlock16' : 4433,
|
||||
'StorageUniform16' : 4434,
|
||||
'UniformAndStorageBuffer16BitAccess' : 4434,
|
||||
'StoragePushConstant16' : 4435,
|
||||
'StorageInputOutput16' : 4436,
|
||||
'DeviceGroup' : 4437,
|
||||
'MultiView' : 4439,
|
||||
'VariablePointersStorageBuffer' : 4441,
|
||||
'VariablePointers' : 4442,
|
||||
'AtomicStorageOps' : 4445,
|
||||
'SampleMaskPostDepthCoverage' : 4447,
|
||||
'ImageGatherBiasLodAMD' : 5009,
|
||||
'FragmentMaskAMD' : 5010,
|
||||
'StencilExportEXT' : 5013,
|
||||
'ImageReadWriteLodAMD' : 5015,
|
||||
'SampleMaskOverrideCoverageNV' : 5249,
|
||||
'GeometryShaderPassthroughNV' : 5251,
|
||||
'ShaderViewportIndexLayerEXT' : 5254,
|
||||
'ShaderViewportIndexLayerNV' : 5254,
|
||||
'ShaderViewportMaskNV' : 5255,
|
||||
'ShaderStereoViewNV' : 5259,
|
||||
'PerViewAttributesNV' : 5260,
|
||||
'SubgroupShuffleINTEL' : 5568,
|
||||
'SubgroupBufferBlockIOINTEL' : 5569,
|
||||
'SubgroupImageBlockIOINTEL' : 5570,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
'OpNop' : 0,
|
||||
'OpUndef' : 1,
|
||||
'OpSourceContinued' : 2,
|
||||
'OpSource' : 3,
|
||||
'OpSourceExtension' : 4,
|
||||
'OpName' : 5,
|
||||
'OpMemberName' : 6,
|
||||
'OpString' : 7,
|
||||
'OpLine' : 8,
|
||||
'OpExtension' : 10,
|
||||
'OpExtInstImport' : 11,
|
||||
'OpExtInst' : 12,
|
||||
'OpMemoryModel' : 14,
|
||||
'OpEntryPoint' : 15,
|
||||
'OpExecutionMode' : 16,
|
||||
'OpCapability' : 17,
|
||||
'OpTypeVoid' : 19,
|
||||
'OpTypeBool' : 20,
|
||||
'OpTypeInt' : 21,
|
||||
'OpTypeFloat' : 22,
|
||||
'OpTypeVector' : 23,
|
||||
'OpTypeMatrix' : 24,
|
||||
'OpTypeImage' : 25,
|
||||
'OpTypeSampler' : 26,
|
||||
'OpTypeSampledImage' : 27,
|
||||
'OpTypeArray' : 28,
|
||||
'OpTypeRuntimeArray' : 29,
|
||||
'OpTypeStruct' : 30,
|
||||
'OpTypeOpaque' : 31,
|
||||
'OpTypePointer' : 32,
|
||||
'OpTypeFunction' : 33,
|
||||
'OpTypeEvent' : 34,
|
||||
'OpTypeDeviceEvent' : 35,
|
||||
'OpTypeReserveId' : 36,
|
||||
'OpTypeQueue' : 37,
|
||||
'OpTypePipe' : 38,
|
||||
'OpTypeForwardPointer' : 39,
|
||||
'OpConstantTrue' : 41,
|
||||
'OpConstantFalse' : 42,
|
||||
'OpConstant' : 43,
|
||||
'OpConstantComposite' : 44,
|
||||
'OpConstantSampler' : 45,
|
||||
'OpConstantNull' : 46,
|
||||
'OpSpecConstantTrue' : 48,
|
||||
'OpSpecConstantFalse' : 49,
|
||||
'OpSpecConstant' : 50,
|
||||
'OpSpecConstantComposite' : 51,
|
||||
'OpSpecConstantOp' : 52,
|
||||
'OpFunction' : 54,
|
||||
'OpFunctionParameter' : 55,
|
||||
'OpFunctionEnd' : 56,
|
||||
'OpFunctionCall' : 57,
|
||||
'OpVariable' : 59,
|
||||
'OpImageTexelPointer' : 60,
|
||||
'OpLoad' : 61,
|
||||
'OpStore' : 62,
|
||||
'OpCopyMemory' : 63,
|
||||
'OpCopyMemorySized' : 64,
|
||||
'OpAccessChain' : 65,
|
||||
'OpInBoundsAccessChain' : 66,
|
||||
'OpPtrAccessChain' : 67,
|
||||
'OpArrayLength' : 68,
|
||||
'OpGenericPtrMemSemantics' : 69,
|
||||
'OpInBoundsPtrAccessChain' : 70,
|
||||
'OpDecorate' : 71,
|
||||
'OpMemberDecorate' : 72,
|
||||
'OpDecorationGroup' : 73,
|
||||
'OpGroupDecorate' : 74,
|
||||
'OpGroupMemberDecorate' : 75,
|
||||
'OpVectorExtractDynamic' : 77,
|
||||
'OpVectorInsertDynamic' : 78,
|
||||
'OpVectorShuffle' : 79,
|
||||
'OpCompositeConstruct' : 80,
|
||||
'OpCompositeExtract' : 81,
|
||||
'OpCompositeInsert' : 82,
|
||||
'OpCopyObject' : 83,
|
||||
'OpTranspose' : 84,
|
||||
'OpSampledImage' : 86,
|
||||
'OpImageSampleImplicitLod' : 87,
|
||||
'OpImageSampleExplicitLod' : 88,
|
||||
'OpImageSampleDrefImplicitLod' : 89,
|
||||
'OpImageSampleDrefExplicitLod' : 90,
|
||||
'OpImageSampleProjImplicitLod' : 91,
|
||||
'OpImageSampleProjExplicitLod' : 92,
|
||||
'OpImageSampleProjDrefImplicitLod' : 93,
|
||||
'OpImageSampleProjDrefExplicitLod' : 94,
|
||||
'OpImageFetch' : 95,
|
||||
'OpImageGather' : 96,
|
||||
'OpImageDrefGather' : 97,
|
||||
'OpImageRead' : 98,
|
||||
'OpImageWrite' : 99,
|
||||
'OpImage' : 100,
|
||||
'OpImageQueryFormat' : 101,
|
||||
'OpImageQueryOrder' : 102,
|
||||
'OpImageQuerySizeLod' : 103,
|
||||
'OpImageQuerySize' : 104,
|
||||
'OpImageQueryLod' : 105,
|
||||
'OpImageQueryLevels' : 106,
|
||||
'OpImageQuerySamples' : 107,
|
||||
'OpConvertFToU' : 109,
|
||||
'OpConvertFToS' : 110,
|
||||
'OpConvertSToF' : 111,
|
||||
'OpConvertUToF' : 112,
|
||||
'OpUConvert' : 113,
|
||||
'OpSConvert' : 114,
|
||||
'OpFConvert' : 115,
|
||||
'OpQuantizeToF16' : 116,
|
||||
'OpConvertPtrToU' : 117,
|
||||
'OpSatConvertSToU' : 118,
|
||||
'OpSatConvertUToS' : 119,
|
||||
'OpConvertUToPtr' : 120,
|
||||
'OpPtrCastToGeneric' : 121,
|
||||
'OpGenericCastToPtr' : 122,
|
||||
'OpGenericCastToPtrExplicit' : 123,
|
||||
'OpBitcast' : 124,
|
||||
'OpSNegate' : 126,
|
||||
'OpFNegate' : 127,
|
||||
'OpIAdd' : 128,
|
||||
'OpFAdd' : 129,
|
||||
'OpISub' : 130,
|
||||
'OpFSub' : 131,
|
||||
'OpIMul' : 132,
|
||||
'OpFMul' : 133,
|
||||
'OpUDiv' : 134,
|
||||
'OpSDiv' : 135,
|
||||
'OpFDiv' : 136,
|
||||
'OpUMod' : 137,
|
||||
'OpSRem' : 138,
|
||||
'OpSMod' : 139,
|
||||
'OpFRem' : 140,
|
||||
'OpFMod' : 141,
|
||||
'OpVectorTimesScalar' : 142,
|
||||
'OpMatrixTimesScalar' : 143,
|
||||
'OpVectorTimesMatrix' : 144,
|
||||
'OpMatrixTimesVector' : 145,
|
||||
'OpMatrixTimesMatrix' : 146,
|
||||
'OpOuterProduct' : 147,
|
||||
'OpDot' : 148,
|
||||
'OpIAddCarry' : 149,
|
||||
'OpISubBorrow' : 150,
|
||||
'OpUMulExtended' : 151,
|
||||
'OpSMulExtended' : 152,
|
||||
'OpAny' : 154,
|
||||
'OpAll' : 155,
|
||||
'OpIsNan' : 156,
|
||||
'OpIsInf' : 157,
|
||||
'OpIsFinite' : 158,
|
||||
'OpIsNormal' : 159,
|
||||
'OpSignBitSet' : 160,
|
||||
'OpLessOrGreater' : 161,
|
||||
'OpOrdered' : 162,
|
||||
'OpUnordered' : 163,
|
||||
'OpLogicalEqual' : 164,
|
||||
'OpLogicalNotEqual' : 165,
|
||||
'OpLogicalOr' : 166,
|
||||
'OpLogicalAnd' : 167,
|
||||
'OpLogicalNot' : 168,
|
||||
'OpSelect' : 169,
|
||||
'OpIEqual' : 170,
|
||||
'OpINotEqual' : 171,
|
||||
'OpUGreaterThan' : 172,
|
||||
'OpSGreaterThan' : 173,
|
||||
'OpUGreaterThanEqual' : 174,
|
||||
'OpSGreaterThanEqual' : 175,
|
||||
'OpULessThan' : 176,
|
||||
'OpSLessThan' : 177,
|
||||
'OpULessThanEqual' : 178,
|
||||
'OpSLessThanEqual' : 179,
|
||||
'OpFOrdEqual' : 180,
|
||||
'OpFUnordEqual' : 181,
|
||||
'OpFOrdNotEqual' : 182,
|
||||
'OpFUnordNotEqual' : 183,
|
||||
'OpFOrdLessThan' : 184,
|
||||
'OpFUnordLessThan' : 185,
|
||||
'OpFOrdGreaterThan' : 186,
|
||||
'OpFUnordGreaterThan' : 187,
|
||||
'OpFOrdLessThanEqual' : 188,
|
||||
'OpFUnordLessThanEqual' : 189,
|
||||
'OpFOrdGreaterThanEqual' : 190,
|
||||
'OpFUnordGreaterThanEqual' : 191,
|
||||
'OpShiftRightLogical' : 194,
|
||||
'OpShiftRightArithmetic' : 195,
|
||||
'OpShiftLeftLogical' : 196,
|
||||
'OpBitwiseOr' : 197,
|
||||
'OpBitwiseXor' : 198,
|
||||
'OpBitwiseAnd' : 199,
|
||||
'OpNot' : 200,
|
||||
'OpBitFieldInsert' : 201,
|
||||
'OpBitFieldSExtract' : 202,
|
||||
'OpBitFieldUExtract' : 203,
|
||||
'OpBitReverse' : 204,
|
||||
'OpBitCount' : 205,
|
||||
'OpDPdx' : 207,
|
||||
'OpDPdy' : 208,
|
||||
'OpFwidth' : 209,
|
||||
'OpDPdxFine' : 210,
|
||||
'OpDPdyFine' : 211,
|
||||
'OpFwidthFine' : 212,
|
||||
'OpDPdxCoarse' : 213,
|
||||
'OpDPdyCoarse' : 214,
|
||||
'OpFwidthCoarse' : 215,
|
||||
'OpEmitVertex' : 218,
|
||||
'OpEndPrimitive' : 219,
|
||||
'OpEmitStreamVertex' : 220,
|
||||
'OpEndStreamPrimitive' : 221,
|
||||
'OpControlBarrier' : 224,
|
||||
'OpMemoryBarrier' : 225,
|
||||
'OpAtomicLoad' : 227,
|
||||
'OpAtomicStore' : 228,
|
||||
'OpAtomicExchange' : 229,
|
||||
'OpAtomicCompareExchange' : 230,
|
||||
'OpAtomicCompareExchangeWeak' : 231,
|
||||
'OpAtomicIIncrement' : 232,
|
||||
'OpAtomicIDecrement' : 233,
|
||||
'OpAtomicIAdd' : 234,
|
||||
'OpAtomicISub' : 235,
|
||||
'OpAtomicSMin' : 236,
|
||||
'OpAtomicUMin' : 237,
|
||||
'OpAtomicSMax' : 238,
|
||||
'OpAtomicUMax' : 239,
|
||||
'OpAtomicAnd' : 240,
|
||||
'OpAtomicOr' : 241,
|
||||
'OpAtomicXor' : 242,
|
||||
'OpPhi' : 245,
|
||||
'OpLoopMerge' : 246,
|
||||
'OpSelectionMerge' : 247,
|
||||
'OpLabel' : 248,
|
||||
'OpBranch' : 249,
|
||||
'OpBranchConditional' : 250,
|
||||
'OpSwitch' : 251,
|
||||
'OpKill' : 252,
|
||||
'OpReturn' : 253,
|
||||
'OpReturnValue' : 254,
|
||||
'OpUnreachable' : 255,
|
||||
'OpLifetimeStart' : 256,
|
||||
'OpLifetimeStop' : 257,
|
||||
'OpGroupAsyncCopy' : 259,
|
||||
'OpGroupWaitEvents' : 260,
|
||||
'OpGroupAll' : 261,
|
||||
'OpGroupAny' : 262,
|
||||
'OpGroupBroadcast' : 263,
|
||||
'OpGroupIAdd' : 264,
|
||||
'OpGroupFAdd' : 265,
|
||||
'OpGroupFMin' : 266,
|
||||
'OpGroupUMin' : 267,
|
||||
'OpGroupSMin' : 268,
|
||||
'OpGroupFMax' : 269,
|
||||
'OpGroupUMax' : 270,
|
||||
'OpGroupSMax' : 271,
|
||||
'OpReadPipe' : 274,
|
||||
'OpWritePipe' : 275,
|
||||
'OpReservedReadPipe' : 276,
|
||||
'OpReservedWritePipe' : 277,
|
||||
'OpReserveReadPipePackets' : 278,
|
||||
'OpReserveWritePipePackets' : 279,
|
||||
'OpCommitReadPipe' : 280,
|
||||
'OpCommitWritePipe' : 281,
|
||||
'OpIsValidReserveId' : 282,
|
||||
'OpGetNumPipePackets' : 283,
|
||||
'OpGetMaxPipePackets' : 284,
|
||||
'OpGroupReserveReadPipePackets' : 285,
|
||||
'OpGroupReserveWritePipePackets' : 286,
|
||||
'OpGroupCommitReadPipe' : 287,
|
||||
'OpGroupCommitWritePipe' : 288,
|
||||
'OpEnqueueMarker' : 291,
|
||||
'OpEnqueueKernel' : 292,
|
||||
'OpGetKernelNDrangeSubGroupCount' : 293,
|
||||
'OpGetKernelNDrangeMaxSubGroupSize' : 294,
|
||||
'OpGetKernelWorkGroupSize' : 295,
|
||||
'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
|
||||
'OpRetainEvent' : 297,
|
||||
'OpReleaseEvent' : 298,
|
||||
'OpCreateUserEvent' : 299,
|
||||
'OpIsValidEvent' : 300,
|
||||
'OpSetUserEventStatus' : 301,
|
||||
'OpCaptureEventProfilingInfo' : 302,
|
||||
'OpGetDefaultQueue' : 303,
|
||||
'OpBuildNDRange' : 304,
|
||||
'OpImageSparseSampleImplicitLod' : 305,
|
||||
'OpImageSparseSampleExplicitLod' : 306,
|
||||
'OpImageSparseSampleDrefImplicitLod' : 307,
|
||||
'OpImageSparseSampleDrefExplicitLod' : 308,
|
||||
'OpImageSparseSampleProjImplicitLod' : 309,
|
||||
'OpImageSparseSampleProjExplicitLod' : 310,
|
||||
'OpImageSparseSampleProjDrefImplicitLod' : 311,
|
||||
'OpImageSparseSampleProjDrefExplicitLod' : 312,
|
||||
'OpImageSparseFetch' : 313,
|
||||
'OpImageSparseGather' : 314,
|
||||
'OpImageSparseDrefGather' : 315,
|
||||
'OpImageSparseTexelsResident' : 316,
|
||||
'OpNoLine' : 317,
|
||||
'OpAtomicFlagTestAndSet' : 318,
|
||||
'OpAtomicFlagClear' : 319,
|
||||
'OpImageSparseRead' : 320,
|
||||
'OpSizeOf' : 321,
|
||||
'OpTypePipeStorage' : 322,
|
||||
'OpConstantPipeStorage' : 323,
|
||||
'OpCreatePipeFromPipeStorage' : 324,
|
||||
'OpGetKernelLocalSizeForSubgroupCount' : 325,
|
||||
'OpGetKernelMaxNumSubgroups' : 326,
|
||||
'OpTypeNamedBarrier' : 327,
|
||||
'OpNamedBarrierInitialize' : 328,
|
||||
'OpMemoryNamedBarrier' : 329,
|
||||
'OpModuleProcessed' : 330,
|
||||
'OpDecorateId' : 332,
|
||||
'OpSubgroupBallotKHR' : 4421,
|
||||
'OpSubgroupFirstInvocationKHR' : 4422,
|
||||
'OpSubgroupAllKHR' : 4428,
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
'OpGroupIAddNonUniformAMD' : 5000,
|
||||
'OpGroupFAddNonUniformAMD' : 5001,
|
||||
'OpGroupFMinNonUniformAMD' : 5002,
|
||||
'OpGroupUMinNonUniformAMD' : 5003,
|
||||
'OpGroupSMinNonUniformAMD' : 5004,
|
||||
'OpGroupFMaxNonUniformAMD' : 5005,
|
||||
'OpGroupUMaxNonUniformAMD' : 5006,
|
||||
'OpGroupSMaxNonUniformAMD' : 5007,
|
||||
'OpFragmentMaskFetchAMD' : 5011,
|
||||
'OpFragmentFetchAMD' : 5012,
|
||||
'OpSubgroupShuffleINTEL' : 5571,
|
||||
'OpSubgroupShuffleDownINTEL' : 5572,
|
||||
'OpSubgroupShuffleUpINTEL' : 5573,
|
||||
'OpSubgroupShuffleXorINTEL' : 5574,
|
||||
'OpSubgroupBlockReadINTEL' : 5575,
|
||||
'OpSubgroupBlockWriteINTEL' : 5576,
|
||||
'OpSubgroupImageBlockReadINTEL' : 5577,
|
||||
'OpSubgroupImageBlockWriteINTEL' : 5578,
|
||||
'OpDecorateStringGOOGLE' : 5632,
|
||||
'OpMemberDecorateStringGOOGLE' : 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,210 +0,0 @@
|
||||
/*
|
||||
** Copyright (c) 2015-2017 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.
|
||||
*/
|
||||
|
||||
namespace OpenCLLIB {
|
||||
|
||||
enum Entrypoints {
|
||||
|
||||
// Section 2.1: Math extended instructions
|
||||
Acos = 0,
|
||||
Acosh = 1,
|
||||
Acospi = 2,
|
||||
Asin = 3,
|
||||
Asinh = 4,
|
||||
Asinpi = 5,
|
||||
Atan = 6,
|
||||
Atan2 = 7,
|
||||
Atanh = 8,
|
||||
Atanpi = 9,
|
||||
Atan2pi = 10,
|
||||
Cbrt = 11,
|
||||
Ceil = 12,
|
||||
Copysign = 13,
|
||||
Cos = 14,
|
||||
Cosh = 15,
|
||||
Cospi = 16,
|
||||
Erfc = 17,
|
||||
Erf = 18,
|
||||
Exp = 19,
|
||||
Exp2 = 20,
|
||||
Exp10 = 21,
|
||||
Expm1 = 22,
|
||||
Fabs = 23,
|
||||
Fdim = 24,
|
||||
Floor = 25,
|
||||
Fma = 26,
|
||||
Fmax = 27,
|
||||
Fmin = 28,
|
||||
Fmod = 29,
|
||||
Fract = 30,
|
||||
Frexp = 31,
|
||||
Hypot = 32,
|
||||
Ilogb = 33,
|
||||
Ldexp = 34,
|
||||
Lgamma = 35,
|
||||
Lgamma_r = 36,
|
||||
Log = 37,
|
||||
Log2 = 38,
|
||||
Log10 = 39,
|
||||
Log1p = 40,
|
||||
Logb = 41,
|
||||
Mad = 42,
|
||||
Maxmag = 43,
|
||||
Minmag = 44,
|
||||
Modf = 45,
|
||||
Nan = 46,
|
||||
Nextafter = 47,
|
||||
Pow = 48,
|
||||
Pown = 49,
|
||||
Powr = 50,
|
||||
Remainder = 51,
|
||||
Remquo = 52,
|
||||
Rint = 53,
|
||||
Rootn = 54,
|
||||
Round = 55,
|
||||
Rsqrt = 56,
|
||||
Sin = 57,
|
||||
Sincos = 58,
|
||||
Sinh = 59,
|
||||
Sinpi = 60,
|
||||
Sqrt = 61,
|
||||
Tan = 62,
|
||||
Tanh = 63,
|
||||
Tanpi = 64,
|
||||
Tgamma = 65,
|
||||
Trunc = 66,
|
||||
Half_cos = 67,
|
||||
Half_divide = 68,
|
||||
Half_exp = 69,
|
||||
Half_exp2 = 70,
|
||||
Half_exp10 = 71,
|
||||
Half_log = 72,
|
||||
Half_log2 = 73,
|
||||
Half_log10 = 74,
|
||||
Half_powr = 75,
|
||||
Half_recip = 76,
|
||||
Half_rsqrt = 77,
|
||||
Half_sin = 78,
|
||||
Half_sqrt = 79,
|
||||
Half_tan = 80,
|
||||
Native_cos = 81,
|
||||
Native_divide = 82,
|
||||
Native_exp = 83,
|
||||
Native_exp2 = 84,
|
||||
Native_exp10 = 85,
|
||||
Native_log = 86,
|
||||
Native_log2 = 87,
|
||||
Native_log10 = 88,
|
||||
Native_powr = 89,
|
||||
Native_recip = 90,
|
||||
Native_rsqrt = 91,
|
||||
Native_sin = 92,
|
||||
Native_sqrt = 93,
|
||||
Native_tan = 94,
|
||||
|
||||
// Section 2.2: Integer instructions
|
||||
SAbs = 141,
|
||||
SAbs_diff = 142,
|
||||
SAdd_sat = 143,
|
||||
UAdd_sat = 144,
|
||||
SHadd = 145,
|
||||
UHadd = 146,
|
||||
SRhadd = 147,
|
||||
URhadd = 148,
|
||||
SClamp = 149,
|
||||
UClamp = 150,
|
||||
Clz = 151,
|
||||
Ctz = 152,
|
||||
SMad_hi = 153,
|
||||
UMad_sat = 154,
|
||||
SMad_sat = 155,
|
||||
SMax = 156,
|
||||
UMax = 157,
|
||||
SMin = 158,
|
||||
UMin = 159,
|
||||
SMul_hi = 160,
|
||||
Rotate = 161,
|
||||
SSub_sat = 162,
|
||||
USub_sat = 163,
|
||||
U_Upsample = 164,
|
||||
S_Upsample = 165,
|
||||
Popcount = 166,
|
||||
SMad24 = 167,
|
||||
UMad24 = 168,
|
||||
SMul24 = 169,
|
||||
UMul24 = 170,
|
||||
UAbs = 201,
|
||||
UAbs_diff = 202,
|
||||
UMul_hi = 203,
|
||||
UMad_hi = 204,
|
||||
|
||||
// Section 2.3: Common instructions
|
||||
FClamp = 95,
|
||||
Degrees = 96,
|
||||
FMax_common = 97,
|
||||
FMin_common = 98,
|
||||
Mix = 99,
|
||||
Radians = 100,
|
||||
Step = 101,
|
||||
Smoothstep = 102,
|
||||
Sign = 103,
|
||||
|
||||
// Section 2.4: Geometric instructions
|
||||
Cross = 104,
|
||||
Distance = 105,
|
||||
Length = 106,
|
||||
Normalize = 107,
|
||||
Fast_distance = 108,
|
||||
Fast_length = 109,
|
||||
Fast_normalize = 110,
|
||||
|
||||
// Section 2.5: Relational instructions
|
||||
Bitselect = 186,
|
||||
Select = 187,
|
||||
|
||||
// Section 2.6: Vector Data Load and Store instructions
|
||||
Vloadn = 171,
|
||||
Vstoren = 172,
|
||||
Vload_half = 173,
|
||||
Vload_halfn = 174,
|
||||
Vstore_half = 175,
|
||||
Vstore_half_r = 176,
|
||||
Vstore_halfn = 177,
|
||||
Vstore_halfn_r = 178,
|
||||
Vloada_halfn = 179,
|
||||
Vstorea_halfn = 180,
|
||||
Vstorea_halfn_r = 181,
|
||||
|
||||
// Section 2.7: Miscellaneous Vector instructions
|
||||
Shuffle = 182,
|
||||
Shuffle2 = 183,
|
||||
|
||||
// Section 2.8: Misc instructions
|
||||
Printf = 184,
|
||||
Prefetch = 185,
|
||||
};
|
||||
|
||||
} // end namespace OpenCLLIB
|
@ -1,642 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2014-2016 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Round",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "RoundEven",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Trunc",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FAbs",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SAbs",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FSign",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SSign",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Floor",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ceil",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fract",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Radians",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'degrees'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Degrees",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'radians'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sin",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cos",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tan",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asin",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acos",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y_over_x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sinh",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cosh",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tanh",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asinh",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acosh",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atanh",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan2",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Pow",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp2",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log2",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sqrt",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InverseSqrt",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Determinant",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "MatrixInverse",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Modf",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'i'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ModfStruct",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMin",
|
||||
"opcode" : 37,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMin",
|
||||
"opcode" : 38,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMin",
|
||||
"opcode" : 39,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMax",
|
||||
"opcode" : 40,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMax",
|
||||
"opcode" : 41,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMax",
|
||||
"opcode" : 42,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FClamp",
|
||||
"opcode" : 43,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UClamp",
|
||||
"opcode" : 44,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SClamp",
|
||||
"opcode" : 45,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMix",
|
||||
"opcode" : 46,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "IMix",
|
||||
"opcode" : 47,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Step",
|
||||
"opcode" : 48,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SmoothStep",
|
||||
"opcode" : 49,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge0'" },
|
||||
{ "kind" : "IdRef", "name" : "'edge1'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fma",
|
||||
"opcode" : 50,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'a'" },
|
||||
{ "kind" : "IdRef", "name" : "'b'" },
|
||||
{ "kind" : "IdRef", "name" : "'c'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Frexp",
|
||||
"opcode" : 51,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FrexpStruct",
|
||||
"opcode" : 52,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ldexp",
|
||||
"opcode" : 53,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm4x8",
|
||||
"opcode" : 54,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm4x8",
|
||||
"opcode" : 55,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm2x16",
|
||||
"opcode" : 56,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm2x16",
|
||||
"opcode" : 57,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackHalf2x16",
|
||||
"opcode" : 58,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackDouble2x32",
|
||||
"opcode" : 59,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm2x16",
|
||||
"opcode" : 60,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm2x16",
|
||||
"opcode" : 61,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackHalf2x16",
|
||||
"opcode" : 62,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm4x8",
|
||||
"opcode" : 63,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm4x8",
|
||||
"opcode" : 64,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackDouble2x32",
|
||||
"opcode" : 65,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "Length",
|
||||
"opcode" : 66,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Distance",
|
||||
"opcode" : 67,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p0'" },
|
||||
{ "kind" : "IdRef", "name" : "'p1'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cross",
|
||||
"opcode" : 68,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Normalize",
|
||||
"opcode" : 69,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FaceForward",
|
||||
"opcode" : 70,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'Nref'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Reflect",
|
||||
"opcode" : 71,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Refract",
|
||||
"opcode" : 72,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'eta'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindILsb",
|
||||
"opcode" : 73,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindSMsb",
|
||||
"opcode" : 74,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindUMsb",
|
||||
"opcode" : 75,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtCentroid",
|
||||
"opcode" : 76,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtSample",
|
||||
"opcode" : 77,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'sample'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtOffset",
|
||||
"opcode" : 78,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'offset'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "NMin",
|
||||
"opcode" : 79,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NMax",
|
||||
"opcode" : 80,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NClamp",
|
||||
"opcode" : 81,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,977 +0,0 @@
|
||||
-- Copyright (c) 2014-2018 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.
|
||||
|
||||
-- This header is automatically generated by the same tool that creates
|
||||
-- the Binary Section of the SPIR-V specification.
|
||||
|
||||
-- Enumeration tokens for SPIR-V, in various styles:
|
||||
-- C, C++, C++11, JSON, Lua, Python
|
||||
--
|
||||
-- - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
-- - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
-- - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
-- - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
-- - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
--
|
||||
-- Some tokens act like mask values, which can be OR'd together,
|
||||
-- while others are mutually exclusive. The mask-like ones have
|
||||
-- "Mask" in their name, and a parallel enum that has the shift
|
||||
-- amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
MagicNumber = 0x07230203,
|
||||
Version = 0x00010200,
|
||||
Revision = 2,
|
||||
OpCodeMask = 0xffff,
|
||||
WordCountShift = 16,
|
||||
|
||||
SourceLanguage = {
|
||||
Unknown = 0,
|
||||
ESSL = 1,
|
||||
GLSL = 2,
|
||||
OpenCL_C = 3,
|
||||
OpenCL_CPP = 4,
|
||||
HLSL = 5,
|
||||
},
|
||||
|
||||
ExecutionModel = {
|
||||
Vertex = 0,
|
||||
TessellationControl = 1,
|
||||
TessellationEvaluation = 2,
|
||||
Geometry = 3,
|
||||
Fragment = 4,
|
||||
GLCompute = 5,
|
||||
Kernel = 6,
|
||||
},
|
||||
|
||||
AddressingModel = {
|
||||
Logical = 0,
|
||||
Physical32 = 1,
|
||||
Physical64 = 2,
|
||||
},
|
||||
|
||||
MemoryModel = {
|
||||
Simple = 0,
|
||||
GLSL450 = 1,
|
||||
OpenCL = 2,
|
||||
},
|
||||
|
||||
ExecutionMode = {
|
||||
Invocations = 0,
|
||||
SpacingEqual = 1,
|
||||
SpacingFractionalEven = 2,
|
||||
SpacingFractionalOdd = 3,
|
||||
VertexOrderCw = 4,
|
||||
VertexOrderCcw = 5,
|
||||
PixelCenterInteger = 6,
|
||||
OriginUpperLeft = 7,
|
||||
OriginLowerLeft = 8,
|
||||
EarlyFragmentTests = 9,
|
||||
PointMode = 10,
|
||||
Xfb = 11,
|
||||
DepthReplacing = 12,
|
||||
DepthGreater = 14,
|
||||
DepthLess = 15,
|
||||
DepthUnchanged = 16,
|
||||
LocalSize = 17,
|
||||
LocalSizeHint = 18,
|
||||
InputPoints = 19,
|
||||
InputLines = 20,
|
||||
InputLinesAdjacency = 21,
|
||||
Triangles = 22,
|
||||
InputTrianglesAdjacency = 23,
|
||||
Quads = 24,
|
||||
Isolines = 25,
|
||||
OutputVertices = 26,
|
||||
OutputPoints = 27,
|
||||
OutputLineStrip = 28,
|
||||
OutputTriangleStrip = 29,
|
||||
VecTypeHint = 30,
|
||||
ContractionOff = 31,
|
||||
Initializer = 33,
|
||||
Finalizer = 34,
|
||||
SubgroupSize = 35,
|
||||
SubgroupsPerWorkgroup = 36,
|
||||
SubgroupsPerWorkgroupId = 37,
|
||||
LocalSizeId = 38,
|
||||
LocalSizeHintId = 39,
|
||||
PostDepthCoverage = 4446,
|
||||
StencilRefReplacingEXT = 5027,
|
||||
},
|
||||
|
||||
StorageClass = {
|
||||
UniformConstant = 0,
|
||||
Input = 1,
|
||||
Uniform = 2,
|
||||
Output = 3,
|
||||
Workgroup = 4,
|
||||
CrossWorkgroup = 5,
|
||||
Private = 6,
|
||||
Function = 7,
|
||||
Generic = 8,
|
||||
PushConstant = 9,
|
||||
AtomicCounter = 10,
|
||||
Image = 11,
|
||||
StorageBuffer = 12,
|
||||
},
|
||||
|
||||
Dim = {
|
||||
Dim1D = 0,
|
||||
Dim2D = 1,
|
||||
Dim3D = 2,
|
||||
Cube = 3,
|
||||
Rect = 4,
|
||||
Buffer = 5,
|
||||
SubpassData = 6,
|
||||
},
|
||||
|
||||
SamplerAddressingMode = {
|
||||
None = 0,
|
||||
ClampToEdge = 1,
|
||||
Clamp = 2,
|
||||
Repeat = 3,
|
||||
RepeatMirrored = 4,
|
||||
},
|
||||
|
||||
SamplerFilterMode = {
|
||||
Nearest = 0,
|
||||
Linear = 1,
|
||||
},
|
||||
|
||||
ImageFormat = {
|
||||
Unknown = 0,
|
||||
Rgba32f = 1,
|
||||
Rgba16f = 2,
|
||||
R32f = 3,
|
||||
Rgba8 = 4,
|
||||
Rgba8Snorm = 5,
|
||||
Rg32f = 6,
|
||||
Rg16f = 7,
|
||||
R11fG11fB10f = 8,
|
||||
R16f = 9,
|
||||
Rgba16 = 10,
|
||||
Rgb10A2 = 11,
|
||||
Rg16 = 12,
|
||||
Rg8 = 13,
|
||||
R16 = 14,
|
||||
R8 = 15,
|
||||
Rgba16Snorm = 16,
|
||||
Rg16Snorm = 17,
|
||||
Rg8Snorm = 18,
|
||||
R16Snorm = 19,
|
||||
R8Snorm = 20,
|
||||
Rgba32i = 21,
|
||||
Rgba16i = 22,
|
||||
Rgba8i = 23,
|
||||
R32i = 24,
|
||||
Rg32i = 25,
|
||||
Rg16i = 26,
|
||||
Rg8i = 27,
|
||||
R16i = 28,
|
||||
R8i = 29,
|
||||
Rgba32ui = 30,
|
||||
Rgba16ui = 31,
|
||||
Rgba8ui = 32,
|
||||
R32ui = 33,
|
||||
Rgb10a2ui = 34,
|
||||
Rg32ui = 35,
|
||||
Rg16ui = 36,
|
||||
Rg8ui = 37,
|
||||
R16ui = 38,
|
||||
R8ui = 39,
|
||||
},
|
||||
|
||||
ImageChannelOrder = {
|
||||
R = 0,
|
||||
A = 1,
|
||||
RG = 2,
|
||||
RA = 3,
|
||||
RGB = 4,
|
||||
RGBA = 5,
|
||||
BGRA = 6,
|
||||
ARGB = 7,
|
||||
Intensity = 8,
|
||||
Luminance = 9,
|
||||
Rx = 10,
|
||||
RGx = 11,
|
||||
RGBx = 12,
|
||||
Depth = 13,
|
||||
DepthStencil = 14,
|
||||
sRGB = 15,
|
||||
sRGBx = 16,
|
||||
sRGBA = 17,
|
||||
sBGRA = 18,
|
||||
ABGR = 19,
|
||||
},
|
||||
|
||||
ImageChannelDataType = {
|
||||
SnormInt8 = 0,
|
||||
SnormInt16 = 1,
|
||||
UnormInt8 = 2,
|
||||
UnormInt16 = 3,
|
||||
UnormShort565 = 4,
|
||||
UnormShort555 = 5,
|
||||
UnormInt101010 = 6,
|
||||
SignedInt8 = 7,
|
||||
SignedInt16 = 8,
|
||||
SignedInt32 = 9,
|
||||
UnsignedInt8 = 10,
|
||||
UnsignedInt16 = 11,
|
||||
UnsignedInt32 = 12,
|
||||
HalfFloat = 13,
|
||||
Float = 14,
|
||||
UnormInt24 = 15,
|
||||
UnormInt101010_2 = 16,
|
||||
},
|
||||
|
||||
ImageOperandsShift = {
|
||||
Bias = 0,
|
||||
Lod = 1,
|
||||
Grad = 2,
|
||||
ConstOffset = 3,
|
||||
Offset = 4,
|
||||
ConstOffsets = 5,
|
||||
Sample = 6,
|
||||
MinLod = 7,
|
||||
},
|
||||
|
||||
ImageOperandsMask = {
|
||||
MaskNone = 0,
|
||||
Bias = 0x00000001,
|
||||
Lod = 0x00000002,
|
||||
Grad = 0x00000004,
|
||||
ConstOffset = 0x00000008,
|
||||
Offset = 0x00000010,
|
||||
ConstOffsets = 0x00000020,
|
||||
Sample = 0x00000040,
|
||||
MinLod = 0x00000080,
|
||||
},
|
||||
|
||||
FPFastMathModeShift = {
|
||||
NotNaN = 0,
|
||||
NotInf = 1,
|
||||
NSZ = 2,
|
||||
AllowRecip = 3,
|
||||
Fast = 4,
|
||||
},
|
||||
|
||||
FPFastMathModeMask = {
|
||||
MaskNone = 0,
|
||||
NotNaN = 0x00000001,
|
||||
NotInf = 0x00000002,
|
||||
NSZ = 0x00000004,
|
||||
AllowRecip = 0x00000008,
|
||||
Fast = 0x00000010,
|
||||
},
|
||||
|
||||
FPRoundingMode = {
|
||||
RTE = 0,
|
||||
RTZ = 1,
|
||||
RTP = 2,
|
||||
RTN = 3,
|
||||
},
|
||||
|
||||
LinkageType = {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
},
|
||||
|
||||
AccessQualifier = {
|
||||
ReadOnly = 0,
|
||||
WriteOnly = 1,
|
||||
ReadWrite = 2,
|
||||
},
|
||||
|
||||
FunctionParameterAttribute = {
|
||||
Zext = 0,
|
||||
Sext = 1,
|
||||
ByVal = 2,
|
||||
Sret = 3,
|
||||
NoAlias = 4,
|
||||
NoCapture = 5,
|
||||
NoWrite = 6,
|
||||
NoReadWrite = 7,
|
||||
},
|
||||
|
||||
Decoration = {
|
||||
RelaxedPrecision = 0,
|
||||
SpecId = 1,
|
||||
Block = 2,
|
||||
BufferBlock = 3,
|
||||
RowMajor = 4,
|
||||
ColMajor = 5,
|
||||
ArrayStride = 6,
|
||||
MatrixStride = 7,
|
||||
GLSLShared = 8,
|
||||
GLSLPacked = 9,
|
||||
CPacked = 10,
|
||||
BuiltIn = 11,
|
||||
NoPerspective = 13,
|
||||
Flat = 14,
|
||||
Patch = 15,
|
||||
Centroid = 16,
|
||||
Sample = 17,
|
||||
Invariant = 18,
|
||||
Restrict = 19,
|
||||
Aliased = 20,
|
||||
Volatile = 21,
|
||||
Constant = 22,
|
||||
Coherent = 23,
|
||||
NonWritable = 24,
|
||||
NonReadable = 25,
|
||||
Uniform = 26,
|
||||
SaturatedConversion = 28,
|
||||
Stream = 29,
|
||||
Location = 30,
|
||||
Component = 31,
|
||||
Index = 32,
|
||||
Binding = 33,
|
||||
DescriptorSet = 34,
|
||||
Offset = 35,
|
||||
XfbBuffer = 36,
|
||||
XfbStride = 37,
|
||||
FuncParamAttr = 38,
|
||||
FPRoundingMode = 39,
|
||||
FPFastMathMode = 40,
|
||||
LinkageAttributes = 41,
|
||||
NoContraction = 42,
|
||||
InputAttachmentIndex = 43,
|
||||
Alignment = 44,
|
||||
MaxByteOffset = 45,
|
||||
AlignmentId = 46,
|
||||
MaxByteOffsetId = 47,
|
||||
ExplicitInterpAMD = 4999,
|
||||
OverrideCoverageNV = 5248,
|
||||
PassthroughNV = 5250,
|
||||
ViewportRelativeNV = 5252,
|
||||
SecondaryViewportRelativeNV = 5256,
|
||||
HlslCounterBufferGOOGLE = 5634,
|
||||
HlslSemanticGOOGLE = 5635,
|
||||
},
|
||||
|
||||
BuiltIn = {
|
||||
Position = 0,
|
||||
PointSize = 1,
|
||||
ClipDistance = 3,
|
||||
CullDistance = 4,
|
||||
VertexId = 5,
|
||||
InstanceId = 6,
|
||||
PrimitiveId = 7,
|
||||
InvocationId = 8,
|
||||
Layer = 9,
|
||||
ViewportIndex = 10,
|
||||
TessLevelOuter = 11,
|
||||
TessLevelInner = 12,
|
||||
TessCoord = 13,
|
||||
PatchVertices = 14,
|
||||
FragCoord = 15,
|
||||
PointCoord = 16,
|
||||
FrontFacing = 17,
|
||||
SampleId = 18,
|
||||
SamplePosition = 19,
|
||||
SampleMask = 20,
|
||||
FragDepth = 22,
|
||||
HelperInvocation = 23,
|
||||
NumWorkgroups = 24,
|
||||
WorkgroupSize = 25,
|
||||
WorkgroupId = 26,
|
||||
LocalInvocationId = 27,
|
||||
GlobalInvocationId = 28,
|
||||
LocalInvocationIndex = 29,
|
||||
WorkDim = 30,
|
||||
GlobalSize = 31,
|
||||
EnqueuedWorkgroupSize = 32,
|
||||
GlobalOffset = 33,
|
||||
GlobalLinearId = 34,
|
||||
SubgroupSize = 36,
|
||||
SubgroupMaxSize = 37,
|
||||
NumSubgroups = 38,
|
||||
NumEnqueuedSubgroups = 39,
|
||||
SubgroupId = 40,
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
SubgroupEqMaskKHR = 4416,
|
||||
SubgroupGeMaskKHR = 4417,
|
||||
SubgroupGtMaskKHR = 4418,
|
||||
SubgroupLeMaskKHR = 4419,
|
||||
SubgroupLtMaskKHR = 4420,
|
||||
BaseVertex = 4424,
|
||||
BaseInstance = 4425,
|
||||
DrawIndex = 4426,
|
||||
DeviceIndex = 4438,
|
||||
ViewIndex = 4440,
|
||||
BaryCoordNoPerspAMD = 4992,
|
||||
BaryCoordNoPerspCentroidAMD = 4993,
|
||||
BaryCoordNoPerspSampleAMD = 4994,
|
||||
BaryCoordSmoothAMD = 4995,
|
||||
BaryCoordSmoothCentroidAMD = 4996,
|
||||
BaryCoordSmoothSampleAMD = 4997,
|
||||
BaryCoordPullModelAMD = 4998,
|
||||
FragStencilRefEXT = 5014,
|
||||
ViewportMaskNV = 5253,
|
||||
SecondaryPositionNV = 5257,
|
||||
SecondaryViewportMaskNV = 5258,
|
||||
PositionPerViewNV = 5261,
|
||||
ViewportMaskPerViewNV = 5262,
|
||||
},
|
||||
|
||||
SelectionControlShift = {
|
||||
Flatten = 0,
|
||||
DontFlatten = 1,
|
||||
},
|
||||
|
||||
SelectionControlMask = {
|
||||
MaskNone = 0,
|
||||
Flatten = 0x00000001,
|
||||
DontFlatten = 0x00000002,
|
||||
},
|
||||
|
||||
LoopControlShift = {
|
||||
Unroll = 0,
|
||||
DontUnroll = 1,
|
||||
DependencyInfinite = 2,
|
||||
DependencyLength = 3,
|
||||
},
|
||||
|
||||
LoopControlMask = {
|
||||
MaskNone = 0,
|
||||
Unroll = 0x00000001,
|
||||
DontUnroll = 0x00000002,
|
||||
DependencyInfinite = 0x00000004,
|
||||
DependencyLength = 0x00000008,
|
||||
},
|
||||
|
||||
FunctionControlShift = {
|
||||
Inline = 0,
|
||||
DontInline = 1,
|
||||
Pure = 2,
|
||||
Const = 3,
|
||||
},
|
||||
|
||||
FunctionControlMask = {
|
||||
MaskNone = 0,
|
||||
Inline = 0x00000001,
|
||||
DontInline = 0x00000002,
|
||||
Pure = 0x00000004,
|
||||
Const = 0x00000008,
|
||||
},
|
||||
|
||||
MemorySemanticsShift = {
|
||||
Acquire = 1,
|
||||
Release = 2,
|
||||
AcquireRelease = 3,
|
||||
SequentiallyConsistent = 4,
|
||||
UniformMemory = 6,
|
||||
SubgroupMemory = 7,
|
||||
WorkgroupMemory = 8,
|
||||
CrossWorkgroupMemory = 9,
|
||||
AtomicCounterMemory = 10,
|
||||
ImageMemory = 11,
|
||||
},
|
||||
|
||||
MemorySemanticsMask = {
|
||||
MaskNone = 0,
|
||||
Acquire = 0x00000002,
|
||||
Release = 0x00000004,
|
||||
AcquireRelease = 0x00000008,
|
||||
SequentiallyConsistent = 0x00000010,
|
||||
UniformMemory = 0x00000040,
|
||||
SubgroupMemory = 0x00000080,
|
||||
WorkgroupMemory = 0x00000100,
|
||||
CrossWorkgroupMemory = 0x00000200,
|
||||
AtomicCounterMemory = 0x00000400,
|
||||
ImageMemory = 0x00000800,
|
||||
},
|
||||
|
||||
MemoryAccessShift = {
|
||||
Volatile = 0,
|
||||
Aligned = 1,
|
||||
Nontemporal = 2,
|
||||
},
|
||||
|
||||
MemoryAccessMask = {
|
||||
MaskNone = 0,
|
||||
Volatile = 0x00000001,
|
||||
Aligned = 0x00000002,
|
||||
Nontemporal = 0x00000004,
|
||||
},
|
||||
|
||||
Scope = {
|
||||
CrossDevice = 0,
|
||||
Device = 1,
|
||||
Workgroup = 2,
|
||||
Subgroup = 3,
|
||||
Invocation = 4,
|
||||
},
|
||||
|
||||
GroupOperation = {
|
||||
Reduce = 0,
|
||||
InclusiveScan = 1,
|
||||
ExclusiveScan = 2,
|
||||
},
|
||||
|
||||
KernelEnqueueFlags = {
|
||||
NoWait = 0,
|
||||
WaitKernel = 1,
|
||||
WaitWorkGroup = 2,
|
||||
},
|
||||
|
||||
KernelProfilingInfoShift = {
|
||||
CmdExecTime = 0,
|
||||
},
|
||||
|
||||
KernelProfilingInfoMask = {
|
||||
MaskNone = 0,
|
||||
CmdExecTime = 0x00000001,
|
||||
},
|
||||
|
||||
Capability = {
|
||||
Matrix = 0,
|
||||
Shader = 1,
|
||||
Geometry = 2,
|
||||
Tessellation = 3,
|
||||
Addresses = 4,
|
||||
Linkage = 5,
|
||||
Kernel = 6,
|
||||
Vector16 = 7,
|
||||
Float16Buffer = 8,
|
||||
Float16 = 9,
|
||||
Float64 = 10,
|
||||
Int64 = 11,
|
||||
Int64Atomics = 12,
|
||||
ImageBasic = 13,
|
||||
ImageReadWrite = 14,
|
||||
ImageMipmap = 15,
|
||||
Pipes = 17,
|
||||
Groups = 18,
|
||||
DeviceEnqueue = 19,
|
||||
LiteralSampler = 20,
|
||||
AtomicStorage = 21,
|
||||
Int16 = 22,
|
||||
TessellationPointSize = 23,
|
||||
GeometryPointSize = 24,
|
||||
ImageGatherExtended = 25,
|
||||
StorageImageMultisample = 27,
|
||||
UniformBufferArrayDynamicIndexing = 28,
|
||||
SampledImageArrayDynamicIndexing = 29,
|
||||
StorageBufferArrayDynamicIndexing = 30,
|
||||
StorageImageArrayDynamicIndexing = 31,
|
||||
ClipDistance = 32,
|
||||
CullDistance = 33,
|
||||
ImageCubeArray = 34,
|
||||
SampleRateShading = 35,
|
||||
ImageRect = 36,
|
||||
SampledRect = 37,
|
||||
GenericPointer = 38,
|
||||
Int8 = 39,
|
||||
InputAttachment = 40,
|
||||
SparseResidency = 41,
|
||||
MinLod = 42,
|
||||
Sampled1D = 43,
|
||||
Image1D = 44,
|
||||
SampledCubeArray = 45,
|
||||
SampledBuffer = 46,
|
||||
ImageBuffer = 47,
|
||||
ImageMSArray = 48,
|
||||
StorageImageExtendedFormats = 49,
|
||||
ImageQuery = 50,
|
||||
DerivativeControl = 51,
|
||||
InterpolationFunction = 52,
|
||||
TransformFeedback = 53,
|
||||
GeometryStreams = 54,
|
||||
StorageImageReadWithoutFormat = 55,
|
||||
StorageImageWriteWithoutFormat = 56,
|
||||
MultiViewport = 57,
|
||||
SubgroupDispatch = 58,
|
||||
NamedBarrier = 59,
|
||||
PipeStorage = 60,
|
||||
SubgroupBallotKHR = 4423,
|
||||
DrawParameters = 4427,
|
||||
SubgroupVoteKHR = 4431,
|
||||
StorageBuffer16BitAccess = 4433,
|
||||
StorageUniformBufferBlock16 = 4433,
|
||||
StorageUniform16 = 4434,
|
||||
UniformAndStorageBuffer16BitAccess = 4434,
|
||||
StoragePushConstant16 = 4435,
|
||||
StorageInputOutput16 = 4436,
|
||||
DeviceGroup = 4437,
|
||||
MultiView = 4439,
|
||||
VariablePointersStorageBuffer = 4441,
|
||||
VariablePointers = 4442,
|
||||
AtomicStorageOps = 4445,
|
||||
SampleMaskPostDepthCoverage = 4447,
|
||||
ImageGatherBiasLodAMD = 5009,
|
||||
FragmentMaskAMD = 5010,
|
||||
StencilExportEXT = 5013,
|
||||
ImageReadWriteLodAMD = 5015,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
ShaderViewportIndexLayerNV = 5254,
|
||||
ShaderViewportMaskNV = 5255,
|
||||
ShaderStereoViewNV = 5259,
|
||||
PerViewAttributesNV = 5260,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
},
|
||||
|
||||
Op = {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
OpSourceContinued = 2,
|
||||
OpSource = 3,
|
||||
OpSourceExtension = 4,
|
||||
OpName = 5,
|
||||
OpMemberName = 6,
|
||||
OpString = 7,
|
||||
OpLine = 8,
|
||||
OpExtension = 10,
|
||||
OpExtInstImport = 11,
|
||||
OpExtInst = 12,
|
||||
OpMemoryModel = 14,
|
||||
OpEntryPoint = 15,
|
||||
OpExecutionMode = 16,
|
||||
OpCapability = 17,
|
||||
OpTypeVoid = 19,
|
||||
OpTypeBool = 20,
|
||||
OpTypeInt = 21,
|
||||
OpTypeFloat = 22,
|
||||
OpTypeVector = 23,
|
||||
OpTypeMatrix = 24,
|
||||
OpTypeImage = 25,
|
||||
OpTypeSampler = 26,
|
||||
OpTypeSampledImage = 27,
|
||||
OpTypeArray = 28,
|
||||
OpTypeRuntimeArray = 29,
|
||||
OpTypeStruct = 30,
|
||||
OpTypeOpaque = 31,
|
||||
OpTypePointer = 32,
|
||||
OpTypeFunction = 33,
|
||||
OpTypeEvent = 34,
|
||||
OpTypeDeviceEvent = 35,
|
||||
OpTypeReserveId = 36,
|
||||
OpTypeQueue = 37,
|
||||
OpTypePipe = 38,
|
||||
OpTypeForwardPointer = 39,
|
||||
OpConstantTrue = 41,
|
||||
OpConstantFalse = 42,
|
||||
OpConstant = 43,
|
||||
OpConstantComposite = 44,
|
||||
OpConstantSampler = 45,
|
||||
OpConstantNull = 46,
|
||||
OpSpecConstantTrue = 48,
|
||||
OpSpecConstantFalse = 49,
|
||||
OpSpecConstant = 50,
|
||||
OpSpecConstantComposite = 51,
|
||||
OpSpecConstantOp = 52,
|
||||
OpFunction = 54,
|
||||
OpFunctionParameter = 55,
|
||||
OpFunctionEnd = 56,
|
||||
OpFunctionCall = 57,
|
||||
OpVariable = 59,
|
||||
OpImageTexelPointer = 60,
|
||||
OpLoad = 61,
|
||||
OpStore = 62,
|
||||
OpCopyMemory = 63,
|
||||
OpCopyMemorySized = 64,
|
||||
OpAccessChain = 65,
|
||||
OpInBoundsAccessChain = 66,
|
||||
OpPtrAccessChain = 67,
|
||||
OpArrayLength = 68,
|
||||
OpGenericPtrMemSemantics = 69,
|
||||
OpInBoundsPtrAccessChain = 70,
|
||||
OpDecorate = 71,
|
||||
OpMemberDecorate = 72,
|
||||
OpDecorationGroup = 73,
|
||||
OpGroupDecorate = 74,
|
||||
OpGroupMemberDecorate = 75,
|
||||
OpVectorExtractDynamic = 77,
|
||||
OpVectorInsertDynamic = 78,
|
||||
OpVectorShuffle = 79,
|
||||
OpCompositeConstruct = 80,
|
||||
OpCompositeExtract = 81,
|
||||
OpCompositeInsert = 82,
|
||||
OpCopyObject = 83,
|
||||
OpTranspose = 84,
|
||||
OpSampledImage = 86,
|
||||
OpImageSampleImplicitLod = 87,
|
||||
OpImageSampleExplicitLod = 88,
|
||||
OpImageSampleDrefImplicitLod = 89,
|
||||
OpImageSampleDrefExplicitLod = 90,
|
||||
OpImageSampleProjImplicitLod = 91,
|
||||
OpImageSampleProjExplicitLod = 92,
|
||||
OpImageSampleProjDrefImplicitLod = 93,
|
||||
OpImageSampleProjDrefExplicitLod = 94,
|
||||
OpImageFetch = 95,
|
||||
OpImageGather = 96,
|
||||
OpImageDrefGather = 97,
|
||||
OpImageRead = 98,
|
||||
OpImageWrite = 99,
|
||||
OpImage = 100,
|
||||
OpImageQueryFormat = 101,
|
||||
OpImageQueryOrder = 102,
|
||||
OpImageQuerySizeLod = 103,
|
||||
OpImageQuerySize = 104,
|
||||
OpImageQueryLod = 105,
|
||||
OpImageQueryLevels = 106,
|
||||
OpImageQuerySamples = 107,
|
||||
OpConvertFToU = 109,
|
||||
OpConvertFToS = 110,
|
||||
OpConvertSToF = 111,
|
||||
OpConvertUToF = 112,
|
||||
OpUConvert = 113,
|
||||
OpSConvert = 114,
|
||||
OpFConvert = 115,
|
||||
OpQuantizeToF16 = 116,
|
||||
OpConvertPtrToU = 117,
|
||||
OpSatConvertSToU = 118,
|
||||
OpSatConvertUToS = 119,
|
||||
OpConvertUToPtr = 120,
|
||||
OpPtrCastToGeneric = 121,
|
||||
OpGenericCastToPtr = 122,
|
||||
OpGenericCastToPtrExplicit = 123,
|
||||
OpBitcast = 124,
|
||||
OpSNegate = 126,
|
||||
OpFNegate = 127,
|
||||
OpIAdd = 128,
|
||||
OpFAdd = 129,
|
||||
OpISub = 130,
|
||||
OpFSub = 131,
|
||||
OpIMul = 132,
|
||||
OpFMul = 133,
|
||||
OpUDiv = 134,
|
||||
OpSDiv = 135,
|
||||
OpFDiv = 136,
|
||||
OpUMod = 137,
|
||||
OpSRem = 138,
|
||||
OpSMod = 139,
|
||||
OpFRem = 140,
|
||||
OpFMod = 141,
|
||||
OpVectorTimesScalar = 142,
|
||||
OpMatrixTimesScalar = 143,
|
||||
OpVectorTimesMatrix = 144,
|
||||
OpMatrixTimesVector = 145,
|
||||
OpMatrixTimesMatrix = 146,
|
||||
OpOuterProduct = 147,
|
||||
OpDot = 148,
|
||||
OpIAddCarry = 149,
|
||||
OpISubBorrow = 150,
|
||||
OpUMulExtended = 151,
|
||||
OpSMulExtended = 152,
|
||||
OpAny = 154,
|
||||
OpAll = 155,
|
||||
OpIsNan = 156,
|
||||
OpIsInf = 157,
|
||||
OpIsFinite = 158,
|
||||
OpIsNormal = 159,
|
||||
OpSignBitSet = 160,
|
||||
OpLessOrGreater = 161,
|
||||
OpOrdered = 162,
|
||||
OpUnordered = 163,
|
||||
OpLogicalEqual = 164,
|
||||
OpLogicalNotEqual = 165,
|
||||
OpLogicalOr = 166,
|
||||
OpLogicalAnd = 167,
|
||||
OpLogicalNot = 168,
|
||||
OpSelect = 169,
|
||||
OpIEqual = 170,
|
||||
OpINotEqual = 171,
|
||||
OpUGreaterThan = 172,
|
||||
OpSGreaterThan = 173,
|
||||
OpUGreaterThanEqual = 174,
|
||||
OpSGreaterThanEqual = 175,
|
||||
OpULessThan = 176,
|
||||
OpSLessThan = 177,
|
||||
OpULessThanEqual = 178,
|
||||
OpSLessThanEqual = 179,
|
||||
OpFOrdEqual = 180,
|
||||
OpFUnordEqual = 181,
|
||||
OpFOrdNotEqual = 182,
|
||||
OpFUnordNotEqual = 183,
|
||||
OpFOrdLessThan = 184,
|
||||
OpFUnordLessThan = 185,
|
||||
OpFOrdGreaterThan = 186,
|
||||
OpFUnordGreaterThan = 187,
|
||||
OpFOrdLessThanEqual = 188,
|
||||
OpFUnordLessThanEqual = 189,
|
||||
OpFOrdGreaterThanEqual = 190,
|
||||
OpFUnordGreaterThanEqual = 191,
|
||||
OpShiftRightLogical = 194,
|
||||
OpShiftRightArithmetic = 195,
|
||||
OpShiftLeftLogical = 196,
|
||||
OpBitwiseOr = 197,
|
||||
OpBitwiseXor = 198,
|
||||
OpBitwiseAnd = 199,
|
||||
OpNot = 200,
|
||||
OpBitFieldInsert = 201,
|
||||
OpBitFieldSExtract = 202,
|
||||
OpBitFieldUExtract = 203,
|
||||
OpBitReverse = 204,
|
||||
OpBitCount = 205,
|
||||
OpDPdx = 207,
|
||||
OpDPdy = 208,
|
||||
OpFwidth = 209,
|
||||
OpDPdxFine = 210,
|
||||
OpDPdyFine = 211,
|
||||
OpFwidthFine = 212,
|
||||
OpDPdxCoarse = 213,
|
||||
OpDPdyCoarse = 214,
|
||||
OpFwidthCoarse = 215,
|
||||
OpEmitVertex = 218,
|
||||
OpEndPrimitive = 219,
|
||||
OpEmitStreamVertex = 220,
|
||||
OpEndStreamPrimitive = 221,
|
||||
OpControlBarrier = 224,
|
||||
OpMemoryBarrier = 225,
|
||||
OpAtomicLoad = 227,
|
||||
OpAtomicStore = 228,
|
||||
OpAtomicExchange = 229,
|
||||
OpAtomicCompareExchange = 230,
|
||||
OpAtomicCompareExchangeWeak = 231,
|
||||
OpAtomicIIncrement = 232,
|
||||
OpAtomicIDecrement = 233,
|
||||
OpAtomicIAdd = 234,
|
||||
OpAtomicISub = 235,
|
||||
OpAtomicSMin = 236,
|
||||
OpAtomicUMin = 237,
|
||||
OpAtomicSMax = 238,
|
||||
OpAtomicUMax = 239,
|
||||
OpAtomicAnd = 240,
|
||||
OpAtomicOr = 241,
|
||||
OpAtomicXor = 242,
|
||||
OpPhi = 245,
|
||||
OpLoopMerge = 246,
|
||||
OpSelectionMerge = 247,
|
||||
OpLabel = 248,
|
||||
OpBranch = 249,
|
||||
OpBranchConditional = 250,
|
||||
OpSwitch = 251,
|
||||
OpKill = 252,
|
||||
OpReturn = 253,
|
||||
OpReturnValue = 254,
|
||||
OpUnreachable = 255,
|
||||
OpLifetimeStart = 256,
|
||||
OpLifetimeStop = 257,
|
||||
OpGroupAsyncCopy = 259,
|
||||
OpGroupWaitEvents = 260,
|
||||
OpGroupAll = 261,
|
||||
OpGroupAny = 262,
|
||||
OpGroupBroadcast = 263,
|
||||
OpGroupIAdd = 264,
|
||||
OpGroupFAdd = 265,
|
||||
OpGroupFMin = 266,
|
||||
OpGroupUMin = 267,
|
||||
OpGroupSMin = 268,
|
||||
OpGroupFMax = 269,
|
||||
OpGroupUMax = 270,
|
||||
OpGroupSMax = 271,
|
||||
OpReadPipe = 274,
|
||||
OpWritePipe = 275,
|
||||
OpReservedReadPipe = 276,
|
||||
OpReservedWritePipe = 277,
|
||||
OpReserveReadPipePackets = 278,
|
||||
OpReserveWritePipePackets = 279,
|
||||
OpCommitReadPipe = 280,
|
||||
OpCommitWritePipe = 281,
|
||||
OpIsValidReserveId = 282,
|
||||
OpGetNumPipePackets = 283,
|
||||
OpGetMaxPipePackets = 284,
|
||||
OpGroupReserveReadPipePackets = 285,
|
||||
OpGroupReserveWritePipePackets = 286,
|
||||
OpGroupCommitReadPipe = 287,
|
||||
OpGroupCommitWritePipe = 288,
|
||||
OpEnqueueMarker = 291,
|
||||
OpEnqueueKernel = 292,
|
||||
OpGetKernelNDrangeSubGroupCount = 293,
|
||||
OpGetKernelNDrangeMaxSubGroupSize = 294,
|
||||
OpGetKernelWorkGroupSize = 295,
|
||||
OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
||||
OpRetainEvent = 297,
|
||||
OpReleaseEvent = 298,
|
||||
OpCreateUserEvent = 299,
|
||||
OpIsValidEvent = 300,
|
||||
OpSetUserEventStatus = 301,
|
||||
OpCaptureEventProfilingInfo = 302,
|
||||
OpGetDefaultQueue = 303,
|
||||
OpBuildNDRange = 304,
|
||||
OpImageSparseSampleImplicitLod = 305,
|
||||
OpImageSparseSampleExplicitLod = 306,
|
||||
OpImageSparseSampleDrefImplicitLod = 307,
|
||||
OpImageSparseSampleDrefExplicitLod = 308,
|
||||
OpImageSparseSampleProjImplicitLod = 309,
|
||||
OpImageSparseSampleProjExplicitLod = 310,
|
||||
OpImageSparseSampleProjDrefImplicitLod = 311,
|
||||
OpImageSparseSampleProjDrefExplicitLod = 312,
|
||||
OpImageSparseFetch = 313,
|
||||
OpImageSparseGather = 314,
|
||||
OpImageSparseDrefGather = 315,
|
||||
OpImageSparseTexelsResident = 316,
|
||||
OpNoLine = 317,
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
OpImageSparseRead = 320,
|
||||
OpSizeOf = 321,
|
||||
OpTypePipeStorage = 322,
|
||||
OpConstantPipeStorage = 323,
|
||||
OpCreatePipeFromPipeStorage = 324,
|
||||
OpGetKernelLocalSizeForSubgroupCount = 325,
|
||||
OpGetKernelMaxNumSubgroups = 326,
|
||||
OpTypeNamedBarrier = 327,
|
||||
OpNamedBarrierInitialize = 328,
|
||||
OpMemoryNamedBarrier = 329,
|
||||
OpModuleProcessed = 330,
|
||||
OpExecutionModeId = 331,
|
||||
OpDecorateId = 332,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
OpSubgroupAnyKHR = 4429,
|
||||
OpSubgroupAllEqualKHR = 4430,
|
||||
OpSubgroupReadInvocationKHR = 4432,
|
||||
OpGroupIAddNonUniformAMD = 5000,
|
||||
OpGroupFAddNonUniformAMD = 5001,
|
||||
OpGroupFMinNonUniformAMD = 5002,
|
||||
OpGroupUMinNonUniformAMD = 5003,
|
||||
OpGroupSMinNonUniformAMD = 5004,
|
||||
OpGroupFMaxNonUniformAMD = 5005,
|
||||
OpGroupUMaxNonUniformAMD = 5006,
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
OpSubgroupShuffleXorINTEL = 5574,
|
||||
OpSubgroupBlockReadINTEL = 5575,
|
||||
OpSubgroupBlockWriteINTEL = 5576,
|
||||
OpSubgroupImageBlockReadINTEL = 5577,
|
||||
OpSubgroupImageBlockWriteINTEL = 5578,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateStringGOOGLE = 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,977 +0,0 @@
|
||||
# Copyright (c) 2014-2018 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.
|
||||
|
||||
# This header is automatically generated by the same tool that creates
|
||||
# the Binary Section of the SPIR-V specification.
|
||||
|
||||
# Enumeration tokens for SPIR-V, in various styles:
|
||||
# C, C++, C++11, JSON, Lua, Python
|
||||
#
|
||||
# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
#
|
||||
# Some tokens act like mask values, which can be OR'd together,
|
||||
# while others are mutually exclusive. The mask-like ones have
|
||||
# "Mask" in their name, and a parallel enum that has the shift
|
||||
# amount (1 << x) for each corresponding enumerant.
|
||||
|
||||
spv = {
|
||||
'MagicNumber' : 0x07230203,
|
||||
'Version' : 0x00010200,
|
||||
'Revision' : 2,
|
||||
'OpCodeMask' : 0xffff,
|
||||
'WordCountShift' : 16,
|
||||
|
||||
'SourceLanguage' : {
|
||||
'Unknown' : 0,
|
||||
'ESSL' : 1,
|
||||
'GLSL' : 2,
|
||||
'OpenCL_C' : 3,
|
||||
'OpenCL_CPP' : 4,
|
||||
'HLSL' : 5,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
'Vertex' : 0,
|
||||
'TessellationControl' : 1,
|
||||
'TessellationEvaluation' : 2,
|
||||
'Geometry' : 3,
|
||||
'Fragment' : 4,
|
||||
'GLCompute' : 5,
|
||||
'Kernel' : 6,
|
||||
},
|
||||
|
||||
'AddressingModel' : {
|
||||
'Logical' : 0,
|
||||
'Physical32' : 1,
|
||||
'Physical64' : 2,
|
||||
},
|
||||
|
||||
'MemoryModel' : {
|
||||
'Simple' : 0,
|
||||
'GLSL450' : 1,
|
||||
'OpenCL' : 2,
|
||||
},
|
||||
|
||||
'ExecutionMode' : {
|
||||
'Invocations' : 0,
|
||||
'SpacingEqual' : 1,
|
||||
'SpacingFractionalEven' : 2,
|
||||
'SpacingFractionalOdd' : 3,
|
||||
'VertexOrderCw' : 4,
|
||||
'VertexOrderCcw' : 5,
|
||||
'PixelCenterInteger' : 6,
|
||||
'OriginUpperLeft' : 7,
|
||||
'OriginLowerLeft' : 8,
|
||||
'EarlyFragmentTests' : 9,
|
||||
'PointMode' : 10,
|
||||
'Xfb' : 11,
|
||||
'DepthReplacing' : 12,
|
||||
'DepthGreater' : 14,
|
||||
'DepthLess' : 15,
|
||||
'DepthUnchanged' : 16,
|
||||
'LocalSize' : 17,
|
||||
'LocalSizeHint' : 18,
|
||||
'InputPoints' : 19,
|
||||
'InputLines' : 20,
|
||||
'InputLinesAdjacency' : 21,
|
||||
'Triangles' : 22,
|
||||
'InputTrianglesAdjacency' : 23,
|
||||
'Quads' : 24,
|
||||
'Isolines' : 25,
|
||||
'OutputVertices' : 26,
|
||||
'OutputPoints' : 27,
|
||||
'OutputLineStrip' : 28,
|
||||
'OutputTriangleStrip' : 29,
|
||||
'VecTypeHint' : 30,
|
||||
'ContractionOff' : 31,
|
||||
'Initializer' : 33,
|
||||
'Finalizer' : 34,
|
||||
'SubgroupSize' : 35,
|
||||
'SubgroupsPerWorkgroup' : 36,
|
||||
'SubgroupsPerWorkgroupId' : 37,
|
||||
'LocalSizeId' : 38,
|
||||
'LocalSizeHintId' : 39,
|
||||
'PostDepthCoverage' : 4446,
|
||||
'StencilRefReplacingEXT' : 5027,
|
||||
},
|
||||
|
||||
'StorageClass' : {
|
||||
'UniformConstant' : 0,
|
||||
'Input' : 1,
|
||||
'Uniform' : 2,
|
||||
'Output' : 3,
|
||||
'Workgroup' : 4,
|
||||
'CrossWorkgroup' : 5,
|
||||
'Private' : 6,
|
||||
'Function' : 7,
|
||||
'Generic' : 8,
|
||||
'PushConstant' : 9,
|
||||
'AtomicCounter' : 10,
|
||||
'Image' : 11,
|
||||
'StorageBuffer' : 12,
|
||||
},
|
||||
|
||||
'Dim' : {
|
||||
'Dim1D' : 0,
|
||||
'Dim2D' : 1,
|
||||
'Dim3D' : 2,
|
||||
'Cube' : 3,
|
||||
'Rect' : 4,
|
||||
'Buffer' : 5,
|
||||
'SubpassData' : 6,
|
||||
},
|
||||
|
||||
'SamplerAddressingMode' : {
|
||||
'None' : 0,
|
||||
'ClampToEdge' : 1,
|
||||
'Clamp' : 2,
|
||||
'Repeat' : 3,
|
||||
'RepeatMirrored' : 4,
|
||||
},
|
||||
|
||||
'SamplerFilterMode' : {
|
||||
'Nearest' : 0,
|
||||
'Linear' : 1,
|
||||
},
|
||||
|
||||
'ImageFormat' : {
|
||||
'Unknown' : 0,
|
||||
'Rgba32f' : 1,
|
||||
'Rgba16f' : 2,
|
||||
'R32f' : 3,
|
||||
'Rgba8' : 4,
|
||||
'Rgba8Snorm' : 5,
|
||||
'Rg32f' : 6,
|
||||
'Rg16f' : 7,
|
||||
'R11fG11fB10f' : 8,
|
||||
'R16f' : 9,
|
||||
'Rgba16' : 10,
|
||||
'Rgb10A2' : 11,
|
||||
'Rg16' : 12,
|
||||
'Rg8' : 13,
|
||||
'R16' : 14,
|
||||
'R8' : 15,
|
||||
'Rgba16Snorm' : 16,
|
||||
'Rg16Snorm' : 17,
|
||||
'Rg8Snorm' : 18,
|
||||
'R16Snorm' : 19,
|
||||
'R8Snorm' : 20,
|
||||
'Rgba32i' : 21,
|
||||
'Rgba16i' : 22,
|
||||
'Rgba8i' : 23,
|
||||
'R32i' : 24,
|
||||
'Rg32i' : 25,
|
||||
'Rg16i' : 26,
|
||||
'Rg8i' : 27,
|
||||
'R16i' : 28,
|
||||
'R8i' : 29,
|
||||
'Rgba32ui' : 30,
|
||||
'Rgba16ui' : 31,
|
||||
'Rgba8ui' : 32,
|
||||
'R32ui' : 33,
|
||||
'Rgb10a2ui' : 34,
|
||||
'Rg32ui' : 35,
|
||||
'Rg16ui' : 36,
|
||||
'Rg8ui' : 37,
|
||||
'R16ui' : 38,
|
||||
'R8ui' : 39,
|
||||
},
|
||||
|
||||
'ImageChannelOrder' : {
|
||||
'R' : 0,
|
||||
'A' : 1,
|
||||
'RG' : 2,
|
||||
'RA' : 3,
|
||||
'RGB' : 4,
|
||||
'RGBA' : 5,
|
||||
'BGRA' : 6,
|
||||
'ARGB' : 7,
|
||||
'Intensity' : 8,
|
||||
'Luminance' : 9,
|
||||
'Rx' : 10,
|
||||
'RGx' : 11,
|
||||
'RGBx' : 12,
|
||||
'Depth' : 13,
|
||||
'DepthStencil' : 14,
|
||||
'sRGB' : 15,
|
||||
'sRGBx' : 16,
|
||||
'sRGBA' : 17,
|
||||
'sBGRA' : 18,
|
||||
'ABGR' : 19,
|
||||
},
|
||||
|
||||
'ImageChannelDataType' : {
|
||||
'SnormInt8' : 0,
|
||||
'SnormInt16' : 1,
|
||||
'UnormInt8' : 2,
|
||||
'UnormInt16' : 3,
|
||||
'UnormShort565' : 4,
|
||||
'UnormShort555' : 5,
|
||||
'UnormInt101010' : 6,
|
||||
'SignedInt8' : 7,
|
||||
'SignedInt16' : 8,
|
||||
'SignedInt32' : 9,
|
||||
'UnsignedInt8' : 10,
|
||||
'UnsignedInt16' : 11,
|
||||
'UnsignedInt32' : 12,
|
||||
'HalfFloat' : 13,
|
||||
'Float' : 14,
|
||||
'UnormInt24' : 15,
|
||||
'UnormInt101010_2' : 16,
|
||||
},
|
||||
|
||||
'ImageOperandsShift' : {
|
||||
'Bias' : 0,
|
||||
'Lod' : 1,
|
||||
'Grad' : 2,
|
||||
'ConstOffset' : 3,
|
||||
'Offset' : 4,
|
||||
'ConstOffsets' : 5,
|
||||
'Sample' : 6,
|
||||
'MinLod' : 7,
|
||||
},
|
||||
|
||||
'ImageOperandsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Bias' : 0x00000001,
|
||||
'Lod' : 0x00000002,
|
||||
'Grad' : 0x00000004,
|
||||
'ConstOffset' : 0x00000008,
|
||||
'Offset' : 0x00000010,
|
||||
'ConstOffsets' : 0x00000020,
|
||||
'Sample' : 0x00000040,
|
||||
'MinLod' : 0x00000080,
|
||||
},
|
||||
|
||||
'FPFastMathModeShift' : {
|
||||
'NotNaN' : 0,
|
||||
'NotInf' : 1,
|
||||
'NSZ' : 2,
|
||||
'AllowRecip' : 3,
|
||||
'Fast' : 4,
|
||||
},
|
||||
|
||||
'FPFastMathModeMask' : {
|
||||
'MaskNone' : 0,
|
||||
'NotNaN' : 0x00000001,
|
||||
'NotInf' : 0x00000002,
|
||||
'NSZ' : 0x00000004,
|
||||
'AllowRecip' : 0x00000008,
|
||||
'Fast' : 0x00000010,
|
||||
},
|
||||
|
||||
'FPRoundingMode' : {
|
||||
'RTE' : 0,
|
||||
'RTZ' : 1,
|
||||
'RTP' : 2,
|
||||
'RTN' : 3,
|
||||
},
|
||||
|
||||
'LinkageType' : {
|
||||
'Export' : 0,
|
||||
'Import' : 1,
|
||||
},
|
||||
|
||||
'AccessQualifier' : {
|
||||
'ReadOnly' : 0,
|
||||
'WriteOnly' : 1,
|
||||
'ReadWrite' : 2,
|
||||
},
|
||||
|
||||
'FunctionParameterAttribute' : {
|
||||
'Zext' : 0,
|
||||
'Sext' : 1,
|
||||
'ByVal' : 2,
|
||||
'Sret' : 3,
|
||||
'NoAlias' : 4,
|
||||
'NoCapture' : 5,
|
||||
'NoWrite' : 6,
|
||||
'NoReadWrite' : 7,
|
||||
},
|
||||
|
||||
'Decoration' : {
|
||||
'RelaxedPrecision' : 0,
|
||||
'SpecId' : 1,
|
||||
'Block' : 2,
|
||||
'BufferBlock' : 3,
|
||||
'RowMajor' : 4,
|
||||
'ColMajor' : 5,
|
||||
'ArrayStride' : 6,
|
||||
'MatrixStride' : 7,
|
||||
'GLSLShared' : 8,
|
||||
'GLSLPacked' : 9,
|
||||
'CPacked' : 10,
|
||||
'BuiltIn' : 11,
|
||||
'NoPerspective' : 13,
|
||||
'Flat' : 14,
|
||||
'Patch' : 15,
|
||||
'Centroid' : 16,
|
||||
'Sample' : 17,
|
||||
'Invariant' : 18,
|
||||
'Restrict' : 19,
|
||||
'Aliased' : 20,
|
||||
'Volatile' : 21,
|
||||
'Constant' : 22,
|
||||
'Coherent' : 23,
|
||||
'NonWritable' : 24,
|
||||
'NonReadable' : 25,
|
||||
'Uniform' : 26,
|
||||
'SaturatedConversion' : 28,
|
||||
'Stream' : 29,
|
||||
'Location' : 30,
|
||||
'Component' : 31,
|
||||
'Index' : 32,
|
||||
'Binding' : 33,
|
||||
'DescriptorSet' : 34,
|
||||
'Offset' : 35,
|
||||
'XfbBuffer' : 36,
|
||||
'XfbStride' : 37,
|
||||
'FuncParamAttr' : 38,
|
||||
'FPRoundingMode' : 39,
|
||||
'FPFastMathMode' : 40,
|
||||
'LinkageAttributes' : 41,
|
||||
'NoContraction' : 42,
|
||||
'InputAttachmentIndex' : 43,
|
||||
'Alignment' : 44,
|
||||
'MaxByteOffset' : 45,
|
||||
'AlignmentId' : 46,
|
||||
'MaxByteOffsetId' : 47,
|
||||
'ExplicitInterpAMD' : 4999,
|
||||
'OverrideCoverageNV' : 5248,
|
||||
'PassthroughNV' : 5250,
|
||||
'ViewportRelativeNV' : 5252,
|
||||
'SecondaryViewportRelativeNV' : 5256,
|
||||
'HlslCounterBufferGOOGLE' : 5634,
|
||||
'HlslSemanticGOOGLE' : 5635,
|
||||
},
|
||||
|
||||
'BuiltIn' : {
|
||||
'Position' : 0,
|
||||
'PointSize' : 1,
|
||||
'ClipDistance' : 3,
|
||||
'CullDistance' : 4,
|
||||
'VertexId' : 5,
|
||||
'InstanceId' : 6,
|
||||
'PrimitiveId' : 7,
|
||||
'InvocationId' : 8,
|
||||
'Layer' : 9,
|
||||
'ViewportIndex' : 10,
|
||||
'TessLevelOuter' : 11,
|
||||
'TessLevelInner' : 12,
|
||||
'TessCoord' : 13,
|
||||
'PatchVertices' : 14,
|
||||
'FragCoord' : 15,
|
||||
'PointCoord' : 16,
|
||||
'FrontFacing' : 17,
|
||||
'SampleId' : 18,
|
||||
'SamplePosition' : 19,
|
||||
'SampleMask' : 20,
|
||||
'FragDepth' : 22,
|
||||
'HelperInvocation' : 23,
|
||||
'NumWorkgroups' : 24,
|
||||
'WorkgroupSize' : 25,
|
||||
'WorkgroupId' : 26,
|
||||
'LocalInvocationId' : 27,
|
||||
'GlobalInvocationId' : 28,
|
||||
'LocalInvocationIndex' : 29,
|
||||
'WorkDim' : 30,
|
||||
'GlobalSize' : 31,
|
||||
'EnqueuedWorkgroupSize' : 32,
|
||||
'GlobalOffset' : 33,
|
||||
'GlobalLinearId' : 34,
|
||||
'SubgroupSize' : 36,
|
||||
'SubgroupMaxSize' : 37,
|
||||
'NumSubgroups' : 38,
|
||||
'NumEnqueuedSubgroups' : 39,
|
||||
'SubgroupId' : 40,
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
'SubgroupEqMaskKHR' : 4416,
|
||||
'SubgroupGeMaskKHR' : 4417,
|
||||
'SubgroupGtMaskKHR' : 4418,
|
||||
'SubgroupLeMaskKHR' : 4419,
|
||||
'SubgroupLtMaskKHR' : 4420,
|
||||
'BaseVertex' : 4424,
|
||||
'BaseInstance' : 4425,
|
||||
'DrawIndex' : 4426,
|
||||
'DeviceIndex' : 4438,
|
||||
'ViewIndex' : 4440,
|
||||
'BaryCoordNoPerspAMD' : 4992,
|
||||
'BaryCoordNoPerspCentroidAMD' : 4993,
|
||||
'BaryCoordNoPerspSampleAMD' : 4994,
|
||||
'BaryCoordSmoothAMD' : 4995,
|
||||
'BaryCoordSmoothCentroidAMD' : 4996,
|
||||
'BaryCoordSmoothSampleAMD' : 4997,
|
||||
'BaryCoordPullModelAMD' : 4998,
|
||||
'FragStencilRefEXT' : 5014,
|
||||
'ViewportMaskNV' : 5253,
|
||||
'SecondaryPositionNV' : 5257,
|
||||
'SecondaryViewportMaskNV' : 5258,
|
||||
'PositionPerViewNV' : 5261,
|
||||
'ViewportMaskPerViewNV' : 5262,
|
||||
},
|
||||
|
||||
'SelectionControlShift' : {
|
||||
'Flatten' : 0,
|
||||
'DontFlatten' : 1,
|
||||
},
|
||||
|
||||
'SelectionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Flatten' : 0x00000001,
|
||||
'DontFlatten' : 0x00000002,
|
||||
},
|
||||
|
||||
'LoopControlShift' : {
|
||||
'Unroll' : 0,
|
||||
'DontUnroll' : 1,
|
||||
'DependencyInfinite' : 2,
|
||||
'DependencyLength' : 3,
|
||||
},
|
||||
|
||||
'LoopControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Unroll' : 0x00000001,
|
||||
'DontUnroll' : 0x00000002,
|
||||
'DependencyInfinite' : 0x00000004,
|
||||
'DependencyLength' : 0x00000008,
|
||||
},
|
||||
|
||||
'FunctionControlShift' : {
|
||||
'Inline' : 0,
|
||||
'DontInline' : 1,
|
||||
'Pure' : 2,
|
||||
'Const' : 3,
|
||||
},
|
||||
|
||||
'FunctionControlMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Inline' : 0x00000001,
|
||||
'DontInline' : 0x00000002,
|
||||
'Pure' : 0x00000004,
|
||||
'Const' : 0x00000008,
|
||||
},
|
||||
|
||||
'MemorySemanticsShift' : {
|
||||
'Acquire' : 1,
|
||||
'Release' : 2,
|
||||
'AcquireRelease' : 3,
|
||||
'SequentiallyConsistent' : 4,
|
||||
'UniformMemory' : 6,
|
||||
'SubgroupMemory' : 7,
|
||||
'WorkgroupMemory' : 8,
|
||||
'CrossWorkgroupMemory' : 9,
|
||||
'AtomicCounterMemory' : 10,
|
||||
'ImageMemory' : 11,
|
||||
},
|
||||
|
||||
'MemorySemanticsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Acquire' : 0x00000002,
|
||||
'Release' : 0x00000004,
|
||||
'AcquireRelease' : 0x00000008,
|
||||
'SequentiallyConsistent' : 0x00000010,
|
||||
'UniformMemory' : 0x00000040,
|
||||
'SubgroupMemory' : 0x00000080,
|
||||
'WorkgroupMemory' : 0x00000100,
|
||||
'CrossWorkgroupMemory' : 0x00000200,
|
||||
'AtomicCounterMemory' : 0x00000400,
|
||||
'ImageMemory' : 0x00000800,
|
||||
},
|
||||
|
||||
'MemoryAccessShift' : {
|
||||
'Volatile' : 0,
|
||||
'Aligned' : 1,
|
||||
'Nontemporal' : 2,
|
||||
},
|
||||
|
||||
'MemoryAccessMask' : {
|
||||
'MaskNone' : 0,
|
||||
'Volatile' : 0x00000001,
|
||||
'Aligned' : 0x00000002,
|
||||
'Nontemporal' : 0x00000004,
|
||||
},
|
||||
|
||||
'Scope' : {
|
||||
'CrossDevice' : 0,
|
||||
'Device' : 1,
|
||||
'Workgroup' : 2,
|
||||
'Subgroup' : 3,
|
||||
'Invocation' : 4,
|
||||
},
|
||||
|
||||
'GroupOperation' : {
|
||||
'Reduce' : 0,
|
||||
'InclusiveScan' : 1,
|
||||
'ExclusiveScan' : 2,
|
||||
},
|
||||
|
||||
'KernelEnqueueFlags' : {
|
||||
'NoWait' : 0,
|
||||
'WaitKernel' : 1,
|
||||
'WaitWorkGroup' : 2,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoShift' : {
|
||||
'CmdExecTime' : 0,
|
||||
},
|
||||
|
||||
'KernelProfilingInfoMask' : {
|
||||
'MaskNone' : 0,
|
||||
'CmdExecTime' : 0x00000001,
|
||||
},
|
||||
|
||||
'Capability' : {
|
||||
'Matrix' : 0,
|
||||
'Shader' : 1,
|
||||
'Geometry' : 2,
|
||||
'Tessellation' : 3,
|
||||
'Addresses' : 4,
|
||||
'Linkage' : 5,
|
||||
'Kernel' : 6,
|
||||
'Vector16' : 7,
|
||||
'Float16Buffer' : 8,
|
||||
'Float16' : 9,
|
||||
'Float64' : 10,
|
||||
'Int64' : 11,
|
||||
'Int64Atomics' : 12,
|
||||
'ImageBasic' : 13,
|
||||
'ImageReadWrite' : 14,
|
||||
'ImageMipmap' : 15,
|
||||
'Pipes' : 17,
|
||||
'Groups' : 18,
|
||||
'DeviceEnqueue' : 19,
|
||||
'LiteralSampler' : 20,
|
||||
'AtomicStorage' : 21,
|
||||
'Int16' : 22,
|
||||
'TessellationPointSize' : 23,
|
||||
'GeometryPointSize' : 24,
|
||||
'ImageGatherExtended' : 25,
|
||||
'StorageImageMultisample' : 27,
|
||||
'UniformBufferArrayDynamicIndexing' : 28,
|
||||
'SampledImageArrayDynamicIndexing' : 29,
|
||||
'StorageBufferArrayDynamicIndexing' : 30,
|
||||
'StorageImageArrayDynamicIndexing' : 31,
|
||||
'ClipDistance' : 32,
|
||||
'CullDistance' : 33,
|
||||
'ImageCubeArray' : 34,
|
||||
'SampleRateShading' : 35,
|
||||
'ImageRect' : 36,
|
||||
'SampledRect' : 37,
|
||||
'GenericPointer' : 38,
|
||||
'Int8' : 39,
|
||||
'InputAttachment' : 40,
|
||||
'SparseResidency' : 41,
|
||||
'MinLod' : 42,
|
||||
'Sampled1D' : 43,
|
||||
'Image1D' : 44,
|
||||
'SampledCubeArray' : 45,
|
||||
'SampledBuffer' : 46,
|
||||
'ImageBuffer' : 47,
|
||||
'ImageMSArray' : 48,
|
||||
'StorageImageExtendedFormats' : 49,
|
||||
'ImageQuery' : 50,
|
||||
'DerivativeControl' : 51,
|
||||
'InterpolationFunction' : 52,
|
||||
'TransformFeedback' : 53,
|
||||
'GeometryStreams' : 54,
|
||||
'StorageImageReadWithoutFormat' : 55,
|
||||
'StorageImageWriteWithoutFormat' : 56,
|
||||
'MultiViewport' : 57,
|
||||
'SubgroupDispatch' : 58,
|
||||
'NamedBarrier' : 59,
|
||||
'PipeStorage' : 60,
|
||||
'SubgroupBallotKHR' : 4423,
|
||||
'DrawParameters' : 4427,
|
||||
'SubgroupVoteKHR' : 4431,
|
||||
'StorageBuffer16BitAccess' : 4433,
|
||||
'StorageUniformBufferBlock16' : 4433,
|
||||
'StorageUniform16' : 4434,
|
||||
'UniformAndStorageBuffer16BitAccess' : 4434,
|
||||
'StoragePushConstant16' : 4435,
|
||||
'StorageInputOutput16' : 4436,
|
||||
'DeviceGroup' : 4437,
|
||||
'MultiView' : 4439,
|
||||
'VariablePointersStorageBuffer' : 4441,
|
||||
'VariablePointers' : 4442,
|
||||
'AtomicStorageOps' : 4445,
|
||||
'SampleMaskPostDepthCoverage' : 4447,
|
||||
'ImageGatherBiasLodAMD' : 5009,
|
||||
'FragmentMaskAMD' : 5010,
|
||||
'StencilExportEXT' : 5013,
|
||||
'ImageReadWriteLodAMD' : 5015,
|
||||
'SampleMaskOverrideCoverageNV' : 5249,
|
||||
'GeometryShaderPassthroughNV' : 5251,
|
||||
'ShaderViewportIndexLayerEXT' : 5254,
|
||||
'ShaderViewportIndexLayerNV' : 5254,
|
||||
'ShaderViewportMaskNV' : 5255,
|
||||
'ShaderStereoViewNV' : 5259,
|
||||
'PerViewAttributesNV' : 5260,
|
||||
'SubgroupShuffleINTEL' : 5568,
|
||||
'SubgroupBufferBlockIOINTEL' : 5569,
|
||||
'SubgroupImageBlockIOINTEL' : 5570,
|
||||
},
|
||||
|
||||
'Op' : {
|
||||
'OpNop' : 0,
|
||||
'OpUndef' : 1,
|
||||
'OpSourceContinued' : 2,
|
||||
'OpSource' : 3,
|
||||
'OpSourceExtension' : 4,
|
||||
'OpName' : 5,
|
||||
'OpMemberName' : 6,
|
||||
'OpString' : 7,
|
||||
'OpLine' : 8,
|
||||
'OpExtension' : 10,
|
||||
'OpExtInstImport' : 11,
|
||||
'OpExtInst' : 12,
|
||||
'OpMemoryModel' : 14,
|
||||
'OpEntryPoint' : 15,
|
||||
'OpExecutionMode' : 16,
|
||||
'OpCapability' : 17,
|
||||
'OpTypeVoid' : 19,
|
||||
'OpTypeBool' : 20,
|
||||
'OpTypeInt' : 21,
|
||||
'OpTypeFloat' : 22,
|
||||
'OpTypeVector' : 23,
|
||||
'OpTypeMatrix' : 24,
|
||||
'OpTypeImage' : 25,
|
||||
'OpTypeSampler' : 26,
|
||||
'OpTypeSampledImage' : 27,
|
||||
'OpTypeArray' : 28,
|
||||
'OpTypeRuntimeArray' : 29,
|
||||
'OpTypeStruct' : 30,
|
||||
'OpTypeOpaque' : 31,
|
||||
'OpTypePointer' : 32,
|
||||
'OpTypeFunction' : 33,
|
||||
'OpTypeEvent' : 34,
|
||||
'OpTypeDeviceEvent' : 35,
|
||||
'OpTypeReserveId' : 36,
|
||||
'OpTypeQueue' : 37,
|
||||
'OpTypePipe' : 38,
|
||||
'OpTypeForwardPointer' : 39,
|
||||
'OpConstantTrue' : 41,
|
||||
'OpConstantFalse' : 42,
|
||||
'OpConstant' : 43,
|
||||
'OpConstantComposite' : 44,
|
||||
'OpConstantSampler' : 45,
|
||||
'OpConstantNull' : 46,
|
||||
'OpSpecConstantTrue' : 48,
|
||||
'OpSpecConstantFalse' : 49,
|
||||
'OpSpecConstant' : 50,
|
||||
'OpSpecConstantComposite' : 51,
|
||||
'OpSpecConstantOp' : 52,
|
||||
'OpFunction' : 54,
|
||||
'OpFunctionParameter' : 55,
|
||||
'OpFunctionEnd' : 56,
|
||||
'OpFunctionCall' : 57,
|
||||
'OpVariable' : 59,
|
||||
'OpImageTexelPointer' : 60,
|
||||
'OpLoad' : 61,
|
||||
'OpStore' : 62,
|
||||
'OpCopyMemory' : 63,
|
||||
'OpCopyMemorySized' : 64,
|
||||
'OpAccessChain' : 65,
|
||||
'OpInBoundsAccessChain' : 66,
|
||||
'OpPtrAccessChain' : 67,
|
||||
'OpArrayLength' : 68,
|
||||
'OpGenericPtrMemSemantics' : 69,
|
||||
'OpInBoundsPtrAccessChain' : 70,
|
||||
'OpDecorate' : 71,
|
||||
'OpMemberDecorate' : 72,
|
||||
'OpDecorationGroup' : 73,
|
||||
'OpGroupDecorate' : 74,
|
||||
'OpGroupMemberDecorate' : 75,
|
||||
'OpVectorExtractDynamic' : 77,
|
||||
'OpVectorInsertDynamic' : 78,
|
||||
'OpVectorShuffle' : 79,
|
||||
'OpCompositeConstruct' : 80,
|
||||
'OpCompositeExtract' : 81,
|
||||
'OpCompositeInsert' : 82,
|
||||
'OpCopyObject' : 83,
|
||||
'OpTranspose' : 84,
|
||||
'OpSampledImage' : 86,
|
||||
'OpImageSampleImplicitLod' : 87,
|
||||
'OpImageSampleExplicitLod' : 88,
|
||||
'OpImageSampleDrefImplicitLod' : 89,
|
||||
'OpImageSampleDrefExplicitLod' : 90,
|
||||
'OpImageSampleProjImplicitLod' : 91,
|
||||
'OpImageSampleProjExplicitLod' : 92,
|
||||
'OpImageSampleProjDrefImplicitLod' : 93,
|
||||
'OpImageSampleProjDrefExplicitLod' : 94,
|
||||
'OpImageFetch' : 95,
|
||||
'OpImageGather' : 96,
|
||||
'OpImageDrefGather' : 97,
|
||||
'OpImageRead' : 98,
|
||||
'OpImageWrite' : 99,
|
||||
'OpImage' : 100,
|
||||
'OpImageQueryFormat' : 101,
|
||||
'OpImageQueryOrder' : 102,
|
||||
'OpImageQuerySizeLod' : 103,
|
||||
'OpImageQuerySize' : 104,
|
||||
'OpImageQueryLod' : 105,
|
||||
'OpImageQueryLevels' : 106,
|
||||
'OpImageQuerySamples' : 107,
|
||||
'OpConvertFToU' : 109,
|
||||
'OpConvertFToS' : 110,
|
||||
'OpConvertSToF' : 111,
|
||||
'OpConvertUToF' : 112,
|
||||
'OpUConvert' : 113,
|
||||
'OpSConvert' : 114,
|
||||
'OpFConvert' : 115,
|
||||
'OpQuantizeToF16' : 116,
|
||||
'OpConvertPtrToU' : 117,
|
||||
'OpSatConvertSToU' : 118,
|
||||
'OpSatConvertUToS' : 119,
|
||||
'OpConvertUToPtr' : 120,
|
||||
'OpPtrCastToGeneric' : 121,
|
||||
'OpGenericCastToPtr' : 122,
|
||||
'OpGenericCastToPtrExplicit' : 123,
|
||||
'OpBitcast' : 124,
|
||||
'OpSNegate' : 126,
|
||||
'OpFNegate' : 127,
|
||||
'OpIAdd' : 128,
|
||||
'OpFAdd' : 129,
|
||||
'OpISub' : 130,
|
||||
'OpFSub' : 131,
|
||||
'OpIMul' : 132,
|
||||
'OpFMul' : 133,
|
||||
'OpUDiv' : 134,
|
||||
'OpSDiv' : 135,
|
||||
'OpFDiv' : 136,
|
||||
'OpUMod' : 137,
|
||||
'OpSRem' : 138,
|
||||
'OpSMod' : 139,
|
||||
'OpFRem' : 140,
|
||||
'OpFMod' : 141,
|
||||
'OpVectorTimesScalar' : 142,
|
||||
'OpMatrixTimesScalar' : 143,
|
||||
'OpVectorTimesMatrix' : 144,
|
||||
'OpMatrixTimesVector' : 145,
|
||||
'OpMatrixTimesMatrix' : 146,
|
||||
'OpOuterProduct' : 147,
|
||||
'OpDot' : 148,
|
||||
'OpIAddCarry' : 149,
|
||||
'OpISubBorrow' : 150,
|
||||
'OpUMulExtended' : 151,
|
||||
'OpSMulExtended' : 152,
|
||||
'OpAny' : 154,
|
||||
'OpAll' : 155,
|
||||
'OpIsNan' : 156,
|
||||
'OpIsInf' : 157,
|
||||
'OpIsFinite' : 158,
|
||||
'OpIsNormal' : 159,
|
||||
'OpSignBitSet' : 160,
|
||||
'OpLessOrGreater' : 161,
|
||||
'OpOrdered' : 162,
|
||||
'OpUnordered' : 163,
|
||||
'OpLogicalEqual' : 164,
|
||||
'OpLogicalNotEqual' : 165,
|
||||
'OpLogicalOr' : 166,
|
||||
'OpLogicalAnd' : 167,
|
||||
'OpLogicalNot' : 168,
|
||||
'OpSelect' : 169,
|
||||
'OpIEqual' : 170,
|
||||
'OpINotEqual' : 171,
|
||||
'OpUGreaterThan' : 172,
|
||||
'OpSGreaterThan' : 173,
|
||||
'OpUGreaterThanEqual' : 174,
|
||||
'OpSGreaterThanEqual' : 175,
|
||||
'OpULessThan' : 176,
|
||||
'OpSLessThan' : 177,
|
||||
'OpULessThanEqual' : 178,
|
||||
'OpSLessThanEqual' : 179,
|
||||
'OpFOrdEqual' : 180,
|
||||
'OpFUnordEqual' : 181,
|
||||
'OpFOrdNotEqual' : 182,
|
||||
'OpFUnordNotEqual' : 183,
|
||||
'OpFOrdLessThan' : 184,
|
||||
'OpFUnordLessThan' : 185,
|
||||
'OpFOrdGreaterThan' : 186,
|
||||
'OpFUnordGreaterThan' : 187,
|
||||
'OpFOrdLessThanEqual' : 188,
|
||||
'OpFUnordLessThanEqual' : 189,
|
||||
'OpFOrdGreaterThanEqual' : 190,
|
||||
'OpFUnordGreaterThanEqual' : 191,
|
||||
'OpShiftRightLogical' : 194,
|
||||
'OpShiftRightArithmetic' : 195,
|
||||
'OpShiftLeftLogical' : 196,
|
||||
'OpBitwiseOr' : 197,
|
||||
'OpBitwiseXor' : 198,
|
||||
'OpBitwiseAnd' : 199,
|
||||
'OpNot' : 200,
|
||||
'OpBitFieldInsert' : 201,
|
||||
'OpBitFieldSExtract' : 202,
|
||||
'OpBitFieldUExtract' : 203,
|
||||
'OpBitReverse' : 204,
|
||||
'OpBitCount' : 205,
|
||||
'OpDPdx' : 207,
|
||||
'OpDPdy' : 208,
|
||||
'OpFwidth' : 209,
|
||||
'OpDPdxFine' : 210,
|
||||
'OpDPdyFine' : 211,
|
||||
'OpFwidthFine' : 212,
|
||||
'OpDPdxCoarse' : 213,
|
||||
'OpDPdyCoarse' : 214,
|
||||
'OpFwidthCoarse' : 215,
|
||||
'OpEmitVertex' : 218,
|
||||
'OpEndPrimitive' : 219,
|
||||
'OpEmitStreamVertex' : 220,
|
||||
'OpEndStreamPrimitive' : 221,
|
||||
'OpControlBarrier' : 224,
|
||||
'OpMemoryBarrier' : 225,
|
||||
'OpAtomicLoad' : 227,
|
||||
'OpAtomicStore' : 228,
|
||||
'OpAtomicExchange' : 229,
|
||||
'OpAtomicCompareExchange' : 230,
|
||||
'OpAtomicCompareExchangeWeak' : 231,
|
||||
'OpAtomicIIncrement' : 232,
|
||||
'OpAtomicIDecrement' : 233,
|
||||
'OpAtomicIAdd' : 234,
|
||||
'OpAtomicISub' : 235,
|
||||
'OpAtomicSMin' : 236,
|
||||
'OpAtomicUMin' : 237,
|
||||
'OpAtomicSMax' : 238,
|
||||
'OpAtomicUMax' : 239,
|
||||
'OpAtomicAnd' : 240,
|
||||
'OpAtomicOr' : 241,
|
||||
'OpAtomicXor' : 242,
|
||||
'OpPhi' : 245,
|
||||
'OpLoopMerge' : 246,
|
||||
'OpSelectionMerge' : 247,
|
||||
'OpLabel' : 248,
|
||||
'OpBranch' : 249,
|
||||
'OpBranchConditional' : 250,
|
||||
'OpSwitch' : 251,
|
||||
'OpKill' : 252,
|
||||
'OpReturn' : 253,
|
||||
'OpReturnValue' : 254,
|
||||
'OpUnreachable' : 255,
|
||||
'OpLifetimeStart' : 256,
|
||||
'OpLifetimeStop' : 257,
|
||||
'OpGroupAsyncCopy' : 259,
|
||||
'OpGroupWaitEvents' : 260,
|
||||
'OpGroupAll' : 261,
|
||||
'OpGroupAny' : 262,
|
||||
'OpGroupBroadcast' : 263,
|
||||
'OpGroupIAdd' : 264,
|
||||
'OpGroupFAdd' : 265,
|
||||
'OpGroupFMin' : 266,
|
||||
'OpGroupUMin' : 267,
|
||||
'OpGroupSMin' : 268,
|
||||
'OpGroupFMax' : 269,
|
||||
'OpGroupUMax' : 270,
|
||||
'OpGroupSMax' : 271,
|
||||
'OpReadPipe' : 274,
|
||||
'OpWritePipe' : 275,
|
||||
'OpReservedReadPipe' : 276,
|
||||
'OpReservedWritePipe' : 277,
|
||||
'OpReserveReadPipePackets' : 278,
|
||||
'OpReserveWritePipePackets' : 279,
|
||||
'OpCommitReadPipe' : 280,
|
||||
'OpCommitWritePipe' : 281,
|
||||
'OpIsValidReserveId' : 282,
|
||||
'OpGetNumPipePackets' : 283,
|
||||
'OpGetMaxPipePackets' : 284,
|
||||
'OpGroupReserveReadPipePackets' : 285,
|
||||
'OpGroupReserveWritePipePackets' : 286,
|
||||
'OpGroupCommitReadPipe' : 287,
|
||||
'OpGroupCommitWritePipe' : 288,
|
||||
'OpEnqueueMarker' : 291,
|
||||
'OpEnqueueKernel' : 292,
|
||||
'OpGetKernelNDrangeSubGroupCount' : 293,
|
||||
'OpGetKernelNDrangeMaxSubGroupSize' : 294,
|
||||
'OpGetKernelWorkGroupSize' : 295,
|
||||
'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
|
||||
'OpRetainEvent' : 297,
|
||||
'OpReleaseEvent' : 298,
|
||||
'OpCreateUserEvent' : 299,
|
||||
'OpIsValidEvent' : 300,
|
||||
'OpSetUserEventStatus' : 301,
|
||||
'OpCaptureEventProfilingInfo' : 302,
|
||||
'OpGetDefaultQueue' : 303,
|
||||
'OpBuildNDRange' : 304,
|
||||
'OpImageSparseSampleImplicitLod' : 305,
|
||||
'OpImageSparseSampleExplicitLod' : 306,
|
||||
'OpImageSparseSampleDrefImplicitLod' : 307,
|
||||
'OpImageSparseSampleDrefExplicitLod' : 308,
|
||||
'OpImageSparseSampleProjImplicitLod' : 309,
|
||||
'OpImageSparseSampleProjExplicitLod' : 310,
|
||||
'OpImageSparseSampleProjDrefImplicitLod' : 311,
|
||||
'OpImageSparseSampleProjDrefExplicitLod' : 312,
|
||||
'OpImageSparseFetch' : 313,
|
||||
'OpImageSparseGather' : 314,
|
||||
'OpImageSparseDrefGather' : 315,
|
||||
'OpImageSparseTexelsResident' : 316,
|
||||
'OpNoLine' : 317,
|
||||
'OpAtomicFlagTestAndSet' : 318,
|
||||
'OpAtomicFlagClear' : 319,
|
||||
'OpImageSparseRead' : 320,
|
||||
'OpSizeOf' : 321,
|
||||
'OpTypePipeStorage' : 322,
|
||||
'OpConstantPipeStorage' : 323,
|
||||
'OpCreatePipeFromPipeStorage' : 324,
|
||||
'OpGetKernelLocalSizeForSubgroupCount' : 325,
|
||||
'OpGetKernelMaxNumSubgroups' : 326,
|
||||
'OpTypeNamedBarrier' : 327,
|
||||
'OpNamedBarrierInitialize' : 328,
|
||||
'OpMemoryNamedBarrier' : 329,
|
||||
'OpModuleProcessed' : 330,
|
||||
'OpExecutionModeId' : 331,
|
||||
'OpDecorateId' : 332,
|
||||
'OpSubgroupBallotKHR' : 4421,
|
||||
'OpSubgroupFirstInvocationKHR' : 4422,
|
||||
'OpSubgroupAllKHR' : 4428,
|
||||
'OpSubgroupAnyKHR' : 4429,
|
||||
'OpSubgroupAllEqualKHR' : 4430,
|
||||
'OpSubgroupReadInvocationKHR' : 4432,
|
||||
'OpGroupIAddNonUniformAMD' : 5000,
|
||||
'OpGroupFAddNonUniformAMD' : 5001,
|
||||
'OpGroupFMinNonUniformAMD' : 5002,
|
||||
'OpGroupUMinNonUniformAMD' : 5003,
|
||||
'OpGroupSMinNonUniformAMD' : 5004,
|
||||
'OpGroupFMaxNonUniformAMD' : 5005,
|
||||
'OpGroupUMaxNonUniformAMD' : 5006,
|
||||
'OpGroupSMaxNonUniformAMD' : 5007,
|
||||
'OpFragmentMaskFetchAMD' : 5011,
|
||||
'OpFragmentFetchAMD' : 5012,
|
||||
'OpSubgroupShuffleINTEL' : 5571,
|
||||
'OpSubgroupShuffleDownINTEL' : 5572,
|
||||
'OpSubgroupShuffleUpINTEL' : 5573,
|
||||
'OpSubgroupShuffleXorINTEL' : 5574,
|
||||
'OpSubgroupBlockReadINTEL' : 5575,
|
||||
'OpSubgroupBlockWriteINTEL' : 5576,
|
||||
'OpSubgroupImageBlockReadINTEL' : 5577,
|
||||
'OpSubgroupImageBlockWriteINTEL' : 5578,
|
||||
'OpDecorateStringGOOGLE' : 5632,
|
||||
'OpMemberDecorateStringGOOGLE' : 5633,
|
||||
},
|
||||
|
||||
}
|
||||
|
@ -1,254 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<registry>
|
||||
<!--
|
||||
Copyright (c) 2015 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.
|
||||
|
||||
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.
|
||||
-->
|
||||
<!--
|
||||
This file, spir-v.xml, is the SPIR-V Tool ID, opcode and enumerant registry.
|
||||
The canonical version of the registry, together with related schema and
|
||||
documentation, can be found in the Khronos Registry at
|
||||
include/spirv/spir-v.xml in the master branch at
|
||||
https://github.com/KhronosGroup/SPIRV-Headers
|
||||
-->
|
||||
|
||||
<!-- SECTION: SPIR-V Tool ID Definitions -->
|
||||
|
||||
<!-- A SPIR-V Generator Magic Number is a 32 bit word: The high order 16
|
||||
bits are a tool ID, which should be unique across all SPIR-V
|
||||
generators. The low order 16 bits are reserved for use as a tool
|
||||
version number, or any other purpose the tool supplier chooses.
|
||||
Only the tool IDs are reserved with Khronos.
|
||||
|
||||
Add new tool ID reservations contiguously with the first available
|
||||
number (the "start" attribute of the <unused> tag below), and
|
||||
modify that <unused> tag accordingly. Please add a vendor/tool
|
||||
supplier name in a 'vendor="name"' attribute; a tool name in a
|
||||
'tool="name"' attribute; and a contact person/address in a
|
||||
'comment' attribute. Remember that this value is the high 16 bits
|
||||
of a 32-bit word.
|
||||
|
||||
Note: a single vendor/tool supplier may have multiple tool IDs
|
||||
reserved for different SPIR-V generators -->
|
||||
|
||||
<ids type="vendor" start="0" end="0xFFFF" comment="SPIR-V Tool IDs">
|
||||
<id value="0" vendor="Khronos" comment="Reserved by Khronos"/>
|
||||
<id value="1" vendor="LunarG" comment="Contact TBD"/>
|
||||
<id value="2" vendor="Valve" comment="Contact TBD"/>
|
||||
<id value="3" vendor="Codeplay" comment="Contact Victor Lomuller, victor@codeplay.com"/>
|
||||
<id value="4" vendor="NVIDIA" comment="Contact Kerch Holt, kholt@nvidia.com"/>
|
||||
<id value="5" vendor="ARM" comment="Contact Alexander Galazin, alexander.galazin@arm.com"/>
|
||||
<id value="6" vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/>
|
||||
<id value="7" vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="8" vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/>
|
||||
<id value="9" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<id value="10" vendor="AMD" comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
|
||||
<id value="11" vendor="Intel" comment="Contact Alexey, alexey.bader@intel.com"/>
|
||||
<id value="12" vendor="Imagination" comment="Contact James Jones"/>
|
||||
<id value="13" vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="14" vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
|
||||
<id value="15" vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
|
||||
<id value="16" vendor="X-LEGEND" tool="Mesa-IR/SPIR-V Translator" comment="Contact Metora Wang, github:metora/MesaGLSLCompiler"/>
|
||||
<id value="17" vendor="Khronos" tool="SPIR-V Tools Linker" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="18" vendor="Wine" tool="VKD3D Shader Compiler" comment="Contact wine-devel@winehq.org"/>
|
||||
<id value="19" vendor="Tellusim" tool="Clay Shader Compiler" comment="Contact info@tellusim.com"/>
|
||||
<id value="20" vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
|
||||
<id value="21" vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="22" vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
|
||||
<id value="23" vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
|
||||
<id value="24" vendor="Google" tool="ANGLE Shader Compiler" comment="Contact Shahbaz Youssefi, syoussefi@google.com"/>
|
||||
<id value="25" vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
|
||||
<id value="26" vendor="Xenia" tool="Xenia Emulator Microcode Translator" comment="Contact Vitaliy Kuzmin, triang3l@yandex.ru, https://github.com/xenia-project/xenia"/>
|
||||
<id value="27" vendor="Embark Studios" tool="Rust GPU Compiler Backend" comment="https://github.com/embarkstudios/rust-gpu"/>
|
||||
<id value="28" vendor="gfx-rs community" tool="Naga" comment="https://github.com/gfx-rs/naga"/>
|
||||
<id value="29" vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
|
||||
<id value="30" vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
|
||||
<unused start="31" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
|
||||
<!-- Vendors reserve new ranges of:
|
||||
- opcode enumerants in the "opcode" list below, and
|
||||
- non-opcode enumerants in the non-opcodes "enumerant" list below.
|
||||
Both are reserved by contiguous blocks of 64, preceding the given
|
||||
"Future use" blocks.
|
||||
|
||||
SPIR-V background:
|
||||
- SPIR-V currently has well over 30 enums, including the opcode enum
|
||||
- each enum has its own name space, allowing reuse of enumerants
|
||||
- SPIR-V restricts opcode enumerants to 16 bits
|
||||
- all other enums use 32-bit enumerants
|
||||
|
||||
Reservation rules:
|
||||
- opcode reservations ("opcode") are only valid for opcodes
|
||||
- non-opcode reservations ("enumerant") are not valid for opcodes
|
||||
- reservations in the enumerant list are valid for all non-opcode enums
|
||||
- it is simpler to use each non-opcode enumerant for only one purpose
|
||||
but this is left to the discretion of the vendor
|
||||
- all enumerants in a range should be used before allocating a new range
|
||||
(several extensions can use enumerants from the same range)
|
||||
|
||||
Each vendor determines the use of enumerants in the ranges they
|
||||
reserve. Vendors are not required to disclose those uses. If the use
|
||||
of an enumerant is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that enumerant's use may be permanently
|
||||
fixed as if originally reserved in a Khronos range.
|
||||
|
||||
-->
|
||||
|
||||
<!-- Begin reservations of opcode enumerants -->
|
||||
<ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
|
||||
<ids type="opcode" start="4160" end="4415" vendor="ARM"/>
|
||||
<ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
|
||||
<ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<ids type="opcode" start="4992" end="5247" vendor="AMD"/>
|
||||
<ids type="opcode" start="5248" end="5503" vendor="NVIDIA"/>
|
||||
<ids type="opcode" start="5504" end="5567" vendor="Imagination"/>
|
||||
<ids type="opcode" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="opcode" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
|
||||
<ids type="opcode" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="opcode" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="opcode" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="opcode" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<ids type="opcode" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
|
||||
<ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
|
||||
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="opcode" start="6400" end="65535" comment="Opcode range reservable for future use by vendors"/>
|
||||
<!-- End reservations of opcodes -->
|
||||
|
||||
|
||||
<!-- Begin reservations of non-opcode enumerants -->
|
||||
<ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/>
|
||||
<ids type="enumerant" start="4160" end="4415" vendor="ARM"/>
|
||||
<ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/>
|
||||
<ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
|
||||
<ids type="enumerant" start="4992" end="5247" vendor="AMD"/>
|
||||
<ids type="enumerant" start="5248" end="5503" vendor="NVIDIA"/>
|
||||
<ids type="enumerant" start="5504" end="5567" vendor="Imagination"/>
|
||||
<ids type="enumerant" start="5568" end="5631" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="enumerant" start="5632" end="5695" vendor="Google" comment="Contact dneto@google.com"/>
|
||||
<ids type="enumerant" start="5696" end="5823" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="enumerant" start="5824" end="5951" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="enumerant" start="5952" end="6015" vendor="Codeplay" comment="Contact victor@codeplay.com"/>
|
||||
<ids type="enumerant" start="6016" end="6079" vendor="Khronos" comment="Contact @tobski"/>
|
||||
<ids type="enumerant" start="6080" end="6143" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
|
||||
<ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
|
||||
<!-- Enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
<ids type="enumerant" start="6400" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
<!-- End reservations of enumerants -->
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Loop Control Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the loop control bitfield.
|
||||
|
||||
Each vendor determines the use of values in their own ranges.
|
||||
Vendors are not required to disclose those uses. If the use of a
|
||||
value is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that value's use may be permanently
|
||||
fixed as if originally reserved in a Khronos range.
|
||||
|
||||
The SPIR Working Group strongly recommends:
|
||||
- Each value is used for only one purpose.
|
||||
- All values in a range should be used before allocating a new range.
|
||||
-->
|
||||
|
||||
<!-- Reserved loop control bits -->
|
||||
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="LoopControl" start="16" end="24" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="LoopControl" start="25" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Function Control Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the function control bitfield.
|
||||
|
||||
Each vendor determines the use of values in their own ranges.
|
||||
Vendors are not required to disclose those uses. If the use of a
|
||||
value is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that value's use may be permanently
|
||||
fixed as if originally reserved in a Khronos range.
|
||||
|
||||
The SPIR Working Group strongly recommends:
|
||||
- Each value is used for only one purpose.
|
||||
- All values in a range should be used before allocating a new range.
|
||||
-->
|
||||
|
||||
<!-- Reserved function control bits -->
|
||||
<ids type="FunctionControl" start="0" end="15" vendor="Khronos" comment="Reserved FunctionControl bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="FunctionControl" start="16" end="16" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
|
||||
<ids type="FunctionControl" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="FunctionControl" start="31" end="31" vendor="Khronos" comment="Reserved FunctionControl bit, not available to vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V FP Fast Math Mode Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the "FP Fast Math Mode" bitfield.
|
||||
Each vendor determines the use of values in their own ranges.
|
||||
Vendors are not required to disclose those uses. If the use of a
|
||||
value is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that value's use may be permanently
|
||||
fixed as if originally reserved in a Khronos range.
|
||||
The SPIR Working Group strongly recommends:
|
||||
- Each value is used for only one purpose.
|
||||
- All values in a range should be used before allocating a new range.
|
||||
-->
|
||||
|
||||
<!-- Reserved FP fast math mode bits -->
|
||||
<ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
|
||||
|
||||
|
||||
<!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
|
||||
<!-- Reserve ranges of bits in the memory operands bitfield.
|
||||
|
||||
Each vendor determines the use of values in their own ranges.
|
||||
Vendors are not required to disclose those uses. If the use of a
|
||||
value is included in an extension that is adopted by a Khronos
|
||||
extension or specification, then that value's use may be permanently
|
||||
fixed as if originally reserved in a Khronos range.
|
||||
|
||||
The SPIR Working Group strongly recommends:
|
||||
- Each value is used for only one purpose.
|
||||
- All values in a range should be used before allocating a new range.
|
||||
-->
|
||||
|
||||
<!-- Reserved memory operand bits -->
|
||||
<ids type="MemoryOperand" start="0" end="15" vendor="Khronos" comment="Reserved MemoryOperand bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="MemoryOperand" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
|
||||
<ids type="MemoryOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="MemoryOperand" start="31" end="31" vendor="Khronos" comment="Reserved MemoryOperand bit, not available to vendors"/>
|
||||
|
||||
</registry>
|
@ -1,52 +0,0 @@
|
||||
// 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_gcn_shader_H_
|
||||
#define SPIRV_UNIFIED1_AMD_gcn_shader_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
AMD_gcn_shaderRevision = 2,
|
||||
AMD_gcn_shaderRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum AMD_gcn_shaderInstructions {
|
||||
AMD_gcn_shaderCubeFaceIndexAMD = 1,
|
||||
AMD_gcn_shaderCubeFaceCoordAMD = 2,
|
||||
AMD_gcn_shaderTimeAMD = 3,
|
||||
AMD_gcn_shaderInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_AMD_gcn_shader_H_
|
@ -1,53 +0,0 @@
|
||||
// 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 = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_AMD_shader_ballot_H_
|
@ -1,50 +0,0 @@
|
||||
// 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_explicit_vertex_parameter_H_
|
||||
#define SPIRV_UNIFIED1_AMD_shader_explicit_vertex_parameter_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
AMD_shader_explicit_vertex_parameterRevision = 4,
|
||||
AMD_shader_explicit_vertex_parameterRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum AMD_shader_explicit_vertex_parameterInstructions {
|
||||
AMD_shader_explicit_vertex_parameterInterpolateAtVertexAMD = 1,
|
||||
AMD_shader_explicit_vertex_parameterInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_AMD_shader_explicit_vertex_parameter_H_
|
@ -1,58 +0,0 @@
|
||||
// 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_trinary_minmax_H_
|
||||
#define SPIRV_UNIFIED1_AMD_shader_trinary_minmax_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
AMD_shader_trinary_minmaxRevision = 4,
|
||||
AMD_shader_trinary_minmaxRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum AMD_shader_trinary_minmaxInstructions {
|
||||
AMD_shader_trinary_minmaxFMin3AMD = 1,
|
||||
AMD_shader_trinary_minmaxUMin3AMD = 2,
|
||||
AMD_shader_trinary_minmaxSMin3AMD = 3,
|
||||
AMD_shader_trinary_minmaxFMax3AMD = 4,
|
||||
AMD_shader_trinary_minmaxUMax3AMD = 5,
|
||||
AMD_shader_trinary_minmaxSMax3AMD = 6,
|
||||
AMD_shader_trinary_minmaxFMid3AMD = 7,
|
||||
AMD_shader_trinary_minmaxUMid3AMD = 8,
|
||||
AMD_shader_trinary_minmaxSMid3AMD = 9,
|
||||
AMD_shader_trinary_minmaxInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_AMD_shader_trinary_minmax_H_
|
@ -1,144 +0,0 @@
|
||||
// Copyright (c) 2017 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_DebugInfo_H_
|
||||
#define SPIRV_UNIFIED1_DebugInfo_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
DebugInfoVersion = 100,
|
||||
DebugInfoVersion_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
enum {
|
||||
DebugInfoRevision = 1,
|
||||
DebugInfoRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum DebugInfoInstructions {
|
||||
DebugInfoDebugInfoNone = 0,
|
||||
DebugInfoDebugCompilationUnit = 1,
|
||||
DebugInfoDebugTypeBasic = 2,
|
||||
DebugInfoDebugTypePointer = 3,
|
||||
DebugInfoDebugTypeQualifier = 4,
|
||||
DebugInfoDebugTypeArray = 5,
|
||||
DebugInfoDebugTypeVector = 6,
|
||||
DebugInfoDebugTypedef = 7,
|
||||
DebugInfoDebugTypeFunction = 8,
|
||||
DebugInfoDebugTypeEnum = 9,
|
||||
DebugInfoDebugTypeComposite = 10,
|
||||
DebugInfoDebugTypeMember = 11,
|
||||
DebugInfoDebugTypeInheritance = 12,
|
||||
DebugInfoDebugTypePtrToMember = 13,
|
||||
DebugInfoDebugTypeTemplate = 14,
|
||||
DebugInfoDebugTypeTemplateParameter = 15,
|
||||
DebugInfoDebugTypeTemplateTemplateParameter = 16,
|
||||
DebugInfoDebugTypeTemplateParameterPack = 17,
|
||||
DebugInfoDebugGlobalVariable = 18,
|
||||
DebugInfoDebugFunctionDeclaration = 19,
|
||||
DebugInfoDebugFunction = 20,
|
||||
DebugInfoDebugLexicalBlock = 21,
|
||||
DebugInfoDebugLexicalBlockDiscriminator = 22,
|
||||
DebugInfoDebugScope = 23,
|
||||
DebugInfoDebugNoScope = 24,
|
||||
DebugInfoDebugInlinedAt = 25,
|
||||
DebugInfoDebugLocalVariable = 26,
|
||||
DebugInfoDebugInlinedVariable = 27,
|
||||
DebugInfoDebugDeclare = 28,
|
||||
DebugInfoDebugValue = 29,
|
||||
DebugInfoDebugOperation = 30,
|
||||
DebugInfoDebugExpression = 31,
|
||||
DebugInfoDebugMacroDef = 32,
|
||||
DebugInfoDebugMacroUndef = 33,
|
||||
DebugInfoInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
enum DebugInfoDebugInfoFlags {
|
||||
DebugInfoNone = 0x0000,
|
||||
DebugInfoFlagIsProtected = 0x01,
|
||||
DebugInfoFlagIsPrivate = 0x02,
|
||||
DebugInfoFlagIsPublic = 0x03,
|
||||
DebugInfoFlagIsLocal = 0x04,
|
||||
DebugInfoFlagIsDefinition = 0x08,
|
||||
DebugInfoFlagFwdDecl = 0x10,
|
||||
DebugInfoFlagArtificial = 0x20,
|
||||
DebugInfoFlagExplicit = 0x40,
|
||||
DebugInfoFlagPrototyped = 0x80,
|
||||
DebugInfoFlagObjectPointer = 0x100,
|
||||
DebugInfoFlagStaticMember = 0x200,
|
||||
DebugInfoFlagIndirectVariable = 0x400,
|
||||
DebugInfoFlagLValueReference = 0x800,
|
||||
DebugInfoFlagRValueReference = 0x1000,
|
||||
DebugInfoFlagIsOptimized = 0x2000,
|
||||
DebugInfoDebugInfoFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum DebugInfoDebugBaseTypeAttributeEncoding {
|
||||
DebugInfoUnspecified = 0,
|
||||
DebugInfoAddress = 1,
|
||||
DebugInfoBoolean = 2,
|
||||
DebugInfoFloat = 4,
|
||||
DebugInfoSigned = 5,
|
||||
DebugInfoSignedChar = 6,
|
||||
DebugInfoUnsigned = 7,
|
||||
DebugInfoUnsignedChar = 8,
|
||||
DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum DebugInfoDebugCompositeType {
|
||||
DebugInfoClass = 0,
|
||||
DebugInfoStructure = 1,
|
||||
DebugInfoUnion = 2,
|
||||
DebugInfoDebugCompositeTypeMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum DebugInfoDebugTypeQualifier {
|
||||
DebugInfoConstType = 0,
|
||||
DebugInfoVolatileType = 1,
|
||||
DebugInfoRestrictType = 2,
|
||||
DebugInfoDebugTypeQualifierMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum DebugInfoDebugOperation {
|
||||
DebugInfoDeref = 0,
|
||||
DebugInfoPlus = 1,
|
||||
DebugInfoMinus = 2,
|
||||
DebugInfoPlusUconst = 3,
|
||||
DebugInfoBitPiece = 4,
|
||||
DebugInfoSwap = 5,
|
||||
DebugInfoXderef = 6,
|
||||
DebugInfoStackValue = 7,
|
||||
DebugInfoConstu = 8,
|
||||
DebugInfoDebugOperationMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_DebugInfo_H_
|
@ -1,73 +0,0 @@
|
||||
// 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_NonSemanticClspvReflection_H_
|
||||
#define SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
NonSemanticClspvReflectionRevision = 1,
|
||||
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticClspvReflectionInstructions {
|
||||
NonSemanticClspvReflectionKernel = 1,
|
||||
NonSemanticClspvReflectionArgumentInfo = 2,
|
||||
NonSemanticClspvReflectionArgumentStorageBuffer = 3,
|
||||
NonSemanticClspvReflectionArgumentUniform = 4,
|
||||
NonSemanticClspvReflectionArgumentPodStorageBuffer = 5,
|
||||
NonSemanticClspvReflectionArgumentPodUniform = 6,
|
||||
NonSemanticClspvReflectionArgumentPodPushConstant = 7,
|
||||
NonSemanticClspvReflectionArgumentSampledImage = 8,
|
||||
NonSemanticClspvReflectionArgumentStorageImage = 9,
|
||||
NonSemanticClspvReflectionArgumentSampler = 10,
|
||||
NonSemanticClspvReflectionArgumentWorkgroup = 11,
|
||||
NonSemanticClspvReflectionSpecConstantWorkgroupSize = 12,
|
||||
NonSemanticClspvReflectionSpecConstantGlobalOffset = 13,
|
||||
NonSemanticClspvReflectionSpecConstantWorkDim = 14,
|
||||
NonSemanticClspvReflectionPushConstantGlobalOffset = 15,
|
||||
NonSemanticClspvReflectionPushConstantEnqueuedLocalSize = 16,
|
||||
NonSemanticClspvReflectionPushConstantGlobalSize = 17,
|
||||
NonSemanticClspvReflectionPushConstantRegionOffset = 18,
|
||||
NonSemanticClspvReflectionPushConstantNumWorkgroups = 19,
|
||||
NonSemanticClspvReflectionPushConstantRegionGroupOffset = 20,
|
||||
NonSemanticClspvReflectionConstantDataStorageBuffer = 21,
|
||||
NonSemanticClspvReflectionConstantDataUniform = 22,
|
||||
NonSemanticClspvReflectionLiteralSampler = 23,
|
||||
NonSemanticClspvReflectionPropertyRequiredWorkgroupSize = 24,
|
||||
NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_NonSemanticClspvReflection_H_
|
@ -1,171 +0,0 @@
|
||||
// Copyright (c) 2018 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_NonSemanticShaderDebugInfo100_H_
|
||||
#define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
NonSemanticShaderDebugInfo100Version = 100,
|
||||
NonSemanticShaderDebugInfo100Version_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
enum {
|
||||
NonSemanticShaderDebugInfo100Revision = 6,
|
||||
NonSemanticShaderDebugInfo100Revision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100Instructions {
|
||||
NonSemanticShaderDebugInfo100DebugInfoNone = 0,
|
||||
NonSemanticShaderDebugInfo100DebugCompilationUnit = 1,
|
||||
NonSemanticShaderDebugInfo100DebugTypeBasic = 2,
|
||||
NonSemanticShaderDebugInfo100DebugTypePointer = 3,
|
||||
NonSemanticShaderDebugInfo100DebugTypeQualifier = 4,
|
||||
NonSemanticShaderDebugInfo100DebugTypeArray = 5,
|
||||
NonSemanticShaderDebugInfo100DebugTypeVector = 6,
|
||||
NonSemanticShaderDebugInfo100DebugTypedef = 7,
|
||||
NonSemanticShaderDebugInfo100DebugTypeFunction = 8,
|
||||
NonSemanticShaderDebugInfo100DebugTypeEnum = 9,
|
||||
NonSemanticShaderDebugInfo100DebugTypeComposite = 10,
|
||||
NonSemanticShaderDebugInfo100DebugTypeMember = 11,
|
||||
NonSemanticShaderDebugInfo100DebugTypeInheritance = 12,
|
||||
NonSemanticShaderDebugInfo100DebugTypePtrToMember = 13,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplate = 14,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateParameter = 15,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateTemplateParameter = 16,
|
||||
NonSemanticShaderDebugInfo100DebugTypeTemplateParameterPack = 17,
|
||||
NonSemanticShaderDebugInfo100DebugGlobalVariable = 18,
|
||||
NonSemanticShaderDebugInfo100DebugFunctionDeclaration = 19,
|
||||
NonSemanticShaderDebugInfo100DebugFunction = 20,
|
||||
NonSemanticShaderDebugInfo100DebugLexicalBlock = 21,
|
||||
NonSemanticShaderDebugInfo100DebugLexicalBlockDiscriminator = 22,
|
||||
NonSemanticShaderDebugInfo100DebugScope = 23,
|
||||
NonSemanticShaderDebugInfo100DebugNoScope = 24,
|
||||
NonSemanticShaderDebugInfo100DebugInlinedAt = 25,
|
||||
NonSemanticShaderDebugInfo100DebugLocalVariable = 26,
|
||||
NonSemanticShaderDebugInfo100DebugInlinedVariable = 27,
|
||||
NonSemanticShaderDebugInfo100DebugDeclare = 28,
|
||||
NonSemanticShaderDebugInfo100DebugValue = 29,
|
||||
NonSemanticShaderDebugInfo100DebugOperation = 30,
|
||||
NonSemanticShaderDebugInfo100DebugExpression = 31,
|
||||
NonSemanticShaderDebugInfo100DebugMacroDef = 32,
|
||||
NonSemanticShaderDebugInfo100DebugMacroUndef = 33,
|
||||
NonSemanticShaderDebugInfo100DebugImportedEntity = 34,
|
||||
NonSemanticShaderDebugInfo100DebugSource = 35,
|
||||
NonSemanticShaderDebugInfo100DebugFunctionDefinition = 101,
|
||||
NonSemanticShaderDebugInfo100DebugSourceContinued = 102,
|
||||
NonSemanticShaderDebugInfo100DebugLine = 103,
|
||||
NonSemanticShaderDebugInfo100DebugNoLine = 104,
|
||||
NonSemanticShaderDebugInfo100DebugBuildIdentifier = 105,
|
||||
NonSemanticShaderDebugInfo100DebugStoragePath = 106,
|
||||
NonSemanticShaderDebugInfo100DebugEntryPoint = 107,
|
||||
NonSemanticShaderDebugInfo100DebugTypeMatrix = 108,
|
||||
NonSemanticShaderDebugInfo100InstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugInfoFlags {
|
||||
NonSemanticShaderDebugInfo100None = 0x0000,
|
||||
NonSemanticShaderDebugInfo100FlagIsProtected = 0x01,
|
||||
NonSemanticShaderDebugInfo100FlagIsPrivate = 0x02,
|
||||
NonSemanticShaderDebugInfo100FlagIsPublic = 0x03,
|
||||
NonSemanticShaderDebugInfo100FlagIsLocal = 0x04,
|
||||
NonSemanticShaderDebugInfo100FlagIsDefinition = 0x08,
|
||||
NonSemanticShaderDebugInfo100FlagFwdDecl = 0x10,
|
||||
NonSemanticShaderDebugInfo100FlagArtificial = 0x20,
|
||||
NonSemanticShaderDebugInfo100FlagExplicit = 0x40,
|
||||
NonSemanticShaderDebugInfo100FlagPrototyped = 0x80,
|
||||
NonSemanticShaderDebugInfo100FlagObjectPointer = 0x100,
|
||||
NonSemanticShaderDebugInfo100FlagStaticMember = 0x200,
|
||||
NonSemanticShaderDebugInfo100FlagIndirectVariable = 0x400,
|
||||
NonSemanticShaderDebugInfo100FlagLValueReference = 0x800,
|
||||
NonSemanticShaderDebugInfo100FlagRValueReference = 0x1000,
|
||||
NonSemanticShaderDebugInfo100FlagIsOptimized = 0x2000,
|
||||
NonSemanticShaderDebugInfo100FlagIsEnumClass = 0x4000,
|
||||
NonSemanticShaderDebugInfo100FlagTypePassByValue = 0x8000,
|
||||
NonSemanticShaderDebugInfo100FlagTypePassByReference = 0x10000,
|
||||
NonSemanticShaderDebugInfo100FlagUnknownPhysicalLayout = 0x20000,
|
||||
NonSemanticShaderDebugInfo100DebugInfoFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100BuildIdentifierFlags {
|
||||
NonSemanticShaderDebugInfo100IdentifierPossibleDuplicates = 0x01,
|
||||
NonSemanticShaderDebugInfo100BuildIdentifierFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncoding {
|
||||
NonSemanticShaderDebugInfo100Unspecified = 0,
|
||||
NonSemanticShaderDebugInfo100Address = 1,
|
||||
NonSemanticShaderDebugInfo100Boolean = 2,
|
||||
NonSemanticShaderDebugInfo100Float = 3,
|
||||
NonSemanticShaderDebugInfo100Signed = 4,
|
||||
NonSemanticShaderDebugInfo100SignedChar = 5,
|
||||
NonSemanticShaderDebugInfo100Unsigned = 6,
|
||||
NonSemanticShaderDebugInfo100UnsignedChar = 7,
|
||||
NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugCompositeType {
|
||||
NonSemanticShaderDebugInfo100Class = 0,
|
||||
NonSemanticShaderDebugInfo100Structure = 1,
|
||||
NonSemanticShaderDebugInfo100Union = 2,
|
||||
NonSemanticShaderDebugInfo100DebugCompositeTypeMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugTypeQualifier {
|
||||
NonSemanticShaderDebugInfo100ConstType = 0,
|
||||
NonSemanticShaderDebugInfo100VolatileType = 1,
|
||||
NonSemanticShaderDebugInfo100RestrictType = 2,
|
||||
NonSemanticShaderDebugInfo100AtomicType = 3,
|
||||
NonSemanticShaderDebugInfo100DebugTypeQualifierMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugOperation {
|
||||
NonSemanticShaderDebugInfo100Deref = 0,
|
||||
NonSemanticShaderDebugInfo100Plus = 1,
|
||||
NonSemanticShaderDebugInfo100Minus = 2,
|
||||
NonSemanticShaderDebugInfo100PlusUconst = 3,
|
||||
NonSemanticShaderDebugInfo100BitPiece = 4,
|
||||
NonSemanticShaderDebugInfo100Swap = 5,
|
||||
NonSemanticShaderDebugInfo100Xderef = 6,
|
||||
NonSemanticShaderDebugInfo100StackValue = 7,
|
||||
NonSemanticShaderDebugInfo100Constu = 8,
|
||||
NonSemanticShaderDebugInfo100Fragment = 9,
|
||||
NonSemanticShaderDebugInfo100DebugOperationMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum NonSemanticShaderDebugInfo100DebugImportedEntity {
|
||||
NonSemanticShaderDebugInfo100ImportedModule = 0,
|
||||
NonSemanticShaderDebugInfo100ImportedDeclaration = 1,
|
||||
NonSemanticShaderDebugInfo100DebugImportedEntityMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
|
@ -1,158 +0,0 @@
|
||||
// Copyright (c) 2018 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_OpenCLDebugInfo100_H_
|
||||
#define SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
OpenCLDebugInfo100Version = 200,
|
||||
OpenCLDebugInfo100Version_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
enum {
|
||||
OpenCLDebugInfo100Revision = 2,
|
||||
OpenCLDebugInfo100Revision_BitWidthPadding = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100Instructions {
|
||||
OpenCLDebugInfo100DebugInfoNone = 0,
|
||||
OpenCLDebugInfo100DebugCompilationUnit = 1,
|
||||
OpenCLDebugInfo100DebugTypeBasic = 2,
|
||||
OpenCLDebugInfo100DebugTypePointer = 3,
|
||||
OpenCLDebugInfo100DebugTypeQualifier = 4,
|
||||
OpenCLDebugInfo100DebugTypeArray = 5,
|
||||
OpenCLDebugInfo100DebugTypeVector = 6,
|
||||
OpenCLDebugInfo100DebugTypedef = 7,
|
||||
OpenCLDebugInfo100DebugTypeFunction = 8,
|
||||
OpenCLDebugInfo100DebugTypeEnum = 9,
|
||||
OpenCLDebugInfo100DebugTypeComposite = 10,
|
||||
OpenCLDebugInfo100DebugTypeMember = 11,
|
||||
OpenCLDebugInfo100DebugTypeInheritance = 12,
|
||||
OpenCLDebugInfo100DebugTypePtrToMember = 13,
|
||||
OpenCLDebugInfo100DebugTypeTemplate = 14,
|
||||
OpenCLDebugInfo100DebugTypeTemplateParameter = 15,
|
||||
OpenCLDebugInfo100DebugTypeTemplateTemplateParameter = 16,
|
||||
OpenCLDebugInfo100DebugTypeTemplateParameterPack = 17,
|
||||
OpenCLDebugInfo100DebugGlobalVariable = 18,
|
||||
OpenCLDebugInfo100DebugFunctionDeclaration = 19,
|
||||
OpenCLDebugInfo100DebugFunction = 20,
|
||||
OpenCLDebugInfo100DebugLexicalBlock = 21,
|
||||
OpenCLDebugInfo100DebugLexicalBlockDiscriminator = 22,
|
||||
OpenCLDebugInfo100DebugScope = 23,
|
||||
OpenCLDebugInfo100DebugNoScope = 24,
|
||||
OpenCLDebugInfo100DebugInlinedAt = 25,
|
||||
OpenCLDebugInfo100DebugLocalVariable = 26,
|
||||
OpenCLDebugInfo100DebugInlinedVariable = 27,
|
||||
OpenCLDebugInfo100DebugDeclare = 28,
|
||||
OpenCLDebugInfo100DebugValue = 29,
|
||||
OpenCLDebugInfo100DebugOperation = 30,
|
||||
OpenCLDebugInfo100DebugExpression = 31,
|
||||
OpenCLDebugInfo100DebugMacroDef = 32,
|
||||
OpenCLDebugInfo100DebugMacroUndef = 33,
|
||||
OpenCLDebugInfo100DebugImportedEntity = 34,
|
||||
OpenCLDebugInfo100DebugSource = 35,
|
||||
OpenCLDebugInfo100DebugModuleINTEL = 36,
|
||||
OpenCLDebugInfo100InstructionsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
enum OpenCLDebugInfo100DebugInfoFlags {
|
||||
OpenCLDebugInfo100None = 0x0000,
|
||||
OpenCLDebugInfo100FlagIsProtected = 0x01,
|
||||
OpenCLDebugInfo100FlagIsPrivate = 0x02,
|
||||
OpenCLDebugInfo100FlagIsPublic = 0x03,
|
||||
OpenCLDebugInfo100FlagIsLocal = 0x04,
|
||||
OpenCLDebugInfo100FlagIsDefinition = 0x08,
|
||||
OpenCLDebugInfo100FlagFwdDecl = 0x10,
|
||||
OpenCLDebugInfo100FlagArtificial = 0x20,
|
||||
OpenCLDebugInfo100FlagExplicit = 0x40,
|
||||
OpenCLDebugInfo100FlagPrototyped = 0x80,
|
||||
OpenCLDebugInfo100FlagObjectPointer = 0x100,
|
||||
OpenCLDebugInfo100FlagStaticMember = 0x200,
|
||||
OpenCLDebugInfo100FlagIndirectVariable = 0x400,
|
||||
OpenCLDebugInfo100FlagLValueReference = 0x800,
|
||||
OpenCLDebugInfo100FlagRValueReference = 0x1000,
|
||||
OpenCLDebugInfo100FlagIsOptimized = 0x2000,
|
||||
OpenCLDebugInfo100FlagIsEnumClass = 0x4000,
|
||||
OpenCLDebugInfo100FlagTypePassByValue = 0x8000,
|
||||
OpenCLDebugInfo100FlagTypePassByReference = 0x10000,
|
||||
OpenCLDebugInfo100DebugInfoFlagsMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding {
|
||||
OpenCLDebugInfo100Unspecified = 0,
|
||||
OpenCLDebugInfo100Address = 1,
|
||||
OpenCLDebugInfo100Boolean = 2,
|
||||
OpenCLDebugInfo100Float = 3,
|
||||
OpenCLDebugInfo100Signed = 4,
|
||||
OpenCLDebugInfo100SignedChar = 5,
|
||||
OpenCLDebugInfo100Unsigned = 6,
|
||||
OpenCLDebugInfo100UnsignedChar = 7,
|
||||
OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100DebugCompositeType {
|
||||
OpenCLDebugInfo100Class = 0,
|
||||
OpenCLDebugInfo100Structure = 1,
|
||||
OpenCLDebugInfo100Union = 2,
|
||||
OpenCLDebugInfo100DebugCompositeTypeMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100DebugTypeQualifier {
|
||||
OpenCLDebugInfo100ConstType = 0,
|
||||
OpenCLDebugInfo100VolatileType = 1,
|
||||
OpenCLDebugInfo100RestrictType = 2,
|
||||
OpenCLDebugInfo100AtomicType = 3,
|
||||
OpenCLDebugInfo100DebugTypeQualifierMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100DebugOperation {
|
||||
OpenCLDebugInfo100Deref = 0,
|
||||
OpenCLDebugInfo100Plus = 1,
|
||||
OpenCLDebugInfo100Minus = 2,
|
||||
OpenCLDebugInfo100PlusUconst = 3,
|
||||
OpenCLDebugInfo100BitPiece = 4,
|
||||
OpenCLDebugInfo100Swap = 5,
|
||||
OpenCLDebugInfo100Xderef = 6,
|
||||
OpenCLDebugInfo100StackValue = 7,
|
||||
OpenCLDebugInfo100Constu = 8,
|
||||
OpenCLDebugInfo100Fragment = 9,
|
||||
OpenCLDebugInfo100DebugOperationMax = 0x7fffffff
|
||||
};
|
||||
|
||||
enum OpenCLDebugInfo100DebugImportedEntity {
|
||||
OpenCLDebugInfo100ImportedModule = 0,
|
||||
OpenCLDebugInfo100ImportedDeclaration = 1,
|
||||
OpenCLDebugInfo100DebugImportedEntityMax = 0x7fffffff
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
|
@ -1,572 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2017 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 1,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugInfoNone",
|
||||
"opcode" : 0
|
||||
},
|
||||
{
|
||||
"opname" : "DebugCompilationUnit",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Version'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'DWARF Version'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeBasic",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePointer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "StorageClass", "name" : "'Storage Class'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Literal Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeQualifier",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeArray",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeVector",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Component Count'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypedef",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeFunction",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Return Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Paramter Types'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeEnum",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Underlying Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeComposite",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "DebugCompositeType", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMember",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeInheritance",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Child'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePtrToMember",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Member Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplate",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Target'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameter",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Actual Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateTemplateParameter",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameterPack",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugGlobalVariable",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDeclaration",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunction",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Scope Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Function'" },
|
||||
{ "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlock",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlockDiscriminator",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Discriminator'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugScope",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoScope",
|
||||
"opcode" : 24
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedAt",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLocalVariable",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedVariable",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugDeclare",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugValue",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugOperation",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "DebugOperation", "name" : "'OpCode'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugExpression",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroDef",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroUndef",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Macro'" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPrivate",
|
||||
"value" : "0x02"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPublic",
|
||||
"value" : "0x03"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsLocal",
|
||||
"value" : "0x04"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsDefinition",
|
||||
"value" : "0x08"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagFwdDecl",
|
||||
"value" : "0x10"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagArtificial",
|
||||
"value" : "0x20"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagExplicit",
|
||||
"value" : "0x40"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagPrototyped",
|
||||
"value" : "0x80"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagObjectPointer",
|
||||
"value" : "0x100"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagStaticMember",
|
||||
"value" : "0x200"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIndirectVariable",
|
||||
"value" : "0x400"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagLValueReference",
|
||||
"value" : "0x800"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagRValueReference",
|
||||
"value" : "0x1000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsOptimized",
|
||||
"value" : "0x2000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugBaseTypeAttributeEncoding",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Unspecified",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Address",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Boolean",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float",
|
||||
"value" : "4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Signed",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "SignedChar",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Unsigned",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "UnsignedChar",
|
||||
"value" : "8"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugCompositeType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Class",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Structure",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Union",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugTypeQualifier",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ConstType",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "VolatileType",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RestrictType",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugOperation",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Deref",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Plus",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Minus",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PlusUconst",
|
||||
"value" : "3",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "BitPiece",
|
||||
"value" : "4",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" },
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Swap",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Xderef",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StackValue",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Constu",
|
||||
"value" : "8",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,642 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2014-2016 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Round",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "RoundEven",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Trunc",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FAbs",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SAbs",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FSign",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SSign",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Floor",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ceil",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fract",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Radians",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'degrees'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Degrees",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'radians'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sin",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cos",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tan",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asin",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acos",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y_over_x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sinh",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cosh",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Tanh",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Asinh",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Acosh",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atanh",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Atan2",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Pow",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Exp2",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Log2",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Sqrt",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InverseSqrt",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Determinant",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "MatrixInverse",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Modf",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'i'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ModfStruct",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMin",
|
||||
"opcode" : 37,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMin",
|
||||
"opcode" : 38,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMin",
|
||||
"opcode" : 39,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMax",
|
||||
"opcode" : 40,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UMax",
|
||||
"opcode" : 41,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SMax",
|
||||
"opcode" : 42,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FClamp",
|
||||
"opcode" : 43,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UClamp",
|
||||
"opcode" : 44,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SClamp",
|
||||
"opcode" : 45,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FMix",
|
||||
"opcode" : 46,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "IMix",
|
||||
"opcode" : 47,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'a'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Step",
|
||||
"opcode" : 48,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SmoothStep",
|
||||
"opcode" : 49,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'edge0'" },
|
||||
{ "kind" : "IdRef", "name" : "'edge1'" },
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Fma",
|
||||
"opcode" : 50,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'a'" },
|
||||
{ "kind" : "IdRef", "name" : "'b'" },
|
||||
{ "kind" : "IdRef", "name" : "'c'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Frexp",
|
||||
"opcode" : 51,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FrexpStruct",
|
||||
"opcode" : 52,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Ldexp",
|
||||
"opcode" : 53,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'exp'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm4x8",
|
||||
"opcode" : 54,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm4x8",
|
||||
"opcode" : 55,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackSnorm2x16",
|
||||
"opcode" : 56,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackUnorm2x16",
|
||||
"opcode" : 57,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackHalf2x16",
|
||||
"opcode" : 58,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PackDouble2x32",
|
||||
"opcode" : 59,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm2x16",
|
||||
"opcode" : 60,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm2x16",
|
||||
"opcode" : 61,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackHalf2x16",
|
||||
"opcode" : 62,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackSnorm4x8",
|
||||
"opcode" : 63,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackUnorm4x8",
|
||||
"opcode" : 64,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "UnpackDouble2x32",
|
||||
"opcode" : 65,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'v'" }
|
||||
],
|
||||
"capabilities" : [ "Float64" ]
|
||||
},
|
||||
{
|
||||
"opname" : "Length",
|
||||
"opcode" : 66,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Distance",
|
||||
"opcode" : 67,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'p0'" },
|
||||
{ "kind" : "IdRef", "name" : "'p1'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Cross",
|
||||
"opcode" : 68,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Normalize",
|
||||
"opcode" : 69,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FaceForward",
|
||||
"opcode" : 70,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'Nref'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Reflect",
|
||||
"opcode" : 71,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "Refract",
|
||||
"opcode" : 72,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'I'" },
|
||||
{ "kind" : "IdRef", "name" : "'N'" },
|
||||
{ "kind" : "IdRef", "name" : "'eta'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindILsb",
|
||||
"opcode" : 73,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindSMsb",
|
||||
"opcode" : 74,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "FindUMsb",
|
||||
"opcode" : 75,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Value'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtCentroid",
|
||||
"opcode" : 76,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtSample",
|
||||
"opcode" : 77,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'sample'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "InterpolateAtOffset",
|
||||
"opcode" : 78,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'offset'" }
|
||||
],
|
||||
"capabilities" : [ "InterpolationFunction" ]
|
||||
},
|
||||
{
|
||||
"opname" : "NMin",
|
||||
"opcode" : 79,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NMax",
|
||||
"opcode" : 80,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "NClamp",
|
||||
"opcode" : 81,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'minVal'" },
|
||||
{ "kind" : "IdRef", "name" : "'maxVal'" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,237 +0,0 @@
|
||||
{
|
||||
"revision" : 1,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "Kernel",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "Name" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentInfo",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Name" },
|
||||
{ "kind" : "IdRef", "name" : "Type Name", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Address Qualifier", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Access Qualifier", "quantifier" : "?" },
|
||||
{ "kind" : "IdRef", "name" : "Type Qualifier", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentStorageBuffer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentUniform",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodStorageBuffer",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodUniform",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentPodPushConstant",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentSampledImage",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentStorageImage",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentSampler",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ArgumentWorkgroup",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Decl" },
|
||||
{ "kind" : "IdRef", "name" : "Ordinal" },
|
||||
{ "kind" : "IdRef", "name" : "SpecId" },
|
||||
{ "kind" : "IdRef", "name" : "ElemSize" },
|
||||
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantWorkgroupSize",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantGlobalOffset",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "SpecConstantWorkDim",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Dim" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantGlobalOffset",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantEnqueuedLocalSize",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantGlobalSize",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantRegionOffset",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantNumWorkgroups",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PushConstantRegionGroupOffset",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Offset" },
|
||||
{ "kind" : "IdRef", "name" : "Size" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ConstantDataStorageBuffer",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Data" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "ConstantDataUniform",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Data" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "LiteralSampler",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "DescriptorSet" },
|
||||
{ "kind" : "IdRef", "name" : "Binding" },
|
||||
{ "kind" : "IdRef", "name" : "Mask" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "PropertyRequiredWorkgroupSize",
|
||||
"opcode" : 24,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "Kernel" },
|
||||
{ "kind" : "IdRef", "name" : "X" },
|
||||
{ "kind" : "IdRef", "name" : "Y" },
|
||||
{ "kind" : "IdRef", "name" : "Z" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"revision" : 1,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugPrintf",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Format'" },
|
||||
{ "kind" : "IdRef", "quantifier" : "*" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,713 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2018 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 6,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugInfoNone",
|
||||
"opcode" : 0
|
||||
},
|
||||
{
|
||||
"opname" : "DebugCompilationUnit",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'DWARF Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Language'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeBasic",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Encoding'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePointer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Storage Class'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeQualifier",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type Qualifier'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeArray",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeVector",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Count'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypedef",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeFunction",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Return Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeEnum",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Underlying Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeComposite",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMember",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeInheritance",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePtrToMember",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Member Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplate",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Target'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameter",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Actual Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateTemplateParameter",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameterPack",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugGlobalVariable",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDeclaration",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunction",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlock",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlockDiscriminator",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Discriminator'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugScope",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoScope",
|
||||
"opcode" : 24
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedAt",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLocalVariable",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Arg Number'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedVariable",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugDeclare",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugValue",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugOperation",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'OpCode'" },
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugExpression",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroDef",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroUndef",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Macro'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugImportedEntity",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Entity'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSource",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'File'" },
|
||||
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDefinition",
|
||||
"opcode" : 101,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Function'" },
|
||||
{ "kind" : "IdRef", "name" : "'Definition'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSourceContinued",
|
||||
"opcode" : 102,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Text'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLine",
|
||||
"opcode" : 103,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line Start'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line End'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column Start'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column End'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoLine",
|
||||
"opcode" : 104
|
||||
},
|
||||
{
|
||||
"opname" : "DebugBuildIdentifier",
|
||||
"opcode" : 105,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Identifier'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugStoragePath",
|
||||
"opcode" : 106,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Path'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugEntryPoint",
|
||||
"opcode" : 107,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Entry Point'" },
|
||||
{ "kind" : "IdRef", "name" : "'Compilation Unit'" },
|
||||
{ "kind" : "IdRef", "name" : "'Compiler Signature'" },
|
||||
{ "kind" : "IdRef", "name" : "'Command-line Arguments'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMatrix",
|
||||
"opcode" : 108,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Vector Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Vector Count'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column Major'" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPrivate",
|
||||
"value" : "0x02"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPublic",
|
||||
"value" : "0x03"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsLocal",
|
||||
"value" : "0x04"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsDefinition",
|
||||
"value" : "0x08"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagFwdDecl",
|
||||
"value" : "0x10"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagArtificial",
|
||||
"value" : "0x20"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagExplicit",
|
||||
"value" : "0x40"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagPrototyped",
|
||||
"value" : "0x80"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagObjectPointer",
|
||||
"value" : "0x100"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagStaticMember",
|
||||
"value" : "0x200"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIndirectVariable",
|
||||
"value" : "0x400"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagLValueReference",
|
||||
"value" : "0x800"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagRValueReference",
|
||||
"value" : "0x1000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsOptimized",
|
||||
"value" : "0x2000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsEnumClass",
|
||||
"value" : "0x4000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByValue",
|
||||
"value" : "0x8000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByReference",
|
||||
"value" : "0x10000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagUnknownPhysicalLayout",
|
||||
"value" : "0x20000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "BuildIdentifierFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "IdentifierPossibleDuplicates",
|
||||
"value" : "0x01"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugBaseTypeAttributeEncoding",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Unspecified",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Address",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Boolean",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float",
|
||||
"value" : "3"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Signed",
|
||||
"value" : "4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "SignedChar",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Unsigned",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "UnsignedChar",
|
||||
"value" : "7"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugCompositeType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Class",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Structure",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Union",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugTypeQualifier",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ConstType",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "VolatileType",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RestrictType",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "AtomicType",
|
||||
"value" : "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugOperation",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Deref",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Plus",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Minus",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PlusUconst",
|
||||
"value" : "3",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "BitPiece",
|
||||
"value" : "4",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Swap",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Xderef",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StackValue",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Constu",
|
||||
"value" : "8",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Fragment",
|
||||
"value" : "9",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugImportedEntity",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ImportedModule",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "ImportedDeclaration",
|
||||
"value" : "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,651 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2018 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."
|
||||
],
|
||||
"version" : 200,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugInfoNone",
|
||||
"opcode" : 0
|
||||
},
|
||||
{
|
||||
"opname" : "DebugCompilationUnit",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Version'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'DWARF Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "SourceLanguage", "name" : "'Language'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeBasic",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePointer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "StorageClass", "name" : "'Storage Class'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeQualifier",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeArray",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeVector",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Component Count'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypedef",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeFunction",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Return Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeEnum",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Underlying Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeComposite",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "DebugCompositeType", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMember",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeInheritance",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Child'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePtrToMember",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Member Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplate",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Target'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameter",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Actual Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateTemplateParameter",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameterPack",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugGlobalVariable",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDeclaration",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunction",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Scope Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Function'" },
|
||||
{ "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlock",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlockDiscriminator",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Discriminator'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugScope",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoScope",
|
||||
"opcode" : 24
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedAt",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLocalVariable",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "DebugInfoFlags", "name" : "'Flags'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedVariable",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugDeclare",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugValue",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugOperation",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "DebugOperation", "name" : "'OpCode'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugExpression",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroDef",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroUndef",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Macro'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugImportedEntity",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "DebugImportedEntity", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Entity'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSource",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'File'" },
|
||||
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugModuleINTEL",
|
||||
"opcode" : 36,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'ConfigurationMacros'" },
|
||||
{ "kind" : "IdRef", "name" : "'IncludePath'" },
|
||||
{ "kind" : "IdRef", "name" : "'APINotesFile'" },
|
||||
{ "kind" : "LiteralInteger", "name" : "'IsDeclaration'" }
|
||||
],
|
||||
"capability" : "DebugInfoModuleINTEL"
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "None",
|
||||
"value" : "0x0000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPrivate",
|
||||
"value" : "0x02"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPublic",
|
||||
"value" : "0x03"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsLocal",
|
||||
"value" : "0x04"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsDefinition",
|
||||
"value" : "0x08"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagFwdDecl",
|
||||
"value" : "0x10"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagArtificial",
|
||||
"value" : "0x20"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagExplicit",
|
||||
"value" : "0x40"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagPrototyped",
|
||||
"value" : "0x80"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagObjectPointer",
|
||||
"value" : "0x100"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagStaticMember",
|
||||
"value" : "0x200"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIndirectVariable",
|
||||
"value" : "0x400"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagLValueReference",
|
||||
"value" : "0x800"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagRValueReference",
|
||||
"value" : "0x1000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsOptimized",
|
||||
"value" : "0x2000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsEnumClass",
|
||||
"value" : "0x4000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByValue",
|
||||
"value" : "0x8000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByReference",
|
||||
"value" : "0x10000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugBaseTypeAttributeEncoding",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Unspecified",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Address",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Boolean",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float",
|
||||
"value" : "3"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Signed",
|
||||
"value" : "4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "SignedChar",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Unsigned",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "UnsignedChar",
|
||||
"value" : "7"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugCompositeType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Class",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Structure",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Union",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugTypeQualifier",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ConstType",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "VolatileType",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RestrictType",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "AtomicType",
|
||||
"value" : "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugOperation",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Deref",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Plus",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Minus",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PlusUconst",
|
||||
"value" : "3",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "BitPiece",
|
||||
"value" : "4",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" },
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Swap",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Xderef",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StackValue",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Constu",
|
||||
"value" : "8",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Fragment",
|
||||
"value" : "9",
|
||||
"parameters" : [
|
||||
{ "kind" : "LiteralInteger" },
|
||||
{ "kind" : "LiteralInteger" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugImportedEntity",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ImportedModule",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "ImportedDeclaration",
|
||||
"value" : "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
{
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "CubeFaceIndexAMD",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'P'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_gcn_shader" ]
|
||||
},
|
||||
{
|
||||
"opname" : "CubeFaceCoordAMD",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'P'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_gcn_shader" ]
|
||||
},
|
||||
{
|
||||
"opname" : "TimeAMD",
|
||||
"opcode" : 3,
|
||||
"extensions" : [ "SPV_AMD_gcn_shader" ]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
{
|
||||
"revision" : 5,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "SwizzleInvocationsAMD",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'data'" },
|
||||
{ "kind" : "IdRef", "name" : "'offset'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_ballot" ]
|
||||
},
|
||||
{
|
||||
"opname" : "SwizzleInvocationsMaskedAMD",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'data'" },
|
||||
{ "kind" : "IdRef", "name" : "'mask'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_ballot" ]
|
||||
},
|
||||
{
|
||||
"opname" : "WriteInvocationAMD",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'inputValue'" },
|
||||
{ "kind" : "IdRef", "name" : "'writeValue'" },
|
||||
{ "kind" : "IdRef", "name" : "'invocationIndex'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_ballot" ]
|
||||
},
|
||||
{
|
||||
"opname" : "MbcntAMD",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'mask'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_ballot" ]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
"revision" : 4,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "InterpolateAtVertexAMD",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'interpolant'" },
|
||||
{ "kind" : "IdRef", "name" : "'vertexIdx'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
{
|
||||
"revision" : 4,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "FMin3AMD",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UMin3AMD",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "SMin3AMD",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "FMax3AMD",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UMax3AMD",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "SMax3AMD",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "FMid3AMD",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "UMid3AMD",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
},
|
||||
{
|
||||
"opname" : "SMid3AMD",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'x'" },
|
||||
{ "kind" : "IdRef", "name" : "'y'" },
|
||||
{ "kind" : "IdRef", "name" : "'z'" }
|
||||
],
|
||||
"extensions" : [ "SPV_AMD_shader_trinary_minmax" ]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2021 Google LLC.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Linux Build Script.
|
||||
|
||||
# Fail on any error.
|
||||
set -e
|
||||
# Display commands being run.
|
||||
set -x
|
||||
|
||||
SCRIPT_DIR=`dirname "$BASH_SOURCE"`
|
||||
source $SCRIPT_DIR/../scripts/linux/build.sh UBSAN clang cmake
|
@ -1,16 +0,0 @@
|
||||
# Copyright (c) 2021 Google LLC.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Presubmit build configuration.
|
||||
build_file: "SPIRV-Tools/kokoro/linux-clang-ubsan/build.sh"
|
@ -51,7 +51,7 @@ clone_if_missing https://github.com/google/googletest external/googlete
|
||||
pushd external/googletest; git reset --hard 1fb1bb23bb8418dc73a5a9a82bbed31dc610fec7; popd
|
||||
clone_if_missing https://github.com/google/effcee external/effcee --depth=1
|
||||
clone_if_missing https://github.com/google/re2 external/re2 --depth=1
|
||||
clone_if_missing https://github.com/protocolbuffers/protobuf external/protobuf --branch v3.13.0.1
|
||||
clone_if_missing https://github.com/protocolbuffers/protobuf external/protobuf --branch v3.13.0
|
||||
|
||||
if [ $TOOL = "cmake" ]; then
|
||||
using cmake-3.17.2
|
||||
@ -79,10 +79,6 @@ if [ $TOOL = "cmake" ]; then
|
||||
SKIP_TESTS="True"
|
||||
fi
|
||||
|
||||
if [ $COMPILER = "clang" ]; then
|
||||
ADDITIONAL_CMAKE_FLAGS="$ADDITIONAL_CMAKE_FLAGS -DSPIRV_BUILD_LIBFUZZER_TARGETS=ON"
|
||||
fi
|
||||
|
||||
clean_dir "$ROOT_DIR/build"
|
||||
cd "$ROOT_DIR/build"
|
||||
|
||||
|
@ -36,7 +36,7 @@ git clone https://github.com/google/googletest external/googletest
|
||||
cd external && cd googletest && git reset --hard 1fb1bb23bb8418dc73a5a9a82bbed31dc610fec7 && cd .. && cd ..
|
||||
git clone --depth=1 https://github.com/google/effcee external/effcee
|
||||
git clone --depth=1 https://github.com/google/re2 external/re2
|
||||
git clone --depth=1 --branch v3.13.0.1 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
git clone --depth=1 --branch v3.13.0 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
|
||||
mkdir build && cd $SRC/build
|
||||
|
||||
|
@ -30,7 +30,7 @@ git clone https://github.com/google/googletest external/googletest
|
||||
cd external && cd googletest && git reset --hard 1fb1bb23bb8418dc73a5a9a82bbed31dc610fec7 && cd .. && cd ..
|
||||
git clone --depth=1 https://github.com/google/effcee external/effcee
|
||||
git clone --depth=1 https://github.com/google/re2 external/re2
|
||||
git clone --depth=1 --branch v3.13.0.1 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
git clone --depth=1 --branch v3.13.0 https://github.com/protocolbuffers/protobuf external/protobuf
|
||||
|
||||
:: #########################################
|
||||
:: set up msvc build env
|
||||
@ -41,6 +41,9 @@ if %VS_VERSION% == 2017 (
|
||||
) else if %VS_VERSION% == 2015 (
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
|
||||
echo "Using VS 2015..."
|
||||
) else if %VS_VERSION% == 2013 (
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
|
||||
echo "Using VS 2013..."
|
||||
)
|
||||
|
||||
cd %SRC%
|
||||
@ -59,8 +62,15 @@ if "%KOKORO_GITHUB_COMMIT%." == "." (
|
||||
|
||||
set CMAKE_FLAGS=-DCMAKE_INSTALL_PREFIX=%KOKORO_ARTIFACTS_DIR%\install -GNinja -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DRE2_BUILD_TESTING=OFF -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe
|
||||
|
||||
:: Build spirv-fuzz
|
||||
set CMAKE_FLAGS=%CMAKE_FLAGS% -DSPIRV_BUILD_FUZZER=ON
|
||||
:: Skip building tests for VS2013
|
||||
if %VS_VERSION% == 2013 (
|
||||
set CMAKE_FLAGS=%CMAKE_FLAGS% -DSPIRV_SKIP_TESTS=ON
|
||||
)
|
||||
|
||||
:: Skip building spirv-fuzz for VS2013; it relies on protobufs which VS2013 cannot handle.
|
||||
if %VS_VERSION% NEQ 2013 (
|
||||
set CMAKE_FLAGS=%CMAKE_FLAGS% -DSPIRV_BUILD_FUZZER=ON
|
||||
)
|
||||
|
||||
cmake %CMAKE_FLAGS% ..
|
||||
|
||||
@ -75,11 +85,13 @@ echo "Build Completed %DATE% %TIME%"
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
|
||||
:: ################################################
|
||||
:: Run the tests
|
||||
:: Run the tests (We no longer run tests on VS2013)
|
||||
:: ################################################
|
||||
echo "Running Tests... %DATE% %TIME%"
|
||||
ctest -C %BUILD_TYPE% --output-on-failure --timeout 300
|
||||
if !ERRORLEVEL! NEQ 0 exit /b !ERRORLEVEL!
|
||||
if %VS_VERSION% NEQ 2013 (
|
||||
ctest -C %BUILD_TYPE% --output-on-failure --timeout 300
|
||||
if !ERRORLEVEL! NEQ 0 exit /b !ERRORLEVEL!
|
||||
)
|
||||
echo "Tests Completed %DATE% %TIME%"
|
||||
|
||||
:: ################################################
|
||||
@ -94,3 +106,4 @@ rm -rf %SRC%\build
|
||||
rm -rf %SRC%\external
|
||||
|
||||
exit /b 0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2021 Google LLC.
|
||||
# Copyright (c) 2018 Google LLC.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@ -13,4 +13,4 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Continuous build configuration.
|
||||
build_file: "SPIRV-Tools/kokoro/linux-clang-ubsan/build.sh"
|
||||
build_file: "SPIRV-Tools/kokoro/windows-msvc-2013-release/build.bat"
|
@ -17,14 +17,11 @@ set(VIMSYNTAX_PROCESSING_SCRIPT "${spirv-tools_SOURCE_DIR}/utils/generate_vim_sy
|
||||
set(XML_REGISTRY_PROCESSING_SCRIPT "${spirv-tools_SOURCE_DIR}/utils/generate_registry_tables.py")
|
||||
set(LANG_HEADER_PROCESSING_SCRIPT "${spirv-tools_SOURCE_DIR}/utils/generate_language_headers.py")
|
||||
|
||||
# Pull in grammar files that have migrated to SPIRV-Headers
|
||||
# For now, assume the DebugInfo grammar file is in the current directory.
|
||||
# It might migrate to SPIRV-Headers.
|
||||
set(DEBUGINFO_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/unified1/extinst.debuginfo.grammar.json")
|
||||
set(CLDEBUGINFO100_GRAMMAR_JSON_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json")
|
||||
|
||||
# For now, assume the NonSemantic.Vulkan.DebugInfo grammar file is in the current directory.
|
||||
# It will later migrate to SPIRV-Headers.
|
||||
set(VKDEBUGINFO100_GRAMMAR_JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/extinst.nonsemantic.vulkan.debuginfo.100.grammar.json")
|
||||
|
||||
# macro() definitions are used in the following because we need to append .inc
|
||||
# file paths into some global lists (*_CPP_DEPENDS). And those global lists are
|
||||
# later used by set_source_files_properties() calls.
|
||||
@ -116,9 +113,6 @@ endmacro(spvtools_opencl_tables)
|
||||
macro(spvtools_vendor_tables VENDOR_TABLE SHORT_NAME OPERAND_KIND_PREFIX)
|
||||
set(INSTS_FILE "${spirv-tools_BINARY_DIR}/${VENDOR_TABLE}.insts.inc")
|
||||
set(GRAMMAR_FILE "${SPIRV_HEADER_INCLUDE_DIR}/spirv/unified1/extinst.${VENDOR_TABLE}.grammar.json")
|
||||
if(NOT EXISTS ${GRAMMAR_FILE})
|
||||
set(GRAMMAR_FILE "${spirv-tools_SOURCE_DIR}/source/extinst.${VENDOR_TABLE}.grammar.json")
|
||||
endif()
|
||||
add_custom_command(OUTPUT ${INSTS_FILE}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${GRAMMAR_PROCESSING_SCRIPT}
|
||||
--extinst-vendor-grammar=${GRAMMAR_FILE}
|
||||
@ -154,11 +148,9 @@ spvtools_vendor_tables("spv-amd-gcn-shader" "spv-amd-gs" "")
|
||||
spvtools_vendor_tables("spv-amd-shader-ballot" "spv-amd-sb" "")
|
||||
spvtools_vendor_tables("debuginfo" "debuginfo" "")
|
||||
spvtools_vendor_tables("opencl.debuginfo.100" "cldi100" "CLDEBUG100_")
|
||||
spvtools_vendor_tables("nonsemantic.vulkan.debuginfo.100" "vkdi100" "VKDEBUG100_")
|
||||
spvtools_vendor_tables("nonsemantic.clspvreflection" "clspvreflection" "")
|
||||
spvtools_extinst_lang_headers("DebugInfo" ${DEBUGINFO_GRAMMAR_JSON_FILE})
|
||||
spvtools_extinst_lang_headers("OpenCLDebugInfo100" ${CLDEBUGINFO100_GRAMMAR_JSON_FILE})
|
||||
spvtools_extinst_lang_headers("NonSemanticVulkanDebugInfo100" ${VKDEBUGINFO100_GRAMMAR_JSON_FILE})
|
||||
|
||||
spvtools_vimsyntax("unified1" "1.0")
|
||||
add_custom_target(spirv-tools-vimsyntax DEPENDS ${VIMSYNTAX_FILE})
|
||||
@ -219,7 +211,6 @@ add_subdirectory(opt)
|
||||
add_subdirectory(reduce)
|
||||
add_subdirectory(fuzz)
|
||||
add_subdirectory(link)
|
||||
add_subdirectory(lint)
|
||||
|
||||
set(SPIRV_SOURCES
|
||||
${spirv-tools_SOURCE_DIR}/include/spirv-tools/libspirv.h
|
||||
@ -235,7 +226,6 @@ set(SPIRV_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/assembly_grammar.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/binary.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cfa.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/common_debug_info.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/diagnostic.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/disassemble.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/enum_set.h
|
||||
@ -412,12 +402,6 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (ANDROID)
|
||||
foreach(target ${SPIRV_TOOLS_TARGETS})
|
||||
target_link_libraries(${target} PRIVATE android log)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(ENABLE_SPIRV_TOOLS_INSTALL)
|
||||
install(TARGETS ${SPIRV_TOOLS_TARGETS} EXPORT ${SPIRV_TOOLS}Targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
|
@ -657,18 +657,12 @@ spv_result_t Parser::parseOperand(size_t inst_offset,
|
||||
case SPV_OPERAND_TYPE_CLDEBUG100_DEBUG_OPERATION:
|
||||
case SPV_OPERAND_TYPE_CLDEBUG100_DEBUG_IMPORTED_ENTITY:
|
||||
case SPV_OPERAND_TYPE_FPDENORM_MODE:
|
||||
case SPV_OPERAND_TYPE_FPOPERATION_MODE:
|
||||
case SPV_OPERAND_TYPE_QUANTIZATION_MODES:
|
||||
case SPV_OPERAND_TYPE_OVERFLOW_MODES:
|
||||
case SPV_OPERAND_TYPE_PACKED_VECTOR_FORMAT:
|
||||
case SPV_OPERAND_TYPE_OPTIONAL_PACKED_VECTOR_FORMAT: {
|
||||
case SPV_OPERAND_TYPE_FPOPERATION_MODE: {
|
||||
// A single word that is a plain enum value.
|
||||
|
||||
// Map an optional operand type to its corresponding concrete type.
|
||||
if (type == SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER)
|
||||
parsed_operand.type = SPV_OPERAND_TYPE_ACCESS_QUALIFIER;
|
||||
if (type == SPV_OPERAND_TYPE_OPTIONAL_PACKED_VECTOR_FORMAT)
|
||||
parsed_operand.type = SPV_OPERAND_TYPE_PACKED_VECTOR_FORMAT;
|
||||
|
||||
spv_operand_desc entry;
|
||||
if (grammar_.lookupOperand(type, word, &entry)) {
|
||||
|
@ -1,64 +0,0 @@
|
||||
// Copyright (c) 2021 The Khronos Group Inc.
|
||||
// Copyright (c) 2021 Valve Corporation
|
||||
// Copyright (c) 2021 LunarG Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef SOURCE_COMMON_DEBUG_INFO_HEADER_H_
|
||||
#define SOURCE_COMMON_DEBUG_INFO_HEADER_H_
|
||||
|
||||
// This enum defines the known common set of instructions that are the same
|
||||
// between OpenCL.DebugInfo.100 and NonSemantic.Vulkan.DebugInfo.100.
|
||||
// note that NonSemantic.DebugInfo.100 instructions can still have slightly
|
||||
// different encoding, as it does not use literals anywhere and only constants.
|
||||
enum CommonDebugInfoInstructions {
|
||||
CommonDebugInfoDebugInfoNone = 0,
|
||||
CommonDebugInfoDebugCompilationUnit = 1,
|
||||
CommonDebugInfoDebugTypeBasic = 2,
|
||||
CommonDebugInfoDebugTypePointer = 3,
|
||||
CommonDebugInfoDebugTypeQualifier = 4,
|
||||
CommonDebugInfoDebugTypeArray = 5,
|
||||
CommonDebugInfoDebugTypeVector = 6,
|
||||
CommonDebugInfoDebugTypedef = 7,
|
||||
CommonDebugInfoDebugTypeFunction = 8,
|
||||
CommonDebugInfoDebugTypeEnum = 9,
|
||||
CommonDebugInfoDebugTypeComposite = 10,
|
||||
CommonDebugInfoDebugTypeMember = 11,
|
||||
CommonDebugInfoDebugTypeInheritance = 12,
|
||||
CommonDebugInfoDebugTypePtrToMember = 13,
|
||||
CommonDebugInfoDebugTypeTemplate = 14,
|
||||
CommonDebugInfoDebugTypeTemplateParameter = 15,
|
||||
CommonDebugInfoDebugTypeTemplateTemplateParameter = 16,
|
||||
CommonDebugInfoDebugTypeTemplateParameterPack = 17,
|
||||
CommonDebugInfoDebugGlobalVariable = 18,
|
||||
CommonDebugInfoDebugFunctionDeclaration = 19,
|
||||
CommonDebugInfoDebugFunction = 20,
|
||||
CommonDebugInfoDebugLexicalBlock = 21,
|
||||
CommonDebugInfoDebugLexicalBlockDiscriminator = 22,
|
||||
CommonDebugInfoDebugScope = 23,
|
||||
CommonDebugInfoDebugNoScope = 24,
|
||||
CommonDebugInfoDebugInlinedAt = 25,
|
||||
CommonDebugInfoDebugLocalVariable = 26,
|
||||
CommonDebugInfoDebugInlinedVariable = 27,
|
||||
CommonDebugInfoDebugDeclare = 28,
|
||||
CommonDebugInfoDebugValue = 29,
|
||||
CommonDebugInfoDebugOperation = 30,
|
||||
CommonDebugInfoDebugExpression = 31,
|
||||
CommonDebugInfoDebugMacroDef = 32,
|
||||
CommonDebugInfoDebugMacroUndef = 33,
|
||||
CommonDebugInfoDebugImportedEntity = 34,
|
||||
CommonDebugInfoDebugSource = 35,
|
||||
CommonDebugInfoInstructionsMax = 0x7ffffff
|
||||
};
|
||||
|
||||
#endif // SOURCE_COMMON_DEBUG_INFO_HEADER_H_
|
@ -37,7 +37,7 @@ spv_diagnostic spvDiagnosticCreate(const spv_position position,
|
||||
diagnostic->position = *position;
|
||||
diagnostic->isTextSource = false;
|
||||
memset(diagnostic->error, 0, length);
|
||||
strcpy(diagnostic->error, message);
|
||||
strncpy(diagnostic->error, message, length);
|
||||
return diagnostic;
|
||||
}
|
||||
|
||||
|
@ -1,54 +0,0 @@
|
||||
# Copyright (c) 2022 Google LLC.
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
set(SPIRV_TOOLS_DIFF_SOURCES
|
||||
diff.h
|
||||
lcs.h
|
||||
|
||||
diff.cpp
|
||||
)
|
||||
|
||||
add_library(SPIRV-Tools-diff ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_DIFF_SOURCES})
|
||||
|
||||
spvtools_default_compile_options(SPIRV-Tools-diff)
|
||||
target_include_directories(SPIRV-Tools-diff
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>
|
||||
$<BUILD_INTERFACE:${SPIRV_HEADER_INCLUDE_DIR}>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
PRIVATE ${spirv-tools_BINARY_DIR}
|
||||
)
|
||||
# We need the assembling and disassembling functionalities in the main library.
|
||||
target_link_libraries(SPIRV-Tools-diff
|
||||
PUBLIC ${SPIRV_TOOLS_FULL_VISIBILITY})
|
||||
# We need the internals of spirv-opt.
|
||||
target_link_libraries(SPIRV-Tools-diff
|
||||
PUBLIC SPIRV-Tools-opt)
|
||||
|
||||
set_property(TARGET SPIRV-Tools-diff PROPERTY FOLDER "SPIRV-Tools libraries")
|
||||
spvtools_check_symbol_exports(SPIRV-Tools-diff)
|
||||
|
||||
if(ENABLE_SPIRV_TOOLS_INSTALL)
|
||||
install(TARGETS SPIRV-Tools-diff EXPORT SPIRV-Tools-diffTargets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
export(EXPORT SPIRV-Tools-diffTargets FILE SPIRV-Tools-diffTargets.cmake)
|
||||
|
||||
spvtools_config_package_dir(SPIRV-Tools-diff PACKAGE_DIR)
|
||||
install(EXPORT SPIRV-Tools-diffTargets FILE SPIRV-Tools-diffTargets.cmake
|
||||
DESTINATION ${PACKAGE_DIR})
|
||||
|
||||
spvtools_generate_config_file(SPIRV-Tools-diff)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/SPIRV-Tools-diffConfig.cmake DESTINATION ${PACKAGE_DIR})
|
||||
endif(ENABLE_SPIRV_TOOLS_INSTALL)
|
2862
source/diff/diff.cpp
2862
source/diff/diff.cpp
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@
|
||||
// Copyright (c) 2022 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef SOURCE_DIFF_DIFF_H_
|
||||
#define SOURCE_DIFF_DIFF_H_
|
||||
|
||||
#include "source/opt/ir_context.h"
|
||||
|
||||
namespace spvtools {
|
||||
namespace diff {
|
||||
|
||||
struct Options {
|
||||
bool ignore_set_binding = false;
|
||||
bool ignore_location = false;
|
||||
bool indent = false;
|
||||
bool no_header = false;
|
||||
bool color_output = false;
|
||||
bool dump_id_map = false;
|
||||
};
|
||||
|
||||
// Given two SPIR-V modules, this function outputs the textual diff of their
|
||||
// assembly in `out`. The diff is *semantic*, so that the ordering of certain
|
||||
// instructions wouldn't matter.
|
||||
//
|
||||
// The output is a disassembly of src, with diff(1)-style + and - lines that
|
||||
// show how the src is changed into dst. To make this disassembly
|
||||
// self-consistent, the ids that are output are all in the space of the src
|
||||
// module; e.g. any + lines (showing instructions from the dst module) have
|
||||
// their ids mapped to the matched instruction in the src module (or a new id
|
||||
// allocated in the src module if unmatched).
|
||||
spv_result_t Diff(opt::IRContext* src, opt::IRContext* dst, std::ostream& out,
|
||||
Options options);
|
||||
|
||||
} // namespace diff
|
||||
} // namespace spvtools
|
||||
|
||||
#endif // SOURCE_DIFF_DIFF_H_
|
@ -1,224 +0,0 @@
|
||||
// Copyright (c) 2022 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef SOURCE_DIFF_LCS_H_
|
||||
#define SOURCE_DIFF_LCS_H_
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <functional>
|
||||
#include <stack>
|
||||
#include <vector>
|
||||
|
||||
namespace spvtools {
|
||||
namespace diff {
|
||||
|
||||
// The result of a diff.
|
||||
using DiffMatch = std::vector<bool>;
|
||||
|
||||
// Helper class to find the longest common subsequence between two function
|
||||
// bodies.
|
||||
template <typename Sequence>
|
||||
class LongestCommonSubsequence {
|
||||
public:
|
||||
LongestCommonSubsequence(const Sequence& src, const Sequence& dst)
|
||||
: src_(src),
|
||||
dst_(dst),
|
||||
table_(src.size(), std::vector<DiffMatchEntry>(dst.size())) {}
|
||||
|
||||
// Given two sequences, it creates a matching between them. The elements are
|
||||
// simply marked as matched in src and dst, with any unmatched element in src
|
||||
// implying a removal and any unmatched element in dst implying an addition.
|
||||
//
|
||||
// Returns the length of the longest common subsequence.
|
||||
template <typename T>
|
||||
uint32_t Get(std::function<bool(T src_elem, T dst_elem)> match,
|
||||
DiffMatch* src_match_result, DiffMatch* dst_match_result);
|
||||
|
||||
private:
|
||||
struct DiffMatchIndex {
|
||||
uint32_t src_offset;
|
||||
uint32_t dst_offset;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
void CalculateLCS(std::function<bool(T src_elem, T dst_elem)> match);
|
||||
void RetrieveMatch(DiffMatch* src_match_result, DiffMatch* dst_match_result);
|
||||
bool IsInBound(DiffMatchIndex index) {
|
||||
return index.src_offset < src_.size() && index.dst_offset < dst_.size();
|
||||
}
|
||||
bool IsCalculated(DiffMatchIndex index) {
|
||||
assert(IsInBound(index));
|
||||
return table_[index.src_offset][index.dst_offset].valid;
|
||||
}
|
||||
bool IsCalculatedOrOutOfBound(DiffMatchIndex index) {
|
||||
return !IsInBound(index) || IsCalculated(index);
|
||||
}
|
||||
uint32_t GetMemoizedLength(DiffMatchIndex index) {
|
||||
if (!IsInBound(index)) {
|
||||
return 0;
|
||||
}
|
||||
assert(IsCalculated(index));
|
||||
return table_[index.src_offset][index.dst_offset].best_match_length;
|
||||
}
|
||||
bool IsMatched(DiffMatchIndex index) {
|
||||
assert(IsCalculated(index));
|
||||
return table_[index.src_offset][index.dst_offset].matched;
|
||||
}
|
||||
void MarkMatched(DiffMatchIndex index, uint32_t best_match_length,
|
||||
bool matched) {
|
||||
assert(IsInBound(index));
|
||||
DiffMatchEntry& entry = table_[index.src_offset][index.dst_offset];
|
||||
assert(!entry.valid);
|
||||
|
||||
entry.best_match_length = best_match_length & 0x3FFFFFFF;
|
||||
assert(entry.best_match_length == best_match_length);
|
||||
entry.matched = matched;
|
||||
entry.valid = true;
|
||||
}
|
||||
|
||||
const Sequence& src_;
|
||||
const Sequence& dst_;
|
||||
|
||||
struct DiffMatchEntry {
|
||||
DiffMatchEntry() : best_match_length(0), matched(false), valid(false) {}
|
||||
|
||||
uint32_t best_match_length : 30;
|
||||
// Whether src[i] and dst[j] matched. This is an optimization to avoid
|
||||
// calling the `match` function again when walking the LCS table.
|
||||
uint32_t matched : 1;
|
||||
// Use for the recursive algorithm to know if the contents of this entry are
|
||||
// valid.
|
||||
uint32_t valid : 1;
|
||||
};
|
||||
|
||||
std::vector<std::vector<DiffMatchEntry>> table_;
|
||||
};
|
||||
|
||||
template <typename Sequence>
|
||||
template <typename T>
|
||||
uint32_t LongestCommonSubsequence<Sequence>::Get(
|
||||
std::function<bool(T src_elem, T dst_elem)> match,
|
||||
DiffMatch* src_match_result, DiffMatch* dst_match_result) {
|
||||
CalculateLCS(match);
|
||||
RetrieveMatch(src_match_result, dst_match_result);
|
||||
return GetMemoizedLength({0, 0});
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
template <typename T>
|
||||
void LongestCommonSubsequence<Sequence>::CalculateLCS(
|
||||
std::function<bool(T src_elem, T dst_elem)> match) {
|
||||
// The LCS algorithm is simple. Given sequences s and d, with a:b depicting a
|
||||
// range in python syntax:
|
||||
//
|
||||
// lcs(s[i:], d[j:]) =
|
||||
// lcs(s[i+1:], d[j+1:]) + 1 if s[i] == d[j]
|
||||
// max(lcs(s[i+1:], d[j:]), lcs(s[i:], d[j+1:])) o.w.
|
||||
//
|
||||
// Once the LCS table is filled according to the above, it can be walked and
|
||||
// the best match retrieved.
|
||||
//
|
||||
// This is a recursive function with memoization, which avoids filling table
|
||||
// entries where unnecessary. This makes the best case O(N) instead of
|
||||
// O(N^2). The implemention uses a std::stack to avoid stack overflow on long
|
||||
// sequences.
|
||||
|
||||
if (src_.empty() || dst_.empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
std::stack<DiffMatchIndex> to_calculate;
|
||||
to_calculate.push({0, 0});
|
||||
|
||||
while (!to_calculate.empty()) {
|
||||
DiffMatchIndex current = to_calculate.top();
|
||||
to_calculate.pop();
|
||||
assert(IsInBound(current));
|
||||
|
||||
// If already calculated through another path, ignore it.
|
||||
if (IsCalculated(current)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (match(src_[current.src_offset], dst_[current.dst_offset])) {
|
||||
// If the current elements match, advance both indices and calculate the
|
||||
// LCS if not already. Visit `current` again afterwards, so its
|
||||
// corresponding entry will be updated.
|
||||
DiffMatchIndex next = {current.src_offset + 1, current.dst_offset + 1};
|
||||
if (IsCalculatedOrOutOfBound(next)) {
|
||||
MarkMatched(current, GetMemoizedLength(next) + 1, true);
|
||||
} else {
|
||||
to_calculate.push(current);
|
||||
to_calculate.push(next);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// We've reached a pair of elements that don't match. Calculate the LCS for
|
||||
// both cases of either being left unmatched and take the max. Visit
|
||||
// `current` again afterwards, so its corresponding entry will be updated.
|
||||
DiffMatchIndex next_src = {current.src_offset + 1, current.dst_offset};
|
||||
DiffMatchIndex next_dst = {current.src_offset, current.dst_offset + 1};
|
||||
|
||||
if (IsCalculatedOrOutOfBound(next_src) &&
|
||||
IsCalculatedOrOutOfBound(next_dst)) {
|
||||
uint32_t best_match_length =
|
||||
std::max(GetMemoizedLength(next_src), GetMemoizedLength(next_dst));
|
||||
MarkMatched(current, best_match_length, false);
|
||||
continue;
|
||||
}
|
||||
|
||||
to_calculate.push(current);
|
||||
if (!IsCalculatedOrOutOfBound(next_src)) {
|
||||
to_calculate.push(next_src);
|
||||
}
|
||||
if (!IsCalculatedOrOutOfBound(next_dst)) {
|
||||
to_calculate.push(next_dst);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Sequence>
|
||||
void LongestCommonSubsequence<Sequence>::RetrieveMatch(
|
||||
DiffMatch* src_match_result, DiffMatch* dst_match_result) {
|
||||
src_match_result->clear();
|
||||
dst_match_result->clear();
|
||||
|
||||
src_match_result->resize(src_.size(), false);
|
||||
dst_match_result->resize(dst_.size(), false);
|
||||
|
||||
DiffMatchIndex current = {0, 0};
|
||||
while (IsInBound(current)) {
|
||||
if (IsMatched(current)) {
|
||||
(*src_match_result)[current.src_offset++] = true;
|
||||
(*dst_match_result)[current.dst_offset++] = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (GetMemoizedLength({current.src_offset + 1, current.dst_offset}) >=
|
||||
GetMemoizedLength({current.src_offset, current.dst_offset + 1})) {
|
||||
++current.src_offset;
|
||||
} else {
|
||||
++current.dst_offset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace diff
|
||||
} // namespace spvtools
|
||||
|
||||
#endif // SOURCE_DIFF_LCS_H_
|
@ -328,9 +328,7 @@ void Disassembler::EmitOperand(const spv_parsed_instruction_t& inst,
|
||||
case SPV_OPERAND_TYPE_CLDEBUG100_DEBUG_OPERATION:
|
||||
case SPV_OPERAND_TYPE_CLDEBUG100_DEBUG_IMPORTED_ENTITY:
|
||||
case SPV_OPERAND_TYPE_FPDENORM_MODE:
|
||||
case SPV_OPERAND_TYPE_FPOPERATION_MODE:
|
||||
case SPV_OPERAND_TYPE_QUANTIZATION_MODES:
|
||||
case SPV_OPERAND_TYPE_OVERFLOW_MODES: {
|
||||
case SPV_OPERAND_TYPE_FPOPERATION_MODE: {
|
||||
spv_operand_desc entry;
|
||||
if (grammar_.lookupOperand(operand.type, word, &entry))
|
||||
assert(false && "should have caught this earlier");
|
||||
@ -347,17 +345,7 @@ void Disassembler::EmitOperand(const spv_parsed_instruction_t& inst,
|
||||
EmitMaskOperand(operand.type, word);
|
||||
break;
|
||||
default:
|
||||
if (spvOperandIsConcreteMask(operand.type)) {
|
||||
EmitMaskOperand(operand.type, word);
|
||||
} else if (spvOperandIsConcrete(operand.type)) {
|
||||
spv_operand_desc entry;
|
||||
if (grammar_.lookupOperand(operand.type, word, &entry))
|
||||
assert(false && "should have caught this earlier");
|
||||
stream_ << entry->name;
|
||||
} else {
|
||||
assert(false && "unhandled or invalid case");
|
||||
}
|
||||
break;
|
||||
assert(false && "unhandled or invalid case");
|
||||
}
|
||||
ResetColor();
|
||||
}
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "debuginfo.insts.inc"
|
||||
#include "glsl.std.450.insts.inc"
|
||||
#include "nonsemantic.clspvreflection.insts.inc"
|
||||
#include "nonsemantic.vulkan.debuginfo.100.insts.inc"
|
||||
#include "opencl.debuginfo.100.insts.inc"
|
||||
#include "opencl.std.insts.inc"
|
||||
|
||||
@ -56,9 +55,6 @@ static const spv_ext_inst_group_t kGroups_1_0[] = {
|
||||
debuginfo_entries},
|
||||
{SPV_EXT_INST_TYPE_OPENCL_DEBUGINFO_100,
|
||||
ARRAY_SIZE(opencl_debuginfo_100_entries), opencl_debuginfo_100_entries},
|
||||
{SPV_EXT_INST_TYPE_NONSEMANTIC_VULKAN_DEBUGINFO_100,
|
||||
ARRAY_SIZE(nonsemantic_vulkan_debuginfo_100_entries),
|
||||
nonsemantic_vulkan_debuginfo_100_entries},
|
||||
{SPV_EXT_INST_TYPE_NONSEMANTIC_CLSPVREFLECTION,
|
||||
ARRAY_SIZE(nonsemantic_clspvreflection_entries),
|
||||
nonsemantic_clspvreflection_entries},
|
||||
@ -130,9 +126,6 @@ spv_ext_inst_type_t spvExtInstImportTypeGet(const char* name) {
|
||||
if (!strcmp("OpenCL.DebugInfo.100", name)) {
|
||||
return SPV_EXT_INST_TYPE_OPENCL_DEBUGINFO_100;
|
||||
}
|
||||
if (!strcmp("NonSemantic.Vulkan.DebugInfo.100", name)) {
|
||||
return SPV_EXT_INST_TYPE_NONSEMANTIC_VULKAN_DEBUGINFO_100;
|
||||
}
|
||||
if (!strncmp("NonSemantic.ClspvReflection.", name, 28)) {
|
||||
return SPV_EXT_INST_TYPE_NONSEMANTIC_CLSPVREFLECTION;
|
||||
}
|
||||
@ -146,7 +139,6 @@ spv_ext_inst_type_t spvExtInstImportTypeGet(const char* name) {
|
||||
|
||||
bool spvExtInstIsNonSemantic(const spv_ext_inst_type_t type) {
|
||||
if (type == SPV_EXT_INST_TYPE_NONSEMANTIC_UNKNOWN ||
|
||||
type == SPV_EXT_INST_TYPE_NONSEMANTIC_VULKAN_DEBUGINFO_100 ||
|
||||
type == SPV_EXT_INST_TYPE_NONSEMANTIC_CLSPVREFLECTION) {
|
||||
return true;
|
||||
}
|
||||
@ -155,7 +147,6 @@ bool spvExtInstIsNonSemantic(const spv_ext_inst_type_t type) {
|
||||
|
||||
bool spvExtInstIsDebugInfo(const spv_ext_inst_type_t type) {
|
||||
if (type == SPV_EXT_INST_TYPE_OPENCL_DEBUGINFO_100 ||
|
||||
type == SPV_EXT_INST_TYPE_NONSEMANTIC_VULKAN_DEBUGINFO_100 ||
|
||||
type == SPV_EXT_INST_TYPE_DEBUGINFO) {
|
||||
return true;
|
||||
}
|
||||
|
@ -1,638 +0,0 @@
|
||||
{
|
||||
"copyright" : [
|
||||
"Copyright (c) 2018 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."
|
||||
],
|
||||
"version" : 100,
|
||||
"revision" : 2,
|
||||
"instructions" : [
|
||||
{
|
||||
"opname" : "DebugInfoNone",
|
||||
"opcode" : 0
|
||||
},
|
||||
{
|
||||
"opname" : "DebugCompilationUnit",
|
||||
"opcode" : 1,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'DWARF Version'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Language'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeBasic",
|
||||
"opcode" : 2,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Encoding'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePointer",
|
||||
"opcode" : 3,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Storage Class'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeQualifier",
|
||||
"opcode" : 4,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type Qualifier'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeArray",
|
||||
"opcode" : 5,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeVector",
|
||||
"opcode" : 6,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Component Count'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypedef",
|
||||
"opcode" : 7,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Base Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeFunction",
|
||||
"opcode" : 8,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Return Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeEnum",
|
||||
"opcode" : 9,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Underlying Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeComposite",
|
||||
"opcode" : 10,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeMember",
|
||||
"opcode" : 11,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeInheritance",
|
||||
"opcode" : 12,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Offset'" },
|
||||
{ "kind" : "IdRef", "name" : "'Size'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypePtrToMember",
|
||||
"opcode" : 13,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Member Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplate",
|
||||
"opcode" : 14,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Target'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameter",
|
||||
"opcode" : 15,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Actual Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateTemplateParameter",
|
||||
"opcode" : 16,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugTypeTemplateParameterPack",
|
||||
"opcode" : 17,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugGlobalVariable",
|
||||
"opcode" : 18,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDeclaration",
|
||||
"opcode" : 19,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunction",
|
||||
"opcode" : 20,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Linkage Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlock",
|
||||
"opcode" : 21,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLexicalBlockDiscriminator",
|
||||
"opcode" : 22,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Discriminator'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugScope",
|
||||
"opcode" : 23,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugNoScope",
|
||||
"opcode" : 24
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedAt",
|
||||
"opcode" : 25,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Scope'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugLocalVariable",
|
||||
"opcode" : 26,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Type'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" },
|
||||
{ "kind" : "IdRef", "name" : "'Flags'" },
|
||||
{ "kind" : "IdRef", "name" : "'Arg Number'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugInlinedVariable",
|
||||
"opcode" : 27,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Inlined'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugDeclare",
|
||||
"opcode" : 28,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugValue",
|
||||
"opcode" : 29,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Local Variable'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'" },
|
||||
{ "kind" : "IdRef", "name" : "'Expression'" },
|
||||
{ "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugOperation",
|
||||
"opcode" : 30,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'OpCode'" },
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugExpression",
|
||||
"opcode" : 31,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroDef",
|
||||
"opcode" : 32,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugMacroUndef",
|
||||
"opcode" : 33,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Macro'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugImportedEntity",
|
||||
"opcode" : 34,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Name'" },
|
||||
{ "kind" : "IdRef", "name" : "'Tag'" },
|
||||
{ "kind" : "IdRef", "name" : "'Source'" },
|
||||
{ "kind" : "IdRef", "name" : "'Entity'" },
|
||||
{ "kind" : "IdRef", "name" : "'Line'" },
|
||||
{ "kind" : "IdRef", "name" : "'Column'" },
|
||||
{ "kind" : "IdRef", "name" : "'Parent'" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugSource",
|
||||
"opcode" : 35,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'File'" },
|
||||
{ "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"opname" : "DebugFunctionDefinition",
|
||||
"opcode" : 101,
|
||||
"operands" : [
|
||||
{ "kind" : "IdRef", "name" : "'Function'" },
|
||||
{ "kind" : "IdRef", "name" : "'Definition'" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"operand_kinds" : [
|
||||
{
|
||||
"category" : "BitEnum",
|
||||
"kind" : "DebugInfoFlags",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "FlagIsProtected",
|
||||
"value" : "0x01"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPrivate",
|
||||
"value" : "0x02"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsPublic",
|
||||
"value" : "0x03"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsLocal",
|
||||
"value" : "0x04"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsDefinition",
|
||||
"value" : "0x08"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagFwdDecl",
|
||||
"value" : "0x10"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagArtificial",
|
||||
"value" : "0x20"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagExplicit",
|
||||
"value" : "0x40"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagPrototyped",
|
||||
"value" : "0x80"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagObjectPointer",
|
||||
"value" : "0x100"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagStaticMember",
|
||||
"value" : "0x200"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIndirectVariable",
|
||||
"value" : "0x400"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagLValueReference",
|
||||
"value" : "0x800"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagRValueReference",
|
||||
"value" : "0x1000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsOptimized",
|
||||
"value" : "0x2000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagIsEnumClass",
|
||||
"value" : "0x4000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByValue",
|
||||
"value" : "0x8000"
|
||||
},
|
||||
{
|
||||
"enumerant" : "FlagTypePassByReference",
|
||||
"value" : "0x10000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugBaseTypeAttributeEncoding",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Unspecified",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Address",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Boolean",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Float",
|
||||
"value" : "3"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Signed",
|
||||
"value" : "4"
|
||||
},
|
||||
{
|
||||
"enumerant" : "SignedChar",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Unsigned",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "UnsignedChar",
|
||||
"value" : "7"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugCompositeType",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Class",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Structure",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Union",
|
||||
"value" : "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugTypeQualifier",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ConstType",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "VolatileType",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "RestrictType",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "AtomicType",
|
||||
"value" : "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugOperation",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "Deref",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Plus",
|
||||
"value" : "1"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Minus",
|
||||
"value" : "2"
|
||||
},
|
||||
{
|
||||
"enumerant" : "PlusUconst",
|
||||
"value" : "3",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "BitPiece",
|
||||
"value" : "4",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Swap",
|
||||
"value" : "5"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Xderef",
|
||||
"value" : "6"
|
||||
},
|
||||
{
|
||||
"enumerant" : "StackValue",
|
||||
"value" : "7"
|
||||
},
|
||||
{
|
||||
"enumerant" : "Constu",
|
||||
"value" : "8",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"enumerant" : "Fragment",
|
||||
"value" : "9",
|
||||
"parameters" : [
|
||||
{ "kind" : "IdRef" },
|
||||
{ "kind" : "IdRef" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"category" : "ValueEnum",
|
||||
"kind" : "DebugImportedEntity",
|
||||
"enumerants" : [
|
||||
{
|
||||
"enumerant" : "ImportedModule",
|
||||
"value" : "0"
|
||||
},
|
||||
{
|
||||
"enumerant" : "ImportedDeclaration",
|
||||
"value" : "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -101,7 +101,6 @@ if(SPIRV_BUILD_FUZZER)
|
||||
fuzzer_pass_outline_functions.h
|
||||
fuzzer_pass_permute_blocks.h
|
||||
fuzzer_pass_permute_function_parameters.h
|
||||
fuzzer_pass_permute_function_variables.h
|
||||
fuzzer_pass_permute_instructions.h
|
||||
fuzzer_pass_permute_phi_operands.h
|
||||
fuzzer_pass_propagate_instructions_down.h
|
||||
@ -121,10 +120,8 @@ if(SPIRV_BUILD_FUZZER)
|
||||
fuzzer_pass_split_blocks.h
|
||||
fuzzer_pass_swap_commutable_operands.h
|
||||
fuzzer_pass_swap_conditional_branch_operands.h
|
||||
fuzzer_pass_swap_functions.h
|
||||
fuzzer_pass_toggle_access_chain_instruction.h
|
||||
fuzzer_pass_wrap_regions_in_selections.h
|
||||
fuzzer_pass_wrap_vector_synonym.h
|
||||
fuzzer_util.h
|
||||
id_use_descriptor.h
|
||||
instruction_descriptor.h
|
||||
@ -225,13 +222,10 @@ if(SPIRV_BUILD_FUZZER)
|
||||
transformation_store.h
|
||||
transformation_swap_commutable_operands.h
|
||||
transformation_swap_conditional_branch_operands.h
|
||||
transformation_swap_function_variables.h
|
||||
transformation_swap_two_functions.h
|
||||
transformation_toggle_access_chain_instruction.h
|
||||
transformation_vector_shuffle.h
|
||||
transformation_wrap_early_terminator_in_function.h
|
||||
transformation_wrap_region_in_selection.h
|
||||
transformation_wrap_vector_synonym.h
|
||||
uniform_buffer_element_descriptor.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/protobufs/spvtoolsfuzz.pb.h
|
||||
|
||||
@ -298,7 +292,6 @@ if(SPIRV_BUILD_FUZZER)
|
||||
fuzzer_pass_outline_functions.cpp
|
||||
fuzzer_pass_permute_blocks.cpp
|
||||
fuzzer_pass_permute_function_parameters.cpp
|
||||
fuzzer_pass_permute_function_variables.cpp
|
||||
fuzzer_pass_permute_instructions.cpp
|
||||
fuzzer_pass_permute_phi_operands.cpp
|
||||
fuzzer_pass_propagate_instructions_down.cpp
|
||||
@ -318,10 +311,8 @@ if(SPIRV_BUILD_FUZZER)
|
||||
fuzzer_pass_split_blocks.cpp
|
||||
fuzzer_pass_swap_commutable_operands.cpp
|
||||
fuzzer_pass_swap_conditional_branch_operands.cpp
|
||||
fuzzer_pass_swap_functions.cpp
|
||||
fuzzer_pass_toggle_access_chain_instruction.cpp
|
||||
fuzzer_pass_wrap_regions_in_selections.cpp
|
||||
fuzzer_pass_wrap_vector_synonym.cpp
|
||||
fuzzer_util.cpp
|
||||
id_use_descriptor.cpp
|
||||
instruction_descriptor.cpp
|
||||
@ -420,13 +411,10 @@ if(SPIRV_BUILD_FUZZER)
|
||||
transformation_store.cpp
|
||||
transformation_swap_commutable_operands.cpp
|
||||
transformation_swap_conditional_branch_operands.cpp
|
||||
transformation_swap_function_variables.cpp
|
||||
transformation_swap_two_functions.cpp
|
||||
transformation_toggle_access_chain_instruction.cpp
|
||||
transformation_vector_shuffle.cpp
|
||||
transformation_wrap_early_terminator_in_function.cpp
|
||||
transformation_wrap_region_in_selection.cpp
|
||||
transformation_wrap_vector_synonym.cpp
|
||||
uniform_buffer_element_descriptor.cpp
|
||||
${CMAKE_CURRENT_BINARY_DIR}/protobufs/spvtoolsfuzz.pb.cc
|
||||
)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user