mirror of
https://github.com/libretro/RetroArch
synced 2025-01-31 15:32:59 +00:00
f347c2d192
* Squashed 'deps/SPIRV-Cross/' changes from 2820ab0b51..49e4117c5f 49e4117c5f Updates for main branch rename. 88c6b49959 Merge pull request #2085 from KhronosGroup/fix-2075 a085227395 Merge pull request #2084 from KhronosGroup/fix-2069 1047c13d40 GLSL: Handle textureGatherOffsets properly. f84527346d GLSL: Declare gl_in/gl_out as array more robustly. 38cd214007 Merge pull request #2083 from KhronosGroup/pr-2080 d46c10ebd3 Refactor PHI checks into block_is_noop instead. bcbe33ad11 Also consider NonSemantic ExtInst in block_is_noop. 9d8ef6b36c Update test for updated block_is_noop check. a61a541e1c Merge branch 'accept_noop' of https://github.com/loic-sharma/SPIRV-Cross into pr-2080 457fd3db70 Add tests for loops compiled with debug semantics. 07a629f149 Roll dependencies. d69a2cafe5 Accept no ops cded61dde3 Merge pull request #2076 from billhollings/ios-tier2-writable-images 284ccf5d2d Fixes from code review of adding writable images to iOS Tier2 argument buffers. 0bb28ef88a Merge pull request #2078 from KhronosGroup/fix-2072 549cde7fae Fix GCC5 build. cc2b3b61a6 Merge pull request #2077 from EpicGames/fixes_glsl 6371580f51 Fixed typo in CompilerGLSL::should_dereference() 643b7be196 MSL: Add support for writable images in iOS Tier2 argument buffers. a89dea3c49 Merge pull request #2071 from KhronosGroup/fix-2068 baf38f0593 Merge pull request #2070 from KhronosGroup/fix-2066 68a012a4f2 CFG: Handle implied access to opaque loaded values. 03b1f66ef1 GLSL: Fix row-major workaround wrapper for ES. 3c997e12eb Add C API option for enable row major workaround. c77b09b57c Merge pull request #2063 from KhronosGroup/fix-2060 451ed10e91 Merge pull request #2062 from cdavis5e/msl-spirv-assembly-fixes df76a14056 MSL: Refactor member reference in terms of one boolean. e75c496ec6 Fix MSL Access Chain 540a1e82c6 Merge pull request #2056 from cdavis5e/msl-discarded-frag-checks 061cdd2052 MSL: Don't dereference forwarded copies of `OpVariable` pointers. 5547b25afe Interleave undef values with constants and types. 06ef3de002 GLSL, MSL: Handle `OpUndef` as part of a constant composite. aa5a8c482e MSL: Prevent stores to storage resources in discarded fragments. 51d2dfe02a MSL: Add missing casts to `Op?MulExtended`. c7ce92a95b MSL: Manually update `BuiltInHelperInvocation` when a fragment is discarded. edd66a2fc9 Merge pull request #2055 from KhronosGroup/fix-2053 e8a22a7cf6 Handle ShaderDebugInfo non-semantic extension. abc31207bf Merge pull request #2052 from KhronosGroup/hlsl-mesh-shader-ext b606e4f752 HLSL: Fix test for non-block per-primitive IO. ebf779dcfb HLSL: Do not support ClipCull size > 4 in mesh shaders. 94160e8890 GLSL: Add test for mesh with non-block builtin IO. 3a066cd733 HLSL: Handle case where PerVertex block is not used. f5ef0a74fb HLSL: Make sure to test deeply nested functions in mesh shaders. e418266d25 HLSL: Some cleanups and fixes in analyze_meshlet_writes. 892f65b3a6 HLSL: Fix some warnings from review. a4d5c0c4a5 HLSL: Fix-up some style issues from review. 10f55a11eb HLSL: Add missing reference for mesh shader test. 322f1b9fb3 Fixup glslang reference. 80146a20da HLSL: Implement VK_EXT_mesh_shader 744279ec78 Merge pull request #2050 from cdavis5e/op-spec-constant-op-composite-insert 8cf99e7d44 MSL: Implement `CompositeInsert` `OpSpecConstantOp`. 3cecac74c6 Merge pull request #2051 from KhronosGroup/roll-glslang-dep 605bce39d7 Roll glslang dependency. 677299cc56 Merge pull request #2049 from KhronosGroup/fix-2046 4de9d6c2b6 MSL: Handle implicit integer promotion rules. c813d8d67b Merge pull request #2044 from KhronosGroup/fix-2038 2a49f7e82d MSL: Fix restrict vs __restrict incompatibility. 3ea057a303 Merge pull request #2045 from KhronosGroup/fix-2037 0851baf9ee Merge pull request #2043 from KhronosGroup/fix-2040 47c7fc16eb HLSL: Add option to bind vertex input smemantics by name. 04af769e85 MSL: Handle partial access chains with array-of-UBO/SSBO. 5763919669 Merge pull request #2039 from cdavis5e/raw-buffer-tess-input e698633e22 MSL: Account for composite types when assigning locations. 0b679334e4 MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders. a171087180 MSL: Support "raw" buffer input in tessellation evaluation shaders. f09ba27777 Merge pull request #2035 from KhronosGroup/fix-2032 f15d465a52 Merge pull request #2034 from KhronosGroup/fix-2028 799d8c9e35 Merge pull request #2033 from KhronosGroup/fix-2029 b5386e3ea9 HLSL: Improve support for VertexInfo aux struct. 4ecdb24e59 MSL: Expose way to query if a buffer needs array length. f3b1375b13 Add reflection support for shader record buffers. c821207ae2 Merge pull request #2027 from billhollings/msl-opstore-addr-space-cast 0a1127aa50 MSL: Emit correct address space when casting during OpStore. 81ba8f78f6 Merge pull request #2025 from KhronosGroup/fix-2009 291def0793 MSL: Add more keywords to reserved set. a7f64a8b90 MSL: Report unsupported 64-bit atomics. ddaa2da629 Merge pull request #2024 from KhronosGroup/msl-descriptor-aliasing a915e0bd4b MSL: Do not attempt to alias push constants. adf0995bb9 Merge pull request #2023 from KhronosGroup/msl-descriptor-aliasing 24dc49e692 MSL: Handle descriptor aliasing of raw buffer descriptors. 1ad6006130 Merge pull request #2021 from siegelaaron94/opengles_texture1d_textureSize 7b4c470f16 GLSL: Account for ES sampler1D to sampler2D promotion in textureSize. 6d3518e238 Merge pull request #2018 from atyuwen/master 7afbbb624a Merge pull request #2019 from billhollings/msl-OpPtrEqual-OpPtrNotEqual-OppPtrDiff 5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 1b9296e1a5 MSL: only fix up gl_FragCoord if really necessary. f6ca617825 Merge pull request #2017 from KhronosGroup/roll-deps a5a7999666 Update mesh/task test references. d7a6861f64 Update glslang/spirv-tools. 1e7e9fc32b Merge pull request #2015 from FrankXie05/vcpkg-instructions 8553588895 Merge pull request #2014 from cdavis5e/msl-shader-output-fixup 064eaebe72 MSL: Add a mechanism to fix up shader outputs. d206e54ece Add vcpkg installation instructions 210a800130 Merge pull request #2012 from KhronosGroup/mesh-shaders 4c345166dc GLSL: Implement task shaders. 5762617729 GLSL: Implement GL_EXT_mesh_shader. 6a73e68d30 Update glslang reference. ec7b9b0ce7 Update SPIR-V headers. 9fcf62784b Merge pull request #2011 from KhronosGroup/roll-deps d24f41f1d5 Update dependencies. c93ee9261e Merge pull request #2005 from atyuwen/master f40dba4919 GLSL: added an option to disable row-major-load workaround. 10f2aa77da Skip remapped vars in 'fixup_reserved_names' 9afa82e7b8 GLSL: disable row major load around on GLES. 33e19e86bf Don't rename remapped variables like 'gl_LastFragDepthARM' 61c603f3ba Merge pull request #1996 from KhronosGroup/fix-1993 bc3987e59a MSL: Fix various bugs with Ptr/U bitcasts. c084973c67 Merge pull request #1995 from KhronosGroup/fix-1992 05bbcc2d09 Do not optimize OpCompositeInsert for hoisted temporaries. a725d8fad1 Fix minor style nit from review. 1bc05ef735 Merge branch 'master' of https://github.com/gpx1000/SPIRV-Cross a9cadd4982 Merged in cts-shared-composite-variables (pull request #1) fc4a12fd4f MSL: Use a wrapper type for matrices in workgroup storage. faea931de3 MSL: Also replace `bool` with `short` in structures. 0cccd0a65a Merge pull request #1986 from KhronosGroup/fix-1975 4dfac510ed Handle multiple breaks out of switches. c24d5a7b90 Merge pull request #1985 from KhronosGroup/fix-1973 8ba0820c9d Merge pull request #1984 from KhronosGroup/fix-1972 095e9e5cee Merge pull request #1982 from RandomShaper/hlsl_subgroup_scan be904dcc1e Handle collapsed loops similar to collapsed selections. f7e98c39db Avoid detection of false loop variables. cb4e310f43 Merge pull request #1983 from KhronosGroup/fix-1979 1fe470b199 HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan. 06ca9accd7 HLSL: Add option to emit entry point name 1:1 instead of main(). d8d051381f Merge pull request #1970 from KhronosGroup/fix-1969 963fdfdf68 Handle PHI in collapsed switch constructs. f46745095d Merge pull request #1965 from billhollings/msl-physical_storage_buffer 064a697b18 MSL: Fix implicit conversion precision build error. 4185acc70d MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension. 78eb5043f9 MSL: Fixes from review for SPV_KHR_physical_storage_buffer extension. e6925974d1 Merge pull request #1966 from fred-wang/macos-snprintf 9c44a97faa address more review comments 1310f5ba4d Keep using sprintf on windows. 99f8613847 Fix compilation errors with deprecated sprintf function ba3e6ffe03 Merge pull request #1964 from sergmister/patch-1 52c7c2dab6 MSL: Add support for SPV_KHR_physical_storage_buffer extension. 1bba4d5137 Fix typo 99b59b3528 Merge pull request #1963 from KhronosGroup/convert-u-to-rtas-fix e08e0cf28d GLSL: Handle forced temporary OpConvertUToAccelerationStructureKHR. 89b1c24bdc Merge pull request #1961 from RandomShaper/hlsl_more_bitcasts d8c5e39436 HLSL: Implement bit casts between Half and UShort. 197a273fd4 Merge pull request #1959 from KhronosGroup/fix-1955-1956 df21a99d1a GLSL: Add more extension ladder fallbacks for unusual integer sizes. a97bbc24c5 Merge pull request #1958 from KhronosGroup/fix-1957 cdafafe93b Merge pull request #1954 from vkaytsanov/patch-1 533aab00b6 GLSL: Add missing KHR barycentric references. 46e4b5a3c8 Fix control flow bug where we missed continue; 612de70b38 Fix missing function in README sample 50b4d5389b Merge pull request #1953 from KhronosGroup/bary-khr e45d01c41f Emit KHR barycentrics if source enables the KHR extension. 0aedc7d128 Roll dependencies. af223101c6 Merge pull request #1952 from KhronosGroup/fix-1944 c8ab790163 Merge pull request #1951 from KhronosGroup/fix-1950 88e583d062 GLSL: Add basic support for GL_EXT_shader_atomic_float. 1c88730e12 GLSL: Implement 1D texture emulation for ES. 3f855646f0 Merge pull request #1948 from iwubcode/gl_layer_hlsl a6976d596a HLSL: fix BuiltInLayer to emit semantic 'SV_RenderTargetArrayIndex' instead of 'SV_RenderTargetIndex' b3ff97d0fe Merge pull request #1946 from KhronosGroup/fix-1943 48d50fa911 Merge pull request #1945 from KhronosGroup/fix-1938 d08ce828f4 Promote Unreachable cases into break to avoid fallthrough. 4b9e60273c Add tests for OpCompositeInsert edge cases. 23662668dd Attempt more optimal codegen for OpCompositeInsert. d0c8dc3045 Merge pull request #1942 from KhronosGroup/no-fetch-grad-workaround a3c4177324 GLSL: Don't apply Grad LOD workarounds for fetch. bfefb5f511 Merge pull request #1941 from KhronosGroup/fix-1934 832d469048 Merge pull request #1940 from KhronosGroup/fix-1935 05206005ca MSL: Potentially cast loaded Input variables. 92164d38d1 GLSL: Do not analyze precision for Undef variables. 940efca099 Merge pull request #1936 from KhronosGroup/rt-stage-cli 0b303aab16 Add --stage handling for ray tracing. 0c8a79b0b5 Merge pull request #1932 from KhronosGroup/fix-1868 7eb5ced2a0 Refactor out query for operation type/result IDs. 7a6c2da9aa GLSL: Handle more proper semantics for RelaxedPrecision. d28136cc7a GLSL: Clean up some ways of querying decoration flags. a9d23d7652 Merge pull request #1931 from EpicGames/fixes_hlsl 65431446f4 HLSL: Add missing BuiltInLayer to HLSL backend. 6ae7ddb92a Merge pull request #1930 from KhronosGroup/fix-1928 960edcd396 Merge pull request #1929 from KhronosGroup/fix-1925 10a7631d50 HLSL: Add more comprehensible reserved identifier list. 40b3053b4c Handle early reads from loop variables with initializers. c52333b984 Merge pull request #1924 from stefalie/master ee4ac5c2ce Merge pull request #1927 from billhollings/msl-interface-block-array-length-1 3bca246ad2 MSL: Emit interface block members of array length 1 as arrays instead of scalars. 089cf27119 remove newline at eof 56fd17f552 add qualifiers to reference reflect json output 05c9a14422 cli: display missing memory qualifiers for reflect and dump-resources d7cae5e7cd Merge pull request #1917 from KhronosGroup/fix-1906 0500f9ed5d Merge pull request #1916 from KhronosGroup/fix-1910 d2a4f9842b GLSL: Support GL_EXT_debug_printf. 5b18fb1bcd MSL: Pass down global RayQuery object to leaf functions. 779138f39f Merge pull request #1914 from RandomShaper/hlsl_view_index 2ea1c9b642 HLSL: Implement ViewIndex. 6a67891418 Merge pull request #1909 from skkkksdkfak/primitive_id 54c00b69a4 Translate gl_PrimitiveID to SV_PrimitiveID. 0d4ce028bf Merge pull request #1903 from KhronosGroup/fix-1900 17c52990d5 MSL: Fix goofy bugs in ray query. a3996eccf3 Merge pull request #1896 from Roy-AMD/fix-condition-issue 749be80389 Use types have same widths in loop condition. 44691aa975 Merge pull request #1899 from billhollings/forward-volatile-vars-except-builtins 85f98eb0c5 Allow volatile vars that are not builtins to be forwarded. d000b9e71c Merge pull request #1898 from KhronosGroup/pr-1859 191c57b6cc Merge pull request #1897 from KhronosGroup/fix-1763 a7eefbc114 HLSL: Disable FXC testing for rayquery shaders. cd209ff46d HLSL: Update test from review. c95338e03e Merge branch 'ray_query' of https://github.com/k-payl/SPIRV-Cross into pr-1859 7b9eaf0b5e MSL: Handle awkward mix and match of Offset / ArrayStride in constants. 251361bd6f VK_KHR_ray_query implementation 565db34cba Merge pull request #1892 from KhronosGroup/meta-lookup-cleanup 39bad2c1f9 Avoid redundant meta lookups in ParsedIR when setting member decorations. d5c3bd8b5e Merge pull request #1890 from KhronosGroup/fix-1889 4ab5bbb4e5 Fixup names of anonymous inner structs. 0b51794f01 Merge pull request #1888 from KhronosGroup/msl-ib-variable-name-alias-fix 1ec9d018fd MSL: Handle aliased variable names for resources placed in IB struct. 213c5f42ea MSL: Fix minor nits. 4ec1fb0aa9 Merge pull request #1887 from billhollings/msl-use-var-name-for-flattened-interface-struct-members 0c0fd98322 MSL: Use var name instead of var-type name for flattened interface members. 3915c37bb1 Merge branch 'fixup_gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross c4f9e4fde9 HLSL: Fix Helper Invocation wrongly allowed in compute. a1803778c2 Merge pull request #1885 from KhronosGroup/helper-invocation-rework b192b8887a MSL: Consider that gl_IsHelperInvocation can be Volatile. 15d29f00e2 Add test for SPIR-V 1.6 Volatile HelperInvocation. 93b0dc7718 Consider Volatile in should_forward(). 476b6541fa Remove forwardable bit in SPIRVariable. 5d9fc2d903 HLSL: Add test for HelperInvocation. 005c14ad6a HLSL: Implement HelperInvocationEXT. 75224c6c7c Merge branch 'gl_helper_invocation' of https://github.com/RandomShaper/SPIRV-Cross 278a4c80ed HLSL: Add support for gl_HelperInvocation 6c7a40822f Merge pull request #1881 from KhronosGroup/relax-nan-checks 31be74a853 Add relax_nan_checks options. b91ecf6077 Merge pull request #1880 from KhronosGroup/fix-1879 2ce1e5c140 Merge pull request #1878 from mysterymath/move dc62cc792b Handle OpTerminateInvocation. 2a7f436135 Merge branch 'msl-add-nested-structs-to-io-blocks-squash' 7b594c125e Fix formatting nits from review. bb4ced0280 MSL: Document clarification of location incrementing. 02d588b7e4 MSL: Fix var names in test shaders to avoid reserved identifiers. 3bb3b22b34 MSL: Non-functional fixes from PR code review. 3d4daab29d MSL: Support input/output blocks containing nested struct arrays 44c3333a1c Qualify std::move. d16183d1d2 Merge pull request #1873 from KhronosGroup/fix-1861 02440e85cf Merge pull request #1872 from KhronosGroup/fix-1867 7af0a5f820 HLSL: Do not emit VPOS fixup unless position is active. 5555f2784b MSL: Refactor and fix use of quadgroup vs simdgroup. a569680406 Merge pull request #1870 from abrachet/master 0eda71c409 Qualify move as std::move c08ee860c8 Merge pull request #1869 from xndcn/msl 1b5c406a3d MSL: append entry point args to local variable names to avoid conflicts 188dc8b13c Merge pull request #1862 from flokart-world/feature/flatten-ubo-for-hlsl 64e058aa9b Merge pull request #1863 from KhronosGroup/various-fixes ed4ded040e HLSL: Make --flatten-ubo work correctly a56b22bf4e Add more scenarios where we can guarantee forward progress. c716a9a5dd Add debug option to modify maximum number of compile iterations. 29cc18988c Fix regression from adding 64-bit switch support. 339e61a0e0 Do not emit hoisted access chain temporaries unless backend supports it. 5d9a95370f GLSL: Ensure correct signed integer type for more texture functions. 131278458e Merge pull request #1860 from KhronosGroup/docs-update a8016a6470 Update documentation for descriptor set support in MSL/HLSL. 1a36968e5d [Spirv_msl] Fix normalize on half3/half2 (#1856) 53d94a982e Merge pull request #1852 from KhronosGroup/fix-1850 5a29181b35 Merge pull request #1851 from KhronosGroup/fix-1835 5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions. ac46140ba3 Test aliased names in declared LUTs. 48b5a9069f Handle aliased names in spec constants. 08d5f5ed18 Merge pull request #1849 from KhronosGroup/fix-1844 9b25581d49 MSL: Handle constant construct of block-like array types. 79b13813c6 Merge pull request #1848 from KhronosGroup/fix-1843 5a5be7f9b9 MSL: Handle signed atomic min/max. 7dd974b9db Merge pull request #1847 from KhronosGroup/fix-1775 e940577fba Merge pull request #1846 from KhronosGroup/fix-1760 1d13a3e36a Rework how loop iteration counts are validated. ef6bde6580 Do not forward expressions which carry a huge amount of dependencies. a1bb29ccbb Merge pull request #1845 from KhronosGroup/pr-1842-fix 017cdfe25b Update references for GL_EXT_texture_buffer. 4407c0dd14 fix: GL_EXT_texture_buffer is more common than GL_OES_texture_buffer fe5a0aa72f Merge pull request #1839 from KhronosGroup/spv1.6 e8b30cc31d Merge pull request #1838 from KhronosGroup/fix-1811 7c12228359 Add sanity test for SPIR-V 1.6 modules. 7c83fc22fa Add support for LocalSizeId. 35bb328443 Test: Add --allow-localsizeid flag for spirv-val. eadca962c8 Merge pull request #1837 from KhronosGroup/roll-deps a10d72e3b1 Merge pull request #1834 from chirsz-ever/chirsz/fix-msl-copy-array fe8848a6f2 Roll dependencies. 9c0b74f73b Merge pull request #1836 from KhronosGroup/pr-1824-fixup be333e0cab MSL: Move float2->3 TessCoord fixup to a better location. 2793d22af5 Merge branch 'master' of git://github.com/cfnptr/SPIRV-Cross e0ae55d5e2 Merge pull request #1822 from etra0/add-diff 55a0291ce5 Merge pull request #1817 from etra0/fix-1784 90c252274d MSL: Allow copy array from UniformConstant storage 2acf0e73dd Fix gl_TessCoord arguments presence. Update reference shaders. a66984072b Fix incorrect MSL gl_TessCoord variable type 2bb051206b test_shaders: Add the option to generate diff instead. 905b8244e7 Clamp vector element access to vector size. e9cc640334 Merge pull request #1815 from etra0/fix-1768 25868923da Merge pull request #1819 from sindney/master 6d8302ef14 MSL: Add 64 bit switch support 4b0584ce70 ESSL: Vertex shader input doesn't support array types. 37dfb3f45f Merge pull request #1794 from etra0/master 5345051a85 Removed tracking of OpConstant and OpPhi. 7c3cb0b12c Merge pull request #1810 from billhollings/early-frag-tests-depth-out 248e9ae9ed MSL: Don't output depth and stencil values with explicit early fragment tests. 75e3752273 Added block.cases_32bit and reworked the cases fix 401296d3b8 Merge pull request #1808 from billhollings/depth-img-vs-depth-cmp 03f678dec4 Cast the switch selector in GLSL to uint32_t fd252b21ff Separate (partially) the tracking of depth images from depth compare ops. 48046646ee Fixed wrong condition and formatting. 2e0fb3a778 Merge pull request #1807 from KhronosGroup/fix-1801 f1b411c9e8 GLSL: Deal with buffer_reference_align. 1adc53b107 Merge pull request #1806 from KhronosGroup/fix-1777 21a15b90e5 Merge pull request #1804 from KhronosGroup/fix-1759 2714f5410c CFG: Handle degenerate selection constructs. e40d19bdbf MSL: Handle non-thread storage class in Modf/Frexp pointer versions. f1d4aff85e Merge pull request #1805 from KhronosGroup/fix-1776 2c53d30664 Merge pull request #1803 from KhronosGroup/fix-1802 4561ecddbd Handle Modf/Frexp in more cases. d295c2a046 Merge pull request #1800 from EddeDev/master 849978653a Merge pull request #1798 from billhollings/tess-output-clip 05e8e5a953 Correctly reflect declared buffer size for out of order members. 4dcf64a99b Fixed potential compilation error in spirv_cross_containers.hpp 250a02967d Removed unnecessary tracking of types. 4ebd56bf9e MSL: Correctly emit user(clip/cullN) for clip/cull builtins in tess output struct. f099d714f3 Removing logic in the parser 04293e03fd Merge pull request #1797 from KhronosGroup/clone-protocol 0d03516382 Always use https protocol when cloning external test deps. 061397e32e Merge pull request #1792 from billhollings/uniform-struct-packing-nested 3eb5532979 Add 64 bit support for OpSwitch be812c45e5 MSL: Remove over-zealous check for struct packing compatibility. 66adba17a8 Merge pull request #1791 from billhollings/msl-out-of-order-struct-offsets 76cb807c19 MSL: Fix type redirection when struct members are reordered to align with offsets. 29632959d2 Merge pull request #1787 from KhronosGroup/fix-1786 edf247fb1c MSL: Workaround compiler crashes when using threadgroup bool. 43eecb2360 SPIRV-Cross contribution needed for `INTEL_fragment_shader_ordering` 94dea2507e Merge pull request #1769 from audulus/spm2 f5219f47c3 Add Package.swift. 2a56c2bc04 Merge pull request #1783 from billhollings/more-unpacked-vectors ab640bc3d3 Merge pull request #1782 from KhronosGroup/fix-1781 974a0818b8 MSL: Support more usecases for unpacked vectors. 2b5e17eca5 MSL: Never used templated array for RayQuery objects. bc338710e1 MSL: Remove some redundant breaks. 5afb3d313f MSL: Fix some trivial bugs not caught by CI when adding ray query. 345a7d171c Merge pull request #1773 from congyue1977/master 2895a43274 Fix unsupported exceptions for ConvertUToAccelerationStructure & BindingTableRecordOffset. d52ec1e196 Fix all requested changes, test_shaders.py supports compiling MSL 2.4 shaders, and the Intersection Query currently only supports MSL 2.4 on the iOS platform. 6d13c99273 Merge pull request #1780 from billhollings/out-of-bounds-swizzle-fix 595eb0c21d Per spec, support undefined behavior for out-of-bounds swizzles. 597f29d09d Support Metal 2.4 Intersection Query, Implement GL_EXT_ray_query. e4243b898c Merge pull request #1766 from KhronosGroup/fix-1765 6382f15470 Test behavior around OpSelect with matrices. 6071df5840 Fix wrong detection of trivial_mix_op. 97a438d214 Merge pull request #1757 from KhronosGroup/fix-1754 f72bb3c6f5 Improve handling of INT_MIN/INT64_MIN literals. 457c00bd07 Merge pull request #1756 from KhronosGroup/fix-1753 91c25e8473 Merge pull request #1755 from KhronosGroup/fix-1751 9b2a8c7622 HLSL: Ensure synthetic NumWorkgroups variable is considered active. bb04156d3c CLI/HLSL: Don't set explicit binding for synthesized NumWorkgroups CBV. 96d95fbb31 MSVC: Workaround crtdbg macroing free(). 9462b90067 Merge pull request #1752 from billhollings/function-constants-opquantize 325f107c5b Merge pull request #1745 from billhollings/location-component-vecsize ec054dad7f MSL: Support synthetic functions in function constants. dee35bf3ce Merge pull request #1749 from billhollings/fastmath-quantize ba66a91402 MSL: Use vec<T, n> in template SpvHalfTypeSelector for function spvQuantizeToF16(). a2671e35b0 MSL: Consolidate spvQuantizeToF16() functions into a single template function. 5742047b24 MSL: Honor infinities in OpQuantizeToF16 when compiling using fast-math. 05ac99ae23 Merge pull request #1748 from billhollings/fastmath-nocontraction fb3defc9ef MSL: Honor DecorationNoContraction when compiling using fast-math. 548a23da34 MSL: Track location component to match vecsize between shader stages. fe1af2ae72 Merge pull request #1747 from KhronosGroup/ci-fix d579444a82 Merge pull request #1744 from billhollings/location-attribute-fix 6628e10fc6 Merge pull request #1746 from billhollings/fast-math-per-vulkan 3ca99bbbcc Remove tests for Ubuntu 16.04. 0f12557695 Remove obsolete Travis CI YML. 40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 86dfac12c8 MSL: Fix location and component variable matching between shader stages. b81334a513 Merge pull request #1738 from billhollings/return-value-after-discard-terminator 2a150f5a2f MSL: Add explanatory comment requested in PR review. 35e92e6ffb MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill). c2500e504d Merge pull request #1735 from billhollings/add-const-op-exprs 472f9d4f6d Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem. 5fb1ca4f0d Add support for additional ops in OpSpecConstantOp. 51d8e7be94 Merge pull request #1734 from KhronosGroup/buffer-reference-uvec2 b8f1e71907 GLSL: Emit GL_EXT_buffer_reference_uvec2 as required. d6fe75df10 Merge pull request #1732 from KhronosGroup/fix-1731 23c4480d8e Fix switch fallthrough case in some cases. 0e2880ab99 Merge pull request #1729 from KhronosGroup/fix-1726 2eea6a579b MSL: Consider that function/private variables can be block-like. 840d4483bc Merge pull request #1728 from KhronosGroup/fix-1727 5b0cafb416 Track temporary access for OpArrayLength result. c062b6b852 Merge pull request #1725 from billhollings/fix-duplicate-glposition fad1590786 Merge pull request #1722 from billhollings/row-maj-mtx-store-from-const 27e7abeab1 Merge pull request #1724 from billhollings/msl-const-expr-casting e76fcf9309 MSL: Add test for fixes to MSL constant expression type down-casting. 3105e82b2e MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused. a75fe07546 MSL: Fix casting in constant expressions with different sizes. 9552ca5473 MSL: Support row-major transpose when storing matrix from constant RHS matrix. bab4e5911b Merge pull request #1716 from KhronosGroup/terminator-access-fix cb613eb675 Handle value access in terminators. 1964799fba Merge pull request #1715 from KhronosGroup/precise-fp16-fp64 ac11a91792 GLSL: Emit precise for fp16/fp64 types as well. cd22336a38 Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify 03ad13bae6 MSL: Simplify spvSubgroupBallot(). 18f3cd6810 GLSL: Ensure ray query object decls are flushed if allocated in Function. e51630595f Merge pull request #1711 from KhronosGroup/fix-1690 5b227cc57c GLSL: Implement GL_EXT_ray_query. 6196e3b029 MSL: Remove redundant path for SampleMask. 2fcbef398c Merge pull request #1709 from billhollings/fix-sample-mask-in fe08bf4af4 Remove EXPERIMENTAL from JSON reflection backend. ebb5098def MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask. be3988b13c Merge pull request #1706 from SpaceIm/fix/ios-bundle a70ce5192e Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain 71b83a18f4 MSL: Add test for scalar access chain pull interpolant. d42c0b2e08 Merge pull request #1707 from billhollings/fix-interpolant-access-chain 3e04eee491 MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration. d74eaabde0 fix cross-build to iOS/tvOS/watchOS 1ae2b58f19 Merge pull request #1700 from pkasting/master bf746bd680 Merge pull request #1699 from KhronosGroup/pervertexnv 7cdab07efe Fix -Wunreachable-code-aggressive. 206ee8f171 GLSL: Support pervertexNV in NV barycentric extension. c5b8022e61 Merge pull request #1669 from KhronosGroup/1560-reuse1 54882ad16d Add GLSL.std.450.h to REUSE. 3781d49d7c .gitignore ignored new license text c862f8d22d Actually checkout repo into new reuse job f2a65545b8 Finish adding SPDX tags and setup a reuse checked in Github Actions CI 2ceca64004 Add missing copyright headers. 853e84e8bf Merge pull request #1698 from KhronosGroup/fix-1691 d6b29ab017 HLSL: Rewrite how block IO is emitted. 9338996f3b Merge pull request #1697 from KhronosGroup/fix-1693 3149095585 Merge pull request #1696 from KhronosGroup/fix-1694 d75666b170 GLSL: Emit num_views for OVR_multiview2. 8216e87f02 Handle SPIR-V 1.4 selection constructs. 9cdeefb5e3 Merge pull request #1692 from Kangz/fix_default_copy_dtor 6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor 2e1b5fb39e Merge pull request #1686 from KhronosGroup/fix-1684 fa42f1ce34 Merge pull request #1685 from KhronosGroup/fix-1683 449f68ef3b Ensure loop control flow hints only appear above loops. d62b3c2b92 GLSL: Implement control flow hints. 165dbff228 Handle odd type for textureGather component. 585fc6f3cb MSL: Always enable support for base vertex/index on iOS. a6ce49ca24 Merge pull request #1680 from xndcn/cc 02fb8f2a24 Add comment after inf/nan float number for clarifying. ff61890722 Merge pull request #1679 from okuoku/fix-c-sample-code 38c6ef1d56 Fix C sample code in README.md faec1a8643 Merge pull request #1678 from KhronosGroup/fix-1674 9ea0e8b859 Merge pull request #1677 from KhronosGroup/fix-1673 c87cb54499 MSL: Add CLI option for sampler suffix. bf3793dd35 MSL: Improve handling of split tessellation access chains. a6c9514856 Merge pull request #1676 from KhronosGroup/fix-1671 0214990e7c Merge pull request #1675 from KhronosGroup/fix-1670 26a4986009 GLSL: Implement noncoherent framebuffer fetch. 99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib. a64ddcdd49 MSL: Handle array of IO variable with Component decoration. 418542eaef Merge pull request #1668 from KhronosGroup/fix-1665 b8115ffbe0 HLSL: Implement invariant as precise. e47a30e807 Honor NoContraction qualifier. 0eeaffe048 Merge branch '16-bit-int-types-glsl' 6dbab0df47 Update reference output. 0408c592dd Fixed 16 bit int types 72a2ec4c1b MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662) 995c7981cc Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch 098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages. c624d5387c Merge pull request #1660 from KhronosGroup/fix-1658 82a77e534e MSL: Use proper array for quad tess levels. b38e3b4a47 Merge pull request #1661 from KhronosGroup/fix-1659 0e963c62b6 HLSL: Support Shuffle wave ops. bbcef69a45 Merge pull request #1657 from KhronosGroup/fix-1607 532f65583e Rewrite how non-uniform qualifiers are handled. d137abeef5 Merge pull request #1655 from KhronosGroup/fix-1640 8e24e0b224 Merge pull request #1654 from KhronosGroup/fix-1641 71eb1754e3 Merge pull request #1653 from KhronosGroup/fix-1638 2cbc7f0f37 Merge pull request #1652 from KhronosGroup/fix-1644 b084f639cb Merge pull request #1651 from KhronosGroup/fix-1645 c89b5a1a3f GLSL: Support shading rate builtins. 3fd148450a GLSL: Implement gl_FragFullyCoveredNV. f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted. 90c70e6605 MSL: Handle variable access in OpSelect. 96ba044f01 HLSL: Fix automatic location assignment in block IO. 3cb8e7c223 Merge pull request #1643 from KhronosGroup/fix-1639 ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables. 986196030d MSL: Don't use native arrays for tess level inputs. 4a379a00f3 MSL: Don't emit native array for masked clip/cull distance. 406af8ff4d c: Add C API for builtin stage IO reflection. b4a380a04c Support reflecting builtins. 852f2da63c Check SPIR-V 1.4 rules when reflecting resources. 682a227f4b MSL: Make builtin argument type declaration context sensitive. c1edd35d57 MSL: Use spvUnsafeArray for builtin arrays after all. 7b9a591aa7 MSL: Hoist out to_tesc_invocation_id() in more places. 75ed73818c MSL: Handle loading Clip/CullDistance in TESE. a159334895 MSL: Correctly analyze if builtin block is active. cea934c03f MSL: Test that we can capture cull distance to buffer. 5826298697 MSL: Handle CullDistance better. 23da445bd4 MSL: Emit multiple threadgroup slices for multi-patch. b442500204 MSL: Unroll initializations of CullDistance/ClipDistance control points. c9946296dd MSL: Fix initialization of masked threadgroup variables. ee85bb345e Fix print_help comment. faf80b08fc MSL: Don't report fallback location allocations as being "used". adc5fe3615 C: Add C api for stage output masking. 5e9c2d060e MSL: Cleanup fallback IO block emission. e32c474911 MSL: Handle masking of TESC IO block members. dc54f75eec MSL: Fixup gl_PerVertex names if we're emitting masked builtins. 40f628f49c MSL: Add test for complex control point outputs. 46c48ee6b5 MSL: Rewrite how IO blocks are emitted in multi-patch mode. 425e968720 MSL: Handle flattening of patch block outputs as well. 8e2dbe0d38 MSL: Do not declare patch variables on stack. ff3f5bcba5 MSL: Handle masking of builtin control points. 6ecdd64a91 MSL: Emit a masked builtin IO block if necessary. 436b1250da MSL: Do not perform scalar fixups for control-point outputs. 22c9b63e78 MSL: Fix argument_decl check for builtin. c635c35c12 MSL: Temporarily allow empty output struct. a59e25db18 MSL: Small refactors. 74b2acab9b MSL: Always emit block variable for block types. ae7bb41ef4 MSL: Test that we can mask location writes in TESC. 3255d6cef0 MSL: Explicitly only consider masked variables to be thread-group-like. ba93b6518d MSL: Fix masking of vertex block outputs. a393de31e6 MSL: Refactor out variable/block member masking. 857295a9ab MSL: Add tests for masking with --for-tess. 43b6ea2c9a MSL: Remove position mask tests. They will fail compilation. e7b37392bf MSL: Emit correct address space for masked arguments. 65b5ff7ece MSL: Don't emit weird reference type for spvUnsafeArray types. e7824c8b6e MSL: Handle masked outputs in extract_global_variables. 50a6bc058a MSL: Force builtin arrays for builtin array types. 88b54f5dab MSL: Add tests for vertex output masking. 394c038bfd MSL: Do not consider effective storage for any composite. 04988b89b9 MSL: Handle effective storage for masked CP outputs. f2b5fb3f45 MSL: Emit threadgroup storage class for masked control point outputs. ea91579a7f MSL: Do not redirect tess access chains on masked outputs. 9c1cadd440 Add --mask-stage-output-* CLI options. f682e89188 MSL: Correctly emit array type for masked outputs. 2a2d57df13 MSL: Sketch out API to aid LTO-style optimization. 9a144bb2b9 Clean up member sorting. 0997e81118 MSL: Sort builtin IO block members by builtin type. b4aa6dacfa MSVC: Add /bigobj for debug builds. 45818c14e4 Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs b3bfe22eaa MSL: Fixes to support padding Metal argument buffer entries based on argument index. daba0dfba6 MSL: Fixes to support padding Metal argument buffer entries based on argument index. 9060e5a13c MSL: Fixes to support padding Metal argument buffer entries based on argument index. 9866cf4496 MSL: Fixes to support padding Metal argument buffer entries based on argument index. 6c0e11f907 Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs 582749ac68 Merge pull request #1650 from Dredhog/active-builtins-c-api edde535574 c: Remove SPVC_PUBLIC_API prefix from API implementation 215f31b33f c: Add missing API to query active builtins. 17dab614dc MSL: Support padding Metal argument buffer entries based on argument index. d2e1e7ba98 Fix Github CI in PRs. 28ae7b8f35 Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member e2f7a753d2 Move condition to default block 0a0c9db9be MSL: Support long ulong types in buffers in 2.3+. 84d1f8aa2a Use Github actions CI tag. 2e000a0be4 Add GitHub Actions script. 60aa24566e Merge pull request #1633 from KhronosGroup/fix-1626 ee31e84e30 GLSL: Handle complex load/store scenarios to gl_SampleMask. fb1f295aaf Merge pull request #1635 from KhronosGroup/fix-1627 5d846acee5 Merge pull request #1634 from KhronosGroup/fix-1625 0ac70fa7ca Merge pull request #1632 from KhronosGroup/fix-1629 4ca06c7278 Handle edge cases in OpCopyMemory. aea6d29aa8 MSL: Add test for logical subgroup arith ops. d6c2c1b39a HLSL: Support logical subgroup ops. 5570043af3 GLSL: Add support for Logical subgroup ops. bc4cb1b3c5 Throw if SPIR-V module has no entry points. d57ab68a21 Merge pull request #1630 from KhronosGroup/fix-1628 97796e0609 MSL: Deal with pointer-to-pointer qualifier ordering. 621884d709 Merge pull request #1622 from KhronosGroup/fix-1619 da238e5f12 Merge pull request #1623 from phuang/patch-2 c66a571057 Add two missing source files b1e36a1f78 Merge pull request #1621 from KhronosGroup/fix-1618 85704f70bc MSL: Handle load and store to TessLevel array in TESC. ce552f4f91 MSL: Gracefully assign automatic input locations to builtin attributes. aa271c1460 MSL: Refactor out location consumption count computation. 6f1f6775f3 Add comment where aux image atomic buffers are reflected from. 92d379bab4 Merge pull request #1620 from phuang/patch-1 bc3416a18f Fix build errors on Windows bae17e8204 Merge pull request #1617 from KhronosGroup/fix-1608 5789e3eed9 Merge pull request #1616 from KhronosGroup/fix-1609 daddbd4078 MSL: Fixup type when using tessellation levels in TESC functions. 0ad12a0036 MSL: Always return [[position]] when required. 05a1a07f70 Merge pull request #1615 from KhronosGroup/fix-1612 09dc76f68a c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option. 8f5ab50fb8 Merge pull request #1614 from KhronosGroup/fix-1610 21a931613e HLSL: Add vector to illegal names list. 4741bbaa64 Merge pull request #1606 from billhollings/position-invariance 8e03cb60a5 Expose position invariance. 84a41cd488 Merge pull request #1603 from KhronosGroup/small-improvements ea02a0c03a Check entry point variables in is_hidden_variables. 4bedad3860 Handle nonuniformEXT qualifier for acceleration structures. 7ab3f3f74e Deal better with CompositeExtract from constant composite. 66fb0bd9df GLSL: Handle tracing against incoming payload/callable. 9acb9ec31f Merge pull request #1594 from KhronosGroup/fix-1591 a5eaf2f44a Merge pull request #1595 from KhronosGroup/copyright-update 4704482bbc meta: Update copyright headers to 2021. 4c866e4662 Fix pathological complexity explosion for certain shaders. 820179bf46 Merge pull request #1590 from KhronosGroup/fix-1584 2097c30985 GLSL: Support both SPV_KHR_ray_tracing and NV_ray_tracing. 702c903f98 Merge pull request #1589 from KhronosGroup/roll-deps ce18d1b8a5 CLI: Fix silly regression with handling of -V. 5d82d32e0f Roll dependencies. 0e5078dc0c Merge pull request #1588 from KhronosGroup/fix-1582 893a011299 MSL: Fix various bugs with framebuffer fetch on macOS and argument buffers. 3136e34215 MSL: Always use input_attachment_index for framebuffer fetch binding. 134a520034 Merge pull request #1587 from KhronosGroup/refactor-active-variable-consideration 03ee71e86c Add test for pure initializer gl_FragDepth. 3776d8978c GLSL: Force block declaration if clip/cull is used in tesc. 014b3bc5ea MSL: Make sure initialized output builtins are considered active. a4a9b53b5b MSL: Always enable Outputs in vertex stages. fa76d01203 MSL: Only consider builtin variables if they are part of IO interface. c8837d7d80 MSL: Very slight refactor. 234c65c0f3 Merge pull request #1585 from KhronosGroup/fix-1569 72e9f619a9 Merge pull request #1583 from KhronosGroup/fix-1567 42ec132357 Merge pull request #1581 from KhronosGroup/fix-1554 c033a93951 GLSL: Fix -Wshadow error. 1a28a04333 GLSL: Update SPIR-V headers for modified ray tracing opcodes. 02b7f9cbe9 CLI: Add stdin support. efed4c9738 MSL: Fix initializer for tess level outputs. ab9200ffdf MSL: Don't flatten builtin arrays unless they're part of IO interface. df4f8ef8fe MSL: Emit correct initializer for tessellation control points. ad3e1584f9 MSL: Handle initializers for tess levels. 39fee93906 GLSL: Refactor out Output variable initialization. 6a3ea0385e GLSL: Add test for initializing tess level output. 175381fe08 GLSL: Handle some extreme edge cases in Output variable initialization. 7b7a21c405 Merge pull request #1578 from KhronosGroup/fix-1568 1a38fec382 Minor redundant nit. a1c784f002 More robust handling of initialized output builtin variables. 9a304fe931 Handle output IO block initializers more robustly. 49ab12919c Merge pull request #1577 from KhronosGroup/fix-1574 3514c9ff33 Merge pull request #1576 from KhronosGroup/fix-1571 3a85d1c80c CMake: Disable compiler extensions explicitly. ddb3c65648 Handle reserved identifiers for functions. c4ff129fe3 MSL: Handle reserved identifiers for entry point. e50f7d1ce8 Merge pull request #1566 from KhronosGroup/subgroup-table-fix c8765a75f2 GLSL: Fix KHR subgroup extension table for subgroups. 762c3082ae Merge pull request #1564 from KhronosGroup/fix-1558 1eb42eb18c Merge pull request #1563 from KhronosGroup/fix-1559 a11c4780d0 GLSL: Emit nonuniformEXT in correct place for late-combined samplers. dc940846d7 GLSL/HLSL: Disallow VariablePointers capability outright. 6d10da0224 Merge pull request #1553 from comex/no-subgroups-in-vertex-shaders f41b59b36e Merge pull request #1557 from KhronosGroup/mit-dual-license-api cf1e9e0643 Add MIT dual license for the SPIRV-Cross API. 0b79db773f Merge branch 'master' of git://github.com/js6i/SPIRV-Cross c09a65c12d MSL: Added fmin3 and fmax3 library functions to the illegal name list. 5a85fa9400 msl: Don't try to use [[thread_index_in_simdgroup]] in vertex shaders. be527632a6 Merge branch 'unused' of git://github.com/comex/SPIRV-Cross c80cbde7aa spirv_msl: Don't add fixup hooks for builtin variables if they're unused. 3d16060c32 Merge pull request #1551 from cdavis5e/msl-subgroup-inactive-ballot-mask 1e67b21ee9 MSL: Don't mask off inactive bits in ballot masks. 1f178be3c9 Merge branch 'msl-sample-rate-position' of git://github.com/cdavis5e/SPIRV-Cross fd738e3387 MSL: Adjust FragCoord for sample-rate shading. 782916a797 Merge pull request #1549 from KhronosGroup/various-fixes e07f0a9df5 GLSL: Fix buffer_reference with aliased names. c5826b4b69 GLSL: Emit storage qualifiers for buffer_reference. 650b5e1b12 HLSL: Fix validation with FXC for test. 6a614cc7f7 Normalize all internal workaround methods to use spv prefix. 35d3b9c3e7 Merge branch 'msl-subgroup-ops-2' of git://github.com/cdavis5e/SPIRV-Cross dabdf4eff6 Merge pull request #1547 from scribam/cmake-minimum-required 1eb4852856 CMake: Set minimum required version to 3.0 68908355a9 MSL: Expand subgroup support. 58291963c6 Merge branch 'glsl-vertex-attrib-64bit' of git://github.com/rdb/SPIRV-Cross df5e3730ca GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10 b3c59263a0 Merge pull request #1541 from cdavis5e/msl-ios-features 88e25e60ec MSL: Expose some more features on iOS. 1ee2d13873 MSL: Add missing reference file. ef0256c23e Fix switch fallthrough 0d6fad4ab9 Merge branch 'extract_subgroup_ops' of git://github.com/js6i/SPIRV-Cross 9c2c0a23b9 Merge pull request #1533 from rdb/texture-fetch-size-fallbacks 10fa5f62aa GLSL: Legacy / extension fallbacks for textureSize and texelFetch f0239bce05 MSL: extract global variables from subgroup ballot operations 6fc2a0581a Run format_all.sh. 71fcf0d9e6 Update texture gather test result. 008f3baad7 Merge branch 'arb-texture-gather' of git://github.com/rdb/SPIRV-Cross 46bf1e99d6 Merge pull request #1525 from cdavis5e/msl-interpolation-functions 509908d8db GLSL: Add error checking and extension fallback for textureGather 683c3f5c3f Merge pull request #1530 from rdb/legacy-glsl-round ea334c14bc Merge pull request #1527 from rdb/legacy-transpose 2417010046 Merge pull request #1528 from rdb/fix-legacy-vertex-shader-lod 1648747fa7 Merge pull request #1529 from KhronosGroup/fix-msl-gather-regression b3bd674aa7 GLSL: Remove unused `lod` argument from legacy_tex_op() bf71994dae GLSL: implement transpose() in GLSL 1.10 / ES 1.00 9e6e5d2738 GLSL: Fix round/roundEven for legacy GLSL. e8c500ceef GLSL: Fix support for textureLod in legacy vertex shaders db13762297 MSL: Fix regression in image gather handling. aca9b6879a MSL: Support pull-model interpolation on MSL 2.3+. a20c768698 Merge pull request #1524 from rdb/hlsl-round-even 854f566869 HLSL: Support roundEven() in HLSL SM 4.0 and above 2e1bdeb212 Merge pull request #1520 from rdb/dx9-dref-samplers 135933d59e HLSL: Add regression test for SM3.0 texture samplers 18893ba3b9 HLSL: Support depth comparison texture sampling in SM 2/3. fc644b50e6 Merge pull request #1523 from KhronosGroup/fix-1512 512e851185 Merge pull request #1522 from KhronosGroup/fix-1510 b3344174f7 HLSL: Add option to flatten matrix vertex input semantics. 1f018b0fb8 Parser: Don't assume OpTypePointer will always take a SPIRType. 244839d350 Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing 4bdd49df3f Syntax and format updates from code review. c5a3f37a1c Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad dcd66c283c Merge pull request #1521 from devshgraphicsprogramming/master 6402586015 Updated ref file for subgroups_basicvoteballot.vk.comp 9a1af25f02 Merge pull request #2 from KhronosGroup/master 6c5f394b09 Fix some bad assumptions about emulating `subgroupBarrier` 7f67abe0fe Minor format and typo updates from code review. 547c29f7bb MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3. 8884b34940 Merge pull request #1517 from atyuwen/master 303f813166 Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling 439b666829 GLSL: Fix nonuniformEXT injection. 871a023877 fixed compile error with -std=c++20 541a801fed Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch c8a43876c7 added metal keyworld: "level" (#1501) b7b0e804e5 MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing). c20d5945a2 MSL: Allow framebuffer fetch on Mac in MSL 2.3. 78c6d2d628 Merge pull request #1509 from cdavis5e/mac-post-depth-coverage 08e49bfd67 Merge pull request #1508 from KhronosGroup/fix-1507 346b0b6c21 Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround d48d2a95c7 MSL: Allow post-depth coverage on Mac in MSL 2.3. 542d460364 Handle case where block is loop header, continue AND break block. e47561a28b GLSL: Support a workaround for loading row-major matrices. 5ae9153a78 Merge pull request #1505 from cdavis5e/msl-vertex-writes 1b6b9705e6 MSL: For 2.1+, don't disable rasterization for vertex writes. 1a95017d11 Merge pull request #1503 from KhronosGroup/travis-python-update b3a74f3a22 Merge pull request #1504 from KhronosGroup/fix-1502 f65f259ab7 MSL: Do not use component::x gather for depth2d textures. 1d68cbfb1b Update TravisCI python reference. dd35821f2f Merge pull request #1499 from cdavis5e/subgroup-fixes 1264e2705e MSL: Cast broadcast booleans to ushort. 065b5bda3c MSL: Mask ballots passed to Ballot bit ops. 781367d083 MSL: Support vectors with OpGroupNonUniformAllEqual. 6ccb902462 MSL: Correct definitions of subgroup ballot mask variables. a57b4b1b2e Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant 064ed448b9 MSL: Don't remove periods from swizzle buffer index exprs. 7b80307a7d Merge pull request #1495 from cdavis5e/1d-2d-offset-grad 5845e009ea MSL: Handle Offset and Grad operands for 1D-as-2D textures. 0db1569e97 Merge pull request #1492 from KhronosGroup/non-native-matrix-fix 9c220a8247 Merge pull request #1490 from KhronosGroup/fix-1488 23a0cfc842 Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast 3e6010d8c5 MSL: Don't use a bitcast for tessellation levels in tesc shaders. 120af42616 GLSL: Use need_transpose when checking for non-native matrix. bd1ee4344e MSL: Support querying and modifying generated combined sampler suffix. 7332b44c3c Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord 21d38f74ce MSL: Fix calculation of atomic image buffer address. e827a06984 Merge pull request #1487 from cdavis5e/msl-atomic-image-interlock 7a5d0d6b29 MSL: Add missing interlock handling to atomic image buffers. fab6ad234e Merge pull request #1486 from cdavis5e/atomic-image-argument-buffer cc7aabce72 Merge pull request #1485 from cdavis5e/msl23-demote-to-helper 9cafea6cf8 MSL: Support atomic access to images from argument buffers. 2219c4a392 MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3. 401af49326 Merge pull request #1482 from KhronosGroup/gl-subgroup-merge 5619329665 Style nits for GL subgroup implementation. a6f6547cf1 Add missing VK variant of the test file. 28994a3186 Update GL subgroup test file. 819c599ecd Merge branch 'issues1350-2' of git://github.com/devshgraphicsprogramming/SPIRV-Cross into master db52e277b9 Resolved issues 1350, 1351, 1352 5cc2e4f634 Merge pull request #1475 from KhronosGroup/fix-1474 e0c9aad934 GLSL: Add support for transform_feedback3 geometry streams. 7a99d1cb72 GLSL: Use literal array size for cull/clip array sizes. e6f5ce6b89 Merge pull request #1471 from KhronosGroup/fix-1467 6254be910e Merge pull request #1470 from KhronosGroup/fix-1469 34a6a45fba Work around MSVC warning. 5ea576ece2 Allow flip_vert_y in all relevant stages. ea3cd74426 Merge pull request #1468 from dj2/roll-09-22 9880b05572 Roll dependencies. 8891bd3512 Merge pull request #1466 from KhronosGroup/fix-1465 2144274a91 Clean up conditional branch codegen. 54cc0b01f6 Deal with case where a selection construct conditionally merges/breaks. 16d9fea77c Merge pull request #1463 from KhronosGroup/fix-1462 66afe8c499 Implement a simple evaluator of specialization constants. bdbef7b1f3 Merge pull request #1461 from Kangz/fix-warnings bcd71536e2 Fix -Wduplicate-enum and -Wrange-for-analysis. ba2d0e17d3 Merge pull request #1460 from KhronosGroup/fix-1458 446596643a Roll glslang/SPIRV-Tools deps. 18d03b3ea6 Handle OpUndef %void. bad9dab8df Merge pull request #1457 from cdavis5e/msl-layered-subpass-data 4cf840ee7b MSL: Support layered input attachments. c7507e39d4 Merge pull request #1456 from KhronosGroup/fix-1455 3360daa6f3 MSL: Fix OpCompositeInsert and OpVectorInsertDynamic. 9e3dbdc8d6 Merge pull request #1454 from cdavis5e/msl-multiview-non-layered cab7335e64 MSL: Don't set the layer for multiview if the device doesn't support it. 4752a44f9e Merge pull request #1453 from cdavis5e/msl-multiview-base-instance 53080ecca8 MSL: Fix multiview view index calculation with a non-zero base instance. 685f86471e Merge pull request #1452 from KhronosGroup/minor-nits 95993f78af Run format_all.sh. ee1b4e7042 Work around annoying warning on GCC 10.2. eec76b04c7 Merge pull request #1450 from KhronosGroup/fix-1440 a07441568e Overhaul how we deal with reserved identifiers. f0fe4442e3 Merge pull request #1448 from KhronosGroup/fix-1437 4f0f0e5a07 Merge pull request #1449 from KhronosGroup/fix-1443 fdbc80d131 HLSL: Fix FragCoord.w. fad36a6b28 HLSL: Deal with partially filled 16-byte word in cbuffers. dd1f53ff15 HLSL: Fix bug in is_packing_standard for cbuffer. 4c7944bb42 Merge pull request #1446 from kakashidinho/master ab8eb70af1 Fix #1445: MSL: Enclose args when convert distance(a,b) to abs(a-b) 82d1c43e40 Merge pull request #1441 from cdavis5e/msl-tesc-composite-out 3347b1076d MSL: Fix handling of matrices and structs in the output control point array. c333445ada Merge pull request #1436 from KhronosGroup/fix-1408 8a1843ab20 Add some test cases for complex type aliasing scenario. eb580d6656 Ensure that we use primary alias type when emitting flattened members. aac6885950 GLSL: Be more aggressive about using type_alias. 038b0bf238 Only rewrite type aliases for the base type. 7778792aec Merge pull request #1434 from KhronosGroup/glsl-force-flattened-io 57c93d44ac GLSL: Add option to force flattening IO blocks. f5e9f4a172 Merge pull request #1432 from ponitka/hlsl-sample-mask ba58f78395 Adding BuiltInSampleMask in HLSL 0376576d2d Merge pull request #1429 from ponitka/master 18f23c47d9 Enabling setting a fixed sampleMask in Metal fragment shaders. 934825a6a2 Merge pull request #1294 from cdavis5e/msl-multi-patch-workgroup 688c5fcbda MSL: Add support for processing more than one patch per workgroup. 3dcc23a5b3 Merge pull request #1431 from dj2/roll-07-22 ac08a89cf0 Merge pull request #1430 from cdavis5e/msl-refactoring c4f3d4ae29 Roll GLSLang, SPIRV-Headers and SPIRV-Tools. 884bc6df65 MSL: Factor creating a uint type into its own method. 5e13f7fdf2 MSL: Factor a really gnarly condition into its own method. 6575e451f5 Merge pull request #1423 from KhronosGroup/msvc-2013-fix 36c999ae3f MSVC 2013: Fix silently broken builds. 39ce5b46de Merge pull request #1421 from troughton/patch-3 b74a84e4cb MSL: Ensure OpStore source operands are marked for inclusion in function arguments 559b21c6c9 Merge pull request #1420 from dj2/roll-07-06 63fbdaca93 Roll deps. 3b366db7f1 Merge pull request #1416 from KhronosGroup/fix-1415 711300baed MSL: Do not emit swizzled writes in packing fixups. fa5b206d97 MSL: Workaround broken vector -> scalar access chain in MSL. fab75792a9 Merge pull request #1419 from KhronosGroup/msl-input-attachment-index-fallback e1600d4df8 MSL: Use input attachment index directly for resource index fallback. c465cd5004 Merge pull request #1417 from KhronosGroup/fix-351 2ac8f51b06 GLSL: Support I/O flattening with arrays as final type. 2d43103a55 GLSL: Support multi-level struct flattening for I/O. d573a95a9c Run format_all.sh. 8f716947c2 test: Use --hlsl-dx9-compatible when attempting to compile SM 3.0 shaders. 2894b40868 Merge pull request #1412 from KhronosGroup/fix-1411 70f17142de GLSL: Fix nested legacy switch workarounds. b1082c10af Merge pull request #1410 from KhronosGroup/fix-1406 42096ca4a1 Merge pull request #1409 from KhronosGroup/fix-1405 4d79d634f5 GLSL: Implement switch on ESSL 1.0. bae76d7915 GLSL: Use for-loop fallback instead of do/while for legacy ESSL. 3afbfdb090 Implement context-sensitive expression read tracking. 05188aca69 Fix bug with control dependent expression tracking. 2e7a562583 Merge pull request #1404 from KhronosGroup/fix-1402 eb0f0323d3 HLSL: Workaround FXC bugs with degenerate switch blocks. f9ae06512e Merge pull request #1401 from dj2/roll-deps-22 9eb615c63b Merge pull request #1400 from KhronosGroup/fix-1399 0abc017501 Roll deps and update tests. f9da366ae6 MSL: Remove the old VertexAttr API. 7edaea87cf Merge pull request #1398 from Kangz/fix-deprecation 6add77aa97 Merge pull request #1397 from KhronosGroup/fix-1396 8aee532f56 Fix placement of SPIRV_CROSS_DEPRECATED. f141521ebe Fix duplicated initialization for loop variables with initializers. d7976b7b24 Merge pull request #1395 from KhronosGroup/fix-1394 ace4d25222 MSL: Add test case for constructing struct with non-value-type array. 7314f51a32 MSL: Deal with loading non-value-type arrays. 02db4c1f16 MSL: Add tests for array copies in and out of buffers. 03d4bcea68 MSL: Improve handling of array types in buffer objects. 11832b6e14 Clean up some deprecation warnings when building with Makefile. 5e509b159a Remove unused member in MSLShaderInput. a64484f62b Merge pull request #1392 from cdavis5e/msl-frag-input-vecsize 5281d9997e MSL: Fix up input variables' vector lengths in all stages. 7073ed2edb Merge pull request #1393 from KhronosGroup/fix-1391 d13dc0ce47 HLSL: Fix texProj in legacy HLSL. 9e3df69d4e Merge pull request #1390 from rdb/master 031cbaa5a2 GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40 92fcd7d2b0 Merge pull request #1389 from KhronosGroup/sparse-clamp f383cc98f2 GLSL: Handle the rest of GL_ARB_sparse_texture_clamp. bbefea2b02 Merge pull request #1388 from KhronosGroup/uint-sparse-residency-query 857e1c445c GLSL: Support uint code for sparse residency query. 553a7f959b Merge pull request #1385 from KhronosGroup/fix-1237 cbe0cca73b Refactor texture fetch function generation. b73c047faf Merge pull request #1387 from Lichtso/master 1f5875e23e Fix missing switch cases in Y'CbCr conversion 3ce81c0025 Merge pull request #1384 from KhronosGroup/fix-1380 757c10bbe4 Merge pull request #1383 from KhronosGroup/fix-1381 275974e062 GLSL: Implement sparse feedback. 6600793884 MSL: Remove obsolete MSLVertexAttr members. 2d5200650a HLSL: Add native support for 16-bit types. d385bf096f Merge pull request #1378 from bbernhar/issue_410 32bead81c8 Prefer set/binding API 999a7b5256 Merge pull request #1379 from KhronosGroup/fix-1377 165392a2b0 Document all CLI options. d31bc0247e Do not mask writes to remapped variables in all cases. 17bccc9f7e HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly. 61cddd6307 Merge pull request #1376 from KhronosGroup/fix-1374 58dad82fcb Handle physical pointers in reflection API. f992548434 Merge pull request #1372 from KhronosGroup/gl-draw-parameters ef247e75ec GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL. ec558bc98e Merge pull request #1371 from dj2/roll-deps-21 3d01d1bf50 Roll SPIRV-Tools, SPIRV-Headers and GLSLang. 287e93ff80 Merge pull request #1370 from dj2/roll_deps_20 29ad40e93e Merge pull request #1369 from KhronosGroup/more-rt-tests 8bf916f575 Roll dependencies b4dd0b6fb1 GLSL: Add more test shaders for hit attribute types. 66ec3e3e54 GLSL: Support ray payloads and hit attributes declared as Block. 271ad33380 GLSL: Add some more focused RT test shaders. 3c43f055df Merge pull request #1366 from KhronosGroup/fix-1365 f3a362b1aa HLSL: Implement image queries for UAV images. d638d2df9c Merge pull request #1363 from KhronosGroup/rt-gl-instance-id 86380acf4d Support gl_InstanceID in RT shaders. b7823ec389 Merge pull request #1361 from KhronosGroup/msl-single-element-array-refinement 107ab7c2b7 MSL: Avoid packed arrays in more cases. de3698f0e0 Add missing reference files from PR merge. b8ba89a1ac Merge branch 'master' of git://github.com/kakashidinho/SPIRV-Cross 9ddfe6db6d Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix. 92f7d36c72 Merge pull request #1356 from KhronosGroup/fix-1354 0ebb88cc39 MSL: Redirect member indices when buffer has been sorted by Offset. 137dbeb7f1 Merge pull request #1355 from Kangz/fix-microsoft-enum-value a3a590a82e Fix -Wmicrosoft-enum-value 7e0295abf8 Merge pull request #1353 from zoddicus/updateSPIRVHeaders 76658247ac Update SPIR-V Headers to 1.5 rev 3 471990d4dc Merge pull request #1349 from KhronosGroup/fix-1348 35a9b793d6 Work around odd deadlock in test_shaders.py in --parallel mode. d7d630a0b7 Merge pull request #1347 from KhronosGroup/fix-1343 4330b046be Merge pull request #1346 from KhronosGroup/fix-1340 9b7140e2ba Implement OpAtomicLoad/OpAtomicStore. cbaaa02af9 Merge pull request #1345 from apayen/master 6ef47d6657 MSL: Fix case where subpassInput is passed to leaf functions. 4edfe96739 Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly. 7ba0f8f087 Merge pull request #1342 from dj2/roll 171c646474 Roll GLSLang, SPIRV-Tools and SPIRV-Headers. 1ad1662a2b Merge pull request #1339 from KhronosGroup/fix-1338 5e5d1c27ce GLSL: Support f16x2 <-> f32 bitcast. c58839bfd4 Merge pull request #1336 from KhronosGroup/fix-1333 bf289c37a2 Merge pull request #1337 from KhronosGroup/nonuniform-propagation-fix bdb343ea06 Be a bit more careful what nonuniform state is propagated. 6b0e558169 Handle RayQueryKHR type. 78b4d9379b Update SPIR-V headers. b2e934b53f Merge pull request #1328 from devshgraphicsprogramming/patch-1 5cb0f0a640 Merge pull request #1335 from KhronosGroup/fix-1325 127224d816 Fix issue #1327 58548e25a2 Merge pull request #1334 from KhronosGroup/fix-1332 7b9cba7424 HLSL: Add parens in unpackUint2x32 for clarity. e4e4791c4e HLSL: Only allow 64-bit integers in SM 6.0. a396744f89 Ensure unpack/pack2x32 tests are compatible with test suite. 55dfbead2f GLSL/HLSL: Support packUint2x32 and unpackUint2x32 f8592ecdfc MSL: Deal correctly with initializers on Private variables. 3fb86e4385 Merge pull request #1331 from KhronosGroup/fix-1321 17ad62eea4 MSL: Support edge case with DX layout in scalar block layout. f38cbeb814 Merge pull request #1330 from KhronosGroup/fix-1320 ebf463674d MSL: Allow removing clip distance user varyings. aa5fbc004b Merge pull request #1329 from godlikepanos/master b3109b8ad0 Reflection: Add specialization constant name 90198199df Merge pull request #1324 from cdavis5e/msl-disabled-builtin-names 96f7008aa8 MSL: Force disabled fragment builtins to have the right name. fbc560782c Merge pull request #1323 from cdavis5e/msl-disable-frag-only 495e48de44 MSL: Only disable output variables in fragment shaders. 54658d6255 Merge pull request #1319 from cdavis5e/msl-frag-outputs b29f83c383 MSL: Add options to control emission of fragment outputs. fcbc590937 Merge pull request #1316 from Malacath-92/master 4560ee24fd Improve compatibility with clang-cl a1d9b474b5 Merge pull request #1314 from KhronosGroup/fix-1313 c7b75a8fe6 MSL: Do not use base expression with PhysicalTypeID OpCompositeExtract. 6637610b16 Merge pull request #1309 from KhronosGroup/fix-1305 941cceedb4 Expose a query if samplers or images are comparison resources. b691b7d1e3 Do not add NonWritable/NonReadable decorations for regular images. 14f24d71ab Merge pull request #1308 from KhronosGroup/fix-1306 cfcd84319b Merge pull request #1310 from KhronosGroup/msl-force-declare-implicit-builtins d9d3359ffb MSL: Deal with cases where builtin is implicitly needed, declared, but unused. 01cee74b02 Merge pull request #1307 from troughton/patch-1 28bf9057df HLSL: Add support for treating NonWritable UAV texture as SRV instead. 4cf736d753 MSL: mark BuiltInFragCoord as implicitly used for subpass reads e58e8d5dbe Merge pull request #1303 from KhronosGroup/fix-1302 3cb6aeb480 MSL: Fix access chain for deep struct hierarchy on array of buffers. 84ec99c531 Merge pull request #1301 from dj2/roll_deps 32307df73a Roll GLSLang, SPIRV-Tools and SPIRV-Headers 9b3c5e12be Merge pull request #1299 from KhronosGroup/fix-1298 b8905bbd95 Add support for forcefully zero-initialized variables. 871c85d7f0 Merge pull request #1297 from KhronosGroup/fix-1295 04e877df12 GLSL: Implement GL_EXT_shader_framebuffer_fetch. c2655ab291 Run format_all.sh. c3d216c011 Merge pull request #1296 from KhronosGroup/fix-1292 05004a57ea GLSL/HLSL: Fix nonuniform qualifier for SSBO atomics. a3d3c80dd7 GLSL/HLSL: Implement nonuniform qualifier for image atomics. 65aa0c35d6 include/spirv_cross: Fix typo. 7d42fd7f7b Merge pull request #1290 from KhronosGroup/fix-1289 185551bfaf HLSL: Do not emit globallycoherent for SRV ByteAddressBuffer. d19f30a90e Merge pull request #1287 from KhronosGroup/read-write-decoration-tweaks 95cd20f1c7 Add test for disable-storage-image-qualifier-deduction. c27e1efbf1 HLSL: Add option to always treat SSBO as UAV, even with readonly. 01968c4486 Add option to disable storage image qualifier deduction. 3ebc83da46 Remove old hack which forces NonWritable/NonReadable. 9deb6ffbba Merge pull request #1285 from KhronosGroup/vulkan-semantics-shorthand 3f2de0d5d3 Add -V alias for --vulkan-semantics. c5f7b55756 Merge pull request #1284 from KhronosGroup/fix-1282 16796e92be MSL: Add C API for force native arrays. d91e134500 MSL: Add native array test for composite array initialization. 30343f3e95 MSL: Reintroduce workaround for constant arrays being passed by value. 20b28f72fa MSL: Reinstate workaround for returning arrays. c9d4f9cd74 MSL: Add a workaround path to force native arrays for everything. f19fdb94d7 Merge pull request #1283 from dj2/roll 7ec16b64c8 Roll GLSLang, SPIRV-Tools and SPIRV-Headers dffd33dd9d Merge pull request #1280 from KhronosGroup/fix-1278 92a4294c57 Reject SPIR-V modules with garbage ID bound. c53b34765d Merge pull request #1277 from KhronosGroup/fix-1276 e81c1b1d98 HLSL: Declare undef variables as static. 7ac5c38838 Merge pull request #1275 from KhronosGroup/fix-1274 cec0502ba5 Remove old memory_scope flag from iOS barriers. 6b2add8e2c Merge pull request #1272 from KhronosGroup/fix-1271 6f5cb00148 Use GNUInstallDirs for include path as well. cb0aca91ef Merge pull request #1273 from orbea/cmake 8b90526911 cmake: Don't hardcode the pkg-config file. 74544caa16 cmake: Use GNUInstallDirs. d67c3393da CMake: Avoid warning when parent project uses VERSION in project(). 68bf0f824c Merge pull request #1270 from KhronosGroup/fix-1266 dfffbb1cf3 Compile fix on older compilers. 655312cb47 GLSL: Support GL_ARB_enchanced_layouts for XFB. 306cb31bad Merge pull request #1239 from cdavis5e/msl-inline-uniform-blocks ae6c05f6f4 MSL: Move inline uniform blocks to the end of the argument buffer. fedbc35315 MSL: Support inline uniform blocks in argument buffers. f9376058ce Merge pull request #1269 from KhronosGroup/fix-1267 8bbb5fb763 Make SmallVector noexcept. 883de24f79 Merge pull request #1268 from barath121/patch-1 eac76d9473 Typo at line 324 f9818f0804 Update license headers to 2020. 7a411258af Run format_all.sh. af787a8a79 Merge pull request #1264 from KhronosGroup/msl-argument-buffer-persist 4054d650cf Merge pull request #1263 from KhronosGroup/fix-1232 c3bd136df1 MSL: Add support for force-activating IAB resources. f79c1e2fed Deal with illegal names in types as well. 79700d5412 Merge pull request #1262 from KhronosGroup/json-reflection-improvements 57b70225ef Merge pull request #1261 from KhronosGroup/fix-379 762c87a7bb Reflection: Add array stride/matrix stride reflection. 18e24c3ca2 Reflection: Emit reflection information for array size literalness. 55fe6050fe GLSL: Implement geometry shader passthrough extension. 172e39f039 Merge pull request #1257 from KhronosGroup/fix-1236 74107a04d1 Merge pull request #1256 from KhronosGroup/fix-1252 cc153f8d7f HLSL: Add a resource remapping API similar to MSL. 2bbb012e9c MSL: Deal with sign on wave min/max. 88ddeec49a HLSL: Deal with casting for WaveActiveMin/Max. 5253da9e63 GLSL: Deal with sign in subgroup Min/Max operations. 34ba8ea4f2 Merge pull request #1255 from KhronosGroup/fix-1254 c256525c7b Run format_all.sh. 1cbd71b354 HLSL: Fix bug when reading and writing structs from SSBO. 151ff1e870 HLSL: Implement stores for complex composites in ByteAddressBuffers. ca9398c122 HLSL: Su… * Build fix with new SPIRV-Cross * WiiU build fix with new SPIRV-Cross
2569 lines
129 KiB
C
2569 lines
129 KiB
C
/*
|
|
** Copyright (c) 2014-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.
|
|
*/
|
|
|
|
/*
|
|
** 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#, D, Beef
|
|
**
|
|
** - 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
|
|
** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
|
|
** - Beef 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.
|
|
*/
|
|
|
|
#ifndef spirv_H
|
|
#define spirv_H
|
|
|
|
typedef unsigned int SpvId;
|
|
|
|
#define SPV_VERSION 0x10600
|
|
#define SPV_REVISION 1
|
|
|
|
static const unsigned int SpvMagicNumber = 0x07230203;
|
|
static const unsigned int SpvVersion = 0x00010600;
|
|
static const unsigned int SpvRevision = 1;
|
|
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,
|
|
SpvSourceLanguageCPP_for_OpenCL = 6,
|
|
SpvSourceLanguageSYCL = 7,
|
|
SpvSourceLanguageMax = 0x7fffffff,
|
|
} SpvSourceLanguage;
|
|
|
|
typedef enum SpvExecutionModel_ {
|
|
SpvExecutionModelVertex = 0,
|
|
SpvExecutionModelTessellationControl = 1,
|
|
SpvExecutionModelTessellationEvaluation = 2,
|
|
SpvExecutionModelGeometry = 3,
|
|
SpvExecutionModelFragment = 4,
|
|
SpvExecutionModelGLCompute = 5,
|
|
SpvExecutionModelKernel = 6,
|
|
SpvExecutionModelTaskNV = 5267,
|
|
SpvExecutionModelMeshNV = 5268,
|
|
SpvExecutionModelRayGenerationKHR = 5313,
|
|
SpvExecutionModelRayGenerationNV = 5313,
|
|
SpvExecutionModelIntersectionKHR = 5314,
|
|
SpvExecutionModelIntersectionNV = 5314,
|
|
SpvExecutionModelAnyHitKHR = 5315,
|
|
SpvExecutionModelAnyHitNV = 5315,
|
|
SpvExecutionModelClosestHitKHR = 5316,
|
|
SpvExecutionModelClosestHitNV = 5316,
|
|
SpvExecutionModelMissKHR = 5317,
|
|
SpvExecutionModelMissNV = 5317,
|
|
SpvExecutionModelCallableKHR = 5318,
|
|
SpvExecutionModelCallableNV = 5318,
|
|
SpvExecutionModelTaskEXT = 5364,
|
|
SpvExecutionModelMeshEXT = 5365,
|
|
SpvExecutionModelMax = 0x7fffffff,
|
|
} SpvExecutionModel;
|
|
|
|
typedef enum SpvAddressingModel_ {
|
|
SpvAddressingModelLogical = 0,
|
|
SpvAddressingModelPhysical32 = 1,
|
|
SpvAddressingModelPhysical64 = 2,
|
|
SpvAddressingModelPhysicalStorageBuffer64 = 5348,
|
|
SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
|
|
SpvAddressingModelMax = 0x7fffffff,
|
|
} SpvAddressingModel;
|
|
|
|
typedef enum SpvMemoryModel_ {
|
|
SpvMemoryModelSimple = 0,
|
|
SpvMemoryModelGLSL450 = 1,
|
|
SpvMemoryModelOpenCL = 2,
|
|
SpvMemoryModelVulkan = 3,
|
|
SpvMemoryModelVulkanKHR = 3,
|
|
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,
|
|
SpvExecutionModeInitializer = 33,
|
|
SpvExecutionModeFinalizer = 34,
|
|
SpvExecutionModeSubgroupSize = 35,
|
|
SpvExecutionModeSubgroupsPerWorkgroup = 36,
|
|
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
|
|
SpvExecutionModeLocalSizeId = 38,
|
|
SpvExecutionModeLocalSizeHintId = 39,
|
|
SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
|
SpvExecutionModePostDepthCoverage = 4446,
|
|
SpvExecutionModeDenormPreserve = 4459,
|
|
SpvExecutionModeDenormFlushToZero = 4460,
|
|
SpvExecutionModeSignedZeroInfNanPreserve = 4461,
|
|
SpvExecutionModeRoundingModeRTE = 4462,
|
|
SpvExecutionModeRoundingModeRTZ = 4463,
|
|
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
|
|
SpvExecutionModeStencilRefReplacingEXT = 5027,
|
|
SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
|
|
SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
|
|
SpvExecutionModeStencilRefLessFrontAMD = 5081,
|
|
SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
|
|
SpvExecutionModeStencilRefGreaterBackAMD = 5083,
|
|
SpvExecutionModeStencilRefLessBackAMD = 5084,
|
|
SpvExecutionModeOutputLinesEXT = 5269,
|
|
SpvExecutionModeOutputLinesNV = 5269,
|
|
SpvExecutionModeOutputPrimitivesEXT = 5270,
|
|
SpvExecutionModeOutputPrimitivesNV = 5270,
|
|
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
|
|
SpvExecutionModeDerivativeGroupLinearNV = 5290,
|
|
SpvExecutionModeOutputTrianglesEXT = 5298,
|
|
SpvExecutionModeOutputTrianglesNV = 5298,
|
|
SpvExecutionModePixelInterlockOrderedEXT = 5366,
|
|
SpvExecutionModePixelInterlockUnorderedEXT = 5367,
|
|
SpvExecutionModeSampleInterlockOrderedEXT = 5368,
|
|
SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
|
|
SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
|
SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
|
SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
|
|
SpvExecutionModeRoundingModeRTPINTEL = 5620,
|
|
SpvExecutionModeRoundingModeRTNINTEL = 5621,
|
|
SpvExecutionModeFloatingPointModeALTINTEL = 5622,
|
|
SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
|
|
SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
|
SpvExecutionModeMaxWorkDimINTEL = 5894,
|
|
SpvExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
|
SpvExecutionModeNamedBarrierCountINTEL = 6417,
|
|
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,
|
|
SpvStorageClassCallableDataKHR = 5328,
|
|
SpvStorageClassCallableDataNV = 5328,
|
|
SpvStorageClassIncomingCallableDataKHR = 5329,
|
|
SpvStorageClassIncomingCallableDataNV = 5329,
|
|
SpvStorageClassRayPayloadKHR = 5338,
|
|
SpvStorageClassRayPayloadNV = 5338,
|
|
SpvStorageClassHitAttributeKHR = 5339,
|
|
SpvStorageClassHitAttributeNV = 5339,
|
|
SpvStorageClassIncomingRayPayloadKHR = 5342,
|
|
SpvStorageClassIncomingRayPayloadNV = 5342,
|
|
SpvStorageClassShaderRecordBufferKHR = 5343,
|
|
SpvStorageClassShaderRecordBufferNV = 5343,
|
|
SpvStorageClassPhysicalStorageBuffer = 5349,
|
|
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
|
SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
|
|
SpvStorageClassCodeSectionINTEL = 5605,
|
|
SpvStorageClassDeviceOnlyINTEL = 5936,
|
|
SpvStorageClassHostOnlyINTEL = 5937,
|
|
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,
|
|
SpvImageFormatR64ui = 40,
|
|
SpvImageFormatR64i = 41,
|
|
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,
|
|
SpvImageOperandsMakeTexelAvailableShift = 8,
|
|
SpvImageOperandsMakeTexelAvailableKHRShift = 8,
|
|
SpvImageOperandsMakeTexelVisibleShift = 9,
|
|
SpvImageOperandsMakeTexelVisibleKHRShift = 9,
|
|
SpvImageOperandsNonPrivateTexelShift = 10,
|
|
SpvImageOperandsNonPrivateTexelKHRShift = 10,
|
|
SpvImageOperandsVolatileTexelShift = 11,
|
|
SpvImageOperandsVolatileTexelKHRShift = 11,
|
|
SpvImageOperandsSignExtendShift = 12,
|
|
SpvImageOperandsZeroExtendShift = 13,
|
|
SpvImageOperandsNontemporalShift = 14,
|
|
SpvImageOperandsOffsetsShift = 16,
|
|
SpvImageOperandsMax = 0x7fffffff,
|
|
} SpvImageOperandsShift;
|
|
|
|
typedef enum SpvImageOperandsMask_ {
|
|
SpvImageOperandsMaskNone = 0,
|
|
SpvImageOperandsBiasMask = 0x00000001,
|
|
SpvImageOperandsLodMask = 0x00000002,
|
|
SpvImageOperandsGradMask = 0x00000004,
|
|
SpvImageOperandsConstOffsetMask = 0x00000008,
|
|
SpvImageOperandsOffsetMask = 0x00000010,
|
|
SpvImageOperandsConstOffsetsMask = 0x00000020,
|
|
SpvImageOperandsSampleMask = 0x00000040,
|
|
SpvImageOperandsMinLodMask = 0x00000080,
|
|
SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
|
|
SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
|
|
SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
|
|
SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
|
|
SpvImageOperandsNonPrivateTexelMask = 0x00000400,
|
|
SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
|
|
SpvImageOperandsVolatileTexelMask = 0x00000800,
|
|
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
|
SpvImageOperandsSignExtendMask = 0x00001000,
|
|
SpvImageOperandsZeroExtendMask = 0x00002000,
|
|
SpvImageOperandsNontemporalMask = 0x00004000,
|
|
SpvImageOperandsOffsetsMask = 0x00010000,
|
|
} SpvImageOperandsMask;
|
|
|
|
typedef enum SpvFPFastMathModeShift_ {
|
|
SpvFPFastMathModeNotNaNShift = 0,
|
|
SpvFPFastMathModeNotInfShift = 1,
|
|
SpvFPFastMathModeNSZShift = 2,
|
|
SpvFPFastMathModeAllowRecipShift = 3,
|
|
SpvFPFastMathModeFastShift = 4,
|
|
SpvFPFastMathModeAllowContractFastINTELShift = 16,
|
|
SpvFPFastMathModeAllowReassocINTELShift = 17,
|
|
SpvFPFastMathModeMax = 0x7fffffff,
|
|
} SpvFPFastMathModeShift;
|
|
|
|
typedef enum SpvFPFastMathModeMask_ {
|
|
SpvFPFastMathModeMaskNone = 0,
|
|
SpvFPFastMathModeNotNaNMask = 0x00000001,
|
|
SpvFPFastMathModeNotInfMask = 0x00000002,
|
|
SpvFPFastMathModeNSZMask = 0x00000004,
|
|
SpvFPFastMathModeAllowRecipMask = 0x00000008,
|
|
SpvFPFastMathModeFastMask = 0x00000010,
|
|
SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
|
SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
|
|
} SpvFPFastMathModeMask;
|
|
|
|
typedef enum SpvFPRoundingMode_ {
|
|
SpvFPRoundingModeRTE = 0,
|
|
SpvFPRoundingModeRTZ = 1,
|
|
SpvFPRoundingModeRTP = 2,
|
|
SpvFPRoundingModeRTN = 3,
|
|
SpvFPRoundingModeMax = 0x7fffffff,
|
|
} SpvFPRoundingMode;
|
|
|
|
typedef enum SpvLinkageType_ {
|
|
SpvLinkageTypeExport = 0,
|
|
SpvLinkageTypeImport = 1,
|
|
SpvLinkageTypeLinkOnceODR = 2,
|
|
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,
|
|
SpvDecorationUniformId = 27,
|
|
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,
|
|
SpvDecorationMaxByteOffset = 45,
|
|
SpvDecorationAlignmentId = 46,
|
|
SpvDecorationMaxByteOffsetId = 47,
|
|
SpvDecorationNoSignedWrap = 4469,
|
|
SpvDecorationNoUnsignedWrap = 4470,
|
|
SpvDecorationExplicitInterpAMD = 4999,
|
|
SpvDecorationOverrideCoverageNV = 5248,
|
|
SpvDecorationPassthroughNV = 5250,
|
|
SpvDecorationViewportRelativeNV = 5252,
|
|
SpvDecorationSecondaryViewportRelativeNV = 5256,
|
|
SpvDecorationPerPrimitiveEXT = 5271,
|
|
SpvDecorationPerPrimitiveNV = 5271,
|
|
SpvDecorationPerViewNV = 5272,
|
|
SpvDecorationPerTaskNV = 5273,
|
|
SpvDecorationPerVertexKHR = 5285,
|
|
SpvDecorationPerVertexNV = 5285,
|
|
SpvDecorationNonUniform = 5300,
|
|
SpvDecorationNonUniformEXT = 5300,
|
|
SpvDecorationRestrictPointer = 5355,
|
|
SpvDecorationRestrictPointerEXT = 5355,
|
|
SpvDecorationAliasedPointer = 5356,
|
|
SpvDecorationAliasedPointerEXT = 5356,
|
|
SpvDecorationBindlessSamplerNV = 5398,
|
|
SpvDecorationBindlessImageNV = 5399,
|
|
SpvDecorationBoundSamplerNV = 5400,
|
|
SpvDecorationBoundImageNV = 5401,
|
|
SpvDecorationSIMTCallINTEL = 5599,
|
|
SpvDecorationReferencedIndirectlyINTEL = 5602,
|
|
SpvDecorationClobberINTEL = 5607,
|
|
SpvDecorationSideEffectsINTEL = 5608,
|
|
SpvDecorationVectorComputeVariableINTEL = 5624,
|
|
SpvDecorationFuncParamIOKindINTEL = 5625,
|
|
SpvDecorationVectorComputeFunctionINTEL = 5626,
|
|
SpvDecorationStackCallINTEL = 5627,
|
|
SpvDecorationGlobalVariableOffsetINTEL = 5628,
|
|
SpvDecorationCounterBuffer = 5634,
|
|
SpvDecorationHlslCounterBufferGOOGLE = 5634,
|
|
SpvDecorationHlslSemanticGOOGLE = 5635,
|
|
SpvDecorationUserSemantic = 5635,
|
|
SpvDecorationUserTypeGOOGLE = 5636,
|
|
SpvDecorationFunctionRoundingModeINTEL = 5822,
|
|
SpvDecorationFunctionDenormModeINTEL = 5823,
|
|
SpvDecorationRegisterINTEL = 5825,
|
|
SpvDecorationMemoryINTEL = 5826,
|
|
SpvDecorationNumbanksINTEL = 5827,
|
|
SpvDecorationBankwidthINTEL = 5828,
|
|
SpvDecorationMaxPrivateCopiesINTEL = 5829,
|
|
SpvDecorationSinglepumpINTEL = 5830,
|
|
SpvDecorationDoublepumpINTEL = 5831,
|
|
SpvDecorationMaxReplicatesINTEL = 5832,
|
|
SpvDecorationSimpleDualPortINTEL = 5833,
|
|
SpvDecorationMergeINTEL = 5834,
|
|
SpvDecorationBankBitsINTEL = 5835,
|
|
SpvDecorationForcePow2DepthINTEL = 5836,
|
|
SpvDecorationBurstCoalesceINTEL = 5899,
|
|
SpvDecorationCacheSizeINTEL = 5900,
|
|
SpvDecorationDontStaticallyCoalesceINTEL = 5901,
|
|
SpvDecorationPrefetchINTEL = 5902,
|
|
SpvDecorationStallEnableINTEL = 5905,
|
|
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
|
SpvDecorationAliasScopeINTEL = 5914,
|
|
SpvDecorationNoAliasINTEL = 5915,
|
|
SpvDecorationBufferLocationINTEL = 5921,
|
|
SpvDecorationIOPipeStorageINTEL = 5944,
|
|
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
|
SpvDecorationSingleElementVectorINTEL = 6085,
|
|
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
|
SpvDecorationMediaBlockIOINTEL = 6140,
|
|
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,
|
|
SpvBuiltInSubgroupEqMask = 4416,
|
|
SpvBuiltInSubgroupEqMaskKHR = 4416,
|
|
SpvBuiltInSubgroupGeMask = 4417,
|
|
SpvBuiltInSubgroupGeMaskKHR = 4417,
|
|
SpvBuiltInSubgroupGtMask = 4418,
|
|
SpvBuiltInSubgroupGtMaskKHR = 4418,
|
|
SpvBuiltInSubgroupLeMask = 4419,
|
|
SpvBuiltInSubgroupLeMaskKHR = 4419,
|
|
SpvBuiltInSubgroupLtMask = 4420,
|
|
SpvBuiltInSubgroupLtMaskKHR = 4420,
|
|
SpvBuiltInBaseVertex = 4424,
|
|
SpvBuiltInBaseInstance = 4425,
|
|
SpvBuiltInDrawIndex = 4426,
|
|
SpvBuiltInPrimitiveShadingRateKHR = 4432,
|
|
SpvBuiltInDeviceIndex = 4438,
|
|
SpvBuiltInViewIndex = 4440,
|
|
SpvBuiltInShadingRateKHR = 4444,
|
|
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,
|
|
SpvBuiltInFullyCoveredEXT = 5264,
|
|
SpvBuiltInTaskCountNV = 5274,
|
|
SpvBuiltInPrimitiveCountNV = 5275,
|
|
SpvBuiltInPrimitiveIndicesNV = 5276,
|
|
SpvBuiltInClipDistancePerViewNV = 5277,
|
|
SpvBuiltInCullDistancePerViewNV = 5278,
|
|
SpvBuiltInLayerPerViewNV = 5279,
|
|
SpvBuiltInMeshViewCountNV = 5280,
|
|
SpvBuiltInMeshViewIndicesNV = 5281,
|
|
SpvBuiltInBaryCoordKHR = 5286,
|
|
SpvBuiltInBaryCoordNV = 5286,
|
|
SpvBuiltInBaryCoordNoPerspKHR = 5287,
|
|
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
|
SpvBuiltInFragSizeEXT = 5292,
|
|
SpvBuiltInFragmentSizeNV = 5292,
|
|
SpvBuiltInFragInvocationCountEXT = 5293,
|
|
SpvBuiltInInvocationsPerPixelNV = 5293,
|
|
SpvBuiltInPrimitivePointIndicesEXT = 5294,
|
|
SpvBuiltInPrimitiveLineIndicesEXT = 5295,
|
|
SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
|
|
SpvBuiltInCullPrimitiveEXT = 5299,
|
|
SpvBuiltInLaunchIdKHR = 5319,
|
|
SpvBuiltInLaunchIdNV = 5319,
|
|
SpvBuiltInLaunchSizeKHR = 5320,
|
|
SpvBuiltInLaunchSizeNV = 5320,
|
|
SpvBuiltInWorldRayOriginKHR = 5321,
|
|
SpvBuiltInWorldRayOriginNV = 5321,
|
|
SpvBuiltInWorldRayDirectionKHR = 5322,
|
|
SpvBuiltInWorldRayDirectionNV = 5322,
|
|
SpvBuiltInObjectRayOriginKHR = 5323,
|
|
SpvBuiltInObjectRayOriginNV = 5323,
|
|
SpvBuiltInObjectRayDirectionKHR = 5324,
|
|
SpvBuiltInObjectRayDirectionNV = 5324,
|
|
SpvBuiltInRayTminKHR = 5325,
|
|
SpvBuiltInRayTminNV = 5325,
|
|
SpvBuiltInRayTmaxKHR = 5326,
|
|
SpvBuiltInRayTmaxNV = 5326,
|
|
SpvBuiltInInstanceCustomIndexKHR = 5327,
|
|
SpvBuiltInInstanceCustomIndexNV = 5327,
|
|
SpvBuiltInObjectToWorldKHR = 5330,
|
|
SpvBuiltInObjectToWorldNV = 5330,
|
|
SpvBuiltInWorldToObjectKHR = 5331,
|
|
SpvBuiltInWorldToObjectNV = 5331,
|
|
SpvBuiltInHitTNV = 5332,
|
|
SpvBuiltInHitKindKHR = 5333,
|
|
SpvBuiltInHitKindNV = 5333,
|
|
SpvBuiltInCurrentRayTimeNV = 5334,
|
|
SpvBuiltInIncomingRayFlagsKHR = 5351,
|
|
SpvBuiltInIncomingRayFlagsNV = 5351,
|
|
SpvBuiltInRayGeometryIndexKHR = 5352,
|
|
SpvBuiltInWarpsPerSMNV = 5374,
|
|
SpvBuiltInSMCountNV = 5375,
|
|
SpvBuiltInWarpIDNV = 5376,
|
|
SpvBuiltInSMIDNV = 5377,
|
|
SpvBuiltInCullMaskKHR = 6021,
|
|
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,
|
|
SpvLoopControlDependencyInfiniteShift = 2,
|
|
SpvLoopControlDependencyLengthShift = 3,
|
|
SpvLoopControlMinIterationsShift = 4,
|
|
SpvLoopControlMaxIterationsShift = 5,
|
|
SpvLoopControlIterationMultipleShift = 6,
|
|
SpvLoopControlPeelCountShift = 7,
|
|
SpvLoopControlPartialCountShift = 8,
|
|
SpvLoopControlInitiationIntervalINTELShift = 16,
|
|
SpvLoopControlMaxConcurrencyINTELShift = 17,
|
|
SpvLoopControlDependencyArrayINTELShift = 18,
|
|
SpvLoopControlPipelineEnableINTELShift = 19,
|
|
SpvLoopControlLoopCoalesceINTELShift = 20,
|
|
SpvLoopControlMaxInterleavingINTELShift = 21,
|
|
SpvLoopControlSpeculatedIterationsINTELShift = 22,
|
|
SpvLoopControlNoFusionINTELShift = 23,
|
|
SpvLoopControlMax = 0x7fffffff,
|
|
} SpvLoopControlShift;
|
|
|
|
typedef enum SpvLoopControlMask_ {
|
|
SpvLoopControlMaskNone = 0,
|
|
SpvLoopControlUnrollMask = 0x00000001,
|
|
SpvLoopControlDontUnrollMask = 0x00000002,
|
|
SpvLoopControlDependencyInfiniteMask = 0x00000004,
|
|
SpvLoopControlDependencyLengthMask = 0x00000008,
|
|
SpvLoopControlMinIterationsMask = 0x00000010,
|
|
SpvLoopControlMaxIterationsMask = 0x00000020,
|
|
SpvLoopControlIterationMultipleMask = 0x00000040,
|
|
SpvLoopControlPeelCountMask = 0x00000080,
|
|
SpvLoopControlPartialCountMask = 0x00000100,
|
|
SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
|
|
SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
|
|
SpvLoopControlDependencyArrayINTELMask = 0x00040000,
|
|
SpvLoopControlPipelineEnableINTELMask = 0x00080000,
|
|
SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
|
|
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
|
|
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
|
SpvLoopControlNoFusionINTELMask = 0x00800000,
|
|
} SpvLoopControlMask;
|
|
|
|
typedef enum SpvFunctionControlShift_ {
|
|
SpvFunctionControlInlineShift = 0,
|
|
SpvFunctionControlDontInlineShift = 1,
|
|
SpvFunctionControlPureShift = 2,
|
|
SpvFunctionControlConstShift = 3,
|
|
SpvFunctionControlOptNoneINTELShift = 16,
|
|
SpvFunctionControlMax = 0x7fffffff,
|
|
} SpvFunctionControlShift;
|
|
|
|
typedef enum SpvFunctionControlMask_ {
|
|
SpvFunctionControlMaskNone = 0,
|
|
SpvFunctionControlInlineMask = 0x00000001,
|
|
SpvFunctionControlDontInlineMask = 0x00000002,
|
|
SpvFunctionControlPureMask = 0x00000004,
|
|
SpvFunctionControlConstMask = 0x00000008,
|
|
SpvFunctionControlOptNoneINTELMask = 0x00010000,
|
|
} SpvFunctionControlMask;
|
|
|
|
typedef enum SpvMemorySemanticsShift_ {
|
|
SpvMemorySemanticsAcquireShift = 1,
|
|
SpvMemorySemanticsReleaseShift = 2,
|
|
SpvMemorySemanticsAcquireReleaseShift = 3,
|
|
SpvMemorySemanticsSequentiallyConsistentShift = 4,
|
|
SpvMemorySemanticsUniformMemoryShift = 6,
|
|
SpvMemorySemanticsSubgroupMemoryShift = 7,
|
|
SpvMemorySemanticsWorkgroupMemoryShift = 8,
|
|
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
|
|
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
|
|
SpvMemorySemanticsImageMemoryShift = 11,
|
|
SpvMemorySemanticsOutputMemoryShift = 12,
|
|
SpvMemorySemanticsOutputMemoryKHRShift = 12,
|
|
SpvMemorySemanticsMakeAvailableShift = 13,
|
|
SpvMemorySemanticsMakeAvailableKHRShift = 13,
|
|
SpvMemorySemanticsMakeVisibleShift = 14,
|
|
SpvMemorySemanticsMakeVisibleKHRShift = 14,
|
|
SpvMemorySemanticsVolatileShift = 15,
|
|
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,
|
|
SpvMemorySemanticsOutputMemoryMask = 0x00001000,
|
|
SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
|
|
SpvMemorySemanticsMakeAvailableMask = 0x00002000,
|
|
SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
|
|
SpvMemorySemanticsMakeVisibleMask = 0x00004000,
|
|
SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
|
|
SpvMemorySemanticsVolatileMask = 0x00008000,
|
|
} SpvMemorySemanticsMask;
|
|
|
|
typedef enum SpvMemoryAccessShift_ {
|
|
SpvMemoryAccessVolatileShift = 0,
|
|
SpvMemoryAccessAlignedShift = 1,
|
|
SpvMemoryAccessNontemporalShift = 2,
|
|
SpvMemoryAccessMakePointerAvailableShift = 3,
|
|
SpvMemoryAccessMakePointerAvailableKHRShift = 3,
|
|
SpvMemoryAccessMakePointerVisibleShift = 4,
|
|
SpvMemoryAccessMakePointerVisibleKHRShift = 4,
|
|
SpvMemoryAccessNonPrivatePointerShift = 5,
|
|
SpvMemoryAccessNonPrivatePointerKHRShift = 5,
|
|
SpvMemoryAccessAliasScopeINTELMaskShift = 16,
|
|
SpvMemoryAccessNoAliasINTELMaskShift = 17,
|
|
SpvMemoryAccessMax = 0x7fffffff,
|
|
} SpvMemoryAccessShift;
|
|
|
|
typedef enum SpvMemoryAccessMask_ {
|
|
SpvMemoryAccessMaskNone = 0,
|
|
SpvMemoryAccessVolatileMask = 0x00000001,
|
|
SpvMemoryAccessAlignedMask = 0x00000002,
|
|
SpvMemoryAccessNontemporalMask = 0x00000004,
|
|
SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
|
|
SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
|
|
SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
|
|
SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
|
SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
|
|
SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
|
SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
|
|
SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
|
|
} SpvMemoryAccessMask;
|
|
|
|
typedef enum SpvScope_ {
|
|
SpvScopeCrossDevice = 0,
|
|
SpvScopeDevice = 1,
|
|
SpvScopeWorkgroup = 2,
|
|
SpvScopeSubgroup = 3,
|
|
SpvScopeInvocation = 4,
|
|
SpvScopeQueueFamily = 5,
|
|
SpvScopeQueueFamilyKHR = 5,
|
|
SpvScopeShaderCallKHR = 6,
|
|
SpvScopeMax = 0x7fffffff,
|
|
} SpvScope;
|
|
|
|
typedef enum SpvGroupOperation_ {
|
|
SpvGroupOperationReduce = 0,
|
|
SpvGroupOperationInclusiveScan = 1,
|
|
SpvGroupOperationExclusiveScan = 2,
|
|
SpvGroupOperationClusteredReduce = 3,
|
|
SpvGroupOperationPartitionedReduceNV = 6,
|
|
SpvGroupOperationPartitionedInclusiveScanNV = 7,
|
|
SpvGroupOperationPartitionedExclusiveScanNV = 8,
|
|
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,
|
|
SpvCapabilitySubgroupDispatch = 58,
|
|
SpvCapabilityNamedBarrier = 59,
|
|
SpvCapabilityPipeStorage = 60,
|
|
SpvCapabilityGroupNonUniform = 61,
|
|
SpvCapabilityGroupNonUniformVote = 62,
|
|
SpvCapabilityGroupNonUniformArithmetic = 63,
|
|
SpvCapabilityGroupNonUniformBallot = 64,
|
|
SpvCapabilityGroupNonUniformShuffle = 65,
|
|
SpvCapabilityGroupNonUniformShuffleRelative = 66,
|
|
SpvCapabilityGroupNonUniformClustered = 67,
|
|
SpvCapabilityGroupNonUniformQuad = 68,
|
|
SpvCapabilityShaderLayer = 69,
|
|
SpvCapabilityShaderViewportIndex = 70,
|
|
SpvCapabilityUniformDecoration = 71,
|
|
SpvCapabilityFragmentShadingRateKHR = 4422,
|
|
SpvCapabilitySubgroupBallotKHR = 4423,
|
|
SpvCapabilityDrawParameters = 4427,
|
|
SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
|
|
SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
|
SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
|
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,
|
|
SpvCapabilityStorageBuffer8BitAccess = 4448,
|
|
SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
|
|
SpvCapabilityStoragePushConstant8 = 4450,
|
|
SpvCapabilityDenormPreserve = 4464,
|
|
SpvCapabilityDenormFlushToZero = 4465,
|
|
SpvCapabilitySignedZeroInfNanPreserve = 4466,
|
|
SpvCapabilityRoundingModeRTE = 4467,
|
|
SpvCapabilityRoundingModeRTZ = 4468,
|
|
SpvCapabilityRayQueryProvisionalKHR = 4471,
|
|
SpvCapabilityRayQueryKHR = 4472,
|
|
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
|
|
SpvCapabilityRayTracingKHR = 4479,
|
|
SpvCapabilityFloat16ImageAMD = 5008,
|
|
SpvCapabilityImageGatherBiasLodAMD = 5009,
|
|
SpvCapabilityFragmentMaskAMD = 5010,
|
|
SpvCapabilityStencilExportEXT = 5013,
|
|
SpvCapabilityImageReadWriteLodAMD = 5015,
|
|
SpvCapabilityInt64ImageEXT = 5016,
|
|
SpvCapabilityShaderClockKHR = 5055,
|
|
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
|
|
SpvCapabilityGeometryShaderPassthroughNV = 5251,
|
|
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
|
|
SpvCapabilityShaderViewportIndexLayerNV = 5254,
|
|
SpvCapabilityShaderViewportMaskNV = 5255,
|
|
SpvCapabilityShaderStereoViewNV = 5259,
|
|
SpvCapabilityPerViewAttributesNV = 5260,
|
|
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
|
SpvCapabilityMeshShadingNV = 5266,
|
|
SpvCapabilityImageFootprintNV = 5282,
|
|
SpvCapabilityMeshShadingEXT = 5283,
|
|
SpvCapabilityFragmentBarycentricKHR = 5284,
|
|
SpvCapabilityFragmentBarycentricNV = 5284,
|
|
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
|
SpvCapabilityFragmentDensityEXT = 5291,
|
|
SpvCapabilityShadingRateNV = 5291,
|
|
SpvCapabilityGroupNonUniformPartitionedNV = 5297,
|
|
SpvCapabilityShaderNonUniform = 5301,
|
|
SpvCapabilityShaderNonUniformEXT = 5301,
|
|
SpvCapabilityRuntimeDescriptorArray = 5302,
|
|
SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
|
|
SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
|
|
SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
|
|
SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
|
|
SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
|
|
SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
|
|
SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
|
|
SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
|
|
SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
|
|
SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
|
|
SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
|
|
SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
|
|
SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
|
|
SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
|
|
SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
|
|
SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
|
|
SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
|
|
SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
|
|
SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
|
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
|
SpvCapabilityRayTracingNV = 5340,
|
|
SpvCapabilityRayTracingMotionBlurNV = 5341,
|
|
SpvCapabilityVulkanMemoryModel = 5345,
|
|
SpvCapabilityVulkanMemoryModelKHR = 5345,
|
|
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
|
|
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
|
|
SpvCapabilityPhysicalStorageBufferAddresses = 5347,
|
|
SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
|
|
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
|
|
SpvCapabilityRayTracingProvisionalKHR = 5353,
|
|
SpvCapabilityCooperativeMatrixNV = 5357,
|
|
SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
|
|
SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
|
SpvCapabilityShaderSMBuiltinsNV = 5373,
|
|
SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
|
|
SpvCapabilityDemoteToHelperInvocation = 5379,
|
|
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
|
SpvCapabilityBindlessTextureNV = 5390,
|
|
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
|
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
|
SpvCapabilityRoundToInfinityINTEL = 5582,
|
|
SpvCapabilityFloatingPointModeINTEL = 5583,
|
|
SpvCapabilityIntegerFunctions2INTEL = 5584,
|
|
SpvCapabilityFunctionPointersINTEL = 5603,
|
|
SpvCapabilityIndirectReferencesINTEL = 5604,
|
|
SpvCapabilityAsmINTEL = 5606,
|
|
SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
|
|
SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
|
|
SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
|
|
SpvCapabilityVectorComputeINTEL = 5617,
|
|
SpvCapabilityVectorAnyINTEL = 5619,
|
|
SpvCapabilityExpectAssumeKHR = 5629,
|
|
SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
SpvCapabilityVariableLengthArrayINTEL = 5817,
|
|
SpvCapabilityFunctionFloatControlINTEL = 5821,
|
|
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
SpvCapabilityFPFastMathModeINTEL = 5837,
|
|
SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
|
SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
|
|
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
SpvCapabilityFPGALoopControlsINTEL = 5888,
|
|
SpvCapabilityKernelAttributesINTEL = 5892,
|
|
SpvCapabilityFPGAKernelAttributesINTEL = 5897,
|
|
SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
|
|
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
|
|
SpvCapabilityLoopFuseINTEL = 5906,
|
|
SpvCapabilityMemoryAccessAliasingINTEL = 5910,
|
|
SpvCapabilityFPGABufferLocationINTEL = 5920,
|
|
SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
|
SpvCapabilityUSMStorageClassesINTEL = 5935,
|
|
SpvCapabilityIOPipesINTEL = 5943,
|
|
SpvCapabilityBlockingPipesINTEL = 5945,
|
|
SpvCapabilityFPGARegINTEL = 5948,
|
|
SpvCapabilityDotProductInputAll = 6016,
|
|
SpvCapabilityDotProductInputAllKHR = 6016,
|
|
SpvCapabilityDotProductInput4x8Bit = 6017,
|
|
SpvCapabilityDotProductInput4x8BitKHR = 6017,
|
|
SpvCapabilityDotProductInput4x8BitPacked = 6018,
|
|
SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
|
|
SpvCapabilityDotProduct = 6019,
|
|
SpvCapabilityDotProductKHR = 6019,
|
|
SpvCapabilityRayCullMaskKHR = 6020,
|
|
SpvCapabilityBitInstructions = 6025,
|
|
SpvCapabilityGroupNonUniformRotateKHR = 6026,
|
|
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
|
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
|
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
|
SpvCapabilityOptNoneINTEL = 6094,
|
|
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
|
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
|
SpvCapabilitySplitBarrierINTEL = 6141,
|
|
SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
|
SpvCapabilityMax = 0x7fffffff,
|
|
} SpvCapability;
|
|
|
|
typedef enum SpvRayFlagsShift_ {
|
|
SpvRayFlagsOpaqueKHRShift = 0,
|
|
SpvRayFlagsNoOpaqueKHRShift = 1,
|
|
SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
|
|
SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
|
|
SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
|
|
SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
|
|
SpvRayFlagsCullOpaqueKHRShift = 6,
|
|
SpvRayFlagsCullNoOpaqueKHRShift = 7,
|
|
SpvRayFlagsSkipTrianglesKHRShift = 8,
|
|
SpvRayFlagsSkipAABBsKHRShift = 9,
|
|
SpvRayFlagsMax = 0x7fffffff,
|
|
} SpvRayFlagsShift;
|
|
|
|
typedef enum SpvRayFlagsMask_ {
|
|
SpvRayFlagsMaskNone = 0,
|
|
SpvRayFlagsOpaqueKHRMask = 0x00000001,
|
|
SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
|
|
SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
|
|
SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
|
|
SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
|
|
SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
|
|
SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
|
|
SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
|
SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
|
|
SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
|
|
} SpvRayFlagsMask;
|
|
|
|
typedef enum SpvRayQueryIntersection_ {
|
|
SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
|
|
SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
|
|
SpvRayQueryIntersectionMax = 0x7fffffff,
|
|
} SpvRayQueryIntersection;
|
|
|
|
typedef enum SpvRayQueryCommittedIntersectionType_ {
|
|
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
|
|
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
|
|
SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
|
|
SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
|
|
} SpvRayQueryCommittedIntersectionType;
|
|
|
|
typedef enum SpvRayQueryCandidateIntersectionType_ {
|
|
SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
|
|
SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
|
|
SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
|
|
} SpvRayQueryCandidateIntersectionType;
|
|
|
|
typedef enum SpvFragmentShadingRateShift_ {
|
|
SpvFragmentShadingRateVertical2PixelsShift = 0,
|
|
SpvFragmentShadingRateVertical4PixelsShift = 1,
|
|
SpvFragmentShadingRateHorizontal2PixelsShift = 2,
|
|
SpvFragmentShadingRateHorizontal4PixelsShift = 3,
|
|
SpvFragmentShadingRateMax = 0x7fffffff,
|
|
} SpvFragmentShadingRateShift;
|
|
|
|
typedef enum SpvFragmentShadingRateMask_ {
|
|
SpvFragmentShadingRateMaskNone = 0,
|
|
SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
|
|
SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
|
|
SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
|
|
SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
|
|
} SpvFragmentShadingRateMask;
|
|
|
|
typedef enum SpvFPDenormMode_ {
|
|
SpvFPDenormModePreserve = 0,
|
|
SpvFPDenormModeFlushToZero = 1,
|
|
SpvFPDenormModeMax = 0x7fffffff,
|
|
} SpvFPDenormMode;
|
|
|
|
typedef enum SpvFPOperationMode_ {
|
|
SpvFPOperationModeIEEE = 0,
|
|
SpvFPOperationModeALT = 1,
|
|
SpvFPOperationModeMax = 0x7fffffff,
|
|
} SpvFPOperationMode;
|
|
|
|
typedef enum SpvQuantizationModes_ {
|
|
SpvQuantizationModesTRN = 0,
|
|
SpvQuantizationModesTRN_ZERO = 1,
|
|
SpvQuantizationModesRND = 2,
|
|
SpvQuantizationModesRND_ZERO = 3,
|
|
SpvQuantizationModesRND_INF = 4,
|
|
SpvQuantizationModesRND_MIN_INF = 5,
|
|
SpvQuantizationModesRND_CONV = 6,
|
|
SpvQuantizationModesRND_CONV_ODD = 7,
|
|
SpvQuantizationModesMax = 0x7fffffff,
|
|
} SpvQuantizationModes;
|
|
|
|
typedef enum SpvOverflowModes_ {
|
|
SpvOverflowModesWRAP = 0,
|
|
SpvOverflowModesSAT = 1,
|
|
SpvOverflowModesSAT_ZERO = 2,
|
|
SpvOverflowModesSAT_SYM = 3,
|
|
SpvOverflowModesMax = 0x7fffffff,
|
|
} SpvOverflowModes;
|
|
|
|
typedef enum SpvPackedVectorFormat_ {
|
|
SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
|
|
SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
|
|
SpvPackedVectorFormatMax = 0x7fffffff,
|
|
} SpvPackedVectorFormat;
|
|
|
|
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,
|
|
SpvOpSizeOf = 321,
|
|
SpvOpTypePipeStorage = 322,
|
|
SpvOpConstantPipeStorage = 323,
|
|
SpvOpCreatePipeFromPipeStorage = 324,
|
|
SpvOpGetKernelLocalSizeForSubgroupCount = 325,
|
|
SpvOpGetKernelMaxNumSubgroups = 326,
|
|
SpvOpTypeNamedBarrier = 327,
|
|
SpvOpNamedBarrierInitialize = 328,
|
|
SpvOpMemoryNamedBarrier = 329,
|
|
SpvOpModuleProcessed = 330,
|
|
SpvOpExecutionModeId = 331,
|
|
SpvOpDecorateId = 332,
|
|
SpvOpGroupNonUniformElect = 333,
|
|
SpvOpGroupNonUniformAll = 334,
|
|
SpvOpGroupNonUniformAny = 335,
|
|
SpvOpGroupNonUniformAllEqual = 336,
|
|
SpvOpGroupNonUniformBroadcast = 337,
|
|
SpvOpGroupNonUniformBroadcastFirst = 338,
|
|
SpvOpGroupNonUniformBallot = 339,
|
|
SpvOpGroupNonUniformInverseBallot = 340,
|
|
SpvOpGroupNonUniformBallotBitExtract = 341,
|
|
SpvOpGroupNonUniformBallotBitCount = 342,
|
|
SpvOpGroupNonUniformBallotFindLSB = 343,
|
|
SpvOpGroupNonUniformBallotFindMSB = 344,
|
|
SpvOpGroupNonUniformShuffle = 345,
|
|
SpvOpGroupNonUniformShuffleXor = 346,
|
|
SpvOpGroupNonUniformShuffleUp = 347,
|
|
SpvOpGroupNonUniformShuffleDown = 348,
|
|
SpvOpGroupNonUniformIAdd = 349,
|
|
SpvOpGroupNonUniformFAdd = 350,
|
|
SpvOpGroupNonUniformIMul = 351,
|
|
SpvOpGroupNonUniformFMul = 352,
|
|
SpvOpGroupNonUniformSMin = 353,
|
|
SpvOpGroupNonUniformUMin = 354,
|
|
SpvOpGroupNonUniformFMin = 355,
|
|
SpvOpGroupNonUniformSMax = 356,
|
|
SpvOpGroupNonUniformUMax = 357,
|
|
SpvOpGroupNonUniformFMax = 358,
|
|
SpvOpGroupNonUniformBitwiseAnd = 359,
|
|
SpvOpGroupNonUniformBitwiseOr = 360,
|
|
SpvOpGroupNonUniformBitwiseXor = 361,
|
|
SpvOpGroupNonUniformLogicalAnd = 362,
|
|
SpvOpGroupNonUniformLogicalOr = 363,
|
|
SpvOpGroupNonUniformLogicalXor = 364,
|
|
SpvOpGroupNonUniformQuadBroadcast = 365,
|
|
SpvOpGroupNonUniformQuadSwap = 366,
|
|
SpvOpCopyLogical = 400,
|
|
SpvOpPtrEqual = 401,
|
|
SpvOpPtrNotEqual = 402,
|
|
SpvOpPtrDiff = 403,
|
|
SpvOpTerminateInvocation = 4416,
|
|
SpvOpSubgroupBallotKHR = 4421,
|
|
SpvOpSubgroupFirstInvocationKHR = 4422,
|
|
SpvOpSubgroupAllKHR = 4428,
|
|
SpvOpSubgroupAnyKHR = 4429,
|
|
SpvOpSubgroupAllEqualKHR = 4430,
|
|
SpvOpGroupNonUniformRotateKHR = 4431,
|
|
SpvOpSubgroupReadInvocationKHR = 4432,
|
|
SpvOpTraceRayKHR = 4445,
|
|
SpvOpExecuteCallableKHR = 4446,
|
|
SpvOpConvertUToAccelerationStructureKHR = 4447,
|
|
SpvOpIgnoreIntersectionKHR = 4448,
|
|
SpvOpTerminateRayKHR = 4449,
|
|
SpvOpSDot = 4450,
|
|
SpvOpSDotKHR = 4450,
|
|
SpvOpUDot = 4451,
|
|
SpvOpUDotKHR = 4451,
|
|
SpvOpSUDot = 4452,
|
|
SpvOpSUDotKHR = 4452,
|
|
SpvOpSDotAccSat = 4453,
|
|
SpvOpSDotAccSatKHR = 4453,
|
|
SpvOpUDotAccSat = 4454,
|
|
SpvOpUDotAccSatKHR = 4454,
|
|
SpvOpSUDotAccSat = 4455,
|
|
SpvOpSUDotAccSatKHR = 4455,
|
|
SpvOpTypeRayQueryKHR = 4472,
|
|
SpvOpRayQueryInitializeKHR = 4473,
|
|
SpvOpRayQueryTerminateKHR = 4474,
|
|
SpvOpRayQueryGenerateIntersectionKHR = 4475,
|
|
SpvOpRayQueryConfirmIntersectionKHR = 4476,
|
|
SpvOpRayQueryProceedKHR = 4477,
|
|
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
|
|
SpvOpGroupIAddNonUniformAMD = 5000,
|
|
SpvOpGroupFAddNonUniformAMD = 5001,
|
|
SpvOpGroupFMinNonUniformAMD = 5002,
|
|
SpvOpGroupUMinNonUniformAMD = 5003,
|
|
SpvOpGroupSMinNonUniformAMD = 5004,
|
|
SpvOpGroupFMaxNonUniformAMD = 5005,
|
|
SpvOpGroupUMaxNonUniformAMD = 5006,
|
|
SpvOpGroupSMaxNonUniformAMD = 5007,
|
|
SpvOpFragmentMaskFetchAMD = 5011,
|
|
SpvOpFragmentFetchAMD = 5012,
|
|
SpvOpReadClockKHR = 5056,
|
|
SpvOpImageSampleFootprintNV = 5283,
|
|
SpvOpEmitMeshTasksEXT = 5294,
|
|
SpvOpSetMeshOutputsEXT = 5295,
|
|
SpvOpGroupNonUniformPartitionNV = 5296,
|
|
SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
|
|
SpvOpReportIntersectionKHR = 5334,
|
|
SpvOpReportIntersectionNV = 5334,
|
|
SpvOpIgnoreIntersectionNV = 5335,
|
|
SpvOpTerminateRayNV = 5336,
|
|
SpvOpTraceNV = 5337,
|
|
SpvOpTraceMotionNV = 5338,
|
|
SpvOpTraceRayMotionNV = 5339,
|
|
SpvOpTypeAccelerationStructureKHR = 5341,
|
|
SpvOpTypeAccelerationStructureNV = 5341,
|
|
SpvOpExecuteCallableNV = 5344,
|
|
SpvOpTypeCooperativeMatrixNV = 5358,
|
|
SpvOpCooperativeMatrixLoadNV = 5359,
|
|
SpvOpCooperativeMatrixStoreNV = 5360,
|
|
SpvOpCooperativeMatrixMulAddNV = 5361,
|
|
SpvOpCooperativeMatrixLengthNV = 5362,
|
|
SpvOpBeginInvocationInterlockEXT = 5364,
|
|
SpvOpEndInvocationInterlockEXT = 5365,
|
|
SpvOpDemoteToHelperInvocation = 5380,
|
|
SpvOpDemoteToHelperInvocationEXT = 5380,
|
|
SpvOpIsHelperInvocationEXT = 5381,
|
|
SpvOpConvertUToImageNV = 5391,
|
|
SpvOpConvertUToSamplerNV = 5392,
|
|
SpvOpConvertImageToUNV = 5393,
|
|
SpvOpConvertSamplerToUNV = 5394,
|
|
SpvOpConvertUToSampledImageNV = 5395,
|
|
SpvOpConvertSampledImageToUNV = 5396,
|
|
SpvOpSamplerImageAddressingModeNV = 5397,
|
|
SpvOpSubgroupShuffleINTEL = 5571,
|
|
SpvOpSubgroupShuffleDownINTEL = 5572,
|
|
SpvOpSubgroupShuffleUpINTEL = 5573,
|
|
SpvOpSubgroupShuffleXorINTEL = 5574,
|
|
SpvOpSubgroupBlockReadINTEL = 5575,
|
|
SpvOpSubgroupBlockWriteINTEL = 5576,
|
|
SpvOpSubgroupImageBlockReadINTEL = 5577,
|
|
SpvOpSubgroupImageBlockWriteINTEL = 5578,
|
|
SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
|
|
SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
|
|
SpvOpUCountLeadingZerosINTEL = 5585,
|
|
SpvOpUCountTrailingZerosINTEL = 5586,
|
|
SpvOpAbsISubINTEL = 5587,
|
|
SpvOpAbsUSubINTEL = 5588,
|
|
SpvOpIAddSatINTEL = 5589,
|
|
SpvOpUAddSatINTEL = 5590,
|
|
SpvOpIAverageINTEL = 5591,
|
|
SpvOpUAverageINTEL = 5592,
|
|
SpvOpIAverageRoundedINTEL = 5593,
|
|
SpvOpUAverageRoundedINTEL = 5594,
|
|
SpvOpISubSatINTEL = 5595,
|
|
SpvOpUSubSatINTEL = 5596,
|
|
SpvOpIMul32x16INTEL = 5597,
|
|
SpvOpUMul32x16INTEL = 5598,
|
|
SpvOpConstantFunctionPointerINTEL = 5600,
|
|
SpvOpFunctionPointerCallINTEL = 5601,
|
|
SpvOpAsmTargetINTEL = 5609,
|
|
SpvOpAsmINTEL = 5610,
|
|
SpvOpAsmCallINTEL = 5611,
|
|
SpvOpAtomicFMinEXT = 5614,
|
|
SpvOpAtomicFMaxEXT = 5615,
|
|
SpvOpAssumeTrueKHR = 5630,
|
|
SpvOpExpectKHR = 5631,
|
|
SpvOpDecorateString = 5632,
|
|
SpvOpDecorateStringGOOGLE = 5632,
|
|
SpvOpMemberDecorateString = 5633,
|
|
SpvOpMemberDecorateStringGOOGLE = 5633,
|
|
SpvOpVmeImageINTEL = 5699,
|
|
SpvOpTypeVmeImageINTEL = 5700,
|
|
SpvOpTypeAvcImePayloadINTEL = 5701,
|
|
SpvOpTypeAvcRefPayloadINTEL = 5702,
|
|
SpvOpTypeAvcSicPayloadINTEL = 5703,
|
|
SpvOpTypeAvcMcePayloadINTEL = 5704,
|
|
SpvOpTypeAvcMceResultINTEL = 5705,
|
|
SpvOpTypeAvcImeResultINTEL = 5706,
|
|
SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
|
|
SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
|
|
SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
|
|
SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
|
|
SpvOpTypeAvcRefResultINTEL = 5711,
|
|
SpvOpTypeAvcSicResultINTEL = 5712,
|
|
SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
|
|
SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
|
|
SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
|
|
SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
|
|
SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
|
|
SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
|
|
SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
|
|
SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
|
|
SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
|
|
SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
|
|
SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
|
|
SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
|
|
SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
|
|
SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
|
|
SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
|
|
SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
|
|
SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
|
|
SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
|
|
SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
|
|
SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
|
|
SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
|
|
SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
|
|
SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
|
|
SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
|
|
SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
|
|
SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
|
|
SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
|
|
SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
|
|
SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
|
|
SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
|
|
SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
|
|
SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
|
|
SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
|
|
SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
|
|
SpvOpSubgroupAvcImeInitializeINTEL = 5747,
|
|
SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
|
|
SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
|
|
SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
|
|
SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
|
|
SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
|
|
SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
|
|
SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
|
|
SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
|
|
SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
|
|
SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
|
|
SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
|
|
SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
|
|
SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
|
|
SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
|
|
SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
|
|
SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
|
|
SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
|
|
SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
|
|
SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
|
|
SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
|
|
SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
|
|
SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
|
|
SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
|
|
SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
|
|
SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
|
|
SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
|
|
SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
|
|
SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
|
|
SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
|
|
SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
|
|
SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
|
|
SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
|
|
SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
|
|
SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
|
|
SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
|
|
SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
|
|
SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
|
|
SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
|
|
SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
|
|
SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
|
|
SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
|
|
SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
|
|
SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
|
|
SpvOpSubgroupAvcSicInitializeINTEL = 5791,
|
|
SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
|
|
SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
|
|
SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
|
|
SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
|
|
SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
|
|
SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
|
|
SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
|
|
SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
|
|
SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
|
|
SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
|
|
SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
|
|
SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
|
|
SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
|
|
SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
|
|
SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
|
|
SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
|
|
SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
|
|
SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
|
|
SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
|
|
SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
|
|
SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
|
|
SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
|
|
SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
|
SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
|
SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
|
SpvOpVariableLengthArrayINTEL = 5818,
|
|
SpvOpSaveMemoryINTEL = 5819,
|
|
SpvOpRestoreMemoryINTEL = 5820,
|
|
SpvOpArbitraryFloatSinCosPiINTEL = 5840,
|
|
SpvOpArbitraryFloatCastINTEL = 5841,
|
|
SpvOpArbitraryFloatCastFromIntINTEL = 5842,
|
|
SpvOpArbitraryFloatCastToIntINTEL = 5843,
|
|
SpvOpArbitraryFloatAddINTEL = 5846,
|
|
SpvOpArbitraryFloatSubINTEL = 5847,
|
|
SpvOpArbitraryFloatMulINTEL = 5848,
|
|
SpvOpArbitraryFloatDivINTEL = 5849,
|
|
SpvOpArbitraryFloatGTINTEL = 5850,
|
|
SpvOpArbitraryFloatGEINTEL = 5851,
|
|
SpvOpArbitraryFloatLTINTEL = 5852,
|
|
SpvOpArbitraryFloatLEINTEL = 5853,
|
|
SpvOpArbitraryFloatEQINTEL = 5854,
|
|
SpvOpArbitraryFloatRecipINTEL = 5855,
|
|
SpvOpArbitraryFloatRSqrtINTEL = 5856,
|
|
SpvOpArbitraryFloatCbrtINTEL = 5857,
|
|
SpvOpArbitraryFloatHypotINTEL = 5858,
|
|
SpvOpArbitraryFloatSqrtINTEL = 5859,
|
|
SpvOpArbitraryFloatLogINTEL = 5860,
|
|
SpvOpArbitraryFloatLog2INTEL = 5861,
|
|
SpvOpArbitraryFloatLog10INTEL = 5862,
|
|
SpvOpArbitraryFloatLog1pINTEL = 5863,
|
|
SpvOpArbitraryFloatExpINTEL = 5864,
|
|
SpvOpArbitraryFloatExp2INTEL = 5865,
|
|
SpvOpArbitraryFloatExp10INTEL = 5866,
|
|
SpvOpArbitraryFloatExpm1INTEL = 5867,
|
|
SpvOpArbitraryFloatSinINTEL = 5868,
|
|
SpvOpArbitraryFloatCosINTEL = 5869,
|
|
SpvOpArbitraryFloatSinCosINTEL = 5870,
|
|
SpvOpArbitraryFloatSinPiINTEL = 5871,
|
|
SpvOpArbitraryFloatCosPiINTEL = 5872,
|
|
SpvOpArbitraryFloatASinINTEL = 5873,
|
|
SpvOpArbitraryFloatASinPiINTEL = 5874,
|
|
SpvOpArbitraryFloatACosINTEL = 5875,
|
|
SpvOpArbitraryFloatACosPiINTEL = 5876,
|
|
SpvOpArbitraryFloatATanINTEL = 5877,
|
|
SpvOpArbitraryFloatATanPiINTEL = 5878,
|
|
SpvOpArbitraryFloatATan2INTEL = 5879,
|
|
SpvOpArbitraryFloatPowINTEL = 5880,
|
|
SpvOpArbitraryFloatPowRINTEL = 5881,
|
|
SpvOpArbitraryFloatPowNINTEL = 5882,
|
|
SpvOpLoopControlINTEL = 5887,
|
|
SpvOpAliasDomainDeclINTEL = 5911,
|
|
SpvOpAliasScopeDeclINTEL = 5912,
|
|
SpvOpAliasScopeListDeclINTEL = 5913,
|
|
SpvOpFixedSqrtINTEL = 5923,
|
|
SpvOpFixedRecipINTEL = 5924,
|
|
SpvOpFixedRsqrtINTEL = 5925,
|
|
SpvOpFixedSinINTEL = 5926,
|
|
SpvOpFixedCosINTEL = 5927,
|
|
SpvOpFixedSinCosINTEL = 5928,
|
|
SpvOpFixedSinPiINTEL = 5929,
|
|
SpvOpFixedCosPiINTEL = 5930,
|
|
SpvOpFixedSinCosPiINTEL = 5931,
|
|
SpvOpFixedLogINTEL = 5932,
|
|
SpvOpFixedExpINTEL = 5933,
|
|
SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
|
|
SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
|
|
SpvOpReadPipeBlockingINTEL = 5946,
|
|
SpvOpWritePipeBlockingINTEL = 5947,
|
|
SpvOpFPGARegINTEL = 5949,
|
|
SpvOpRayQueryGetRayTMinKHR = 6016,
|
|
SpvOpRayQueryGetRayFlagsKHR = 6017,
|
|
SpvOpRayQueryGetIntersectionTKHR = 6018,
|
|
SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
|
SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
|
SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
|
SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
|
SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
|
SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
|
SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
|
SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
|
SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
|
SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
|
SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
|
|
SpvOpRayQueryGetWorldRayOriginKHR = 6030,
|
|
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
|
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
|
SpvOpAtomicFAddEXT = 6035,
|
|
SpvOpTypeBufferSurfaceINTEL = 6086,
|
|
SpvOpTypeStructContinuedINTEL = 6090,
|
|
SpvOpConstantCompositeContinuedINTEL = 6091,
|
|
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
|
|
SpvOpControlBarrierArriveINTEL = 6142,
|
|
SpvOpControlBarrierWaitINTEL = 6143,
|
|
SpvOpGroupIMulKHR = 6401,
|
|
SpvOpGroupFMulKHR = 6402,
|
|
SpvOpGroupBitwiseAndKHR = 6403,
|
|
SpvOpGroupBitwiseOrKHR = 6404,
|
|
SpvOpGroupBitwiseXorKHR = 6405,
|
|
SpvOpGroupLogicalAndKHR = 6406,
|
|
SpvOpGroupLogicalOrKHR = 6407,
|
|
SpvOpGroupLogicalXorKHR = 6408,
|
|
SpvOpMax = 0x7fffffff,
|
|
} SpvOp;
|
|
|
|
#ifdef SPV_ENABLE_UTILITY_CODE
|
|
#ifndef __cplusplus
|
|
#include <stdbool.h>
|
|
#endif
|
|
inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
|
|
*hasResult = *hasResultType = false;
|
|
switch (opcode) {
|
|
default: /* unknown opcode */ break;
|
|
case SpvOpNop: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSource: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpName: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpString: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpLine: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpStore: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpImage: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpISub: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAny: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAll: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpNot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpKill: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
|
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
|
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
|
|
case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
|
|
}
|
|
}
|
|
#endif /* SPV_ENABLE_UTILITY_CODE */
|
|
|
|
#endif
|
|
|