Modify testing to only record validation pass/fail
* Changed unit tests to only record known the validation pass/fail status * errors are output as part of the failure message if the result is unexpected * can turn off validation for each test individually * Moved some SPV_KHR_vulkan_memory_model tests to be compiled for Vulkan 1.1
This commit is contained in:
parent
0bb930fc0f
commit
ed777b0fbd
@ -69,10 +69,7 @@ output primitive = line_strip
|
|||||||
0:? 'ps' ( in 3-element array of uint PointSize)
|
0:? 'ps' ( in 3-element array of uint PointSize)
|
||||||
0:? 'OutputStream.ps' ( out float PointSize)
|
0:? 'OutputStream.ps' ( out float PointSize)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: According to the Vulkan spec BuiltIn PointSize variable needs to be a 32-bit float scalar. ID <28> (OpVariable) is not a float scalar.
|
|
||||||
%29 = OpLoad %_arr_uint_uint_3 %ps_1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 36
|
// Id's are bound by 36
|
||||||
|
@ -93,10 +93,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=7) out 4-component vector of float)
|
||||||
0:? 'input' (layout( location=8) in 4-component vector of float)
|
0:? 'input' (layout( location=8) in 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Operand 2 of Decorate requires one of these capabilities: InputAttachment
|
|
||||||
OpDecorate %attach InputAttachmentIndex 4
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 51
|
// Id's are bound by 51
|
||||||
|
@ -145,10 +145,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
|
||||||
0:? 'input' ( in 4-component vector of float FragCoord)
|
0:? 'input' ( in 4-component vector of float FragCoord)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Structure id 50 decorated as BufferBlock for variable in Uniform storage class must follow relaxed storage buffer layout rules: member 7 at offset 128 overlaps previous member ending at offset 171
|
|
||||||
%tbufName = OpTypeStruct %v4float %int %float %float %float %float %float %float %mat3v4float %mat3v4float %mat3v4float %mat3v4float
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 73
|
// Id's are bound by 73
|
||||||
|
@ -131,12 +131,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
|
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Uniform OpVariable <id> '18[cb3] 'has illegal type.
|
|
||||||
From Vulkan spec, section 14.5.2:
|
|
||||||
Variables identified with the Uniform storage class are used to access transparent buffer backed resources. Such variables must be typed as OpTypeStruct, or an array of this type
|
|
||||||
%cb3_0 = OpVariable %_ptr_Uniform__arr__arr_cb3_uint_4_uint_2 Uniform
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 66
|
// Id's are bound by 66
|
||||||
|
@ -543,10 +543,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? '@entryPointOutput' (layout( location=0) out int)
|
0:? '@entryPointOutput' (layout( location=0) out int)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Matrix types can only be parameterized with floating-point types.
|
|
||||||
%mat4v4int = OpTypeMatrix %v4int 4
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 98
|
// Id's are bound by 98
|
||||||
|
@ -117,10 +117,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
|
0:? '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
|
||||||
0:? '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Input variable id <34> is used by entry point 'main' id <4>, but is not listed as an interface
|
|
||||||
%i_1 = OpVariable %_ptr_Input_PS_INPUT Input
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 52
|
// Id's are bound by 52
|
||||||
|
@ -49,10 +49,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'i' ( temp structure{})
|
0:? 'i' ( temp structure{})
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Input variable id <20> is used by entry point 'main' id <4>, but is not listed as an interface
|
|
||||||
%i_1 = OpVariable %_ptr_Input_ps_in Input
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 27
|
// Id's are bound by 27
|
||||||
|
@ -47,10 +47,7 @@ Shader version: 500
|
|||||||
0:? 'i' ( temp structure{})
|
0:? 'i' ( temp structure{})
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Input variable id <20> is used by entry point 'main' id <4>, but is not listed as an interface
|
|
||||||
%i_1 = OpVariable %_ptr_Input_vs_in Input
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 27
|
// Id's are bound by 27
|
||||||
|
@ -1261,10 +1261,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image Operand ConstOffsets to be a const object
|
|
||||||
%90 = OpImageGather %v4float %76 %78 %int_0 ConstOffsets %89
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 399
|
// Id's are bound by 399
|
||||||
|
@ -1253,10 +1253,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image Operand ConstOffsets to be a const object
|
|
||||||
%90 = OpImageGather %v4float %76 %78 %int_0 ConstOffsets %89
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 389
|
// Id's are bound by 389
|
||||||
|
@ -715,10 +715,7 @@ local_size = (1, 1, 1)
|
|||||||
0:? 'inU0' (layout( location=3) in 4-component vector of uint)
|
0:? 'inU0' (layout( location=3) in 4-component vector of uint)
|
||||||
0:? 'inU1' (layout( location=4) in 4-component vector of uint)
|
0:? 'inU1' (layout( location=4) in 4-component vector of uint)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected operand to be vector bool: All
|
|
||||||
%64 = OpAll %bool %63
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 265
|
// Id's are bound by 265
|
||||||
|
@ -153,10 +153,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'inF4' (layout( location=3) in 4-component vector of float)
|
0:? 'inF4' (layout( location=3) in 4-component vector of float)
|
||||||
0:? 'inI2' (layout( location=4) flat in 2-component vector of int)
|
0:? 'inI2' (layout( location=4) flat in 2-component vector of int)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: GLSL.std.450 InterpolateAtOffset: expected Interpolant storage class to be Input
|
|
||||||
%28 = OpExtInst %float %1 InterpolateAtOffset %inF1 %27
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 80
|
// Id's are bound by 80
|
||||||
|
@ -5643,10 +5643,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'gs_uc4' ( shared 4-component vector of uint)
|
0:? 'gs_uc4' ( shared 4-component vector of uint)
|
||||||
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Matrix types can only be parameterized with floating-point types.
|
|
||||||
%mat2v2bool = OpTypeMatrix %v2bool 2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 1836
|
// Id's are bound by 1836
|
||||||
|
@ -2778,10 +2778,7 @@ Shader version: 500
|
|||||||
0:413 'inFM3x2' ( in 3X2 matrix of float)
|
0:413 'inFM3x2' ( in 3X2 matrix of float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Matrix types can only be parameterized with floating-point types.
|
|
||||||
%mat2v2bool = OpTypeMatrix %v2bool 2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 1225
|
// Id's are bound by 1225
|
||||||
|
@ -151,10 +151,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Illegal number of components (1) for TypeVector
|
|
||||||
%v1float = OpTypeVector %float 1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 77
|
// Id's are bound by 77
|
||||||
|
@ -231,10 +231,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Illegal number of components (1) for TypeVector
|
|
||||||
%v1bool = OpTypeVector %bool 1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 130
|
// Id's are bound by 130
|
||||||
|
@ -30,10 +30,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1, uniform 1X1 matrix of float fmat11, uniform 4X1 matrix of float fmat41, uniform 1X2 matrix of float fmat12, uniform 2X3 matrix of double dmat23, uniform 4X4 matrix of int int44})
|
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1, uniform 1X1 matrix of float fmat11, uniform 4X1 matrix of float fmat41, uniform 1X2 matrix of float fmat12, uniform 2X3 matrix of double dmat23, uniform 4X4 matrix of int int44})
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Illegal number of components (1) for TypeVector
|
|
||||||
%v1float = OpTypeVector %float 1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 30
|
// Id's are bound by 30
|
||||||
|
@ -397,10 +397,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Illegal number of components (1) for TypeVector
|
|
||||||
%v1int = OpTypeVector %int 1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 232
|
// Id's are bound by 232
|
||||||
|
@ -675,11 +675,7 @@ Shader version: 500
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'inf' (layout( location=0) in float)
|
0:? 'inf' (layout( location=0) in float)
|
||||||
|
|
||||||
Missing functionality: matrix swizzle
|
Validation failed
|
||||||
error: SPIRV-Tools Validation Errors
|
|
||||||
error: OpStore Pointer <id> '42[f3]'s type does not match Object <id> '34's type.
|
|
||||||
OpStore %f3 %int_0
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 118
|
// Id's are bound by 118
|
||||||
|
@ -101,10 +101,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'N2::gf' ( global float)
|
0:? 'N2::gf' ( global float)
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: OpFunctionCall Function <id>'s parameter count does not match the argument count.
|
|
||||||
%43 = OpFunctionCall %v4float %N2__N3__C1__getVec_
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 54
|
// Id's are bound by 54
|
||||||
|
@ -398,10 +398,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'ci' ( const int)
|
0:? 'ci' ( const int)
|
||||||
0:? 0 (const int)
|
0:? 0 (const int)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: If OpTypeBool is stored in conjunction with OpVariable, it can only be used with non-externally visible shader Storage Classes: Workgroup, CrossWorkgroup, Private, and Function
|
|
||||||
%_entryPointOutput_c = OpVariable %_ptr_Output_bool Output
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 104
|
// Id's are bound by 104
|
||||||
|
@ -399,10 +399,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image Operand Bias to be float scalar
|
|
||||||
%28 = OpImageSampleImplicitLod %v4float %23 %float_0_100000001 Bias|ConstOffset %int_1 %float_0_5
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 161
|
// Id's are bound by 161
|
||||||
|
@ -297,10 +297,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image Operand Bias to be float scalar
|
|
||||||
%31 = OpImageSampleImplicitLod %v4float %23 %27 Bias|ConstOffset %int_0 %float_0_5
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 118
|
// Id's are bound by 118
|
||||||
|
@ -397,10 +397,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%48 = OpImageSampleDrefImplicitLod %float %43 %46 %47
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 209
|
// Id's are bound by 209
|
||||||
|
@ -379,10 +379,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%41 = OpImageSampleDrefImplicitLod %float %38 %39 %40
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 198
|
// Id's are bound by 198
|
||||||
|
@ -325,10 +325,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%42 = OpImageSampleDrefImplicitLod %float %39 %40 %41 ConstOffset %int_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 167
|
// Id's are bound by 167
|
||||||
|
@ -337,10 +337,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%49 = OpImageSampleDrefImplicitLod %float %44 %47 %48 ConstOffset %int_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 178
|
// Id's are bound by 178
|
||||||
|
@ -433,10 +433,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%49 = OpImageSampleDrefExplicitLod %float %44 %47 %48 Lod %float_0
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 210
|
// Id's are bound by 210
|
||||||
|
@ -415,10 +415,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%42 = OpImageSampleDrefExplicitLod %float %39 %40 %41 Lod %float_0
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 199
|
// Id's are bound by 199
|
||||||
|
@ -349,10 +349,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%43 = OpImageSampleDrefExplicitLod %float %40 %41 %42 Lod|ConstOffset %float_0 %int_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 168
|
// Id's are bound by 168
|
||||||
|
@ -361,10 +361,7 @@ using depth_any
|
|||||||
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
0:? '@entryPointOutput.Depth' ( out float FragDepth)
|
||||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Expected Image 'Sampled Type' to be the same as Result Type
|
|
||||||
%50 = OpImageSampleDrefExplicitLod %float %45 %48 %49 Lod|ConstOffset %float_0 %int_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 179
|
// Id's are bound by 179
|
||||||
|
@ -155,10 +155,7 @@ output primitive = line_strip
|
|||||||
0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
|
0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
|
||||||
0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance)
|
0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: According to the Vulkan spec BuiltIn Position variable needs to be a 4-component 32-bit float vector. ID <20> (OpVariable) is not a float vector.
|
|
||||||
OpStore %OutputStream_clip0 %25
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 65
|
// Id's are bound by 65
|
||||||
|
@ -211,10 +211,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 's.ff3' (layout( location=6) flat in bool)
|
0:? 's.ff3' (layout( location=6) flat in bool)
|
||||||
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
|
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: If OpTypeBool is stored in conjunction with OpVariable, it can only be used with non-externally visible shader Storage Classes: Workgroup, CrossWorkgroup, Private, and Function
|
|
||||||
%s_b = OpVariable %_ptr_Input_bool Input
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 102
|
// Id's are bound by 102
|
||||||
|
@ -207,10 +207,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'input[1].f' (layout( location=2) in float)
|
0:? 'input[1].f' (layout( location=2) in float)
|
||||||
0:? 'input[2].f' (layout( location=3) in float)
|
0:? 'input[2].f' (layout( location=3) in float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: According to the Vulkan spec BuiltIn FragCoord variable needs to be a 4-component 32-bit float vector. ID <41> (OpVariable) is not a float vector.
|
|
||||||
%input_pos = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 66
|
// Id's are bound by 66
|
||||||
|
@ -155,12 +155,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'g_texdata_array2[2].nonopaque_thing' ( uniform int)
|
0:? 'g_texdata_array2[2].nonopaque_thing' ( uniform int)
|
||||||
0:? 'ps_output.color' (layout( location=0) out 4-component vector of float)
|
0:? 'ps_output.color' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: UniformConstant OpVariable <id> '65[g_texdata.nonopaque_thing] 'has illegal type.
|
|
||||||
From Vulkan spec, section 14.5.2:
|
|
||||||
Variables identified with the UniformConstant storage class are used only as handles to refer to opaque resources. Such variables must be typed as OpTypeImage, OpTypeSampler, OpTypeSampledImage, OpTypeAccelerationStructureNV, or an array of one of these types.
|
|
||||||
%g_texdata_nonopaque_thing = OpVariable %_ptr_UniformConstant_int UniformConstant
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 80
|
// Id's are bound by 80
|
||||||
|
@ -149,10 +149,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
0:? 'pos' (layout( location=0) flat in uint)
|
0:? 'pos' (layout( location=0) flat in uint)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Structure id 12 decorated as BufferBlock must be explicitly laid out with Offset decorations.
|
|
||||||
%__0 = OpTypeStruct %uint
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 70
|
// Id's are bound by 70
|
||||||
|
@ -473,10 +473,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
0:? 'pos' (layout( location=0) flat in uint)
|
0:? 'pos' (layout( location=0) flat in uint)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: AtomicIAdd: expected Value to be of type Result Type
|
|
||||||
%28 = OpAtomicIAdd %uint %24 %uint_1 %uint_0 %int_1
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 87
|
// Id's are bound by 87
|
||||||
|
@ -137,10 +137,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
0:? 'pos' (layout( location=0) flat in uint)
|
0:? 'pos' (layout( location=0) flat in uint)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Structure id 20 decorated as BufferBlock must be explicitly laid out with Offset decorations.
|
|
||||||
%__1 = OpTypeStruct %uint
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 78
|
// Id's are bound by 78
|
||||||
|
@ -837,10 +837,7 @@ gl_FragCoord origin is upper left
|
|||||||
0:? 'g_tTex2s1a' ( uniform texture2D)
|
0:? 'g_tTex2s1a' ( uniform texture2D)
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: OpStore Pointer <id> '185's type does not match Object <id> '184's type.
|
|
||||||
OpStore %185 %184
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 240
|
// Id's are bound by 240
|
||||||
|
@ -105,10 +105,7 @@ output primitive = triangle_strip
|
|||||||
0:? 'TriStream' ( temp structure{})
|
0:? 'TriStream' ( temp structure{})
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Output variable id <23> is used by entry point 'main' id <4>, but is not listed as an interface
|
|
||||||
%TriStream_1 = OpVariable %_ptr_Output_GSPS_INPUT Output
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 57
|
// Id's are bound by 57
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
spv.130.frag
|
spv.130.frag
|
||||||
WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
|
WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 205
|
// Id's are bound by 205
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.140.frag
|
spv.140.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 96
|
// Id's are bound by 96
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.400.frag
|
spv.400.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 1118
|
// Id's are bound by 1118
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
spv.AofA.frag
|
spv.AofA.frag
|
||||||
WARNING: 0:6: '[][]' : Generating SPIR-V array-of-arrays, but Vulkan only supports single array level for this resource
|
WARNING: 0:6: '[][]' : Generating SPIR-V array-of-arrays, but Vulkan only supports single array level for this resource
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Uniform OpVariable <id> '98[nameAofA] 'has illegal type.
|
|
||||||
From Vulkan spec, section 14.5.2:
|
|
||||||
Variables identified with the Uniform storage class are used to access transparent buffer backed resources. Such variables must be typed as OpTypeStruct, or an array of this type
|
|
||||||
%nameAofA = OpVariable %_ptr_Uniform__arr__arr_uAofA_uint_5_uint_3 Uniform
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 104
|
// Id's are bound by 104
|
||||||
|
@ -7,8 +7,7 @@ WARNING: 0:24: '' : attribute with arguments not recognized, skipping
|
|||||||
WARNING: 0:25: '' : attribute with arguments not recognized, skipping
|
WARNING: 0:25: '' : attribute with arguments not recognized, skipping
|
||||||
WARNING: 0:26: '' : attribute with arguments not recognized, skipping
|
WARNING: 0:26: '' : attribute with arguments not recognized, skipping
|
||||||
|
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Invalid loop control operand: 4 has invalid mask component 4
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 118
|
// Id's are bound by 118
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.explicittypes.frag
|
spv.explicittypes.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 576
|
// Id's are bound by 576
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.float16.frag
|
spv.float16.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 534
|
// Id's are bound by 534
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.float16Fetch.frag
|
spv.float16Fetch.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 5923
|
// Id's are bound by 5923
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.float32.frag
|
spv.float32.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 533
|
// Id's are bound by 533
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.float64.frag
|
spv.float64.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 524
|
// Id's are bound by 524
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
spv.functionNestedOpaque.vert
|
spv.functionNestedOpaque.vert
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: UniformConstant OpVariable <id> '36[si] 'has illegal type.
|
|
||||||
From Vulkan spec, section 14.5.2:
|
|
||||||
Variables identified with the UniformConstant storage class are used only as handles to refer to opaque resources. Such variables must be typed as OpTypeImage, OpTypeSampler, OpTypeSampledImage, OpTypeAccelerationStructureNV, or an array of one of these types.
|
|
||||||
%si = OpVariable %_ptr_UniformConstant_S UniformConstant
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 39
|
// Id's are bound by 39
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.image.frag
|
spv.image.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability ImageRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability ImageRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 395
|
// Id's are bound by 395
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.imageLoadStoreLod.frag
|
spv.imageLoadStoreLod.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Image Operand Lod can only be used with ExplicitLod opcodes and OpImageFetch
|
|
||||||
%19 = OpImageRead %v4float %15 %int_1 Lod %int_3
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 82
|
// Id's are bound by 82
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.int16.amd.frag
|
spv.int16.amd.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 560
|
// Id's are bound by 560
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.int16.frag
|
spv.int16.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 523
|
// Id's are bound by 523
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.int32.frag
|
spv.int32.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 493
|
// Id's are bound by 493
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.int64.frag
|
spv.int64.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: OpDecorate SpecId decoration target <id> '1' is not a scalar specialization constant.
|
|
||||||
OpDecorate %su64inc SpecId 105
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 489
|
// Id's are bound by 489
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.int8.frag
|
spv.int8.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 518
|
// Id's are bound by 518
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.memoryQualifier.frag
|
spv.memoryQualifier.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability ImageRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability ImageRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 97
|
// Id's are bound by 97
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.multiviewPerViewAttributes.tesc
|
spv.multiviewPerViewAttributes.tesc
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: OpMemberName Member <id> '5' index is larger than Type <id> '27[gl_PositionPerViewNV]'s member count.
|
|
||||||
OpMemberName %gl_PerVertex_0 5 "gl_PositionPerViewNV"
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 37
|
// Id's are bound by 37
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.newTexture.frag
|
spv.newTexture.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 284
|
// Id's are bound by 284
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.paramMemory.frag
|
spv.paramMemory.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: OpFunctionCall Argument <id> '38[image1]'s type does not match Function <id> '8's parameter type.
|
|
||||||
%41 = OpFunctionCall %v4float %image_load_I21_vi2_ %image1 %param
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 69
|
// Id's are bound by 69
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.queryL.frag
|
spv.queryL.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 224
|
// Id's are bound by 224
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.sampleMaskOverrideCoverage.frag
|
spv.sampleMaskOverrideCoverage.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Operand 2 of Decorate requires one of these capabilities: SampleMaskOverrideCoverageNV
|
|
||||||
OpDecorate %gl_SampleMask OverrideCoverageNV
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 20
|
// Id's are bound by 20
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.scalarlayout.frag
|
spv.scalarlayout.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Structure id 17 decorated as Block for variable in Uniform storage class must follow standard uniform buffer layout rules: member 1 at offset 4 is not aligned to 8
|
|
||||||
%B1 = OpTypeStruct %float %v2float %v3float %_arr_float_uint_2 %mat2v3float %_arr_mat2v3float_uint_2 %float %S %_arr_S_uint_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 20
|
// Id's are bound by 20
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.scalarlayoutfloat16.frag
|
spv.scalarlayoutfloat16.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Structure id 15 decorated as Block for variable in Uniform storage class must follow standard uniform buffer layout rules: member 1 at offset 2 is not aligned to 4
|
|
||||||
%B1 = OpTypeStruct %half %v2half %v3half %_arr_half_uint_2 %half %S %_arr_S_uint_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 18
|
// Id's are bound by 18
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.separate.frag
|
spv.separate.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 319
|
// Id's are bound by 319
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.shaderBallotAMD.comp
|
spv.shaderBallotAMD.comp
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 1343
|
// Id's are bound by 1343
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.sparseTexture.frag
|
spv.sparseTexture.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 438
|
// Id's are bound by 438
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.sparseTextureClamp.frag
|
spv.sparseTextureClamp.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
|
|
||||||
OpCapability SampledRect
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 360
|
// Id's are bound by 360
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.stereoViewRendering.tesc
|
spv.stereoViewRendering.tesc
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: When BuiltIn decoration is applied to a structure-type member, all members of that structure type must also be decorated with BuiltIn (No allowed mixing of built-in variables and non-built-in variables within a single structure). Structure id 27 does not meet this requirement.
|
|
||||||
%gl_PerVertex_0 = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 %v4float
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 38
|
// Id's are bound by 38
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.subgroupPartitioned.comp
|
spv.subgroupPartitioned.comp
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Opcode GroupNonUniformFAdd requires one of these capabilities: GroupNonUniformArithmetic GroupNonUniformClustered
|
|
||||||
%179 = OpGroupNonUniformFAdd %float %uint_3 PartitionedReduceNV %176 %177
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 2506
|
// Id's are bound by 2506
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.textureGatherBiasLod.frag
|
spv.textureGatherBiasLod.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Image Operand Bias can only be used with ImplicitLod opcodes
|
|
||||||
%27 = OpImageGather %v4float %17 %21 %int_0 Bias %26
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 298
|
// Id's are bound by 298
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.viewportArray2.tesc
|
spv.viewportArray2.tesc
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Vulkan spec allows BuiltIn ViewportIndex to be used only with Vertex, TessellationEvaluation, Geometry, or Fragment execution models. ID <0> (OpStore) is referencing ID <22> (OpVariable) which is decorated with BuiltIn ViewportIndex in function <4> called with execution model TessellationControl.
|
|
||||||
OpStore %gl_ViewportIndex %int_2
|
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 25
|
// Id's are bound by 25
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
spv.vulkan110.int16.frag
|
spv.vulkan110.int16.frag
|
||||||
error: SPIRV-Tools Validation Errors
|
Validation failed
|
||||||
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
|
|
||||||
OpCapability Float16
|
|
||||||
|
|
||||||
// Module Version 10300
|
// Module Version 10300
|
||||||
// Generated by (magic number): 80007
|
// Generated by (magic number): 80007
|
||||||
// Id's are bound by 523
|
// Id's are bound by 523
|
||||||
|
@ -51,6 +51,7 @@ TEST_P(ConfigTest, FromFile)
|
|||||||
{
|
{
|
||||||
TestCaseSpec testCase = GetParam();
|
TestCaseSpec testCase = GetParam();
|
||||||
GlslangResult result;
|
GlslangResult result;
|
||||||
|
result.validationResult = true;
|
||||||
|
|
||||||
// Get the contents for input shader and limit configurations.
|
// Get the contents for input shader and limit configurations.
|
||||||
std::string shaderContents, configContents;
|
std::string shaderContents, configContents;
|
||||||
|
@ -77,17 +77,16 @@ TEST_P(LinkTestVulkan, FromFile)
|
|||||||
if (success && (controls & EShMsgSpvRules)) {
|
if (success && (controls & EShMsgSpvRules)) {
|
||||||
spv::SpvBuildLogger logger;
|
spv::SpvBuildLogger logger;
|
||||||
std::vector<uint32_t> spirv_binary;
|
std::vector<uint32_t> spirv_binary;
|
||||||
glslang::SpvOptions options;
|
options().disableOptimizer = true;
|
||||||
options.disableOptimizer = true;
|
|
||||||
options.validate = true;
|
|
||||||
glslang::GlslangToSpv(*program.getIntermediate(shaders.front()->getStage()),
|
glslang::GlslangToSpv(*program.getIntermediate(shaders.front()->getStage()),
|
||||||
spirv_binary, &logger, &options);
|
spirv_binary, &logger, &options());
|
||||||
|
|
||||||
std::ostringstream disassembly_stream;
|
std::ostringstream disassembly_stream;
|
||||||
spv::Parameterize();
|
spv::Parameterize();
|
||||||
spv::Disassemble(disassembly_stream, spirv_binary);
|
spv::Disassemble(disassembly_stream, spirv_binary);
|
||||||
result.spirvWarningsErrors = logger.getAllMessages();
|
result.spirvWarningsErrors = logger.getAllMessages();
|
||||||
result.spirv = disassembly_stream.str();
|
result.spirv = disassembly_stream.str();
|
||||||
|
result.validationResult = !options().validate || logger.getAllMessages().empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostringstream stream;
|
std::ostringstream stream;
|
||||||
@ -99,7 +98,8 @@ TEST_P(LinkTestVulkan, FromFile)
|
|||||||
std::string expectedOutput;
|
std::string expectedOutput;
|
||||||
tryLoadFile(expectedOutputFname, "expected output", &expectedOutput);
|
tryLoadFile(expectedOutputFname, "expected output", &expectedOutput);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(), expectedOutputFname);
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(), expectedOutputFname,
|
||||||
|
result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
@ -50,6 +50,7 @@ TEST_P(LinkTest, FromFile)
|
|||||||
const size_t fileCount = fileNames.size();
|
const size_t fileCount = fileNames.size();
|
||||||
const EShMessages controls = DeriveOptions(Source::GLSL, Semantics::OpenGL, Target::AST);
|
const EShMessages controls = DeriveOptions(Source::GLSL, Semantics::OpenGL, Target::AST);
|
||||||
GlslangResult result;
|
GlslangResult result;
|
||||||
|
result.validationResult = true;
|
||||||
|
|
||||||
// Compile each input shader file.
|
// Compile each input shader file.
|
||||||
std::vector<std::unique_ptr<glslang::TShader>> shaders;
|
std::vector<std::unique_ptr<glslang::TShader>> shaders;
|
||||||
|
@ -111,7 +111,10 @@ public:
|
|||||||
: defaultVersion(100),
|
: defaultVersion(100),
|
||||||
defaultProfile(ENoProfile),
|
defaultProfile(ENoProfile),
|
||||||
forceVersionProfile(false),
|
forceVersionProfile(false),
|
||||||
isForwardCompatible(false) {}
|
isForwardCompatible(false) {
|
||||||
|
// Perform validation by default.
|
||||||
|
validatorOptions.validate = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Tries to load the contents from the file at the given |path|. On success,
|
// Tries to load the contents from the file at the given |path|. On success,
|
||||||
// writes the contents into |contents|. On failure, errors out.
|
// writes the contents into |contents|. On failure, errors out.
|
||||||
@ -137,15 +140,18 @@ public:
|
|||||||
// write |real| to the given file named as |fname| if update mode is on.
|
// write |real| to the given file named as |fname| if update mode is on.
|
||||||
void checkEqAndUpdateIfRequested(const std::string& expected,
|
void checkEqAndUpdateIfRequested(const std::string& expected,
|
||||||
const std::string& real,
|
const std::string& real,
|
||||||
const std::string& fname)
|
const std::string& fname,
|
||||||
|
const std::string& errorsAndWarnings = "")
|
||||||
{
|
{
|
||||||
// In order to output the message we want under proper circumstances,
|
// In order to output the message we want under proper circumstances,
|
||||||
// we need the following operator<< stuff.
|
// we need the following operator<< stuff.
|
||||||
EXPECT_EQ(expected, real)
|
EXPECT_EQ(expected, real)
|
||||||
<< (GlobalTestSettings.updateMode
|
<< (GlobalTestSettings.updateMode
|
||||||
? ("Mismatch found and update mode turned on - "
|
? ("Mismatch found and update mode turned on - "
|
||||||
"flushing expected result output.")
|
"flushing expected result output.\n")
|
||||||
: "");
|
: "")
|
||||||
|
<< "The following warnings/errors occurred:\n"
|
||||||
|
<< errorsAndWarnings;
|
||||||
|
|
||||||
// Update the expected output file if requested.
|
// Update the expected output file if requested.
|
||||||
// It looks weird to duplicate the comparison between expected_output
|
// It looks weird to duplicate the comparison between expected_output
|
||||||
@ -168,6 +174,7 @@ public:
|
|||||||
std::vector<ShaderResult> shaderResults;
|
std::vector<ShaderResult> shaderResults;
|
||||||
std::string linkingOutput;
|
std::string linkingOutput;
|
||||||
std::string linkingError;
|
std::string linkingError;
|
||||||
|
bool validationResult;
|
||||||
std::string spirvWarningsErrors;
|
std::string spirvWarningsErrors;
|
||||||
std::string spirv; // Optional SPIR-V disassembly text.
|
std::string spirv; // Optional SPIR-V disassembly text.
|
||||||
};
|
};
|
||||||
@ -241,21 +248,20 @@ public:
|
|||||||
|
|
||||||
if (success && (controls & EShMsgSpvRules)) {
|
if (success && (controls & EShMsgSpvRules)) {
|
||||||
std::vector<uint32_t> spirv_binary;
|
std::vector<uint32_t> spirv_binary;
|
||||||
glslang::SpvOptions options;
|
options().disableOptimizer = !enableOptimizer;
|
||||||
options.disableOptimizer = !enableOptimizer;
|
|
||||||
options.validate = true;
|
|
||||||
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
||||||
spirv_binary, &logger, &options);
|
spirv_binary, &logger, &options());
|
||||||
|
|
||||||
std::ostringstream disassembly_stream;
|
std::ostringstream disassembly_stream;
|
||||||
spv::Parameterize();
|
spv::Parameterize();
|
||||||
spv::Disassemble(disassembly_stream, spirv_binary);
|
spv::Disassemble(disassembly_stream, spirv_binary);
|
||||||
|
bool validation_result = !options().validate || logger.getAllMessages().empty();
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(),
|
program.getInfoLog(), program.getInfoDebugLog(),
|
||||||
logger.getAllMessages(), disassembly_stream.str()};
|
validation_result, logger.getAllMessages(), disassembly_stream.str()};
|
||||||
} else {
|
} else {
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(), "", ""};
|
program.getInfoLog(), program.getInfoDebugLog(), true, "", ""};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,20 +305,19 @@ public:
|
|||||||
|
|
||||||
if (success && (controls & EShMsgSpvRules)) {
|
if (success && (controls & EShMsgSpvRules)) {
|
||||||
std::vector<uint32_t> spirv_binary;
|
std::vector<uint32_t> spirv_binary;
|
||||||
glslang::SpvOptions options;
|
|
||||||
options.validate = true;
|
|
||||||
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
||||||
spirv_binary, &logger, &options);
|
spirv_binary, &logger, &options());
|
||||||
|
|
||||||
std::ostringstream disassembly_stream;
|
std::ostringstream disassembly_stream;
|
||||||
spv::Parameterize();
|
spv::Parameterize();
|
||||||
spv::Disassemble(disassembly_stream, spirv_binary);
|
spv::Disassemble(disassembly_stream, spirv_binary);
|
||||||
|
bool validation_result = !options().validate || logger.getAllMessages().empty();
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(),
|
program.getInfoLog(), program.getInfoDebugLog(),
|
||||||
logger.getAllMessages(), disassembly_stream.str()};
|
validation_result, logger.getAllMessages(), disassembly_stream.str()};
|
||||||
} else {
|
} else {
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(), "", ""};
|
program.getInfoLog(), program.getInfoDebugLog(), true, "", ""};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,22 +346,21 @@ public:
|
|||||||
|
|
||||||
if (success && (controls & EShMsgSpvRules)) {
|
if (success && (controls & EShMsgSpvRules)) {
|
||||||
std::vector<uint32_t> spirv_binary;
|
std::vector<uint32_t> spirv_binary;
|
||||||
glslang::SpvOptions options;
|
|
||||||
options.validate = true;
|
|
||||||
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
glslang::GlslangToSpv(*program.getIntermediate(stage),
|
||||||
spirv_binary, &logger, &options);
|
spirv_binary, &logger, &options());
|
||||||
|
|
||||||
spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, remapOptions);
|
spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, remapOptions);
|
||||||
|
|
||||||
std::ostringstream disassembly_stream;
|
std::ostringstream disassembly_stream;
|
||||||
spv::Parameterize();
|
spv::Parameterize();
|
||||||
spv::Disassemble(disassembly_stream, spirv_binary);
|
spv::Disassemble(disassembly_stream, spirv_binary);
|
||||||
|
bool validation_result = !options().validate || logger.getAllMessages().empty();
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(),
|
program.getInfoLog(), program.getInfoDebugLog(),
|
||||||
logger.getAllMessages(), disassembly_stream.str()};
|
validation_result, logger.getAllMessages(), disassembly_stream.str()};
|
||||||
} else {
|
} else {
|
||||||
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},},
|
||||||
program.getInfoLog(), program.getInfoDebugLog(), "", ""};
|
program.getInfoLog(), program.getInfoDebugLog(), true, "", ""};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,9 +381,9 @@ public:
|
|||||||
|
|
||||||
return {{{shaderName, "", ""},},
|
return {{{shaderName, "", ""},},
|
||||||
"", "",
|
"", "",
|
||||||
"", disassembly_stream.str()};
|
true, "", disassembly_stream.str()};
|
||||||
} else {
|
} else {
|
||||||
return {{{shaderName, "", ""},}, "", "", "", ""};
|
return {{{shaderName, "", ""},}, "", "", true, "", ""};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -398,7 +402,9 @@ public:
|
|||||||
}
|
}
|
||||||
outputIfNotEmpty(result.linkingOutput);
|
outputIfNotEmpty(result.linkingOutput);
|
||||||
outputIfNotEmpty(result.linkingError);
|
outputIfNotEmpty(result.linkingError);
|
||||||
*stream << result.spirvWarningsErrors;
|
if (!result.validationResult) {
|
||||||
|
*stream << "Validation failed\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (controls & EShMsgSpvRules) {
|
if (controls & EShMsgSpvRules) {
|
||||||
*stream
|
*stream
|
||||||
@ -438,7 +444,7 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadFileCompileFlattenUniformsAndCheck(const std::string& testDir,
|
void loadFileCompileFlattenUniformsAndCheck(const std::string& testDir,
|
||||||
@ -465,7 +471,7 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadFileCompileIoMapAndCheck(const std::string& testDir,
|
void loadFileCompileIoMapAndCheck(const std::string& testDir,
|
||||||
@ -502,7 +508,7 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadFileCompileRemapAndCheck(const std::string& testDir,
|
void loadFileCompileRemapAndCheck(const std::string& testDir,
|
||||||
@ -529,7 +535,7 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadFileRemapAndCheck(const std::string& testDir,
|
void loadFileRemapAndCheck(const std::string& testDir,
|
||||||
@ -556,7 +562,7 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Preprocesses the given |source| code. On success, returns true, the
|
// Preprocesses the given |source| code. On success, returns true, the
|
||||||
@ -636,14 +642,17 @@ public:
|
|||||||
outputResultToStream(&stream, result, controls);
|
outputResultToStream(&stream, result, controls);
|
||||||
|
|
||||||
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
checkEqAndUpdateIfRequested(expectedOutput, stream.str(),
|
||||||
expectedOutputFname);
|
expectedOutputFname, result.spirvWarningsErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
glslang::SpvOptions& options() { return validatorOptions; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const int defaultVersion;
|
const int defaultVersion;
|
||||||
const EProfile defaultProfile;
|
const EProfile defaultProfile;
|
||||||
const bool forceVersionProfile;
|
const bool forceVersionProfile;
|
||||||
const bool isForwardCompatible;
|
const bool isForwardCompatible;
|
||||||
|
glslang::SpvOptions validatorOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace glslangtest
|
} // namespace glslangtest
|
||||||
|
Loading…
x
Reference in New Issue
Block a user