Bug 96978

Summary: [IVB, BYT] Implement stencil texturing
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Jordan Justen <jljusten>
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:
Bug Depends on:    
Bug Blocks: 92778    

Description Mark Janes 2016-07-18 18:41:09 UTC
The following assertions were found in CI when the generic ISL-based path was enabled.

mesa 8521ce1a7ecb2e67f259d92c645a18ffbc49d347
i965/gen7: Use the generic ISL-based path for texture surfaces

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>

regresses BYT,HSW,IVB
cts.gtf.gl3tests.packed_depth_stencil.packed_depth_stencil_stenciltexturing
deqp-gles31.functional.stencil_texturing.format.depth24_stencil8_2d
deqp-gles31.functional.stencil_texturing.format.depth24_stencil8_2d_array
deqp-gles31.functional.stencil_texturing.format.depth24_stencil8_cube
deqp-gles31.functional.stencil_texturing.format.depth32f_stencil8_2d
deqp-gles31.functional.stencil_texturing.format.depth32f_stencil8_2d_array
deqp-gles31.functional.stencil_texturing.format.depth32f_stencil8_cube
deqp-gles31.functional.stencil_texturing.misc.base_level
deqp-gles31.functional.stencil_texturing.render.depth24_stencil8_clear
deqp-gles31.functional.stencil_texturing.render.depth24_stencil8_draw
deqp-gles31.functional.stencil_texturing.render.depth32f_stencil8_clear
deqp-gles31.functional.stencil_texturing.render.depth32f_stencil8_draw
deqp-gles31.functional.texture.border_clamp.formats.depth24_stencil8_sample_stencil.gather_size_npot
deqp-gles31.functional.texture.border_clamp.formats.depth24_stencil8_sample_stencil.gather_size_pot
deqp-gles31.functional.texture.border_clamp.formats.depth32f_stencil8_sample_stencil.gather_size_npot
deqp-gles31.functional.texture.border_clamp.formats.depth32f_stencil8_sample_stencil.gather_size_pot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_clamp_to_edge_t_clamp_to_border_npot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_clamp_to_edge_t_clamp_to_border_pot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_mirrored_repeat_t_clamp_to_border_npot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_mirrored_repeat_t_clamp_to_border_pot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_repeat_t_clamp_to_border_npot
deqp-gles31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.gather.s_repeat_t_clamp_to_border_pot



mesa 366a6a659d00442631a939d7de80b239b943f6e7
i965/blorp: Use the generic ISL path for texture surfaces on gen7

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>

regresses BYT,HSW,IVB:
piglit.spec.ext_framebuffer_multisample_blit_scaled.blit-scaled samples.2 with gl_texture_2d_multisample_array
piglit.spec.ext_framebuffer_multisample_blit_scaled.blit-scaled samples.4 with gl_texture_2d_multisample_array



Assertions:
src/intel/isl/isl_surface_state.c:416: isl_gen7_surf_fill_state_s: Assertion `info->aux_usage == ISL_AUX_USAGE_NONE' failed.

src/mesa/drivers/dri/i965/brw_wm_surface_state.c:449: brw_update_texture_surface: Assertion `brw->gen >= 8' failed.
Comment 1 Jason Ekstrand 2016-07-18 18:58:19 UTC
This is because ISL asserts that you can't do W-tiling on gen7.  It will be fixed once Jordan gets stencil texturing working for real.
Comment 2 Mark Janes 2016-10-24 23:37:11 UTC
These have been fixed on HSW.  The other platforms don't block Mesa 13 release for ES 3.1

Additionally, cts.gtf.gl3tests.packed_depth_stencil.packed_depth_stencil_stenciltexturing has been replaced in the latest ES3.2 cts.
Comment 3 Matt Turner 2016-10-31 23:57:49 UTC
Jordan's series implementing stencil texturing on HSW ended with

commit 7970238fcff37c2450aebaae76e84b5c446d1b46
Author:     Jordan Justen <jordan.l.justen@intel.com>
AuthorDate: Thu Aug 18 15:05:13 2016 -0700
Commit:     Jordan Justen <jordan.l.justen@intel.com>
CommitDate: Fri Aug 26 10:09:22 2016 -0700

    docs: Update stencil texturing & ES 3.1 status for i965 Haswell
    
    Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Comment 4 Illia Iorin 2018-05-05 12:31:21 UTC
Can you please provide you piglit.conf file? I've faced with that output when i try to run tests 
./piglit run  -f piglit.conf.example   deqp_gles3 reuslt/all
[00000/46232]  
Traceback (most recent call last):
  File "./piglit", line 178, in <module>
    main()
  File "./piglit", line 174, in main
    sys.exit(runner(args))
  File "/home/skif/piglit/framework/exceptions.py", line 51, in _inner
    func(*args, **kwargs)
  File "/home/skif/piglit/framework/programs/run.py", line 370, in run
    backend.finalize({'time_elapsed': time_elapsed.to_json()})
  File "/home/skif/piglit/framework/backends/json.py", line 163, in finalize
    assert data['tests']
AssertionError
Comment 5 Mark Janes 2018-05-11 15:03:36 UTC
The status on this bug is stale.  Piglit tests were fixed on IVB/BYT by the series ending in:
-----------------------------------------------------
342756a100661223c8a933d046efd276fe8d4593
Author:     Jason Ekstrand <jason@jlekstrand.net>

i965/blorp: Use nir_alu_type for the texture data type

This lets us remove the brw_reg.h include
-----------------------------------------------------

dEQP tests were fixed by Jordan's series which Matt pointed to.

You can always check the current status of tests on i965 by searching the test name in the configuration files that we maintain for our CI:

eg:
https://github.com/janesma/mesa_jenkins/blob/master/piglit-test/ivb.conf

To answer the question, we don't use a custom piglit config.  You can run any piglit test by name with:
  bin/piglit run -o --include-tests {test_name_substring} -c gpu /tmp/

We do not run dEQP with piglit.  Use the upstream dEQP and specify the test name with -n.

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.