Bug 99314

Summary: [g33] glsl regressions
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Kenneth Graunke <kenneth>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Mark Janes 2017-01-07 19:46:03 UTC
Many gles cts tests regressed with two commits in a recent glsl series:

5c580e64cc206ab160e1767c42e4d6c81f67da4d
Author:     Kenneth Graunke <kenneth@whitecape.org>
glsl: Mark whole variable used for ClipDistance and TessLevel*.

generates crashes for these tests:
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_vec3_float
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getnumactiveuniforms
ES2-CTS.functional.light_amount.4omni
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_bool_bvec2_bvec3
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_gl_ModelViewProjectionMatrix
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_float_float_float
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_gl_ModelViewMatrix
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_bvec4_mat2_mat3_mat4
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_vec3_vec3_float
ES2-CTS.functional.light_amount.4dir
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_vec2_vec4_int
ES2-CTS.functional.light_amount.6omni
ES2-CTS.gtf.GL2Tests.get_active_uniform.getactiveuniform_index_more_than_num_uniforms
ES2-CTS.gtf.GL2Tests.get_active_uniform.getactiveuniform_index_minus_one
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_ivec2_ivec3_ivec4
ES2-CTS.gtf.GL2Tests.get_active_uniform.succompilevert_succompilefrag_getactiveuniform_gl_NormalMatrix


More than 300 tests fail due to 
8b5749f65ac434961308ccb579fb8a816e4f29d5
Author:     Kenneth Graunke <kenneth@whitecape.org>
glsl: Override the # of varying slots for ClipDistance and TessLevel*.

eg:
ES2-CTS.functional.clipping.point.wide_point_z_clip_viewport_center.g33m64 (from ES2-CTS)
Failing for the past 1 build (Since Unstable#991274 )
Took 23 ms.
Standard Output

Render target size: 400x300
Viewport: left=50	bottom=50	width=100	height=100
Rendering points with point size 5. Coordinates:
	x=0	y=0	z=0	w=1	
	x=0.1	y=0.1	z=0.1	w=1	
	x=-0.1	y=0.1	z=-0.1	w=1	
	x=-0.1	y=-0.1	z=0.1	w=1	
	x=0.1	y=-0.1	z=-0.1	w=1	
	x=0.1	y=0	z=1.1	w=1		(+Z clip)
	x=-0.1	y=0	z=-1.1	w=1		(-Z clip)
	x=-0	y=-0.1	z=1.1	w=1		(+Z clip)
	x=0	y=0.1	z=-1.1	w=1		(-Z clip)
Comparing images... 
Deviation within radius of 1 is allowed.
0 deviating pixel(s) found.
125 faulty pixel(s) found.
Got 125 faulty pixel(s).
Comment 1 Kenneth Graunke 2017-01-07 21:07:10 UTC
Should be fixed by

commit 42699e12711668a142b7acf11c168cf4301c1295
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Jan 7 12:55:17 2017 -0800

    glsl: Make is_fixed_function_array actually check for varyings.
    
    We can't check VARYING_SLOT_* locations until we've determined that
    the variable is actually a varying.
    
    Fixes assert failures in drivers which actually use this path,
    such as radeonsi and i915.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99314
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>

if not, please reopen.
Comment 2 Kenneth Graunke 2017-01-07 23:20:43 UTC
It turns out the whole "glsl: ..." part of the series was utterly broken, so I reverted the whole thing.

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.