Bug 98134

Summary: dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers wants a different GL error code
Product: Mesa Reporter: Kenneth Graunke <kenneth>
Component: Mesa coreAssignee: Tapani Pälli <lemody>
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 94448    
Attachments: fix

Description Kenneth Graunke 2016-10-07 00:36:25 UTC
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers

expects INVALID_OPERATION instead of INVALID_ENUM in some cases.  Haven't looked into which is right.
Comment 1 Tapani Pälli 2016-10-07 08:09:50 UTC
I think I have a fix for this but will run CI first to see if something blows up.
Comment 2 Tapani Pälli 2016-10-07 10:43:20 UTC
Created attachment 127094 [details] [review]
fix

This patch fixes the test. These tests fail in CI though:

 GL45-CTS.shader_image_size.advanced-nonMS-fs-uint
 GL45-CTS.shader_image_size.advanced-nonMS-fs-int
 GL45-CTS.shader_image_size.advanced-nonMS-fs-float

will take some more look later.
Comment 3 Tapani Pälli 2016-10-21 11:11:36 UTC
(In reply to Tapani Pälli from comment #2)
> Created attachment 127094 [details] [review] [review]
> fix
> 
> This patch fixes the test. These tests fail in CI though:
> 
>  GL45-CTS.shader_image_size.advanced-nonMS-fs-uint
>  GL45-CTS.shader_image_size.advanced-nonMS-fs-int
>  GL45-CTS.shader_image_size.advanced-nonMS-fs-float
> 
> will take some more look later.

OK those failures were bogus, I just run same patch with current master and no regressions were observed. Will cleanup the patch and send to the list.
Comment 4 Tapani Pälli 2016-10-25 05:43:49 UTC
commit a1652a059edc5a5f0f4b0836ba310a22e094bd85
Author: Tapani Pälli <tapani.palli@intel.com>
Date:   Fri Oct 7 10:08:21 2016 +0300

    mesa: fix error handling in DrawBuffers
    
    Patch rearranges error checking so that enum checking provided via
    destmask happens before other checks. It needs to be done in this
    order because other error checks do not work properly if there were
    invalid enums passed.
    
    Patch also refines one existing check and it's documentation to match
    GLES 3.0 spec (also in later specs). This was somewhat mysteriously
    referring to desktop GL but had a check for gles3.
    
    Fixes following dEQP tests:
    
       dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers
    
    no CI regressions observed.
    
    Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98134
    Cc: "12.0 13.0" <mesa-stable@lists.freedesktop.org>
    Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

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.