Software versions: 4.4.0-040400rc4-generic OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07) GPU hardware: OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:1912] (rev 06) CPU hardware: x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz ----------------- Software versions: 4.3.0-rc3+ OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07) GPU hardware: OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5300 (Broadwell GT2) 00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:161e] (rev 06) CPU hardware: x86_64 Genuine Intel(R) CPU 0000 @ 0.60GHz ------------------ Software versions: 4.2.0-1-generic OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07) GPU hardware: OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) CPU hardware: x86_64 Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz ----------------- CTS version: git@67ae88f31295 command: ./glcts --deqp-case=ES31-CTS.sepshaderobjs.StateInteraction Environment: Mesa built with: --enable-debug export MESA_GLES_VERSION_OVERRIDE=3.1 export MESA_EXTENSION_OVERRIDE=GL_ARB_compute_shader ---------------- Reason for fail: Incorrect framebuffer color at pixel (0 0). Color is (1.000000 1.000000 1.000000). Color should be (0.000000 1.000000 0.000000)
Values set by vert attrib is compared to values set by ProgramUniform. If they don't match (1,1,1,1) is set to out color. The programuniform values appear to be correct, but the vert attrib values are not correct. They are correct in the vertex shader, but in the fragshader the values are offset. For example in vs: layout(location = 3) in uvec3 vs_in_data0; layout(location = 4) in ivec2 vs_in_data1 flat out uvec3 data0; flat out ivec2 data1; here value are correct. However in fs: flat in uvec3 data0; flat in ivec2 data1 data0 is offset such that data0' = {data0.y, data0.z, data1.x}
Also, note that we get: "Mesa: User error: GL_INVALID_OPERATION in glValidateProgramPipeline failed to validate the pipeline" , since inputs != outputs in: "static bool validate_io(const struct gl_shader *producer, const struct gl_shader *consumer, bool isES)" in shader_query.cpp
With Samuel patch: http://patchwork.freedesktop.org/patch/70474/ on top of mesa git@f4ab7340ca The: ES31-CTS.vertex_attrib_binding.advanced-bindingUpdate will pass.
Pushed to master as commit 781d2787bc1cf975757a95d0d9324f734fa61c09 I am marking this bug as fixed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.