First five patches refactor common decision making found in depth, texture and renderbuffer surface setup logic.
In principle, there is opportunity to share code between texture and renderbuffer setup logic (Kenneth has experimented with this earlier [1]). On the other hand there is also a lot of overlap between gen7 and gen8 renderbuffer paths (same applies for paths dealing with texture surfaces). I tried this in the last patch, and I like the way the code looks afterwards. Anyway, I don't have strong preference which way to go and thought better to share the work before running regression tests on all SNB, IVB, HSW and BDW involved. This is based on Jordan's layered rendering and can be found in: git://people.freedesktop.org/~tpohjola/mesa:surf_state_refactor [1] http://lists.freedesktop.org/archives/mesa-dev/2013-September/044693.html Topi Pohjolainen (7): i965: Refactor render target type resolving i965/blorp: Refactor depth override i965: Refactor renderbuffer depth override i965: Refactor renderbuffer target override i965: Refactor array type resolving i965/gen7: Add support for gen8 tiling i965: Merge common bits of gen7/8 renderbuffer surface setup src/mesa/drivers/dri/i965/brw_context.h | 12 ++ src/mesa/drivers/dri/i965/brw_state.h | 23 +++- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 16 +++ src/mesa/drivers/dri/i965/gen6_blorp.cpp | 21 +-- src/mesa/drivers/dri/i965/gen6_depth_state.c | 27 +--- src/mesa/drivers/dri/i965/gen6_surface_state.c | 18 +-- src/mesa/drivers/dri/i965/gen7_blorp.cpp | 23 +--- src/mesa/drivers/dri/i965/gen7_misc_state.c | 31 +---- src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 149 +++++++++++----------- src/mesa/drivers/dri/i965/gen8_depth_state.c | 31 +---- src/mesa/drivers/dri/i965/gen8_surface_state.c | 77 +---------- src/mesa/drivers/dri/i965/intel_fbo.h | 14 ++ 12 files changed, 158 insertions(+), 284 deletions(-) -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev