diff options
author | Dan Sinclair <dsinclair@google.com> | 2019-11-05 21:19:19 +0300 |
---|---|---|
committer | Dan Sinclair <dsinclair@google.com> | 2019-11-05 21:19:19 +0300 |
commit | d409210ee519b25b760042240f49bf3667b0c752 (patch) | |
tree | b5bf39a193826a211097c6d8edbc00c3d4d5f32b /shaders | |
parent | e5af41255c480c75894811e7a5fd2ec898da9070 (diff) |
Move all .invalid shaders into no-opt folders.
Diffstat (limited to 'shaders')
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; -} |