Here's a bit of tidying I did to the i965 SURFACE_STATE code: - It unifies the code for constant buffers/UBOs, texture buffers, and shader time buffers. - It also unifies the texture/renderbuffer code on Gen7+.
Both of these delete a /lot/ of complicated cut and pasted code. No performance regressions observed in OpenArena on Ivybridge. There are a few more things I'd like to do: - Port BLORP to use emit_image_surface_state(). - Unify texture/renderbuffers on Gen4-6. - Make emit_{buffer,image}_surface_state() vtable hooks. Then unify the Gen4-6 and Gen7+ variants of update_buffer_texture_surface, update_texture_surface, create_constant_surface, and update_renderbuffer_surface. I stopped before doing this because a bunch of these use tile offsets instead of LOD fields, and I thought that we were moving away from tile offsets on Gen4-6 and in BLORP. I can't remember where Chad and Eric were at with those endeavors. No regressions on Ivybridge. Patches 3-4 still need testing. Haswell also needs testing. These patches are available on the 'sstidy' branch of ~kwg/mesa. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev