[require] GLSL >= 1.50 GL_ARB_gpu_shader_fp64 [vertex shader] #extension GL_ARB_gpu_shader_fp64 : enable in vec4 vertex; out vec4 color; uniform double expected_doub; uniform uvec2 given_uval; void main() { gl_Position = vertex; /* Green if both pass. */ color = vec4(0.0, 1.0, 0.0, 1.0); double packval; packval = packDouble2x32(given_uval.yx); if (packval != expected_doub) { color.r = 1.0; } } [fragment shader] in vec4 color; out vec4 fs_color; void main() { fs_color = color; } [vertex data] vertex/float/2 -1.0 -1.0 1.0 -1.0 1.0 1.0 -1.0 1.0 [test] uniform double expected_doub 0.0 uniform uvec2 given_uval 0 0 draw arrays GL_TRIANGLE_FAN 0 4 probe rgba 0 0 0.0 1.0 0.0 1.0 uniform double expected_doub 1.5 uniform uvec2 given_uval 1073217536 0 draw arrays GL_TRIANGLE_FAN 0 4 probe rgba 1 0 0.0 1.0 0.0 1.0 uniform double expected_doub 2.122e-311 uniform uvec2 given_uval 1000 8519181 draw arrays GL_TRIANGLE_FAN 0 4 probe rgba 2 0 0.0 1.0 0.0 1.0