Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@google.com>2019-11-05 21:19:19 +0300
committerDan Sinclair <dsinclair@google.com>2019-11-05 21:19:19 +0300
commitd409210ee519b25b760042240f49bf3667b0c752 (patch)
treeb5bf39a193826a211097c6d8edbc00c3d4d5f32b /shaders
parente5af41255c480c75894811e7a5fd2ec898da9070 (diff)
Move all .invalid shaders into no-opt folders.
Diffstat (limited to 'shaders')
-rw-r--r--shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag10
-rw-r--r--shaders/amd/fs.invalid.frag14
-rw-r--r--shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp9
-rw-r--r--shaders/asm/comp/storage-buffer-basic.invalid.asm.comp57
-rw-r--r--shaders/asm/extended-debug-extinst.invalid.asm.comp67
-rw-r--r--shaders/asm/geom/store-uint-layer.invalid.asm.geom130
-rw-r--r--shaders/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc248
-rw-r--r--shaders/comp/bitcast-16bit-1.invalid.comp23
-rw-r--r--shaders/comp/bitcast-16bit-2.invalid.comp26
-rw-r--r--shaders/comp/inout-struct.invalid.comp55
-rw-r--r--shaders/desktop-only/frag/fp16.invalid.desktop.frag151
-rw-r--r--shaders/flatten/multi-dimensional.desktop.invalid.flatten_dim.frag18
-rw-r--r--shaders/frag/16bit-constants.invalid.frag14
-rw-r--r--shaders/vulkan/comp/struct-packing-scalar.nocompat.invalid.vk.comp88
-rw-r--r--shaders/vulkan/comp/subgroups.nocompat.invalid.vk.comp125
-rw-r--r--shaders/vulkan/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag23
16 files changed, 0 insertions, 1058 deletions
diff --git a/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag b/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag
deleted file mode 100644
index a3f03664..00000000
--- a/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag
+++ /dev/null
@@ -1,10 +0,0 @@
-#version 450
-#extension GL_AMD_shader_fragment_mask : require
-
-layout(input_attachment_index = 0, binding = 0) uniform subpassInputMS t;
-
-void main ()
-{
- vec4 test2 = fragmentFetchAMD(t, 4);
- uint testi2 = fragmentMaskFetchAMD(t);
-}
diff --git a/shaders/amd/fs.invalid.frag b/shaders/amd/fs.invalid.frag
deleted file mode 100644
index 1ff82de0..00000000
--- a/shaders/amd/fs.invalid.frag
+++ /dev/null
@@ -1,14 +0,0 @@
-#version 450
-#extension GL_AMD_shader_fragment_mask : require
-#extension GL_AMD_shader_explicit_vertex_parameter : require
-
-layout(binding = 0) uniform sampler2DMS texture1;
-layout(location = 0) __explicitInterpAMD in vec4 vary;
-
-void main()
-{
- uint testi1 = fragmentMaskFetchAMD(texture1, ivec2(0));
- vec4 test1 = fragmentFetchAMD(texture1, ivec2(1), 2);
-
- vec4 pos = interpolateAtVertexAMD(vary, 0u);
-}
diff --git a/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp b/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp
deleted file mode 100644
index afcc31d9..00000000
--- a/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp
+++ /dev/null
@@ -1,9 +0,0 @@
-#version 450
-#extension GL_AMD_shader_ballot : require
-
-void main ()
-{
- float addInvocations = addInvocationsNonUniformAMD(0.0);
- int minInvocations = minInvocationsNonUniformAMD(1);
- uint maxInvocations = maxInvocationsNonUniformAMD(4);
-}
diff --git a/shaders/asm/comp/storage-buffer-basic.invalid.asm.comp b/shaders/asm/comp/storage-buffer-basic.invalid.asm.comp
deleted file mode 100644
index edb1a05e..00000000
--- a/shaders/asm/comp/storage-buffer-basic.invalid.asm.comp
+++ /dev/null
@@ -1,57 +0,0 @@
-; SPIR-V
-; Version: 1.0
-; Generator: Codeplay; 0
-; Bound: 31
-; Schema: 0
- OpCapability Shader
- OpCapability VariablePointers
- OpExtension "SPV_KHR_storage_buffer_storage_class"
- OpExtension "SPV_KHR_variable_pointers"
- OpMemoryModel Logical GLSL450
- OpEntryPoint GLCompute %22 "main" %gl_WorkGroupID
- OpSource OpenCL_C 120
- OpDecorate %15 SpecId 0
- ;OpDecorate %16 SpecId 1
- OpDecorate %17 SpecId 2
- OpDecorate %_runtimearr_float ArrayStride 4
- OpMemberDecorate %_struct_4 0 Offset 0
- OpDecorate %_struct_4 Block
- OpDecorate %gl_WorkGroupID BuiltIn WorkgroupId
- OpDecorate %gl_WorkGroupSize BuiltIn WorkgroupSize
- OpDecorate %20 DescriptorSet 0
- OpDecorate %20 Binding 0
- OpDecorate %21 DescriptorSet 0
- OpDecorate %21 Binding 1
- %float = OpTypeFloat 32
-%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
-%_runtimearr_float = OpTypeRuntimeArray %float
- %_struct_4 = OpTypeStruct %_runtimearr_float
-%_ptr_StorageBuffer__struct_4 = OpTypePointer StorageBuffer %_struct_4
- %uint = OpTypeInt 32 0
- %void = OpTypeVoid
- %8 = OpTypeFunction %void
- %v3uint = OpTypeVector %uint 3
-%_ptr_Input_v3uint = OpTypePointer Input %v3uint
-%_ptr_Input_uint = OpTypePointer Input %uint
-%_ptr_Private_v3uint = OpTypePointer Private %v3uint
- %uint_0 = OpConstant %uint 0
-%gl_WorkGroupID = OpVariable %_ptr_Input_v3uint Input
- %15 = OpSpecConstant %uint 1
- %16 = OpConstant %uint 2
- %17 = OpSpecConstant %uint 3
-%gl_WorkGroupSize = OpSpecConstantComposite %v3uint %15 %16 %17
- %19 = OpVariable %_ptr_Private_v3uint Private %gl_WorkGroupSize
- %20 = OpVariable %_ptr_StorageBuffer__struct_4 StorageBuffer
- %21 = OpVariable %_ptr_StorageBuffer__struct_4 StorageBuffer
- %22 = OpFunction %void None %8
- %23 = OpLabel
- %24 = OpAccessChain %_ptr_Input_uint %gl_WorkGroupID %uint_0
- %25 = OpLoad %uint %24
- %26 = OpAccessChain %_ptr_StorageBuffer_float %21 %uint_0 %25
- %27 = OpLoad %float %26
- %28 = OpAccessChain %_ptr_StorageBuffer_float %20 %uint_0 %25
- %29 = OpLoad %float %28
- %30 = OpFAdd %float %27 %29
- OpStore %28 %30
- OpReturn
- OpFunctionEnd
diff --git a/shaders/asm/extended-debug-extinst.invalid.asm.comp b/shaders/asm/extended-debug-extinst.invalid.asm.comp
deleted file mode 100644
index 5b6a189a..00000000
--- a/shaders/asm/extended-debug-extinst.invalid.asm.comp
+++ /dev/null
@@ -1,67 +0,0 @@
-; SPIR-V
-; Version: 1.3
-; Generator: Khronos SPIR-V Tools Assembler; 0
-; Bound: 37
-; Schema: 0
- OpCapability Shader
- %1 = OpExtInstImport "DebugInfo"
- OpMemoryModel Logical GLSL450
- OpEntryPoint GLCompute %2 "main" %3
- OpExecutionMode %2 LocalSize 1 1 1
- %4 = OpString "negateInputs.comp"
- %5 = OpString "negateInputs"
- %6 = OpString "main"
- %7 = OpString ""
- OpSource GLSL 430
- OpName %2 "main"
- OpName %3 "gl_GlobalInvocationID"
- OpDecorate %3 BuiltIn GlobalInvocationId
- OpDecorate %8 BufferBlock
- OpDecorate %9 DescriptorSet 0
- OpDecorate %9 Binding 0
- OpDecorate %10 DescriptorSet 0
- OpDecorate %10 Binding 1
- OpDecorate %11 ArrayStride 4
- OpMemberDecorate %8 0 Offset 0
- OpLine %4 0 0
- %12 = OpTypeBool
- %13 = OpTypeVoid
- %14 = OpTypeFunction %13
- %15 = OpTypeInt 32 0
- %16 = OpTypeInt 32 1
- %17 = OpTypeFloat 32
- %18 = OpTypeVector %15 3
- %19 = OpTypeVector %17 3
- %20 = OpTypePointer Input %18
- %21 = OpTypePointer Uniform %16
- %22 = OpTypePointer Uniform %17
- %23 = OpTypeRuntimeArray %16
- %11 = OpTypeRuntimeArray %17
- %8 = OpTypeStruct %11
- %24 = OpTypePointer Uniform %8
- %9 = OpVariable %24 Uniform
- %10 = OpVariable %24 Uniform
- OpLine %4 0 1
- OpLine %5 1 0
- OpLine %4 1000 100000
- %3 = OpVariable %20 Input
- %25 = OpConstant %16 0
- OpNoLine
- OpLine %4 1 1
- %26 = OpExtInst %13 %1 DebugInfoNone
- %27 = OpExtInst %13 %1 DebugTypeFunction %13
- %28 = OpExtInst %13 %1 DebugFunction %6 %27 %4 1 1 %4 %7 FlagIsDefinition|FlagPrototyped|FlagIsOptimized 1 %26 %26
- %2 = OpFunction %13 None %14
- %29 = OpLabel
- %30 = OpExtInst %13 %1 DebugScope %28
- OpLine %4 1 1
- %31 = OpLoad %18 %3
- %32 = OpCompositeExtract %15 %31 0
- %33 = OpAccessChain %22 %9 %25 %32
- %34 = OpLoad %17 %33
- %35 = OpFNegate %17 %34
- %36 = OpAccessChain %22 %10 %25 %32
- OpStore %36 %35
- OpNoLine
- OpReturn
- OpFunctionEnd
diff --git a/shaders/asm/geom/store-uint-layer.invalid.asm.geom b/shaders/asm/geom/store-uint-layer.invalid.asm.geom
deleted file mode 100644
index 550fc4e9..00000000
--- a/shaders/asm/geom/store-uint-layer.invalid.asm.geom
+++ /dev/null
@@ -1,130 +0,0 @@
-; SPIR-V
-; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 6
-; Bound: 74
-; Schema: 0
- OpCapability Geometry
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint Geometry %main "main" %stream_pos %stream_layer %input_pos
- OpExecutionMode %main Triangles
- OpExecutionMode %main Invocations 1
- OpExecutionMode %main OutputTriangleStrip
- OpExecutionMode %main OutputVertices 3
- OpSource HLSL 500
- OpName %main "main"
- OpName %VertexOutput "VertexOutput"
- OpMemberName %VertexOutput 0 "pos"
- OpName %GeometryOutput "GeometryOutput"
- OpMemberName %GeometryOutput 0 "pos"
- OpMemberName %GeometryOutput 1 "layer"
- OpName %_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ "@main(struct-VertexOutput-vf41[3];struct-GeometryOutput-vf4-u11;"
- OpName %input "input"
- OpName %stream "stream"
- OpName %output "output"
- OpName %v "v"
- OpName %stream_pos "stream.pos"
- OpName %stream_layer "stream.layer"
- OpName %input_0 "input"
- OpName %input_pos "input.pos"
- OpName %stream_0 "stream"
- OpName %param "param"
- OpName %param_0 "param"
- OpDecorate %stream_pos BuiltIn Position
- OpDecorate %stream_layer BuiltIn Layer
- OpDecorate %input_pos BuiltIn Position
- %void = OpTypeVoid
- %3 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v4float = OpTypeVector %float 4
-%VertexOutput = OpTypeStruct %v4float
- %uint = OpTypeInt 32 0
- %uint_3 = OpConstant %uint 3
-%_arr_VertexOutput_uint_3 = OpTypeArray %VertexOutput %uint_3
-%_ptr_Function__arr_VertexOutput_uint_3 = OpTypePointer Function %_arr_VertexOutput_uint_3
-%GeometryOutput = OpTypeStruct %v4float %uint
-%_ptr_Function_GeometryOutput = OpTypePointer Function %GeometryOutput
- %15 = OpTypeFunction %void %_ptr_Function__arr_VertexOutput_uint_3 %_ptr_Function_GeometryOutput
- %int = OpTypeInt 32 1
- %int_1 = OpConstant %int 1
- %uint_1 = OpConstant %uint 1
-%_ptr_Function_uint = OpTypePointer Function %uint
-%_ptr_Function_int = OpTypePointer Function %int
- %int_0 = OpConstant %int 0
- %int_3 = OpConstant %int 3
- %bool = OpTypeBool
-%_ptr_Function_v4float = OpTypePointer Function %v4float
-%_ptr_Output_v4float = OpTypePointer Output %v4float
- %stream_pos = OpVariable %_ptr_Output_v4float Output
-%_ptr_Output_uint = OpTypePointer Output %uint
-%stream_layer = OpVariable %_ptr_Output_uint Output
-%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
-%_ptr_Input__arr_v4float_uint_3 = OpTypePointer Input %_arr_v4float_uint_3
- %input_pos = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
-%_ptr_Input_v4float = OpTypePointer Input %v4float
- %int_2 = OpConstant %int 2
- %main = OpFunction %void None %3
- %5 = OpLabel
- %input_0 = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
- %stream_0 = OpVariable %_ptr_Function_GeometryOutput Function
- %param = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
- %param_0 = OpVariable %_ptr_Function_GeometryOutput Function
- %58 = OpAccessChain %_ptr_Input_v4float %input_pos %int_0
- %59 = OpLoad %v4float %58
- %60 = OpAccessChain %_ptr_Function_v4float %input_0 %int_0 %int_0
- OpStore %60 %59
- %61 = OpAccessChain %_ptr_Input_v4float %input_pos %int_1
- %62 = OpLoad %v4float %61
- %63 = OpAccessChain %_ptr_Function_v4float %input_0 %int_1 %int_0
- OpStore %63 %62
- %65 = OpAccessChain %_ptr_Input_v4float %input_pos %int_2
- %66 = OpLoad %v4float %65
- %67 = OpAccessChain %_ptr_Function_v4float %input_0 %int_2 %int_0
- OpStore %67 %66
- %70 = OpLoad %_arr_VertexOutput_uint_3 %input_0
- OpStore %param %70
- %72 = OpFunctionCall %void %_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ %param %param_0
- %73 = OpLoad %GeometryOutput %param_0
- OpStore %stream_0 %73
- OpReturn
- OpFunctionEnd
-%_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ = OpFunction %void None %15
- %input = OpFunctionParameter %_ptr_Function__arr_VertexOutput_uint_3
- %stream = OpFunctionParameter %_ptr_Function_GeometryOutput
- %19 = OpLabel
- %output = OpVariable %_ptr_Function_GeometryOutput Function
- %v = OpVariable %_ptr_Function_int Function
- %25 = OpAccessChain %_ptr_Function_uint %output %int_1
- OpStore %25 %uint_1
- OpStore %v %int_0
- OpBranch %29
- %29 = OpLabel
- OpLoopMerge %31 %32 None
- OpBranch %33
- %33 = OpLabel
- %34 = OpLoad %int %v
- %37 = OpSLessThan %bool %34 %int_3
- OpBranchConditional %37 %30 %31
- %30 = OpLabel
- %38 = OpLoad %int %v
- %40 = OpAccessChain %_ptr_Function_v4float %input %38 %int_0
- %41 = OpLoad %v4float %40
- %42 = OpAccessChain %_ptr_Function_v4float %output %int_0
- OpStore %42 %41
- %45 = OpAccessChain %_ptr_Function_v4float %output %int_0
- %46 = OpLoad %v4float %45
- OpStore %stream_pos %46
- %49 = OpAccessChain %_ptr_Function_uint %output %int_1
- %50 = OpLoad %uint %49
- OpStore %stream_layer %50
- OpEmitVertex
- OpBranch %32
- %32 = OpLabel
- %51 = OpLoad %int %v
- %52 = OpIAdd %int %51 %int_1
- OpStore %v %52
- OpBranch %29
- %31 = OpLabel
- OpEndPrimitive
- OpReturn
- OpFunctionEnd
diff --git a/shaders/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc b/shaders/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc
deleted file mode 100644
index 0fd4dce2..00000000
--- a/shaders/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc
+++ /dev/null
@@ -1,248 +0,0 @@
-; SPIR-V
-; Version: 1.0
-; Generator: Khronos Glslang Reference Front End; 2
-; Bound: 162
-; Schema: 0
- OpCapability Tessellation
- %1 = OpExtInstImport "GLSL.std.450"
- OpMemoryModel Logical GLSL450
- OpEntryPoint TessellationControl %hs_main "main" %p_pos %p_1 %i_1 %_entryPointOutput_pos %_entryPointOutput %_patchConstantOutput_EdgeTess %_patchConstantOutput_InsideTess
- OpExecutionMode %hs_main OutputVertices 3
- OpExecutionMode %hs_main Triangles
- OpExecutionMode %hs_main SpacingFractionalOdd
- OpExecutionMode %hs_main VertexOrderCw
- OpSource HLSL 500
- OpName %hs_main "hs_main"
- OpName %VertexOutput "VertexOutput"
- OpMemberName %VertexOutput 0 "pos"
- OpMemberName %VertexOutput 1 "uv"
- OpName %HSOut "HSOut"
- OpMemberName %HSOut 0 "pos"
- OpMemberName %HSOut 1 "uv"
- OpName %_hs_main_struct_VertexOutput_vf4_vf21_3__u1_ "@hs_main(struct-VertexOutput-vf4-vf21[3];u1;"
- OpName %p "p"
- OpName %i "i"
- OpName %HSConstantOut "HSConstantOut"
- OpMemberName %HSConstantOut 0 "EdgeTess"
- OpMemberName %HSConstantOut 1 "InsideTess"
- OpName %PatchHS_struct_VertexOutput_vf4_vf21_3__ "PatchHS(struct-VertexOutput-vf4-vf21[3];"
- OpName %patch "patch"
- OpName %output "output"
- OpName %p_0 "p"
- OpName %p_pos "p.pos"
- OpName %VertexOutput_0 "VertexOutput"
- OpMemberName %VertexOutput_0 0 "uv"
- OpName %p_1 "p"
- OpName %i_0 "i"
- OpName %i_1 "i"
- OpName %flattenTemp "flattenTemp"
- OpName %param "param"
- OpName %param_0 "param"
- OpName %_entryPointOutput_pos "@entryPointOutput.pos"
- OpName %HSOut_0 "HSOut"
- OpMemberName %HSOut_0 0 "uv"
- OpName %_entryPointOutput "@entryPointOutput"
- OpName %_patchConstantResult "@patchConstantResult"
- OpName %param_1 "param"
- OpName %_patchConstantOutput_EdgeTess "@patchConstantOutput.EdgeTess"
- OpName %_patchConstantOutput_InsideTess "@patchConstantOutput.InsideTess"
- OpName %output_0 "output"
- OpDecorate %p_pos BuiltIn Position
- OpDecorate %p_1 Location 0
- OpDecorate %i_1 BuiltIn InvocationId
- OpDecorate %_entryPointOutput_pos BuiltIn Position
- OpDecorate %_entryPointOutput Location 0
- OpDecorate %_patchConstantOutput_EdgeTess Patch
- OpDecorate %_patchConstantOutput_EdgeTess BuiltIn TessLevelOuter
- OpDecorate %_patchConstantOutput_InsideTess Patch
- OpDecorate %_patchConstantOutput_InsideTess BuiltIn TessLevelInner
- %void = OpTypeVoid
- %3 = OpTypeFunction %void
- %float = OpTypeFloat 32
- %v4float = OpTypeVector %float 4
- %v2float = OpTypeVector %float 2
-%VertexOutput = OpTypeStruct %v4float %v2float
- %uint = OpTypeInt 32 0
- %uint_3 = OpConstant %uint 3
-%_arr_VertexOutput_uint_3 = OpTypeArray %VertexOutput %uint_3
-%_ptr_Function__arr_VertexOutput_uint_3 = OpTypePointer Function %_arr_VertexOutput_uint_3
-%_ptr_Function_uint = OpTypePointer Function %uint
- %HSOut = OpTypeStruct %v4float %v2float
- %16 = OpTypeFunction %HSOut %_ptr_Function__arr_VertexOutput_uint_3 %_ptr_Function_uint
-%_arr_float_uint_3 = OpTypeArray %float %uint_3
-%HSConstantOut = OpTypeStruct %_arr_float_uint_3 %float
- %23 = OpTypeFunction %HSConstantOut %_ptr_Function__arr_VertexOutput_uint_3
-%_ptr_Function_HSOut = OpTypePointer Function %HSOut
- %int = OpTypeInt 32 1
- %int_0 = OpConstant %int 0
-%_ptr_Function_v4float = OpTypePointer Function %v4float
- %int_1 = OpConstant %int 1
-%_ptr_Function_v2float = OpTypePointer Function %v2float
-%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
-%_ptr_Input__arr_v4float_uint_3 = OpTypePointer Input %_arr_v4float_uint_3
- %p_pos = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
-%_ptr_Input_v4float = OpTypePointer Input %v4float
-%VertexOutput_0 = OpTypeStruct %v2float
-%_arr_VertexOutput_0_uint_3 = OpTypeArray %VertexOutput_0 %uint_3
-%_ptr_Input__arr_VertexOutput_0_uint_3 = OpTypePointer Input %_arr_VertexOutput_0_uint_3
- %p_1 = OpVariable %_ptr_Input__arr_VertexOutput_0_uint_3 Input
-%_ptr_Input_v2float = OpTypePointer Input %v2float
- %int_2 = OpConstant %int 2
-%_ptr_Input_uint = OpTypePointer Input %uint
- %i_1 = OpVariable %_ptr_Input_uint Input
-%_ptr_Output__arr_v4float_uint_3 = OpTypePointer Output %_arr_v4float_uint_3
-%_entryPointOutput_pos = OpVariable %_ptr_Output__arr_v4float_uint_3 Output
-%_ptr_Output_v4float = OpTypePointer Output %v4float
- %HSOut_0 = OpTypeStruct %v2float
-%_arr_HSOut_0_uint_3 = OpTypeArray %HSOut_0 %uint_3
-%_ptr_Output__arr_HSOut_0_uint_3 = OpTypePointer Output %_arr_HSOut_0_uint_3
-%_entryPointOutput = OpVariable %_ptr_Output__arr_HSOut_0_uint_3 Output
-%_ptr_Output_v2float = OpTypePointer Output %v2float
- %uint_2 = OpConstant %uint 2
- %uint_1 = OpConstant %uint 1
- %uint_0 = OpConstant %uint 0
- %bool = OpTypeBool
-%_ptr_Function_HSConstantOut = OpTypePointer Function %HSConstantOut
- %uint_4 = OpConstant %uint 4
-%_arr_float_uint_4 = OpTypeArray %float %uint_4
-%_ptr_Output__arr_float_uint_4 = OpTypePointer Output %_arr_float_uint_4
-%_patchConstantOutput_EdgeTess = OpVariable %_ptr_Output__arr_float_uint_4 Output
-%_ptr_Function_float = OpTypePointer Function %float
-%_ptr_Output_float = OpTypePointer Output %float
-%_arr_float_uint_2 = OpTypeArray %float %uint_2
-%_ptr_Output__arr_float_uint_2 = OpTypePointer Output %_arr_float_uint_2
-%_patchConstantOutput_InsideTess = OpVariable %_ptr_Output__arr_float_uint_2 Output
- %float_1 = OpConstant %float 1
- %hs_main = OpFunction %void None %3
- %5 = OpLabel
- %p_0 = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
- %i_0 = OpVariable %_ptr_Function_uint Function
-%flattenTemp = OpVariable %_ptr_Function_HSOut Function
- %param = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
- %param_0 = OpVariable %_ptr_Function_uint Function
-%_patchConstantResult = OpVariable %_ptr_Function_HSConstantOut Function
- %param_1 = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
- %50 = OpAccessChain %_ptr_Input_v4float %p_pos %int_0
- %51 = OpLoad %v4float %50
- %52 = OpAccessChain %_ptr_Function_v4float %p_0 %int_0 %int_0
- OpStore %52 %51
- %58 = OpAccessChain %_ptr_Input_v2float %p_1 %int_0 %int_0
- %59 = OpLoad %v2float %58
- %60 = OpAccessChain %_ptr_Function_v2float %p_0 %int_0 %int_1
- OpStore %60 %59
- %61 = OpAccessChain %_ptr_Input_v4float %p_pos %int_1
- %62 = OpLoad %v4float %61
- %63 = OpAccessChain %_ptr_Function_v4float %p_0 %int_1 %int_0
- OpStore %63 %62
- %64 = OpAccessChain %_ptr_Input_v2float %p_1 %int_1 %int_0
- %65 = OpLoad %v2float %64
- %66 = OpAccessChain %_ptr_Function_v2float %p_0 %int_1 %int_1
- OpStore %66 %65
- %68 = OpAccessChain %_ptr_Input_v4float %p_pos %int_2
- %69 = OpLoad %v4float %68
- %70 = OpAccessChain %_ptr_Function_v4float %p_0 %int_2 %int_0
- OpStore %70 %69
- %71 = OpAccessChain %_ptr_Input_v2float %p_1 %int_2 %int_0
- %72 = OpLoad %v2float %71
- %73 = OpAccessChain %_ptr_Function_v2float %p_0 %int_2 %int_1
- OpStore %73 %72
- %77 = OpLoad %uint %i_1
- OpStore %i_0 %77
- %80 = OpLoad %_arr_VertexOutput_uint_3 %p_0
- OpStore %param %80
- %82 = OpLoad %uint %i_0
- OpStore %param_0 %82
- %83 = OpFunctionCall %HSOut %_hs_main_struct_VertexOutput_vf4_vf21_3__u1_ %param %param_0
- OpStore %flattenTemp %83
- %86 = OpAccessChain %_ptr_Function_v4float %flattenTemp %int_0
- %87 = OpLoad %v4float %86
- %94 = OpLoad %uint %i_1
- %89 = OpAccessChain %_ptr_Output_v4float %_entryPointOutput_pos %94
- OpStore %89 %87
- %95 = OpAccessChain %_ptr_Function_v2float %flattenTemp %int_1
- %96 = OpLoad %v2float %95
- %98 = OpAccessChain %_ptr_Output_v2float %_entryPointOutput %94 %int_0
- OpStore %98 %96
- OpControlBarrier %uint_2 %uint_1 %uint_0
- %102 = OpLoad %uint %i_1
- %104 = OpIEqual %bool %102 %int_0
- OpSelectionMerge %106 None
- OpBranchConditional %104 %105 %106
- %105 = OpLabel
- %110 = OpLoad %_arr_VertexOutput_uint_3 %p_0
- OpStore %param_1 %110
- %111 = OpFunctionCall %HSConstantOut %PatchHS_struct_VertexOutput_vf4_vf21_3__ %param_1
- OpStore %_patchConstantResult %111
- %117 = OpAccessChain %_ptr_Function_float %_patchConstantResult %int_0 %int_0
- %118 = OpLoad %float %117
- %120 = OpAccessChain %_ptr_Output_float %_patchConstantOutput_EdgeTess %int_0
- OpStore %120 %118
- %121 = OpAccessChain %_ptr_Function_float %_patchConstantResult %int_0 %int_1
- %122 = OpLoad %float %121
- %123 = OpAccessChain %_ptr_Output_float %_patchConstantOutput_EdgeTess %int_1
- OpStore %123 %122
- %124 = OpAccessChain %_ptr_Function_float %_patchConstantResult %int_0 %int_2
- %125 = OpLoad %float %124
- %126 = OpAccessChain %_ptr_Output_float %_patchConstantOutput_EdgeTess %int_2
- OpStore %126 %125
- %130 = OpAccessChain %_ptr_Function_float %_patchConstantResult %int_1
- %131 = OpLoad %float %130
- %132 = OpAccessChain %_ptr_Output_float %_patchConstantOutput_InsideTess %int_0
- OpStore %132 %131
- OpBranch %106
- %106 = OpLabel
- OpReturn
- OpFunctionEnd
-%_hs_main_struct_VertexOutput_vf4_vf21_3__u1_ = OpFunction %HSOut None %16
- %p = OpFunctionParameter %_ptr_Function__arr_VertexOutput_uint_3
- %i = OpFunctionParameter %_ptr_Function_uint
- %20 = OpLabel
- %output = OpVariable %_ptr_Function_HSOut Function
- %31 = OpLoad %uint %i
- %33 = OpAccessChain %_ptr_Function_v4float %p %31 %int_0
- %34 = OpLoad %v4float %33
- %35 = OpAccessChain %_ptr_Function_v4float %output %int_0
- OpStore %35 %34
- %37 = OpLoad %uint %i
- %39 = OpAccessChain %_ptr_Function_v2float %p %37 %int_1
- %40 = OpLoad %v2float %39
- %41 = OpAccessChain %_ptr_Function_v2float %output %int_1
- OpStore %41 %40
- %42 = OpLoad %HSOut %output
- OpReturnValue %42
- OpFunctionEnd
-%PatchHS_struct_VertexOutput_vf4_vf21_3__ = OpFunction %HSConstantOut None %23
- %patch = OpFunctionParameter %_ptr_Function__arr_VertexOutput_uint_3
- %26 = OpLabel
- %output_0 = OpVariable %_ptr_Function_HSConstantOut Function
- %135 = OpAccessChain %_ptr_Function_v2float %patch %int_0 %int_1
- %136 = OpLoad %v2float %135
- %137 = OpCompositeConstruct %v2float %float_1 %float_1
- %138 = OpFAdd %v2float %137 %136
- %139 = OpCompositeExtract %float %138 0
- %140 = OpAccessChain %_ptr_Function_float %output_0 %int_0 %int_0
- OpStore %140 %139
- %141 = OpAccessChain %_ptr_Function_v2float %patch %int_0 %int_1
- %142 = OpLoad %v2float %141
- %143 = OpCompositeConstruct %v2float %float_1 %float_1
- %144 = OpFAdd %v2float %143 %142
- %145 = OpCompositeExtract %float %144 0
- %146 = OpAccessChain %_ptr_Function_float %output_0 %int_0 %int_1
- OpStore %146 %145
- %147 = OpAccessChain %_ptr_Function_v2float %patch %int_0 %int_1
- %148 = OpLoad %v2float %147
- %149 = OpCompositeConstruct %v2float %float_1 %float_1
- %150 = OpFAdd %v2float %149 %148
- %151 = OpCompositeExtract %float %150 0
- %152 = OpAccessChain %_ptr_Function_float %output_0 %int_0 %int_2
- OpStore %152 %151
- %153 = OpAccessChain %_ptr_Function_v2float %patch %int_0 %int_1
- %154 = OpLoad %v2float %153
- %155 = OpCompositeConstruct %v2float %float_1 %float_1
- %156 = OpFAdd %v2float %155 %154
- %157 = OpCompositeExtract %float %156 0
- %158 = OpAccessChain %_ptr_Function_float %output_0 %int_1
- OpStore %158 %157
- %159 = OpLoad %HSConstantOut %output_0
- OpReturnValue %159
- OpFunctionEnd
diff --git a/shaders/comp/bitcast-16bit-1.invalid.comp b/shaders/comp/bitcast-16bit-1.invalid.comp
deleted file mode 100644
index 0c21cda3..00000000
--- a/shaders/comp/bitcast-16bit-1.invalid.comp
+++ /dev/null
@@ -1,23 +0,0 @@
-#version 450 core
-#extension GL_AMD_gpu_shader_half_float : require
-#extension GL_AMD_gpu_shader_int16 : require
-layout(local_size_x = 1) in;
-
-layout(binding = 0, std430) buffer SSBO0
-{
- i16vec4 inputs[];
-};
-
-layout(binding = 1, std430) buffer SSBO1
-{
- ivec4 outputs[];
-};
-
-void main()
-{
- uint ident = gl_GlobalInvocationID.x;
- f16vec2 a = int16BitsToFloat16(inputs[ident].xy);
- outputs[ident].x = int(packFloat2x16(a + f16vec2(1, 1)));
- outputs[ident].y = packInt2x16(inputs[ident].zw);
- outputs[ident].z = int(packUint2x16(u16vec2(inputs[ident].xy)));
-}
diff --git a/shaders/comp/bitcast-16bit-2.invalid.comp b/shaders/comp/bitcast-16bit-2.invalid.comp
deleted file mode 100644
index 6bb66241..00000000
--- a/shaders/comp/bitcast-16bit-2.invalid.comp
+++ /dev/null
@@ -1,26 +0,0 @@
-#version 450 core
-#extension GL_AMD_gpu_shader_half_float : require
-#extension GL_AMD_gpu_shader_int16 : require
-layout(local_size_x = 1) in;
-
-layout(binding = 0, std430) buffer SSBO0
-{
- ivec4 inputs[];
-};
-
-layout(binding = 1, std430) buffer SSBO1
-{
- i16vec4 outputs[];
-};
-
-layout(binding = 2) uniform UBO
-{
- f16vec4 const0;
-};
-
-void main()
-{
- uint ident = gl_GlobalInvocationID.x;
- outputs[ident].xy = unpackInt2x16(inputs[ident].x) + float16BitsToInt16(const0.xy);
- outputs[ident].zw = i16vec2(unpackUint2x16(uint(inputs[ident].y)) - float16BitsToUint16(const0.zw));
-}
diff --git a/shaders/comp/inout-struct.invalid.comp b/shaders/comp/inout-struct.invalid.comp
deleted file mode 100644
index c1de9597..00000000
--- a/shaders/comp/inout-struct.invalid.comp
+++ /dev/null
@@ -1,55 +0,0 @@
-#version 310 es
-layout(local_size_x = 1) in;
-
-layout(std430, binding = 0) writeonly buffer SSBO
-{
- vec4 data[];
-} outdata;
-
-layout(std430, binding = 1) readonly buffer SSBO2
-{
- vec4 data[];
-} indata;
-
-struct Foo
-{
- vec4 a;
- vec4 b;
- vec4 c;
- vec4 d;
-};
-
-layout(std430, binding = 2) readonly buffer SSBO3
-{
- Foo foos[];
-} foobar;
-
-vec4 bar(Foo foo)
-{
- return foo.a + foo.b + foo.c + foo.d;
-}
-
-void baz(out Foo foo)
-{
- uint ident = gl_GlobalInvocationID.x;
- foo.a = indata.data[4u * ident + 0u];
- foo.b = indata.data[4u * ident + 1u];
- foo.c = indata.data[4u * ident + 2u];
- foo.d = indata.data[4u * ident + 3u];
-}
-
-void meow(inout Foo foo)
-{
- foo.a += 10.0;
- foo.b += 20.0;
- foo.c += 30.0;
- foo.d += 40.0;
-}
-
-void main()
-{
- Foo foo;
- baz(foo);
- meow(foo);
- outdata.data[gl_GlobalInvocationID.x] = bar(foo) + bar(foobar.foos[gl_GlobalInvocationID.x]);
-}
diff --git a/shaders/desktop-only/frag/fp16.invalid.desktop.frag b/shaders/desktop-only/frag/fp16.invalid.desktop.frag
deleted file mode 100644
index f3517a92..00000000
--- a/shaders/desktop-only/frag/fp16.invalid.desktop.frag
+++ /dev/null
@@ -1,151 +0,0 @@
-#version 450
-#extension GL_AMD_gpu_shader_half_float : require
-
-layout(location = 0) in float16_t v1;
-layout(location = 1) in f16vec2 v2;
-layout(location = 2) in f16vec3 v3;
-layout(location = 3) in f16vec4 v4;
-
-layout(location = 0) out float o1;
-layout(location = 1) out vec2 o2;
-layout(location = 2) out vec3 o3;
-layout(location = 3) out vec4 o4;
-
-f16mat2 test_mat2(f16vec2 a, f16vec2 b, f16vec2 c, f16vec2 d)
-{
- return f16mat2(a, b) * f16mat2(c, d);
-}
-
-f16mat3 test_mat3(f16vec3 a, f16vec3 b, f16vec3 c, f16vec3 d, f16vec3 e, f16vec3 f)
-{
- return f16mat3(a, b, c) * f16mat3(d, e, f);
-}
-
-void test_constants()
-{
- float16_t a = 1.0hf;
- float16_t b = 1.5hf;
- float16_t c = -1.5hf; // Negatives
- float16_t d = (0.0hf / 0.0hf); // NaN
- float16_t e = (1.0hf / 0.0hf); // +Inf
- float16_t f = (-1.0hf / 0.0hf); // -Inf
- float16_t g = 1014.0hf; // Large.
- float16_t h = 0.000001hf; // Denormal
-}
-
-float16_t test_result()
-{
- return 1.0hf;
-}
-
-void test_conversions()
-{
- float16_t one = test_result();
- int a = int(one);
- uint b = uint(one);
- bool c = bool(one);
- float d = float(one);
- double e = double(one);
- float16_t a2 = float16_t(a);
- float16_t b2 = float16_t(b);
- float16_t c2 = float16_t(c);
- float16_t d2 = float16_t(d);
- float16_t e2 = float16_t(e);
-}
-
-void test_builtins()
-{
- f16vec4 res;
- res = radians(v4);
- res = degrees(v4);
- res = sin(v4);
- res = cos(v4);
- res = tan(v4);
- res = asin(v4);
- res = atan(v4, v3.xyzz);
- res = atan(v4);
- res = sinh(v4);
- res = cosh(v4);
- res = tanh(v4);
- res = asinh(v4);
- res = acosh(v4);
- res = atanh(v4);
- res = pow(v4, v4);
- res = exp(v4);
- res = log(v4);
- res = exp2(v4);
- res = log2(v4);
- res = sqrt(v4);
- res = inversesqrt(v4);
- res = abs(v4);
- res = sign(v4);
- res = floor(v4);
- res = trunc(v4);
- res = round(v4);
- res = roundEven(v4);
- res = ceil(v4);
- res = fract(v4);
- res = mod(v4, v4);
- f16vec4 tmp;
- res = modf(v4, tmp);
- res = min(v4, v4);
- res = max(v4, v4);
- res = clamp(v4, v4, v4);
- res = mix(v4, v4, v4);
- res = mix(v4, v4, lessThan(v4, v4));
- res = step(v4, v4);
- res = smoothstep(v4, v4, v4);
-
- bvec4 btmp = isnan(v4);
- btmp = isinf(v4);
- res = fma(v4, v4, v4);
-
- ivec4 itmp;
- res = frexp(v4, itmp);
- res = ldexp(res, itmp);
-
- uint pack0 = packFloat2x16(v4.xy);
- uint pack1 = packFloat2x16(v4.zw);
- res = f16vec4(unpackFloat2x16(pack0), unpackFloat2x16(pack1));
-
- float16_t t0 = length(v4);
- t0 = distance(v4, v4);
- t0 = dot(v4, v4);
- f16vec3 res3 = cross(v3, v3);
- res = normalize(v4);
- res = faceforward(v4, v4, v4);
- res = reflect(v4, v4);
- res = refract(v4, v4, v1);
-
- btmp = lessThan(v4, v4);
- btmp = lessThanEqual(v4, v4);
- btmp = greaterThan(v4, v4);
- btmp = greaterThanEqual(v4, v4);
- btmp = equal(v4, v4);
- btmp = notEqual(v4, v4);
-
- res = dFdx(v4);
- res = dFdy(v4);
- res = dFdxFine(v4);
- res = dFdyFine(v4);
- res = dFdxCoarse(v4);
- res = dFdyCoarse(v4);
- res = fwidth(v4);
- res = fwidthFine(v4);
- res = fwidthCoarse(v4);
-
- //res = interpolateAtCentroid(v4);
- //res = interpolateAtSample(v4, 0);
- //res = interpolateAtOffset(v4, f16vec2(0.1hf));
-}
-
-void main()
-{
- // Basic matrix tests.
- f16mat2 m0 = test_mat2(v2, v2, v3.xy, v3.xy);
- f16mat3 m1 = test_mat3(v3, v3, v3, v4.xyz, v4.xyz, v4.yzw);
-
- test_constants();
- test_conversions();
- test_builtins();
-}
diff --git a/shaders/flatten/multi-dimensional.desktop.invalid.flatten_dim.frag b/shaders/flatten/multi-dimensional.desktop.invalid.flatten_dim.frag
deleted file mode 100644
index 24b2ff1d..00000000
--- a/shaders/flatten/multi-dimensional.desktop.invalid.flatten_dim.frag
+++ /dev/null
@@ -1,18 +0,0 @@
-#version 450
-
-layout(location = 0) out vec4 FragColor;
-layout(binding = 0) uniform sampler2D uTextures[2][3][1];
-layout(location = 0) flat in int vIndex;
-layout(location = 1) in vec2 vUV;
-
-void main()
-{
- vec4 values3[2][3][1];
-
- for (int z = 0; z < 2; z++)
- for (int y = 0; y < 3; y++)
- for (int x = 0; x < 1; x++)
- values3[z][y][x] = texture(uTextures[z][y][x], vUV);
-
- FragColor = values3[1][2][0] + values3[0][2][0] + values3[vIndex + 1][2][vIndex];
-}
diff --git a/shaders/frag/16bit-constants.invalid.frag b/shaders/frag/16bit-constants.invalid.frag
deleted file mode 100644
index c53091b5..00000000
--- a/shaders/frag/16bit-constants.invalid.frag
+++ /dev/null
@@ -1,14 +0,0 @@
-#version 450 core
-
-#extension GL_AMD_gpu_shader_int16 : require
-#extension GL_AMD_gpu_shader_half_float : require
-
-layout(location = 0) out float16_t foo;
-layout(location = 1) out int16_t bar;
-layout(location = 2) out uint16_t baz;
-
-void main() {
- foo = 1.0hf;
- bar = 2s;
- baz = 3us;
-}
diff --git a/shaders/vulkan/comp/struct-packing-scalar.nocompat.invalid.vk.comp b/shaders/vulkan/comp/struct-packing-scalar.nocompat.invalid.vk.comp
deleted file mode 100644
index 808403d9..00000000
--- a/shaders/vulkan/comp/struct-packing-scalar.nocompat.invalid.vk.comp
+++ /dev/null
@@ -1,88 +0,0 @@
-#version 310 es
-#extension GL_EXT_scalar_block_layout : require
-
-layout(local_size_x = 1) in;
-
-struct S0
-{
- vec2 a[1];
- float b;
-};
-
-struct S1
-{
- vec3 a;
- float b;
-};
-
-struct S2
-{
- vec3 a[1];
- float b;
-};
-
-struct S3
-{
- vec2 a;
- float b;
-};
-
-struct S4
-{
- vec2 c;
-};
-
-struct Content
-{
- S0 m0s[1];
- S1 m1s[1];
- S2 m2s[1];
- S0 m0;
- S1 m1;
- S2 m2;
- S3 m3;
- float m4;
-
- S4 m3s[8];
-};
-
-layout(binding = 1, scalar) restrict buffer SSBO1
-{
- Content content;
- Content content1[2];
- Content content2;
-
- layout(column_major) mat2 m0;
- layout(column_major) mat2 m1;
- layout(column_major) mat2x3 m2[4];
- layout(column_major) mat3x2 m3;
- layout(row_major) mat2 m4;
- layout(row_major) mat2 m5[9];
- layout(row_major) mat2x3 m6[4][2];
- layout(row_major) mat3x2 m7;
- float array[];
-} ssbo_430;
-
-layout(binding = 0, std140) restrict buffer SSBO0
-{
- Content content;
- Content content1[2];
- Content content2;
-
- layout(column_major) mat2 m0;
- layout(column_major) mat2 m1;
- layout(column_major) mat2x3 m2[4];
- layout(column_major) mat3x2 m3;
- layout(row_major) mat2 m4;
- layout(row_major) mat2 m5[9];
- layout(row_major) mat2x3 m6[4][2];
- layout(row_major) mat3x2 m7;
-
- float array[];
-} ssbo_140;
-
-void main()
-{
- ssbo_430.content = ssbo_140.content;
-}
-
diff --git a/shaders/vulkan/comp/subgroups.nocompat.invalid.vk.comp b/shaders/vulkan/comp/subgroups.nocompat.invalid.vk.comp
deleted file mode 100644
index 68fc74f9..00000000
--- a/shaders/vulkan/comp/subgroups.nocompat.invalid.vk.comp
+++ /dev/null
@@ -1,125 +0,0 @@
-#version 450
-#extension GL_KHR_shader_subgroup_basic : require
-#extension GL_KHR_shader_subgroup_ballot : require
-#extension GL_KHR_shader_subgroup_vote : require
-#extension GL_KHR_shader_subgroup_shuffle : require
-#extension GL_KHR_shader_subgroup_shuffle_relative : require
-#extension GL_KHR_shader_subgroup_arithmetic : require
-#extension GL_KHR_shader_subgroup_clustered : require
-#extension GL_KHR_shader_subgroup_quad : require
-layout(local_size_x = 1) in;
-
-layout(std430, binding = 0) buffer SSBO
-{
- float FragColor;
-};
-
-void main()
-{
- // basic
- FragColor = float(gl_NumSubgroups);
- FragColor = float(gl_SubgroupID);
- FragColor = float(gl_SubgroupSize);
- FragColor = float(gl_SubgroupInvocationID);
- subgroupBarrier();
- subgroupMemoryBarrier();
- subgroupMemoryBarrierBuffer();
- subgroupMemoryBarrierShared();
- subgroupMemoryBarrierImage();
- bool elected = subgroupElect();
-
- // ballot
- FragColor = float(gl_SubgroupEqMask);
- FragColor = float(gl_SubgroupGeMask);
- FragColor = float(gl_SubgroupGtMask);
- FragColor = float(gl_SubgroupLeMask);
- FragColor = float(gl_SubgroupLtMask);
- vec4 broadcasted = subgroupBroadcast(vec4(10.0), 8u);
- vec3 first = subgroupBroadcastFirst(vec3(20.0));
- uvec4 ballot_value = subgroupBallot(true);
- bool inverse_ballot_value = subgroupInverseBallot(ballot_value);
- bool bit_extracted = subgroupBallotBitExtract(uvec4(10u), 8u);
- uint bit_count = subgroupBallotBitCount(ballot_value);
- uint inclusive_bit_count = subgroupBallotInclusiveBitCount(ballot_value);
- uint exclusive_bit_count = subgroupBallotExclusiveBitCount(ballot_value);
- uint lsb = subgroupBallotFindLSB(ballot_value);
- uint msb = subgroupBallotFindMSB(ballot_value);
-
- // shuffle
- uint shuffled = subgroupShuffle(10u, 8u);
- uint shuffled_xor = subgroupShuffleXor(30u, 8u);
-
- // shuffle relative
- uint shuffled_up = subgroupShuffleUp(20u, 4u);
- uint shuffled_down = subgroupShuffleDown(20u, 4u);
-
- // vote
- bool has_all = subgroupAll(true);
- bool has_any = subgroupAny(true);
- bool has_equal = subgroupAllEqual(true);
-
- // arithmetic
- vec4 added = subgroupAdd(vec4(20.0));
- ivec4 iadded = subgroupAdd(ivec4(20));
- vec4 multiplied = subgroupMul(vec4(20.0));
- ivec4 imultiplied = subgroupMul(ivec4(20));
- vec4 lo = subgroupMin(vec4(20.0));
- vec4 hi = subgroupMax(vec4(20.0));
- ivec4 slo = subgroupMin(ivec4(20));
- ivec4 shi = subgroupMax(ivec4(20));
- uvec4 ulo = subgroupMin(uvec4(20));
- uvec4 uhi = subgroupMax(uvec4(20));
- uvec4 anded = subgroupAnd(ballot_value);
- uvec4 ored = subgroupOr(ballot_value);
- uvec4 xored = subgroupXor(ballot_value);
-
- added = subgroupInclusiveAdd(added);
- iadded = subgroupInclusiveAdd(iadded);
- multiplied = subgroupInclusiveMul(multiplied);
- imultiplied = subgroupInclusiveMul(imultiplied);
- lo = subgroupInclusiveMin(lo);
- hi = subgroupInclusiveMax(hi);
- slo = subgroupInclusiveMin(slo);
- shi = subgroupInclusiveMax(shi);
- ulo = subgroupInclusiveMin(ulo);
- uhi = subgroupInclusiveMax(uhi);
- anded = subgroupInclusiveAnd(anded);
- ored = subgroupInclusiveOr(ored);
- xored = subgroupInclusiveXor(ored);
- added = subgroupExclusiveAdd(lo);
-
- added = subgroupExclusiveAdd(multiplied);
- multiplied = subgroupExclusiveMul(multiplied);
- iadded = subgroupExclusiveAdd(imultiplied);
- imultiplied = subgroupExclusiveMul(imultiplied);
- lo = subgroupExclusiveMin(lo);
- hi = subgroupExclusiveMax(hi);
- ulo = subgroupExclusiveMin(ulo);
- uhi = subgroupExclusiveMax(uhi);
- slo = subgroupExclusiveMin(slo);
- shi = subgroupExclusiveMax(shi);
- anded = subgroupExclusiveAnd(anded);
- ored = subgroupExclusiveOr(ored);
- xored = subgroupExclusiveXor(ored);
-
- // clustered
- added = subgroupClusteredAdd(added, 4u);
- multiplied = subgroupClusteredMul(multiplied, 4u);
- iadded = subgroupClusteredAdd(iadded, 4u);
- imultiplied = subgroupClusteredMul(imultiplied, 4u);
- lo = subgroupClusteredMin(lo, 4u);
- hi = subgroupClusteredMax(hi, 4u);
- ulo = subgroupClusteredMin(ulo, 4u);
- uhi = subgroupClusteredMax(uhi, 4u);
- slo = subgroupClusteredMin(slo, 4u);
- shi = subgroupClusteredMax(shi, 4u);
- anded = subgroupClusteredAnd(anded, 4u);
- ored = subgroupClusteredOr(ored, 4u);
- xored = subgroupClusteredXor(xored, 4u);
-
- // quad
- vec4 swap_horiz = subgroupQuadSwapHorizontal(vec4(20.0));
- vec4 swap_vertical = subgroupQuadSwapVertical(vec4(20.0));
- vec4 swap_diagonal = subgroupQuadSwapDiagonal(vec4(20.0));
- vec4 quad_broadcast = subgroupQuadBroadcast(vec4(20.0), 3u);
-}
diff --git a/shaders/vulkan/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag b/shaders/vulkan/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag
deleted file mode 100644
index faa20fa6..00000000
--- a/shaders/vulkan/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag
+++ /dev/null
@@ -1,23 +0,0 @@
-#version 450
-#extension GL_EXT_scalar_block_layout : require
-
-layout(std430, binding = 0) uniform UBO
-{
- float a[1024];
- vec3 b[2];
-};
-
-layout(std430, binding = 1) uniform UBOEnhancedLayout
-{
- float c[1024];
- vec3 d[2];
- layout(offset = 10000) float e;
-};
-
-layout(location = 0) flat in int vIndex;
-layout(location = 0) out float FragColor;
-
-void main()
-{
- FragColor = a[vIndex] + c[vIndex] + e;
-}