From: Chad Versace <chad.vers...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev