System Environment: -------------------------- Platform: HSW Libdrm: (master)libdrm-2.4.60-34-g0d78b37b1cac304ce5e84d1207f0a43abd29c000 Mesa: (master)00bf7d2e9cd60dbd82d25b459c448e11c545a89a Xserver: (master)xorg-server-1.17.0-76-gb1029716e41e252f149b82124a149da180607c96 Xf86_video_intel:(master)2.99.917-282-g83b8528773a0b1e6655fa87c9645a0062cee1359 Libva: (master)062a63932c0f1439aa587aa986bbcfb758ff38f2 Libva_intel_driver:(master)890f538f62707ec07a6accdb65bafcaffc941bb1 Kernel: (drm-intel-nightly)b9fe357740009b89d4bac30b297bfe9808957e6a Bug detailed description: ----------------------------- It fails on SNB+ platforms with mesa master branch, works well on 10.5 branch.(It has different bisect from bug 90109.) Bisect shows: 7519ddb4d8192f992c4a8b3fff84465b52905958 is the first bad commit. commit 7519ddb4d8192f992c4a8b3fff84465b52905958 Author: Tapani Pälli <tapani.palli@intel.com> AuthorDate: Thu Mar 12 10:17:09 2015 +0200 Commit: Tapani Pälli <tapani.palli@intel.com> CommitDate: Thu Apr 16 07:55:57 2015 +0300 mesa: refactor GetActiveUniformsiv, use _mesa_program_resource_prop Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> output: dEQP Core GL-CTS-2.0 (0x0052484b) starting.. target implementation = 'X11' Test case 'ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices'.. INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:-------------------------------- BEGIN --------------------------------- ERROR:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:/GFX/Test/Ogles3conform/ogles3conform/GTF_ES/glsl/GTF/Source/GL3Tests/GTFTestUniformBufferObject.c:7383: "*params was written by glGetActiveUniformsiv()" INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:FAILED INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:--------------------------------- END ---------------------------------- Fail (Fail) DONE! Test run totals: Passed: 0/1 (0.00%) Failed: 1/1 (100.00%) Not supported: 0/1 (0.00%) Warnings: 0/1 (0.00%) Reproduce steps: ---------------------------- 1. xinit 2. ./glcts --deqp-case=ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
I see, with GetActiveUniformsiv if error is generated, nothing should be written to output, not even for valid entries ... this is a terrible API :/ Will fix my implementation to have extra loop for verifying each uniform.
I've filed a bug to Khronos about this. I don't think the expectation of the test matches the current specifications where GetActiveUniformsiv should match behavior of GetProgramResourceiv.
Created attachment 115287 [details] [review] patch to fix the issue here's the changes that change behavior to what the test expects
Created attachment 115293 [details] [review] fix here's the fix
(In reply to Tapani Pälli from comment #4) > Created attachment 115293 [details] [review] [review] > fix > > here's the fix Fixed by this patch. dEQP Core GL-CTS-2.0 (0x0052484b) starting.. target implementation = 'X11' Test case 'ES3-CTS.gtf.GL3Tests.uniform_buffer_object.uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices'.. INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:-------------------------------- BEGIN --------------------------------- INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:OK INFO:uniform_buffer_object_getactiveuniformsiv_for_nonexistent_uniform_indices:--------------------------------- END ---------------------------------- Pass (Pass) DONE! Test run totals: Passed: 1/1 (100.00%) Failed: 0/1 (0.00%) Not supported: 0/1 (0.00%) Warnings: 0/1 (0.00%)
pushed to master
Verified.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.