Bug 111511

Summary: integer cube sampling fails to build shader
Product: Mesa Reporter: Dave Airlie <airlied>
Component: Drivers/Gallium/llvmpipeAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: not set    
Priority: not set    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Dave Airlie 2019-08-29 03:19:23 UTC
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot.clamp_to_edge_repeat

This fails to build due to 
lp_bld_bitarit.c:130:lp_build_andnot: Assertion `lp_check_value(type, a)' failed.


I'm not sure how the averaging corner rules are supposed to work for integer textures (do you have to do integer divide by 3?) but this code has some coord_bld/texel_bld code if I had to guess.

lp_build_sample_image_linear
in the accurate_cube_corners case.
Comment 1 Roland Scheidegger 2019-08-29 15:29:19 UTC
I don't think averaging would be correct for integer cube corners (as integer textures generally perform no lerp on values).
I think the problem here is the forcing of linear filtering paths for gather ops (see beginning of lp_build_sample_soa_code() code) doesn't quite work here - this is done because gather is nearly the same as linear filtering as far as texel selection goes usually, just without the filter in general, so making the code easier.
Perhaps the code needs to recognize the texture is integer and simply skip the accurate_cube_corners code if the texture is integer (this should only happen in the is_gather case in any case, since otherwise we should never end up in the sample_image_linear path for integer textures).
Comment 2 Roland Scheidegger 2019-08-29 15:37:44 UTC
I forgot to mention, I have no idea what the fourth texel should be in case of cube corners for integer textures. As said I highly doubt averaging is the answer, but apart from that no idea. Hopefully though a randomly selected texel from the other 3 is good enough...
I don't think this is mentioned anywhere in the spec (and for d3d it doesn't really apply since integer textures are supposed to only be fetched, sample/gather is not really legal although might work).
Comment 3 Dave Airlie 2019-08-29 20:07:41 UTC
I've sent a patch to disable accurate cube corners for integer textures to the list.

It doesn't fix the test but it stops it asserting, which means I can complete a deqp gles31 run without dying.
Comment 4 Roland Scheidegger 2019-08-29 21:33:55 UTC
(In reply to Dave Airlie from comment #3)
> I've sent a patch to disable accurate cube corners for integer textures to
> the list.
> 
> It doesn't fix the test but it stops it asserting, which means I can
> complete a deqp gles31 run without dying.

So what does the test expect? I'm kind of curious what the result should be, since I'd be a bit surprised if the missing texel ought to really be interpolated with the other 3 texel colors. Yes gl spec suggests this but I don't think this is really meant for integer textures.
In any case gl doesn't actually mandate anything specific for this texel, even with ordinary filtering.
Comment 5 Dave Airlie 2019-08-29 22:31:26 UTC
We fail a bunch of gather tests integer and non-integer with deqp

Some of the below, I haven't had a chance to dig into the fail list yet, I wanted to fix all the assert crashes first.

dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.incomplete.mipmap_incomplete,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.incomplete.mipmap_incomplete,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode.min_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.incomplete.mipmap_incomplete,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.base_level.level_2,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot.clamp_to_edge_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot.repeat_mirrored_repeat,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot.mirrored_repeat_clamp_to_edge,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.red_green_blue_alpha,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.green_blue_alpha_zero,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.blue_alpha_zero_one,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.alpha_zero_one_red,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.zero_one_red_green,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle.one_red_green_blue,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.base_level.level_1,Fail
dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.base_level.level_2,Fail
Comment 6 Dave Airlie 2019-08-29 22:37:51 UTC
GLES 3.1 needs some enhanced gather paths so I think we are just missing some of those.
Comment 7 Roland Scheidegger 2019-08-30 00:14:34 UTC
Ahh so it might not pass for other reasons.
Comment 8 Dave Airlie 2019-08-30 04:00:12 UTC
Adding texture gather component support fixes the rest of the deqp tests,

https://gitlab.freedesktop.org/airlied/mesa/tree/llvmpipe-gles31-wip

has the fixes (the gather component is a bit messy to pipe through).

I'll close this since it's 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.