Bug 111194

Summary: [bisected] Piles of dEQP teximage tests failing
Product: Mesa Reporter: Jason Ekstrand <jason>
Component: Mesa coreAssignee: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer>
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: maraeo
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Jason Ekstrand 2019-07-22 16:13:05 UTC
The following CTS and dEQP tests are failing on mesa master:

    dEQP-GLES2.functional.negative_api.texture.compressedteximage_2d_invalid_target
    dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_target
    dEQP-GLES31.functional.debug.async.case_6_log
    dEQP-GLES31.functional.debug.error_filters.case_10
    dEQP-GLES31.functional.debug.error_filters.case_16
    dEQP-GLES31.functional.debug.error_filters.case_20
    dEQP-GLES31.functional.debug.error_filters.case_3
    dEQP-GLES31.functional.debug.error_groups.case_10
    dEQP-GLES31.functional.debug.error_groups.case_3
    dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture.compressedteximage2d_invalid_target
    dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture.compressedteximage3d
    dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture.teximage2d
    dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture.teximage3d
    dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.compressedteximage2d_invalid_target
    dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.compressedteximage3d
    dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.teximage2d
    dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.teximage3d
    dEQP-GLES31.functional.debug.negative_coverage.log.texture.compressedteximage2d_invalid_target
    dEQP-GLES31.functional.debug.negative_coverage.log.texture.compressedteximage3d
    dEQP-GLES31.functional.debug.negative_coverage.log.texture.teximage2d
    dEQP-GLES31.functional.debug.negative_coverage.log.texture.teximage3d
    dEQP-GLES3.functional.negative_api.texture.compressedteximage2d_invalid_target
    dEQP-GLES3.functional.negative_api.texture.compressedteximage3d
    dEQP-GLES3.functional.negative_api.texture.teximage2d
    dEQP-GLES3.functional.negative_api.texture.teximage3d
    KHR-GL46.direct_state_access.textures_image_query_errors
    KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
    KHR-GLES2.texture_3d.filtering.combinations.negative


I've bisected the failing tests to the following commit in mesa master:

commit 9dd1f7cec010775d2fd378dc496b7fe7cc40e812
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Date:   Tue Jul 2 11:32:06 2019 +0200

    mesa: pass gl_texture_object as arg to not depend on state
    
    This will allow to use the same functions for EXT_dsa implementation.
    
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Comment 1 Kenneth Graunke 2019-07-22 16:27:52 UTC
It looks like an assert(texObj) used to be in teximage() *after* a bunch of the error checking, and now it's in teximage_err() *before* the error checking.  Note that these tests are explicitly probing error conditions.
Comment 3 Pierre-Eric Pelloux-Prayer 2019-07-22 19:39:43 UTC
Sorry about the regression.

Thanks Jason and Kenneth for the bisection / analysis!
Comment 4 Kenneth Graunke 2019-07-22 22:17:45 UTC
Fixed by:

commit c37df5feaa267080b836bbcf0f2727ec9f1d288e
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Mon Jul 22 15:28:42 2019 -0400

    mesa: fix assertion failure in TexImage
    
    Check the assertion after error checking.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111194
    
    Fixes: 9dd1f7cec01 ("mesa: pass gl_texture_object as arg to not depend on state")
    Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

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.