[Mesa-dev] [PATCH 00/14] i965: Begin hiz

chad at chad-versace.us chad at chad-versace.us
Wed May 4 13:33:44 PDT 2011


From: Chad Versace <chad.versace at intel.com>

With this patch series, depth writes, tests, and reads all work when rendering
to an FBO with renderbuffer attachments. I have not yet tested the same when
rendering to an FBO with texture attachments.

This series differ from my first hiz series in that hiz enablement is a property of
the renderbuffer rather than the context. I also added support for rendering to
depth textures with hiz, though I haven't wrote the Piglit tests for that yet.

I obtained the following piglit results on Gen5 with `env INTEL_HIZ=1`:
    pass: general/hiz
    pass: hiz/hiz-depth-test-fbo-d24
    pass: hiz/hiz-depth-test-fbo-d24-s8
    pass: hiz/hiz-depth-test-fbo-d24s8
    crash: hiz/hiz-depth-test-stencil0
    crash: hiz/hiz-depth-test-stencil1

And the test results when INTEL_HIZ is unset:
    pass: general/hiz
    pass: hiz/hiz-depth-test-fbo-d24
    skip: hiz/hiz-depth-test-fbo-d24-s8
    pass: hiz/hiz-depth-test-fbo-d24s8
    crash: hiz/hiz-depth-test-stencil0
    crash: hiz/hiz-depth-test-stencil1

(The crashes are not particular to my patches; master also crashes on those
tests.)

These patches live on my public hiz branch.

Chad Versace (14):
  intel: Add flag intel_context.has_hiz
  intel: Override intel_context.has_hiz with env var INTEL_HIZ
  intel: Add is_hiz_depth_format() to intel_contex.vtbl
  mesa/main: Add MESA_FORMAT_X8_Z24 to _mesa_choose_tex_format
  intel: Change supported texture formats in intel_context for HiZ
  intel: Add hiz_region to intel_renderbuffer
  intel: Refactor the wrapping of textures with renderbuffers
  intel: Add hiz_region to intel_mipmap_tree
  i965: Change FBO completeness criteria when HiZ is enabled
  i965: Refactor prepare_depthbuffer() and emit_depthbuffer()
  i965: Emit 3D_STATE_HIER_DEPTH_BUFFER
  i965: Define tracked state for separate stencil buffer
  intel: Change signature of intel_context.vtbl.set_draw_region
  i965: Update cached stencil region pointer when updating draw buffers

 src/mesa/drivers/dri/i915/i915_vtbl.c            |   12 ++
 src/mesa/drivers/dri/i965/brw_context.h          |    5 +
 src/mesa/drivers/dri/i965/brw_misc_state.c       |  118 ++++++++++++++++++----
 src/mesa/drivers/dri/i965/brw_state.h            |    1 +
 src/mesa/drivers/dri/i965/brw_state_upload.c     |    2 +
 src/mesa/drivers/dri/i965/brw_vtbl.c             |   21 ++++
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |    3 +-
 src/mesa/drivers/dri/intel/intel_buffers.c       |   27 +++--
 src/mesa/drivers/dri/intel/intel_context.c       |   32 ++++++
 src/mesa/drivers/dri/intel/intel_context.h       |    6 +
 src/mesa/drivers/dri/intel/intel_fbo.c           |  103 +++++++++++++++-----
 src/mesa/drivers/dri/intel/intel_fbo.h           |   27 +++++
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c   |    1 +
 src/mesa/drivers/dri/intel/intel_mipmap_tree.h   |   13 +++
 src/mesa/drivers/dri/intel/intel_span.c          |    1 +
 src/mesa/drivers/dri/intel/intel_tex_format.c    |    1 +
 src/mesa/main/texformat.c                        |    2 +
 17 files changed, 322 insertions(+), 53 deletions(-)

-- 
1.7.5



More information about the mesa-dev mailing list