Roll dependencies.
This commit is contained in:
parent
9c0b74f73b
commit
fe8848a6f2
@ -2,9 +2,9 @@
|
||||
# Copyright 2016-2021 The Khronos Group Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
GLSLANG_REV=3de5cfe50edecd001e6d703555284d9b10b3dd57
|
||||
SPIRV_TOOLS_REV=f3ccb633dfd7c5de1f9f0a2d2e9d7a25f2478206
|
||||
SPIRV_HEADERS_REV=f027d53ded7e230e008d37c8b47ede7cd308e19d
|
||||
GLSLANG_REV=df609a01b386001e367709086c58529c48028d1e
|
||||
SPIRV_TOOLS_REV=75e53b9f685830ac42242cf0c46cc9af523bd0df
|
||||
SPIRV_HEADERS_REV=b8047fbe45f426f5918fadc67e8408f5b108c3c9
|
||||
PROTOCOL=https
|
||||
|
||||
if [ -d external/glslang ]; then
|
||||
|
@ -69,8 +69,6 @@ void frag_main()
|
||||
{
|
||||
#line 42 "test.frag"
|
||||
FragColor += (10.0f + vColor);
|
||||
#line 43 "test.frag"
|
||||
#line 42 "test.frag"
|
||||
#line 43 "test.frag"
|
||||
if (FragColor < 100.0f)
|
||||
{
|
||||
|
@ -5,22 +5,9 @@ struct SPIRV_Cross_Output
|
||||
float4 FragColor : SV_Target0;
|
||||
};
|
||||
|
||||
uint64_t spvPackUint2x32(uint2 value)
|
||||
{
|
||||
return (uint64_t(value.y) << 32) | uint64_t(value.x);
|
||||
}
|
||||
|
||||
uint2 spvUnpackUint2x32(uint64_t value)
|
||||
{
|
||||
uint2 Unpacked;
|
||||
Unpacked.x = uint(value & 0xffffffff);
|
||||
Unpacked.y = uint(value >> 32);
|
||||
return Unpacked;
|
||||
}
|
||||
|
||||
void frag_main()
|
||||
{
|
||||
uint2 unpacked = spvUnpackUint2x32(spvPackUint2x32(uint2(18u, 52u)));
|
||||
uint2 unpacked = uint2(18u, 52u);
|
||||
FragColor = float4(float(unpacked.x), float(unpacked.y), 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,6 @@
|
||||
static const float _17[5] = { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f };
|
||||
|
||||
static float4 FragColor;
|
||||
static float4 v0;
|
||||
|
||||
struct SPIRV_Cross_Input
|
||||
{
|
||||
float4 v0 : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct SPIRV_Cross_Output
|
||||
{
|
||||
@ -24,9 +18,8 @@ void frag_main()
|
||||
}
|
||||
}
|
||||
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
SPIRV_Cross_Output main()
|
||||
{
|
||||
v0 = stage_input.v0;
|
||||
frag_main();
|
||||
SPIRV_Cross_Output stage_output;
|
||||
stage_output.FragColor = FragColor;
|
||||
|
@ -1,16 +1,8 @@
|
||||
static float4 vColor;
|
||||
|
||||
struct SPIRV_Cross_Input
|
||||
{
|
||||
float4 vColor : TEXCOORD0;
|
||||
};
|
||||
|
||||
void frag_main()
|
||||
{
|
||||
}
|
||||
|
||||
void main(SPIRV_Cross_Input stage_input)
|
||||
void main()
|
||||
{
|
||||
vColor = stage_input.vColor;
|
||||
frag_main();
|
||||
}
|
||||
|
@ -74,24 +74,30 @@ void frag_main()
|
||||
float2 _136 = _136_tmp.xx;
|
||||
float _143_tmp = uCombinedSamplers[NonUniformResourceIndex(_49)].CalculateLevelOfDetail(_uCombinedSamplers_sampler[NonUniformResourceIndex(_49)], vUV);
|
||||
float2 _143 = _143_tmp.xx;
|
||||
float2 _149 = FragColor.xy + (_136 + _143);
|
||||
FragColor = float4(_149.x, _149.y, FragColor.z, FragColor.w);
|
||||
int _157;
|
||||
spvTextureSize(uSamplers[NonUniformResourceIndex(_65)], 0u, _157);
|
||||
FragColor.x += float(int(_157));
|
||||
int _174;
|
||||
spvTextureSize(uSamplersMS[NonUniformResourceIndex(_65)], 0u, _174);
|
||||
FragColor.y += float(int(_174));
|
||||
uint _185_dummy_parameter;
|
||||
float2 _189 = FragColor.xy + float2(int2(spvTextureSize(uSamplers[NonUniformResourceIndex(_65)], uint(0), _185_dummy_parameter)));
|
||||
FragColor = float4(_189.x, _189.y, FragColor.z, FragColor.w);
|
||||
float4 _147 = FragColor;
|
||||
float2 _149 = _147.xy + (_136 + _143);
|
||||
FragColor.x = _149.x;
|
||||
FragColor.y = _149.y;
|
||||
int _160;
|
||||
spvTextureSize(uSamplers[NonUniformResourceIndex(_65)], 0u, _160);
|
||||
FragColor.x += float(int(_160));
|
||||
int _176;
|
||||
spvTextureSize(uSamplersMS[NonUniformResourceIndex(_65)], 0u, _176);
|
||||
FragColor.y += float(int(_176));
|
||||
uint _187_dummy_parameter;
|
||||
float4 _189 = FragColor;
|
||||
float2 _191 = _189.xy + float2(int2(spvTextureSize(uSamplers[NonUniformResourceIndex(_65)], uint(0), _187_dummy_parameter)));
|
||||
FragColor.x = _191.x;
|
||||
FragColor.y = _191.y;
|
||||
FragColor += uImages[NonUniformResourceIndex(_83)][_111].xxxx;
|
||||
uint _212_dummy_parameter;
|
||||
float2 _216 = FragColor.xy + float2(int2(spvImageSize(uImages[NonUniformResourceIndex(_65)], _212_dummy_parameter)));
|
||||
FragColor = float4(_216.x, _216.y, FragColor.z, FragColor.w);
|
||||
uint _216_dummy_parameter;
|
||||
float4 _218 = FragColor;
|
||||
float2 _220 = _218.xy + float2(int2(spvImageSize(uImages[NonUniformResourceIndex(_65)], _216_dummy_parameter)));
|
||||
FragColor.x = _220.x;
|
||||
FragColor.y = _220.y;
|
||||
uImages[NonUniformResourceIndex(_88)][_111] = 50.0f.x;
|
||||
uint _242;
|
||||
InterlockedAdd(uImagesU32[NonUniformResourceIndex(_100)][_111], 40u, _242);
|
||||
uint _248;
|
||||
InterlockedAdd(uImagesU32[NonUniformResourceIndex(_100)][_111], 40u, _248);
|
||||
}
|
||||
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
|
@ -1,11 +1,9 @@
|
||||
static float4 FragColor;
|
||||
static float4 vIn;
|
||||
static int4 vIn1;
|
||||
|
||||
struct SPIRV_Cross_Input
|
||||
{
|
||||
float4 vIn : TEXCOORD0;
|
||||
nointerpolation int4 vIn1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
struct SPIRV_Cross_Output
|
||||
@ -21,7 +19,6 @@ void frag_main()
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
{
|
||||
vIn = stage_input.vIn;
|
||||
vIn1 = stage_input.vIn1;
|
||||
frag_main();
|
||||
SPIRV_Cross_Output stage_output;
|
||||
stage_output.FragColor = FragColor;
|
||||
|
@ -82,9 +82,11 @@ void frag_main()
|
||||
FP32Out = spvUnpackUnorm4x8(UNORM8);
|
||||
FP32Out = spvUnpackSnorm4x8(SNORM8);
|
||||
float2 _21 = spvUnpackUnorm2x16(UNORM16);
|
||||
FP32Out = float4(_21.x, _21.y, FP32Out.z, FP32Out.w);
|
||||
float2 _26 = spvUnpackSnorm2x16(SNORM16);
|
||||
FP32Out = float4(_26.x, _26.y, FP32Out.z, FP32Out.w);
|
||||
FP32Out.x = _21.x;
|
||||
FP32Out.y = _21.y;
|
||||
float2 _31 = spvUnpackSnorm2x16(SNORM16);
|
||||
FP32Out.x = _31.x;
|
||||
FP32Out.y = _31.y;
|
||||
UNORM8Out = spvPackUnorm4x8(FP32);
|
||||
SNORM8Out = spvPackSnorm4x8(FP32);
|
||||
UNORM16Out = spvPackUnorm2x16(FP32.xy);
|
||||
|
@ -1,10 +1,8 @@
|
||||
static float4 gl_Position;
|
||||
static float4 vInput0;
|
||||
static float4 vInput1;
|
||||
|
||||
struct SPIRV_Cross_Input
|
||||
{
|
||||
float4 vInput0 : TEXCOORD0;
|
||||
float4 vInput1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
@ -20,7 +18,6 @@ void vert_main()
|
||||
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
{
|
||||
vInput0 = stage_input.vInput0;
|
||||
vInput1 = stage_input.vInput1;
|
||||
vert_main();
|
||||
SPIRV_Cross_Output stage_output;
|
||||
|
@ -72,8 +72,6 @@ fragment main0_out main0(main0_in in [[stage_in]])
|
||||
{
|
||||
#line 42 "test.frag"
|
||||
out.FragColor += (10.0 + in.vColor);
|
||||
#line 43 "test.frag"
|
||||
#line 42 "test.frag"
|
||||
#line 43 "test.frag"
|
||||
if (out.FragColor < 100.0)
|
||||
{
|
||||
|
@ -16,7 +16,7 @@ struct main0_out
|
||||
fragment main0_out main0(constant push_cb& _19 [[buffer(0)]], texture2d<float> t0 [[texture(0)]], sampler dummy_sampler [[sampler(0)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
out.o0 = t0.read(uint2(as_type<int2>(_19.cb0[0u].zw)) + uint2(int2(-1, -2)), as_type<int>(0.0));
|
||||
out.o0 = t0.read(uint2(as_type<int2>(_19.cb0[0u].zw)) + uint2(int2(-1, -2)), 0);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -42,10 +42,10 @@ kernel void main0(constant Params& _18 [[buffer(1)]], acceleration_structure<ins
|
||||
int _96 = q2[1].get_candidate_geometry_id();
|
||||
int _97 = q.get_committed_primitive_id();
|
||||
float2 _100 = q2[0].get_candidate_triangle_barycentric_coord();
|
||||
bool _103 = q.is_committed_triangle_front_facing();
|
||||
float3 _104 = q.get_candidate_ray_direction();
|
||||
float3 _106 = q2[0].get_committed_ray_origin();
|
||||
float4x3 _110 = q.get_candidate_object_to_world_transform();
|
||||
float4x3 _112 = q2[1].get_committed_world_to_object_transform();
|
||||
bool _107 = q.is_committed_triangle_front_facing();
|
||||
float3 _108 = q.get_candidate_ray_direction();
|
||||
float3 _110 = q2[0].get_committed_ray_origin();
|
||||
float4x3 _114 = q.get_candidate_object_to_world_transform();
|
||||
float4x3 _116 = q2[1].get_committed_world_to_object_transform();
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,13 @@ struct main0_out
|
||||
fragment main0_out main0(constant UBO& _15 [[buffer(0)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
out.FragColor = float4(_15.color[0], _15.color[1], _15.color[2], float4(1.0).w);
|
||||
float4 _36 = float4(1.0);
|
||||
_36.x = _15.color[0];
|
||||
float4 _38 = _36;
|
||||
_38.y = _15.color[1];
|
||||
float4 _40 = _38;
|
||||
_40.z = _15.color[2];
|
||||
out.FragColor = _40;
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -62,8 +62,6 @@ void main()
|
||||
{
|
||||
#line 42 "test.frag"
|
||||
FragColor += (10.0 + vColor);
|
||||
#line 43 "test.frag"
|
||||
#line 42 "test.frag"
|
||||
#line 43 "test.frag"
|
||||
if (FragColor < 100.0)
|
||||
{
|
||||
|
@ -1,11 +1,10 @@
|
||||
#version 450
|
||||
#extension GL_ARB_gpu_shader_int64 : require
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
uvec2 unpacked = unpackUint2x32(packUint2x32(uvec2(18u, 52u)));
|
||||
uvec2 unpacked = uvec2(18u, 52u);
|
||||
FragColor = vec4(float(unpacked.x), float(unpacked.y), 1.0, 1.0);
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@ layout(location = 0) out vec4 FragColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
mediump ivec2 _22 = ivec2(gl_FragCoord.xy);
|
||||
ivec2 _22 = ivec2(gl_FragCoord.xy);
|
||||
FragColor = texelFetchOffset(uTexture, _22, 0, ivec2(1));
|
||||
FragColor += texelFetchOffset(uTexture, _22, 0, ivec2(-1, 1));
|
||||
}
|
||||
|
@ -2,11 +2,6 @@
|
||||
#extension GL_NV_geometry_shader_passthrough : require
|
||||
layout(triangles) in;
|
||||
|
||||
layout(passthrough) in gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
} gl_in[];
|
||||
|
||||
layout(passthrough, location = 0) in VertexBlock
|
||||
{
|
||||
int a;
|
||||
|
@ -23,6 +23,7 @@ layout(push_constant, std430) uniform Push
|
||||
|
||||
void main()
|
||||
{
|
||||
uint v = _15.bar.b;
|
||||
uint _31 = atomicAdd(_15.bar.a, _15.bar.b);
|
||||
}
|
||||
|
||||
|
@ -19,17 +19,31 @@ layout(set = 0, binding = 0, std430) restrict buffer LinkedList
|
||||
|
||||
void main()
|
||||
{
|
||||
Node _45;
|
||||
Node _114;
|
||||
if (gl_WorkGroupID.x < 4u)
|
||||
{
|
||||
_45 = _50.head1;
|
||||
_114 = _50.head1;
|
||||
}
|
||||
else
|
||||
{
|
||||
_45 = _50.head2;
|
||||
_114 = _50.head2;
|
||||
}
|
||||
restrict Node n = _114;
|
||||
Node param = _114.next;
|
||||
Node param_1 = _50.head1;
|
||||
Node param_2 = _50.head2;
|
||||
_114.next.value = _50.head1.value + _50.head2.value;
|
||||
Node param_4 = _50.head1;
|
||||
Node param_3 = _50.head1;
|
||||
n = _50.head1;
|
||||
int v = _50.head2.value;
|
||||
_50.head1.value = 20;
|
||||
_50.head1.value = _50.head2.value * 10;
|
||||
uint64_t _98 = uint64_t(_50.head2.next);
|
||||
uint64_t uptr = _98;
|
||||
Node unode = Node(_98);
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,10 @@ void main()
|
||||
int _99 = rayQueryGetIntersectionGeometryIndexEXT(q2[1], bool(0));
|
||||
int _100 = rayQueryGetIntersectionPrimitiveIndexEXT(q, bool(1));
|
||||
vec2 _103 = rayQueryGetIntersectionBarycentricsEXT(q2[0], bool(0));
|
||||
bool _106 = rayQueryGetIntersectionFrontFaceEXT(q, bool(1));
|
||||
vec3 _107 = rayQueryGetIntersectionObjectRayDirectionEXT(q, bool(0));
|
||||
vec3 _109 = rayQueryGetIntersectionObjectRayOriginEXT(q2[0], bool(1));
|
||||
mat4x3 _113 = rayQueryGetIntersectionObjectToWorldEXT(q, bool(0));
|
||||
mat4x3 _115 = rayQueryGetIntersectionWorldToObjectEXT(q2[1], bool(1));
|
||||
bool _110 = rayQueryGetIntersectionFrontFaceEXT(q, bool(1));
|
||||
vec3 _111 = rayQueryGetIntersectionObjectRayDirectionEXT(q, bool(0));
|
||||
vec3 _113 = rayQueryGetIntersectionObjectRayOriginEXT(q2[0], bool(1));
|
||||
mat4x3 _117 = rayQueryGetIntersectionObjectToWorldEXT(q, bool(0));
|
||||
mat4x3 _119 = rayQueryGetIntersectionWorldToObjectEXT(q2[1], bool(1));
|
||||
}
|
||||
|
||||
|
@ -43,16 +43,22 @@ void main()
|
||||
FragColor = texelFetch(uSamplers[nonuniformEXT(_49)], _111, 0);
|
||||
int _116 = vIndex + 100;
|
||||
uint _122 = atomicAdd(ssbos[_116].counter, 100u);
|
||||
vec2 _149 = FragColor.xy + (textureQueryLod(nonuniformEXT(sampler2D(uSamplers[_22], uSamps[_32])), vUV) + textureQueryLod(uCombinedSamplers[nonuniformEXT(_49)], vUV));
|
||||
FragColor = vec4(_149.x, _149.y, FragColor.z, FragColor.w);
|
||||
vec4 _147 = FragColor;
|
||||
vec2 _149 = _147.xy + (textureQueryLod(nonuniformEXT(sampler2D(uSamplers[_22], uSamps[_32])), vUV) + textureQueryLod(uCombinedSamplers[nonuniformEXT(_49)], vUV));
|
||||
FragColor.x = _149.x;
|
||||
FragColor.y = _149.y;
|
||||
FragColor.x += float(textureQueryLevels(uSamplers[nonuniformEXT(_65)]));
|
||||
FragColor.y += float(textureSamples(uSamplersMS[nonuniformEXT(_65)]));
|
||||
vec2 _189 = FragColor.xy + vec2(textureSize(uSamplers[nonuniformEXT(_65)], 0));
|
||||
FragColor = vec4(_189.x, _189.y, FragColor.z, FragColor.w);
|
||||
vec4 _189 = FragColor;
|
||||
vec2 _191 = _189.xy + vec2(textureSize(uSamplers[nonuniformEXT(_65)], 0));
|
||||
FragColor.x = _191.x;
|
||||
FragColor.y = _191.y;
|
||||
FragColor += imageLoad(uImages[nonuniformEXT(_83)], _111);
|
||||
vec2 _216 = FragColor.xy + vec2(imageSize(uImages[nonuniformEXT(_65)]));
|
||||
FragColor = vec4(_216.x, _216.y, FragColor.z, FragColor.w);
|
||||
vec4 _218 = FragColor;
|
||||
vec2 _220 = _218.xy + vec2(imageSize(uImages[nonuniformEXT(_65)]));
|
||||
FragColor.x = _220.x;
|
||||
FragColor.y = _220.y;
|
||||
imageStore(uImages[nonuniformEXT(_88)], _111, vec4(50.0));
|
||||
uint _242 = imageAtomicAdd(uImagesU32[nonuniformEXT(_100)], _111, 40u);
|
||||
uint _248 = imageAtomicAdd(uImagesU32[nonuniformEXT(_100)], _111, 40u);
|
||||
}
|
||||
|
||||
|
@ -26,10 +26,15 @@ struct SPIRV_Cross_Output
|
||||
void vert_main()
|
||||
{
|
||||
gl_Position = mul(v, m4);
|
||||
float3 _37 = gl_Position.xyz + mul(v.xyz, m3);
|
||||
gl_Position = float4(_37.x, _37.y, _37.z, gl_Position.w);
|
||||
float2 _52 = gl_Position.xy + mul(v.xy, m2);
|
||||
gl_Position = float4(_52.x, _52.y, gl_Position.z, gl_Position.w);
|
||||
float4 _35 = gl_Position;
|
||||
float3 _37 = _35.xyz + mul(v.xyz, m3);
|
||||
gl_Position.x = _37.x;
|
||||
gl_Position.y = _37.y;
|
||||
gl_Position.z = _37.z;
|
||||
float4 _56 = gl_Position;
|
||||
float2 _58 = _56.xy + mul(v.xy, m2);
|
||||
gl_Position.x = _58.x;
|
||||
gl_Position.y = _58.y;
|
||||
}
|
||||
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
|
@ -77,31 +77,37 @@ void frag_main()
|
||||
float _143_tmp = uCombinedSamplers[NonUniformResourceIndex(_139)].CalculateLevelOfDetail(_uCombinedSamplers_sampler[NonUniformResourceIndex(_139)], vUV);
|
||||
float2 _143 = _143_tmp.xx;
|
||||
queried += _143;
|
||||
float2 _149 = FragColor.xy + queried;
|
||||
FragColor = float4(_149.x, _149.y, FragColor.z, FragColor.w);
|
||||
int _154 = i + 20;
|
||||
int _157;
|
||||
spvTextureSize(uSamplers[NonUniformResourceIndex(_154)], 0u, _157);
|
||||
FragColor.x += float(int(_157));
|
||||
int _170 = i + 20;
|
||||
int _174;
|
||||
spvTextureSize(uSamplersMS[NonUniformResourceIndex(_170)], 0u, _174);
|
||||
FragColor.y += float(int(_174));
|
||||
int _182 = i + 20;
|
||||
uint _185_dummy_parameter;
|
||||
float2 _189 = FragColor.xy + float2(int2(spvTextureSize(uSamplers[NonUniformResourceIndex(_182)], uint(0), _185_dummy_parameter)));
|
||||
FragColor = float4(_189.x, _189.y, FragColor.z, FragColor.w);
|
||||
int _198 = i + 50;
|
||||
FragColor += uImages[NonUniformResourceIndex(_198)][int2(vUV)].xxxx;
|
||||
int _209 = i + 20;
|
||||
uint _212_dummy_parameter;
|
||||
float2 _216 = FragColor.xy + float2(int2(spvImageSize(uImages[NonUniformResourceIndex(_209)], _212_dummy_parameter)));
|
||||
FragColor = float4(_216.x, _216.y, FragColor.z, FragColor.w);
|
||||
int _221 = i + 60;
|
||||
uImages[NonUniformResourceIndex(_221)][int2(vUV)] = 50.0f.x;
|
||||
int _234 = i + 70;
|
||||
uint _242;
|
||||
InterlockedAdd(uImagesU32[NonUniformResourceIndex(_234)][int2(vUV)], 40u, _242);
|
||||
float4 _147 = FragColor;
|
||||
float2 _149 = _147.xy + queried;
|
||||
FragColor.x = _149.x;
|
||||
FragColor.y = _149.y;
|
||||
int _157 = i + 20;
|
||||
int _160;
|
||||
spvTextureSize(uSamplers[NonUniformResourceIndex(_157)], 0u, _160);
|
||||
FragColor.x += float(int(_160));
|
||||
int _172 = i + 20;
|
||||
int _176;
|
||||
spvTextureSize(uSamplersMS[NonUniformResourceIndex(_172)], 0u, _176);
|
||||
FragColor.y += float(int(_176));
|
||||
int _184 = i + 20;
|
||||
uint _187_dummy_parameter;
|
||||
float4 _189 = FragColor;
|
||||
float2 _191 = _189.xy + float2(int2(spvTextureSize(uSamplers[NonUniformResourceIndex(_184)], uint(0), _187_dummy_parameter)));
|
||||
FragColor.x = _191.x;
|
||||
FragColor.y = _191.y;
|
||||
int _202 = i + 50;
|
||||
FragColor += uImages[NonUniformResourceIndex(_202)][int2(vUV)].xxxx;
|
||||
int _213 = i + 20;
|
||||
uint _216_dummy_parameter;
|
||||
float4 _218 = FragColor;
|
||||
float2 _220 = _218.xy + float2(int2(spvImageSize(uImages[NonUniformResourceIndex(_213)], _216_dummy_parameter)));
|
||||
FragColor.x = _220.x;
|
||||
FragColor.y = _220.y;
|
||||
int _227 = i + 60;
|
||||
uImages[NonUniformResourceIndex(_227)][int2(vUV)] = 50.0f.x;
|
||||
int _240 = i + 70;
|
||||
uint _248;
|
||||
InterlockedAdd(uImagesU32[NonUniformResourceIndex(_240)][int2(vUV)], 40u, _248);
|
||||
}
|
||||
|
||||
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||||
|
@ -82,9 +82,11 @@ void frag_main()
|
||||
FP32Out = spvUnpackUnorm4x8(UNORM8);
|
||||
FP32Out = spvUnpackSnorm4x8(SNORM8);
|
||||
float2 _21 = spvUnpackUnorm2x16(UNORM16);
|
||||
FP32Out = float4(_21.x, _21.y, FP32Out.z, FP32Out.w);
|
||||
float2 _26 = spvUnpackSnorm2x16(SNORM16);
|
||||
FP32Out = float4(_26.x, _26.y, FP32Out.z, FP32Out.w);
|
||||
FP32Out.x = _21.x;
|
||||
FP32Out.y = _21.y;
|
||||
float2 _31 = spvUnpackSnorm2x16(SNORM16);
|
||||
FP32Out.x = _31.x;
|
||||
FP32Out.y = _31.y;
|
||||
UNORM8Out = spvPackUnorm4x8(FP32);
|
||||
SNORM8Out = spvPackSnorm4x8(FP32);
|
||||
UNORM16Out = spvPackUnorm2x16(FP32.xy);
|
||||
|
@ -23,9 +23,13 @@ constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);
|
||||
kernel void main0(device SSBO1& _21 [[buffer(0)]], device SSBO0& _29 [[buffer(1)]], constant UBO& _40 [[buffer(2)]], uint3 gl_GlobalInvocationID [[thread_position_in_grid]])
|
||||
{
|
||||
uint ident = gl_GlobalInvocationID.x;
|
||||
short2 _47 = as_type<short2>(((device int*)&_29.inputs[ident])[0u]) + as_type<short2>(_40.const0.xy);
|
||||
_21.outputs[ident] = short4(_47.x, _47.y, _21.outputs[ident].z, _21.outputs[ident].w);
|
||||
short2 _66 = short2(as_type<ushort2>(uint(((device int*)&_29.inputs[ident])[1u])) - as_type<ushort2>(_40.const0.zw));
|
||||
_21.outputs[ident] = short4(_21.outputs[ident].x, _21.outputs[ident].y, _66.x, _66.y);
|
||||
int _33 = ((device int*)&_29.inputs[ident])[0u];
|
||||
short2 _47 = as_type<short2>(_33) + as_type<short2>(_40.const0.xy);
|
||||
((device short*)&_21.outputs[ident])[0u] = _47.x;
|
||||
((device short*)&_21.outputs[ident])[1u] = _47.y;
|
||||
int _57 = ((device int*)&_29.inputs[ident])[1u];
|
||||
short2 _67 = short2(as_type<ushort2>(uint(_57)) - as_type<ushort2>(_40.const0.zw));
|
||||
((device short*)&_21.outputs[ident])[2u] = _67.x;
|
||||
((device short*)&_21.outputs[ident])[3u] = _67.y;
|
||||
}
|
||||
|
||||
|
@ -169,7 +169,8 @@ void vs_adjust(thread float4& dst_reg0, thread float4& dst_reg1, thread float4&
|
||||
tmp0.y = float4(dot(float4(in_pos.xyz, 1.0), v_309.vc[5])).y;
|
||||
tmp0.z = float4(dot(float4(in_pos.xyz, 1.0), v_309.vc[6])).z;
|
||||
float4 tmp1;
|
||||
tmp1 = float4(in_tc0.xy.x, in_tc0.xy.y, tmp1.z, tmp1.w);
|
||||
tmp1.x = in_tc0.xy.x;
|
||||
tmp1.y = in_tc0.xy.y;
|
||||
tmp1.z = v_309.vc[15].x;
|
||||
dst_reg7.y = float4(dot(float4(tmp1.xyz, 1.0), v_309.vc[8])).y;
|
||||
dst_reg7.x = float4(dot(float4(tmp1.xyz, 1.0), v_309.vc[7])).x;
|
||||
|
@ -55,16 +55,17 @@ kernel void main0(constant Params& _18 [[buffer(1)]], acceleration_structure<ins
|
||||
int _97 = q.get_committed_primitive_id();
|
||||
ival = _97;
|
||||
float2 _100 = q2[0].get_candidate_triangle_barycentric_coord();
|
||||
fvals = float3(_100.x, _100.y, fvals.z);
|
||||
bool _103 = q.is_committed_triangle_front_facing();
|
||||
res = _103;
|
||||
float3 _104 = q.get_candidate_ray_direction();
|
||||
fvals = _104;
|
||||
float3 _106 = q2[0].get_committed_ray_origin();
|
||||
fvals = _106;
|
||||
float4x3 _110 = q.get_candidate_object_to_world_transform();
|
||||
float4x3 matrices = _110;
|
||||
float4x3 _112 = q2[1].get_committed_world_to_object_transform();
|
||||
matrices = _112;
|
||||
fvals.x = _100.x;
|
||||
fvals.y = _100.y;
|
||||
bool _107 = q.is_committed_triangle_front_facing();
|
||||
res = _107;
|
||||
float3 _108 = q.get_candidate_ray_direction();
|
||||
fvals = _108;
|
||||
float3 _110 = q2[0].get_committed_ray_origin();
|
||||
fvals = _110;
|
||||
float4x3 _114 = q.get_candidate_object_to_world_transform();
|
||||
float4x3 matrices = _114;
|
||||
float4x3 _116 = q2[1].get_committed_world_to_object_transform();
|
||||
matrices = _116;
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,9 @@ fragment main0_out main0(constant UBO& _15 [[buffer(0)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
float4 f = float4(1.0);
|
||||
f = float4(_15.color[0], _15.color[1], _15.color[2], f.w);
|
||||
f.x = _15.color[0];
|
||||
f.y = _15.color[1];
|
||||
f.z = _15.color[2];
|
||||
out.FragColor = f;
|
||||
return out;
|
||||
}
|
||||
|
@ -33,9 +33,13 @@ layout(binding = 2, std140) uniform UBO
|
||||
void main()
|
||||
{
|
||||
uint ident = gl_GlobalInvocationID.x;
|
||||
i16vec2 _47 = unpackInt2x16(_29.inputs[ident].x) + float16BitsToInt16(_40.const0.xy);
|
||||
_21.outputs[ident] = i16vec4(_47.x, _47.y, _21.outputs[ident].z, _21.outputs[ident].w);
|
||||
i16vec2 _66 = i16vec2(unpackUint2x16(uint(_29.inputs[ident].y)) - float16BitsToUint16(_40.const0.zw));
|
||||
_21.outputs[ident] = i16vec4(_21.outputs[ident].x, _21.outputs[ident].y, _66.x, _66.y);
|
||||
int _33 = _29.inputs[ident].x;
|
||||
i16vec2 _47 = unpackInt2x16(_33) + float16BitsToInt16(_40.const0.xy);
|
||||
_21.outputs[ident].x = _47.x;
|
||||
_21.outputs[ident].y = _47.y;
|
||||
int _57 = _29.inputs[ident].y;
|
||||
i16vec2 _67 = i16vec2(unpackUint2x16(uint(_57)) - float16BitsToUint16(_40.const0.zw));
|
||||
_21.outputs[ident].z = _67.x;
|
||||
_21.outputs[ident].w = _67.y;
|
||||
}
|
||||
|
||||
|
@ -263,7 +263,7 @@ struct type_StructuredBuffer_v4float
|
||||
float4 _m0[1];
|
||||
};
|
||||
|
||||
constant float4 _602 = {};
|
||||
constant float4 _142 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
@ -328,7 +328,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
float4 _328 = float4(param_var_I[_313].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _336 = float4(param_var_I[_315].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _344 = float4(param_var_I[_316].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
spvUnsafeArray<float4, 3> _392 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, ((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_313].Position) - (float4(dot(param_var_I[_313].Position - param_var_I[gl_InvocationID].Position, _301)) * _301)) + (((float4(2.0) * param_var_I[_315].Position) + param_var_I[_316].Position) - (float4(dot(param_var_I[_316].Position - param_var_I[_315].Position, _336)) * _336))) * float4(0.16666667163372039794921875), ((((float4(2.0) * param_var_I[_313].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_313].Position, _328)) * _328)) + (((float4(2.0) * param_var_I[_316].Position) + param_var_I[_315].Position) - (float4(dot(param_var_I[_315].Position - param_var_I[_316].Position, _344)) * _344))) * float4(0.16666667163372039794921875) });
|
||||
spvUnsafeArray<float4, 3> _392 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_313].Position) - (float4(dot(param_var_I[_313].Position - param_var_I[gl_InvocationID].Position, _301)) * _301)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_315].Position) + param_var_I[_316].Position) - (float4(dot(param_var_I[_316].Position - param_var_I[_315].Position, _336)) * _336)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_313].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_313].Position, _328)) * _328)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_316].Position) + param_var_I[_315].Position) - (float4(dot(param_var_I[_315].Position - param_var_I[_316].Position, _344)) * _344)) * float4(0.3333333432674407958984375))) * float4(0.5) });
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
|
||||
gl_out[gl_InvocationID].out_var_COLOR0 = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.Color;
|
||||
@ -346,7 +346,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
if (gl_InvocationID == 0u)
|
||||
{
|
||||
float4 _450 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
|
||||
float4 _463 = _602;
|
||||
float4 _463 = _142;
|
||||
_463.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
|
||||
float4 _469 = _463;
|
||||
_469.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
|
@ -304,7 +304,7 @@ struct type_Primitive
|
||||
float4 Primitive_CustomPrimitiveData[4];
|
||||
};
|
||||
|
||||
constant float4 _613 = {};
|
||||
constant float4 _140 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
@ -391,7 +391,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
float4 _336 = float4(param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _344 = float4(param_var_I[_256].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _352 = float4(param_var_I[_257].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
spvUnsafeArray<float4, 3> _402 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, ((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) + (((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _344)) * _344))) * float4(0.16666667163372039794921875), ((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _336)) * _336)) + (((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _352)) * _352))) * float4(0.16666667163372039794921875) });
|
||||
spvUnsafeArray<float4, 3> _402 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _344)) * _344)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _336)) * _336)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _352)) * _352)) * float4(0.3333333432674407958984375))) * float4(0.5) });
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
|
||||
gl_out[gl_InvocationID].out_var_VS_To_DS_Position = param_var_I[gl_InvocationID].Position;
|
||||
@ -414,7 +414,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
if (gl_InvocationID == 0u)
|
||||
{
|
||||
float4 _461 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
|
||||
float4 _474 = _613;
|
||||
float4 _474 = _140;
|
||||
_474.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
|
||||
float4 _480 = _474;
|
||||
_480.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
|
@ -286,7 +286,7 @@ struct type_Primitive
|
||||
float4 Primitive_CustomPrimitiveData[4];
|
||||
};
|
||||
|
||||
constant float4 _537 = {};
|
||||
constant float4 _127 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
@ -343,7 +343,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
float4 _269 = float4(param_var_I[_254].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _277 = float4(param_var_I[_256].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
float4 _285 = float4(param_var_I[_257].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2.xyz, 0.0);
|
||||
spvUnsafeArray<float4, 3> _333 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, ((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) + (((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _277)) * _277))) * float4(0.16666667163372039794921875), ((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _269)) * _269)) + (((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _285)) * _285))) * float4(0.16666667163372039794921875) });
|
||||
spvUnsafeArray<float4, 3> _333 = spvUnsafeArray<float4, 3>({ param_var_I[gl_InvocationID].Position, (((((float4(2.0) * param_var_I[gl_InvocationID].Position) + param_var_I[_254].Position) - (float4(dot(param_var_I[_254].Position - param_var_I[gl_InvocationID].Position, _247)) * _247)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_256].Position) + param_var_I[_257].Position) - (float4(dot(param_var_I[_257].Position - param_var_I[_256].Position, _277)) * _277)) * float4(0.3333333432674407958984375))) * float4(0.5), (((((float4(2.0) * param_var_I[_254].Position) + param_var_I[gl_InvocationID].Position) - (float4(dot(param_var_I[gl_InvocationID].Position - param_var_I[_254].Position, _269)) * _269)) * float4(0.3333333432674407958984375)) + ((((float4(2.0) * param_var_I[_257].Position) + param_var_I[_256].Position) - (float4(dot(param_var_I[_256].Position - param_var_I[_257].Position, _285)) * _285)) * float4(0.3333333432674407958984375))) * float4(0.5) });
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD10_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld0;
|
||||
gl_out[gl_InvocationID].out_var_TEXCOORD11_centroid = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.TangentToWorld2;
|
||||
gl_out[gl_InvocationID].out_var_COLOR0 = param_var_I[gl_InvocationID].FactoryInterpolants.InterpolantsVSToPS.Color;
|
||||
@ -358,7 +358,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_View& View [[buffer(0)
|
||||
if (gl_InvocationID == 0u)
|
||||
{
|
||||
float4 _385 = (((((temp_var_hullMainRetVal[0u].WorldPosition[1] + temp_var_hullMainRetVal[0u].WorldPosition[2]) + temp_var_hullMainRetVal[1u].WorldPosition[1]) + temp_var_hullMainRetVal[1u].WorldPosition[2]) + temp_var_hullMainRetVal[2u].WorldPosition[1]) + temp_var_hullMainRetVal[2u].WorldPosition[2]) * float4(0.16666667163372039794921875);
|
||||
float4 _398 = _537;
|
||||
float4 _398 = _127;
|
||||
_398.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
|
||||
float4 _404 = _398;
|
||||
_404.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
|
@ -115,7 +115,7 @@ struct type_Material
|
||||
float4 Material_ScalarExpressions[1];
|
||||
};
|
||||
|
||||
constant float4 _182 = {};
|
||||
constant float4 _88 = {};
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
@ -160,7 +160,7 @@ kernel void main0(main0_in in [[stage_in]], constant type_Primitive& Primitive [
|
||||
threadgroup_barrier(mem_flags::mem_device | mem_flags::mem_threadgroup);
|
||||
if (gl_InvocationID == 0u)
|
||||
{
|
||||
float4 _154 = _182;
|
||||
float4 _154 = _88;
|
||||
_154.x = 0.5 * (temp_var_hullMainRetVal[1u].TessellationMultiplier + temp_var_hullMainRetVal[2u].TessellationMultiplier);
|
||||
float4 _160 = _154;
|
||||
_160.y = 0.5 * (temp_var_hullMainRetVal[2u].TessellationMultiplier + temp_var_hullMainRetVal[0u].TessellationMultiplier);
|
@ -56,16 +56,17 @@ void main()
|
||||
int _100 = rayQueryGetIntersectionPrimitiveIndexEXT(q, bool(1));
|
||||
ival = _100;
|
||||
vec2 _103 = rayQueryGetIntersectionBarycentricsEXT(q2[0], bool(0));
|
||||
fvals = vec3(_103.x, _103.y, fvals.z);
|
||||
bool _106 = rayQueryGetIntersectionFrontFaceEXT(q, bool(1));
|
||||
res = _106;
|
||||
vec3 _107 = rayQueryGetIntersectionObjectRayDirectionEXT(q, bool(0));
|
||||
fvals = _107;
|
||||
vec3 _109 = rayQueryGetIntersectionObjectRayOriginEXT(q2[0], bool(1));
|
||||
fvals = _109;
|
||||
mat4x3 _113 = rayQueryGetIntersectionObjectToWorldEXT(q, bool(0));
|
||||
mat4x3 matrices = _113;
|
||||
mat4x3 _115 = rayQueryGetIntersectionWorldToObjectEXT(q2[1], bool(1));
|
||||
matrices = _115;
|
||||
fvals.x = _103.x;
|
||||
fvals.y = _103.y;
|
||||
bool _110 = rayQueryGetIntersectionFrontFaceEXT(q, bool(1));
|
||||
res = _110;
|
||||
vec3 _111 = rayQueryGetIntersectionObjectRayDirectionEXT(q, bool(0));
|
||||
fvals = _111;
|
||||
vec3 _113 = rayQueryGetIntersectionObjectRayOriginEXT(q2[0], bool(1));
|
||||
fvals = _113;
|
||||
mat4x3 _117 = rayQueryGetIntersectionObjectToWorldEXT(q, bool(0));
|
||||
mat4x3 matrices = _117;
|
||||
mat4x3 _119 = rayQueryGetIntersectionWorldToObjectEXT(q2[1], bool(1));
|
||||
matrices = _119;
|
||||
}
|
||||
|
||||
|
@ -46,23 +46,29 @@ void main()
|
||||
vec2 queried = textureQueryLod(nonuniformEXT(sampler2D(uSamplers[i + 10], uSamps[i + 40])), vUV);
|
||||
int _139 = i + 10;
|
||||
queried += textureQueryLod(uCombinedSamplers[nonuniformEXT(_139)], vUV);
|
||||
vec2 _149 = FragColor.xy + queried;
|
||||
FragColor = vec4(_149.x, _149.y, FragColor.z, FragColor.w);
|
||||
int _154 = i + 20;
|
||||
FragColor.x += float(textureQueryLevels(uSamplers[nonuniformEXT(_154)]));
|
||||
int _170 = i + 20;
|
||||
FragColor.y += float(textureSamples(uSamplersMS[nonuniformEXT(_170)]));
|
||||
int _182 = i + 20;
|
||||
vec2 _189 = FragColor.xy + vec2(textureSize(uSamplers[nonuniformEXT(_182)], 0));
|
||||
FragColor = vec4(_189.x, _189.y, FragColor.z, FragColor.w);
|
||||
int _198 = i + 50;
|
||||
FragColor += imageLoad(uImages[nonuniformEXT(_198)], ivec2(vUV));
|
||||
int _209 = i + 20;
|
||||
vec2 _216 = FragColor.xy + vec2(imageSize(uImages[nonuniformEXT(_209)]));
|
||||
FragColor = vec4(_216.x, _216.y, FragColor.z, FragColor.w);
|
||||
int _221 = i + 60;
|
||||
imageStore(uImages[nonuniformEXT(_221)], ivec2(vUV), vec4(50.0));
|
||||
int _234 = i + 70;
|
||||
uint _242 = imageAtomicAdd(uImagesU32[nonuniformEXT(_234)], ivec2(vUV), 40u);
|
||||
vec4 _147 = FragColor;
|
||||
vec2 _149 = _147.xy + queried;
|
||||
FragColor.x = _149.x;
|
||||
FragColor.y = _149.y;
|
||||
int _157 = i + 20;
|
||||
FragColor.x += float(textureQueryLevels(uSamplers[nonuniformEXT(_157)]));
|
||||
int _172 = i + 20;
|
||||
FragColor.y += float(textureSamples(uSamplersMS[nonuniformEXT(_172)]));
|
||||
int _184 = i + 20;
|
||||
vec4 _189 = FragColor;
|
||||
vec2 _191 = _189.xy + vec2(textureSize(uSamplers[nonuniformEXT(_184)], 0));
|
||||
FragColor.x = _191.x;
|
||||
FragColor.y = _191.y;
|
||||
int _202 = i + 50;
|
||||
FragColor += imageLoad(uImages[nonuniformEXT(_202)], ivec2(vUV));
|
||||
int _213 = i + 20;
|
||||
vec4 _218 = FragColor;
|
||||
vec2 _220 = _218.xy + vec2(imageSize(uImages[nonuniformEXT(_213)]));
|
||||
FragColor.x = _220.x;
|
||||
FragColor.y = _220.y;
|
||||
int _227 = i + 60;
|
||||
imageStore(uImages[nonuniformEXT(_227)], ivec2(vUV), vec4(50.0));
|
||||
int _240 = i + 70;
|
||||
uint _248 = imageAtomicAdd(uImagesU32[nonuniformEXT(_240)], ivec2(vUV), 40u);
|
||||
}
|
||||
|
||||
|
@ -6,9 +6,9 @@ layout(set = 0, binding = 0) uniform texture2D uSamplers[];
|
||||
layout(set = 1, binding = 0) uniform texture2DMS uSamplersMS[];
|
||||
layout(set = 2, binding = 4) uniform sampler2D uCombinedSamplers[];
|
||||
layout(set = 3, binding = 1) uniform sampler uSamps[];
|
||||
layout(set = 4, location = 0) flat in int vIndex;
|
||||
layout(set = 5, location = 1) in vec2 vUV;
|
||||
layout(set = 6, location = 0) out vec4 FragColor;
|
||||
layout(location = 0) flat in int vIndex;
|
||||
layout(location = 1) in vec2 vUV;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(r32f, set = 7, binding = 5) uniform image2D uImages[];
|
||||
layout(r32ui, set = 8, binding = 5) uniform uimage2D uImagesU32[];
|
||||
|
320
spirv.h
320
spirv.h
@ -53,12 +53,12 @@
|
||||
|
||||
typedef unsigned int SpvId;
|
||||
|
||||
#define SPV_VERSION 0x10500
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_VERSION 0x10600
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int SpvMagicNumber = 0x07230203;
|
||||
static const unsigned int SpvVersion = 0x00010500;
|
||||
static const unsigned int SpvRevision = 4;
|
||||
static const unsigned int SpvVersion = 0x00010600;
|
||||
static const unsigned int SpvRevision = 1;
|
||||
static const unsigned int SpvOpCodeMask = 0xffff;
|
||||
static const unsigned int SpvWordCountShift = 16;
|
||||
|
||||
@ -69,6 +69,7 @@ typedef enum SpvSourceLanguage_ {
|
||||
SpvSourceLanguageOpenCL_C = 3,
|
||||
SpvSourceLanguageOpenCL_CPP = 4,
|
||||
SpvSourceLanguageHLSL = 5,
|
||||
SpvSourceLanguageCPP_for_OpenCL = 6,
|
||||
SpvSourceLanguageMax = 0x7fffffff,
|
||||
} SpvSourceLanguage;
|
||||
|
||||
@ -154,6 +155,7 @@ typedef enum SpvExecutionMode_ {
|
||||
SpvExecutionModeSubgroupsPerWorkgroupId = 37,
|
||||
SpvExecutionModeLocalSizeId = 38,
|
||||
SpvExecutionModeLocalSizeHintId = 39,
|
||||
SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
||||
SpvExecutionModePostDepthCoverage = 4446,
|
||||
SpvExecutionModeDenormPreserve = 4459,
|
||||
SpvExecutionModeDenormFlushToZero = 4460,
|
||||
@ -172,10 +174,16 @@ typedef enum SpvExecutionMode_ {
|
||||
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,
|
||||
SpvExecutionModeMax = 0x7fffffff,
|
||||
} SpvExecutionMode;
|
||||
|
||||
@ -208,6 +216,8 @@ typedef enum SpvStorageClass_ {
|
||||
SpvStorageClassPhysicalStorageBuffer = 5349,
|
||||
SpvStorageClassPhysicalStorageBufferEXT = 5349,
|
||||
SpvStorageClassCodeSectionINTEL = 5605,
|
||||
SpvStorageClassDeviceOnlyINTEL = 5936,
|
||||
SpvStorageClassHostOnlyINTEL = 5937,
|
||||
SpvStorageClassMax = 0x7fffffff,
|
||||
} SpvStorageClass;
|
||||
|
||||
@ -347,6 +357,8 @@ typedef enum SpvImageOperandsShift_ {
|
||||
SpvImageOperandsVolatileTexelKHRShift = 11,
|
||||
SpvImageOperandsSignExtendShift = 12,
|
||||
SpvImageOperandsZeroExtendShift = 13,
|
||||
SpvImageOperandsNontemporalShift = 14,
|
||||
SpvImageOperandsOffsetsShift = 16,
|
||||
SpvImageOperandsMax = 0x7fffffff,
|
||||
} SpvImageOperandsShift;
|
||||
|
||||
@ -370,6 +382,8 @@ typedef enum SpvImageOperandsMask_ {
|
||||
SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
|
||||
SpvImageOperandsSignExtendMask = 0x00001000,
|
||||
SpvImageOperandsZeroExtendMask = 0x00002000,
|
||||
SpvImageOperandsNontemporalMask = 0x00004000,
|
||||
SpvImageOperandsOffsetsMask = 0x00010000,
|
||||
} SpvImageOperandsMask;
|
||||
|
||||
typedef enum SpvFPFastMathModeShift_ {
|
||||
@ -378,6 +392,8 @@ typedef enum SpvFPFastMathModeShift_ {
|
||||
SpvFPFastMathModeNSZShift = 2,
|
||||
SpvFPFastMathModeAllowRecipShift = 3,
|
||||
SpvFPFastMathModeFastShift = 4,
|
||||
SpvFPFastMathModeAllowContractFastINTELShift = 16,
|
||||
SpvFPFastMathModeAllowReassocINTELShift = 17,
|
||||
SpvFPFastMathModeMax = 0x7fffffff,
|
||||
} SpvFPFastMathModeShift;
|
||||
|
||||
@ -388,6 +404,8 @@ typedef enum SpvFPFastMathModeMask_ {
|
||||
SpvFPFastMathModeNSZMask = 0x00000004,
|
||||
SpvFPFastMathModeAllowRecipMask = 0x00000008,
|
||||
SpvFPFastMathModeFastMask = 0x00000010,
|
||||
SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
||||
SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
|
||||
} SpvFPFastMathModeMask;
|
||||
|
||||
typedef enum SpvFPRoundingMode_ {
|
||||
@ -401,6 +419,7 @@ typedef enum SpvFPRoundingMode_ {
|
||||
typedef enum SpvLinkageType_ {
|
||||
SpvLinkageTypeExport = 0,
|
||||
SpvLinkageTypeImport = 1,
|
||||
SpvLinkageTypeLinkOnceODR = 2,
|
||||
SpvLinkageTypeMax = 0x7fffffff,
|
||||
} SpvLinkageType;
|
||||
|
||||
@ -481,6 +500,7 @@ typedef enum SpvDecoration_ {
|
||||
SpvDecorationPerPrimitiveNV = 5271,
|
||||
SpvDecorationPerViewNV = 5272,
|
||||
SpvDecorationPerTaskNV = 5273,
|
||||
SpvDecorationPerVertexKHR = 5285,
|
||||
SpvDecorationPerVertexNV = 5285,
|
||||
SpvDecorationNonUniform = 5300,
|
||||
SpvDecorationNonUniformEXT = 5300,
|
||||
@ -488,12 +508,26 @@ typedef enum SpvDecoration_ {
|
||||
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,
|
||||
@ -506,6 +540,18 @@ typedef enum SpvDecoration_ {
|
||||
SpvDecorationMergeINTEL = 5834,
|
||||
SpvDecorationBankBitsINTEL = 5835,
|
||||
SpvDecorationForcePow2DepthINTEL = 5836,
|
||||
SpvDecorationBurstCoalesceINTEL = 5899,
|
||||
SpvDecorationCacheSizeINTEL = 5900,
|
||||
SpvDecorationDontStaticallyCoalesceINTEL = 5901,
|
||||
SpvDecorationPrefetchINTEL = 5902,
|
||||
SpvDecorationStallEnableINTEL = 5905,
|
||||
SpvDecorationFuseLoopsInFunctionINTEL = 5907,
|
||||
SpvDecorationBufferLocationINTEL = 5921,
|
||||
SpvDecorationIOPipeStorageINTEL = 5944,
|
||||
SpvDecorationFunctionFloatingPointModeINTEL = 6080,
|
||||
SpvDecorationSingleElementVectorINTEL = 6085,
|
||||
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
|
||||
SpvDecorationMediaBlockIOINTEL = 6140,
|
||||
SpvDecorationMax = 0x7fffffff,
|
||||
} SpvDecoration;
|
||||
|
||||
@ -590,7 +636,9 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInLayerPerViewNV = 5279,
|
||||
SpvBuiltInMeshViewCountNV = 5280,
|
||||
SpvBuiltInMeshViewIndicesNV = 5281,
|
||||
SpvBuiltInBaryCoordKHR = 5286,
|
||||
SpvBuiltInBaryCoordNV = 5286,
|
||||
SpvBuiltInBaryCoordNoPerspKHR = 5287,
|
||||
SpvBuiltInBaryCoordNoPerspNV = 5287,
|
||||
SpvBuiltInFragSizeEXT = 5292,
|
||||
SpvBuiltInFragmentSizeNV = 5292,
|
||||
@ -621,6 +669,7 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInHitTNV = 5332,
|
||||
SpvBuiltInHitKindKHR = 5333,
|
||||
SpvBuiltInHitKindNV = 5333,
|
||||
SpvBuiltInCurrentRayTimeNV = 5334,
|
||||
SpvBuiltInIncomingRayFlagsKHR = 5351,
|
||||
SpvBuiltInIncomingRayFlagsNV = 5351,
|
||||
SpvBuiltInRayGeometryIndexKHR = 5352,
|
||||
@ -660,6 +709,7 @@ typedef enum SpvLoopControlShift_ {
|
||||
SpvLoopControlLoopCoalesceINTELShift = 20,
|
||||
SpvLoopControlMaxInterleavingINTELShift = 21,
|
||||
SpvLoopControlSpeculatedIterationsINTELShift = 22,
|
||||
SpvLoopControlNoFusionINTELShift = 23,
|
||||
SpvLoopControlMax = 0x7fffffff,
|
||||
} SpvLoopControlShift;
|
||||
|
||||
@ -681,6 +731,7 @@ typedef enum SpvLoopControlMask_ {
|
||||
SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
|
||||
SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
|
||||
SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
||||
SpvLoopControlNoFusionINTELMask = 0x00800000,
|
||||
} SpvLoopControlMask;
|
||||
|
||||
typedef enum SpvFunctionControlShift_ {
|
||||
@ -688,6 +739,7 @@ typedef enum SpvFunctionControlShift_ {
|
||||
SpvFunctionControlDontInlineShift = 1,
|
||||
SpvFunctionControlPureShift = 2,
|
||||
SpvFunctionControlConstShift = 3,
|
||||
SpvFunctionControlOptNoneINTELShift = 16,
|
||||
SpvFunctionControlMax = 0x7fffffff,
|
||||
} SpvFunctionControlShift;
|
||||
|
||||
@ -697,6 +749,7 @@ typedef enum SpvFunctionControlMask_ {
|
||||
SpvFunctionControlDontInlineMask = 0x00000002,
|
||||
SpvFunctionControlPureMask = 0x00000004,
|
||||
SpvFunctionControlConstMask = 0x00000008,
|
||||
SpvFunctionControlOptNoneINTELMask = 0x00010000,
|
||||
} SpvFunctionControlMask;
|
||||
|
||||
typedef enum SpvMemorySemanticsShift_ {
|
||||
@ -877,9 +930,13 @@ typedef enum SpvCapability_ {
|
||||
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,
|
||||
@ -922,6 +979,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityFragmentFullyCoveredEXT = 5265,
|
||||
SpvCapabilityMeshShadingNV = 5266,
|
||||
SpvCapabilityImageFootprintNV = 5282,
|
||||
SpvCapabilityFragmentBarycentricKHR = 5284,
|
||||
SpvCapabilityFragmentBarycentricNV = 5284,
|
||||
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||
SpvCapabilityFragmentDensityEXT = 5291,
|
||||
@ -952,6 +1010,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
SpvCapabilityRayTracingNV = 5340,
|
||||
SpvCapabilityRayTracingMotionBlurNV = 5341,
|
||||
SpvCapabilityVulkanMemoryModel = 5345,
|
||||
SpvCapabilityVulkanMemoryModelKHR = 5345,
|
||||
SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
|
||||
@ -965,26 +1024,62 @@ typedef enum SpvCapability_ {
|
||||
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,
|
||||
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,
|
||||
SpvCapabilityBitInstructions = 6025,
|
||||
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
||||
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
||||
SpvCapabilityLongConstantCompositeINTEL = 6089,
|
||||
SpvCapabilityOptNoneINTEL = 6094,
|
||||
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
||||
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
||||
SpvCapabilityMax = 0x7fffffff,
|
||||
} SpvCapability;
|
||||
|
||||
@ -1051,6 +1146,44 @@ typedef enum SpvFragmentShadingRateMask_ {
|
||||
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,
|
||||
@ -1408,6 +1541,18 @@ typedef enum SpvOp_ {
|
||||
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,
|
||||
@ -1434,6 +1579,8 @@ typedef enum SpvOp_ {
|
||||
SpvOpIgnoreIntersectionNV = 5335,
|
||||
SpvOpTerminateRayNV = 5336,
|
||||
SpvOpTraceNV = 5337,
|
||||
SpvOpTraceMotionNV = 5338,
|
||||
SpvOpTraceRayMotionNV = 5339,
|
||||
SpvOpTypeAccelerationStructureKHR = 5341,
|
||||
SpvOpTypeAccelerationStructureNV = 5341,
|
||||
SpvOpExecuteCallableNV = 5344,
|
||||
@ -1444,8 +1591,16 @@ typedef enum SpvOp_ {
|
||||
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,
|
||||
@ -1470,8 +1625,15 @@ typedef enum SpvOp_ {
|
||||
SpvOpUSubSatINTEL = 5596,
|
||||
SpvOpIMul32x16INTEL = 5597,
|
||||
SpvOpUMul32x16INTEL = 5598,
|
||||
SpvOpFunctionPointerINTEL = 5600,
|
||||
SpvOpConstantFunctionPointerINTEL = 5600,
|
||||
SpvOpFunctionPointerCallINTEL = 5601,
|
||||
SpvOpAsmTargetINTEL = 5609,
|
||||
SpvOpAsmINTEL = 5610,
|
||||
SpvOpAsmCallINTEL = 5611,
|
||||
SpvOpAtomicFMinEXT = 5614,
|
||||
SpvOpAtomicFMaxEXT = 5615,
|
||||
SpvOpAssumeTrueKHR = 5630,
|
||||
SpvOpExpectKHR = 5631,
|
||||
SpvOpDecorateString = 5632,
|
||||
SpvOpDecorateStringGOOGLE = 5632,
|
||||
SpvOpMemberDecorateString = 5633,
|
||||
@ -1594,7 +1756,64 @@ typedef enum SpvOp_ {
|
||||
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,
|
||||
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,
|
||||
@ -1616,6 +1835,10 @@ typedef enum SpvOp_ {
|
||||
SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
SpvOpAtomicFAddEXT = 6035,
|
||||
SpvOpTypeBufferSurfaceINTEL = 6086,
|
||||
SpvOpTypeStructContinuedINTEL = 6090,
|
||||
SpvOpConstantCompositeContinuedINTEL = 6091,
|
||||
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
SpvOpMax = 0x7fffffff,
|
||||
} SpvOp;
|
||||
|
||||
@ -1980,6 +2203,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
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;
|
||||
@ -2005,6 +2234,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
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;
|
||||
@ -2014,8 +2245,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpDemoteToHelperInvocationEXT: *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;
|
||||
@ -2040,8 +2278,15 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpFunctionPointerINTEL: *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;
|
||||
@ -2162,7 +2407,64 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
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 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;
|
||||
@ -2184,6 +2486,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
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;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
320
spirv.hpp
320
spirv.hpp
@ -49,12 +49,12 @@ namespace spv {
|
||||
|
||||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10500
|
||||
#define SPV_REVISION 4
|
||||
#define SPV_VERSION 0x10600
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010500;
|
||||
static const unsigned int Revision = 4;
|
||||
static const unsigned int Version = 0x00010600;
|
||||
static const unsigned int Revision = 1;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
@ -65,6 +65,7 @@ enum SourceLanguage {
|
||||
SourceLanguageOpenCL_C = 3,
|
||||
SourceLanguageOpenCL_CPP = 4,
|
||||
SourceLanguageHLSL = 5,
|
||||
SourceLanguageCPP_for_OpenCL = 6,
|
||||
SourceLanguageMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -150,6 +151,7 @@ enum ExecutionMode {
|
||||
ExecutionModeSubgroupsPerWorkgroupId = 37,
|
||||
ExecutionModeLocalSizeId = 38,
|
||||
ExecutionModeLocalSizeHintId = 39,
|
||||
ExecutionModeSubgroupUniformControlFlowKHR = 4421,
|
||||
ExecutionModePostDepthCoverage = 4446,
|
||||
ExecutionModeDenormPreserve = 4459,
|
||||
ExecutionModeDenormFlushToZero = 4460,
|
||||
@ -168,10 +170,16 @@ enum ExecutionMode {
|
||||
ExecutionModeSampleInterlockUnorderedEXT = 5369,
|
||||
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
||||
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
||||
ExecutionModeSharedLocalMemorySizeINTEL = 5618,
|
||||
ExecutionModeRoundingModeRTPINTEL = 5620,
|
||||
ExecutionModeRoundingModeRTNINTEL = 5621,
|
||||
ExecutionModeFloatingPointModeALTINTEL = 5622,
|
||||
ExecutionModeFloatingPointModeIEEEINTEL = 5623,
|
||||
ExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
||||
ExecutionModeMaxWorkDimINTEL = 5894,
|
||||
ExecutionModeNoGlobalOffsetINTEL = 5895,
|
||||
ExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
||||
ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
||||
ExecutionModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -204,6 +212,8 @@ enum StorageClass {
|
||||
StorageClassPhysicalStorageBuffer = 5349,
|
||||
StorageClassPhysicalStorageBufferEXT = 5349,
|
||||
StorageClassCodeSectionINTEL = 5605,
|
||||
StorageClassDeviceOnlyINTEL = 5936,
|
||||
StorageClassHostOnlyINTEL = 5937,
|
||||
StorageClassMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -343,6 +353,8 @@ enum ImageOperandsShift {
|
||||
ImageOperandsVolatileTexelKHRShift = 11,
|
||||
ImageOperandsSignExtendShift = 12,
|
||||
ImageOperandsZeroExtendShift = 13,
|
||||
ImageOperandsNontemporalShift = 14,
|
||||
ImageOperandsOffsetsShift = 16,
|
||||
ImageOperandsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -366,6 +378,8 @@ enum ImageOperandsMask {
|
||||
ImageOperandsVolatileTexelKHRMask = 0x00000800,
|
||||
ImageOperandsSignExtendMask = 0x00001000,
|
||||
ImageOperandsZeroExtendMask = 0x00002000,
|
||||
ImageOperandsNontemporalMask = 0x00004000,
|
||||
ImageOperandsOffsetsMask = 0x00010000,
|
||||
};
|
||||
|
||||
enum FPFastMathModeShift {
|
||||
@ -374,6 +388,8 @@ enum FPFastMathModeShift {
|
||||
FPFastMathModeNSZShift = 2,
|
||||
FPFastMathModeAllowRecipShift = 3,
|
||||
FPFastMathModeFastShift = 4,
|
||||
FPFastMathModeAllowContractFastINTELShift = 16,
|
||||
FPFastMathModeAllowReassocINTELShift = 17,
|
||||
FPFastMathModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -384,6 +400,8 @@ enum FPFastMathModeMask {
|
||||
FPFastMathModeNSZMask = 0x00000004,
|
||||
FPFastMathModeAllowRecipMask = 0x00000008,
|
||||
FPFastMathModeFastMask = 0x00000010,
|
||||
FPFastMathModeAllowContractFastINTELMask = 0x00010000,
|
||||
FPFastMathModeAllowReassocINTELMask = 0x00020000,
|
||||
};
|
||||
|
||||
enum FPRoundingMode {
|
||||
@ -397,6 +415,7 @@ enum FPRoundingMode {
|
||||
enum LinkageType {
|
||||
LinkageTypeExport = 0,
|
||||
LinkageTypeImport = 1,
|
||||
LinkageTypeLinkOnceODR = 2,
|
||||
LinkageTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -477,6 +496,7 @@ enum Decoration {
|
||||
DecorationPerPrimitiveNV = 5271,
|
||||
DecorationPerViewNV = 5272,
|
||||
DecorationPerTaskNV = 5273,
|
||||
DecorationPerVertexKHR = 5285,
|
||||
DecorationPerVertexNV = 5285,
|
||||
DecorationNonUniform = 5300,
|
||||
DecorationNonUniformEXT = 5300,
|
||||
@ -484,12 +504,26 @@ enum Decoration {
|
||||
DecorationRestrictPointerEXT = 5355,
|
||||
DecorationAliasedPointer = 5356,
|
||||
DecorationAliasedPointerEXT = 5356,
|
||||
DecorationBindlessSamplerNV = 5398,
|
||||
DecorationBindlessImageNV = 5399,
|
||||
DecorationBoundSamplerNV = 5400,
|
||||
DecorationBoundImageNV = 5401,
|
||||
DecorationSIMTCallINTEL = 5599,
|
||||
DecorationReferencedIndirectlyINTEL = 5602,
|
||||
DecorationClobberINTEL = 5607,
|
||||
DecorationSideEffectsINTEL = 5608,
|
||||
DecorationVectorComputeVariableINTEL = 5624,
|
||||
DecorationFuncParamIOKindINTEL = 5625,
|
||||
DecorationVectorComputeFunctionINTEL = 5626,
|
||||
DecorationStackCallINTEL = 5627,
|
||||
DecorationGlobalVariableOffsetINTEL = 5628,
|
||||
DecorationCounterBuffer = 5634,
|
||||
DecorationHlslCounterBufferGOOGLE = 5634,
|
||||
DecorationHlslSemanticGOOGLE = 5635,
|
||||
DecorationUserSemantic = 5635,
|
||||
DecorationUserTypeGOOGLE = 5636,
|
||||
DecorationFunctionRoundingModeINTEL = 5822,
|
||||
DecorationFunctionDenormModeINTEL = 5823,
|
||||
DecorationRegisterINTEL = 5825,
|
||||
DecorationMemoryINTEL = 5826,
|
||||
DecorationNumbanksINTEL = 5827,
|
||||
@ -502,6 +536,18 @@ enum Decoration {
|
||||
DecorationMergeINTEL = 5834,
|
||||
DecorationBankBitsINTEL = 5835,
|
||||
DecorationForcePow2DepthINTEL = 5836,
|
||||
DecorationBurstCoalesceINTEL = 5899,
|
||||
DecorationCacheSizeINTEL = 5900,
|
||||
DecorationDontStaticallyCoalesceINTEL = 5901,
|
||||
DecorationPrefetchINTEL = 5902,
|
||||
DecorationStallEnableINTEL = 5905,
|
||||
DecorationFuseLoopsInFunctionINTEL = 5907,
|
||||
DecorationBufferLocationINTEL = 5921,
|
||||
DecorationIOPipeStorageINTEL = 5944,
|
||||
DecorationFunctionFloatingPointModeINTEL = 6080,
|
||||
DecorationSingleElementVectorINTEL = 6085,
|
||||
DecorationVectorComputeCallableFunctionINTEL = 6087,
|
||||
DecorationMediaBlockIOINTEL = 6140,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -586,7 +632,9 @@ enum BuiltIn {
|
||||
BuiltInLayerPerViewNV = 5279,
|
||||
BuiltInMeshViewCountNV = 5280,
|
||||
BuiltInMeshViewIndicesNV = 5281,
|
||||
BuiltInBaryCoordKHR = 5286,
|
||||
BuiltInBaryCoordNV = 5286,
|
||||
BuiltInBaryCoordNoPerspKHR = 5287,
|
||||
BuiltInBaryCoordNoPerspNV = 5287,
|
||||
BuiltInFragSizeEXT = 5292,
|
||||
BuiltInFragmentSizeNV = 5292,
|
||||
@ -617,6 +665,7 @@ enum BuiltIn {
|
||||
BuiltInHitTNV = 5332,
|
||||
BuiltInHitKindKHR = 5333,
|
||||
BuiltInHitKindNV = 5333,
|
||||
BuiltInCurrentRayTimeNV = 5334,
|
||||
BuiltInIncomingRayFlagsKHR = 5351,
|
||||
BuiltInIncomingRayFlagsNV = 5351,
|
||||
BuiltInRayGeometryIndexKHR = 5352,
|
||||
@ -656,6 +705,7 @@ enum LoopControlShift {
|
||||
LoopControlLoopCoalesceINTELShift = 20,
|
||||
LoopControlMaxInterleavingINTELShift = 21,
|
||||
LoopControlSpeculatedIterationsINTELShift = 22,
|
||||
LoopControlNoFusionINTELShift = 23,
|
||||
LoopControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -677,6 +727,7 @@ enum LoopControlMask {
|
||||
LoopControlLoopCoalesceINTELMask = 0x00100000,
|
||||
LoopControlMaxInterleavingINTELMask = 0x00200000,
|
||||
LoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
||||
LoopControlNoFusionINTELMask = 0x00800000,
|
||||
};
|
||||
|
||||
enum FunctionControlShift {
|
||||
@ -684,6 +735,7 @@ enum FunctionControlShift {
|
||||
FunctionControlDontInlineShift = 1,
|
||||
FunctionControlPureShift = 2,
|
||||
FunctionControlConstShift = 3,
|
||||
FunctionControlOptNoneINTELShift = 16,
|
||||
FunctionControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -693,6 +745,7 @@ enum FunctionControlMask {
|
||||
FunctionControlDontInlineMask = 0x00000002,
|
||||
FunctionControlPureMask = 0x00000004,
|
||||
FunctionControlConstMask = 0x00000008,
|
||||
FunctionControlOptNoneINTELMask = 0x00010000,
|
||||
};
|
||||
|
||||
enum MemorySemanticsShift {
|
||||
@ -873,9 +926,13 @@ enum Capability {
|
||||
CapabilityGroupNonUniformQuad = 68,
|
||||
CapabilityShaderLayer = 69,
|
||||
CapabilityShaderViewportIndex = 70,
|
||||
CapabilityUniformDecoration = 71,
|
||||
CapabilityFragmentShadingRateKHR = 4422,
|
||||
CapabilitySubgroupBallotKHR = 4423,
|
||||
CapabilityDrawParameters = 4427,
|
||||
CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
|
||||
CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
|
||||
CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
|
||||
CapabilitySubgroupVoteKHR = 4431,
|
||||
CapabilityStorageBuffer16BitAccess = 4433,
|
||||
CapabilityStorageUniformBufferBlock16 = 4433,
|
||||
@ -918,6 +975,7 @@ enum Capability {
|
||||
CapabilityFragmentFullyCoveredEXT = 5265,
|
||||
CapabilityMeshShadingNV = 5266,
|
||||
CapabilityImageFootprintNV = 5282,
|
||||
CapabilityFragmentBarycentricKHR = 5284,
|
||||
CapabilityFragmentBarycentricNV = 5284,
|
||||
CapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||
CapabilityFragmentDensityEXT = 5291,
|
||||
@ -948,6 +1006,7 @@ enum Capability {
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
CapabilityRayTracingNV = 5340,
|
||||
CapabilityRayTracingMotionBlurNV = 5341,
|
||||
CapabilityVulkanMemoryModel = 5345,
|
||||
CapabilityVulkanMemoryModelKHR = 5345,
|
||||
CapabilityVulkanMemoryModelDeviceScope = 5346,
|
||||
@ -961,26 +1020,62 @@ enum Capability {
|
||||
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
||||
CapabilityShaderSMBuiltinsNV = 5373,
|
||||
CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
||||
CapabilityDemoteToHelperInvocation = 5379,
|
||||
CapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
CapabilityBindlessTextureNV = 5390,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
||||
CapabilityRoundToInfinityINTEL = 5582,
|
||||
CapabilityFloatingPointModeINTEL = 5583,
|
||||
CapabilityIntegerFunctions2INTEL = 5584,
|
||||
CapabilityFunctionPointersINTEL = 5603,
|
||||
CapabilityIndirectReferencesINTEL = 5604,
|
||||
CapabilityAsmINTEL = 5606,
|
||||
CapabilityAtomicFloat32MinMaxEXT = 5612,
|
||||
CapabilityAtomicFloat64MinMaxEXT = 5613,
|
||||
CapabilityAtomicFloat16MinMaxEXT = 5616,
|
||||
CapabilityVectorComputeINTEL = 5617,
|
||||
CapabilityVectorAnyINTEL = 5619,
|
||||
CapabilityExpectAssumeKHR = 5629,
|
||||
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
||||
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
CapabilityVariableLengthArrayINTEL = 5817,
|
||||
CapabilityFunctionFloatControlINTEL = 5821,
|
||||
CapabilityFPGAMemoryAttributesINTEL = 5824,
|
||||
CapabilityFPFastMathModeINTEL = 5837,
|
||||
CapabilityArbitraryPrecisionIntegersINTEL = 5844,
|
||||
CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
|
||||
CapabilityUnstructuredLoopControlsINTEL = 5886,
|
||||
CapabilityFPGALoopControlsINTEL = 5888,
|
||||
CapabilityKernelAttributesINTEL = 5892,
|
||||
CapabilityFPGAKernelAttributesINTEL = 5897,
|
||||
CapabilityFPGAMemoryAccessesINTEL = 5898,
|
||||
CapabilityFPGAClusterAttributesINTEL = 5904,
|
||||
CapabilityLoopFuseINTEL = 5906,
|
||||
CapabilityFPGABufferLocationINTEL = 5920,
|
||||
CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
|
||||
CapabilityUSMStorageClassesINTEL = 5935,
|
||||
CapabilityIOPipesINTEL = 5943,
|
||||
CapabilityBlockingPipesINTEL = 5945,
|
||||
CapabilityFPGARegINTEL = 5948,
|
||||
CapabilityDotProductInputAll = 6016,
|
||||
CapabilityDotProductInputAllKHR = 6016,
|
||||
CapabilityDotProductInput4x8Bit = 6017,
|
||||
CapabilityDotProductInput4x8BitKHR = 6017,
|
||||
CapabilityDotProductInput4x8BitPacked = 6018,
|
||||
CapabilityDotProductInput4x8BitPackedKHR = 6018,
|
||||
CapabilityDotProduct = 6019,
|
||||
CapabilityDotProductKHR = 6019,
|
||||
CapabilityBitInstructions = 6025,
|
||||
CapabilityAtomicFloat32AddEXT = 6033,
|
||||
CapabilityAtomicFloat64AddEXT = 6034,
|
||||
CapabilityLongConstantCompositeINTEL = 6089,
|
||||
CapabilityOptNoneINTEL = 6094,
|
||||
CapabilityAtomicFloat16AddEXT = 6095,
|
||||
CapabilityDebugInfoModuleINTEL = 6114,
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -1047,6 +1142,44 @@ enum FragmentShadingRateMask {
|
||||
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
|
||||
};
|
||||
|
||||
enum FPDenormMode {
|
||||
FPDenormModePreserve = 0,
|
||||
FPDenormModeFlushToZero = 1,
|
||||
FPDenormModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum FPOperationMode {
|
||||
FPOperationModeIEEE = 0,
|
||||
FPOperationModeALT = 1,
|
||||
FPOperationModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum QuantizationModes {
|
||||
QuantizationModesTRN = 0,
|
||||
QuantizationModesTRN_ZERO = 1,
|
||||
QuantizationModesRND = 2,
|
||||
QuantizationModesRND_ZERO = 3,
|
||||
QuantizationModesRND_INF = 4,
|
||||
QuantizationModesRND_MIN_INF = 5,
|
||||
QuantizationModesRND_CONV = 6,
|
||||
QuantizationModesRND_CONV_ODD = 7,
|
||||
QuantizationModesMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum OverflowModes {
|
||||
OverflowModesWRAP = 0,
|
||||
OverflowModesSAT = 1,
|
||||
OverflowModesSAT_ZERO = 2,
|
||||
OverflowModesSAT_SYM = 3,
|
||||
OverflowModesMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum PackedVectorFormat {
|
||||
PackedVectorFormatPackedVectorFormat4x8Bit = 0,
|
||||
PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
|
||||
PackedVectorFormatMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Op {
|
||||
OpNop = 0,
|
||||
OpUndef = 1,
|
||||
@ -1404,6 +1537,18 @@ enum Op {
|
||||
OpConvertUToAccelerationStructureKHR = 4447,
|
||||
OpIgnoreIntersectionKHR = 4448,
|
||||
OpTerminateRayKHR = 4449,
|
||||
OpSDot = 4450,
|
||||
OpSDotKHR = 4450,
|
||||
OpUDot = 4451,
|
||||
OpUDotKHR = 4451,
|
||||
OpSUDot = 4452,
|
||||
OpSUDotKHR = 4452,
|
||||
OpSDotAccSat = 4453,
|
||||
OpSDotAccSatKHR = 4453,
|
||||
OpUDotAccSat = 4454,
|
||||
OpUDotAccSatKHR = 4454,
|
||||
OpSUDotAccSat = 4455,
|
||||
OpSUDotAccSatKHR = 4455,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
@ -1430,6 +1575,8 @@ enum Op {
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTraceMotionNV = 5338,
|
||||
OpTraceRayMotionNV = 5339,
|
||||
OpTypeAccelerationStructureKHR = 5341,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
@ -1440,8 +1587,16 @@ enum Op {
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocation = 5380,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpConvertUToImageNV = 5391,
|
||||
OpConvertUToSamplerNV = 5392,
|
||||
OpConvertImageToUNV = 5393,
|
||||
OpConvertSamplerToUNV = 5394,
|
||||
OpConvertUToSampledImageNV = 5395,
|
||||
OpConvertSampledImageToUNV = 5396,
|
||||
OpSamplerImageAddressingModeNV = 5397,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1466,8 +1621,15 @@ enum Op {
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpFunctionPointerINTEL = 5600,
|
||||
OpConstantFunctionPointerINTEL = 5600,
|
||||
OpFunctionPointerCallINTEL = 5601,
|
||||
OpAsmTargetINTEL = 5609,
|
||||
OpAsmINTEL = 5610,
|
||||
OpAsmCallINTEL = 5611,
|
||||
OpAtomicFMinEXT = 5614,
|
||||
OpAtomicFMaxEXT = 5615,
|
||||
OpAssumeTrueKHR = 5630,
|
||||
OpExpectKHR = 5631,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
@ -1590,7 +1752,64 @@ enum Op {
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpVariableLengthArrayINTEL = 5818,
|
||||
OpSaveMemoryINTEL = 5819,
|
||||
OpRestoreMemoryINTEL = 5820,
|
||||
OpArbitraryFloatSinCosPiINTEL = 5840,
|
||||
OpArbitraryFloatCastINTEL = 5841,
|
||||
OpArbitraryFloatCastFromIntINTEL = 5842,
|
||||
OpArbitraryFloatCastToIntINTEL = 5843,
|
||||
OpArbitraryFloatAddINTEL = 5846,
|
||||
OpArbitraryFloatSubINTEL = 5847,
|
||||
OpArbitraryFloatMulINTEL = 5848,
|
||||
OpArbitraryFloatDivINTEL = 5849,
|
||||
OpArbitraryFloatGTINTEL = 5850,
|
||||
OpArbitraryFloatGEINTEL = 5851,
|
||||
OpArbitraryFloatLTINTEL = 5852,
|
||||
OpArbitraryFloatLEINTEL = 5853,
|
||||
OpArbitraryFloatEQINTEL = 5854,
|
||||
OpArbitraryFloatRecipINTEL = 5855,
|
||||
OpArbitraryFloatRSqrtINTEL = 5856,
|
||||
OpArbitraryFloatCbrtINTEL = 5857,
|
||||
OpArbitraryFloatHypotINTEL = 5858,
|
||||
OpArbitraryFloatSqrtINTEL = 5859,
|
||||
OpArbitraryFloatLogINTEL = 5860,
|
||||
OpArbitraryFloatLog2INTEL = 5861,
|
||||
OpArbitraryFloatLog10INTEL = 5862,
|
||||
OpArbitraryFloatLog1pINTEL = 5863,
|
||||
OpArbitraryFloatExpINTEL = 5864,
|
||||
OpArbitraryFloatExp2INTEL = 5865,
|
||||
OpArbitraryFloatExp10INTEL = 5866,
|
||||
OpArbitraryFloatExpm1INTEL = 5867,
|
||||
OpArbitraryFloatSinINTEL = 5868,
|
||||
OpArbitraryFloatCosINTEL = 5869,
|
||||
OpArbitraryFloatSinCosINTEL = 5870,
|
||||
OpArbitraryFloatSinPiINTEL = 5871,
|
||||
OpArbitraryFloatCosPiINTEL = 5872,
|
||||
OpArbitraryFloatASinINTEL = 5873,
|
||||
OpArbitraryFloatASinPiINTEL = 5874,
|
||||
OpArbitraryFloatACosINTEL = 5875,
|
||||
OpArbitraryFloatACosPiINTEL = 5876,
|
||||
OpArbitraryFloatATanINTEL = 5877,
|
||||
OpArbitraryFloatATanPiINTEL = 5878,
|
||||
OpArbitraryFloatATan2INTEL = 5879,
|
||||
OpArbitraryFloatPowINTEL = 5880,
|
||||
OpArbitraryFloatPowRINTEL = 5881,
|
||||
OpArbitraryFloatPowNINTEL = 5882,
|
||||
OpLoopControlINTEL = 5887,
|
||||
OpFixedSqrtINTEL = 5923,
|
||||
OpFixedRecipINTEL = 5924,
|
||||
OpFixedRsqrtINTEL = 5925,
|
||||
OpFixedSinINTEL = 5926,
|
||||
OpFixedCosINTEL = 5927,
|
||||
OpFixedSinCosINTEL = 5928,
|
||||
OpFixedSinPiINTEL = 5929,
|
||||
OpFixedCosPiINTEL = 5930,
|
||||
OpFixedSinCosPiINTEL = 5931,
|
||||
OpFixedLogINTEL = 5932,
|
||||
OpFixedExpINTEL = 5933,
|
||||
OpPtrCastToCrossWorkgroupINTEL = 5934,
|
||||
OpCrossWorkgroupCastToPtrINTEL = 5938,
|
||||
OpReadPipeBlockingINTEL = 5946,
|
||||
OpWritePipeBlockingINTEL = 5947,
|
||||
OpFPGARegINTEL = 5949,
|
||||
@ -1612,6 +1831,10 @@ enum Op {
|
||||
OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
||||
OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
||||
OpAtomicFAddEXT = 6035,
|
||||
OpTypeBufferSurfaceINTEL = 6086,
|
||||
OpTypeStructContinuedINTEL = 6090,
|
||||
OpConstantCompositeContinuedINTEL = 6091,
|
||||
OpSpecConstantCompositeContinuedINTEL = 6092,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -1976,6 +2199,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSUDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
@ -2001,6 +2230,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
@ -2010,8 +2241,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
|
||||
case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2036,8 +2274,15 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
|
||||
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
||||
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2158,7 +2403,64 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -2180,6 +2482,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
Loading…
Reference in New Issue
Block a user