This series starts by updating the driver interface for scissor, viewport and DepthRange. This includes removing unused arguments from the Scissor, Viewport and DepthRange. I kept the index argument, although it is not used, it may be useful to the dri driver to know which array element is being updated.
I added things incrementally, each having no effect on piglit. I tested the full series against the arb_viewport_array piglit tests submitted by LunarG and a stubbed version of the i965 driver that enables ARB_viewport_array. I've not included that stub in this series. I modeled the indexed Get functions off GL_COLOR_WRITEMASK. Since the removal of x, y, w, h touches the same files as references to gl_context.Viewport it seemed just as easy to convert those references to the array reference with index 0. Should the driver add ARB_viewport_array support they would simply put the right index value in place of 0. Courtney Goeltzenleuchter (18): mesa: Change scissor dd interface for viewport_array mesa: Update viewport dd interface for viewport_array mesa: Change DepthRange dd interface mesa: Update gl_scissor_attrib to support ARB_viewport_array mesa: Update viewport driver args for ARB_viewport_array mesa: Update viewport state for viewport_array meta: Update meta driver to use API entry point mesa: Add indexed version of mesa_scissor mesa: Add new get entrypoints for ARB_viewport_array mesa: Add custom get function for SCISSOR mesa: Add ARB_viewport_array state to gl_context mesa: Add scissor entry points for viewport_array mesa: Add ARB_viewport_array viewport entry points mesa: Add gl_ViewportIndex variable to GLSL mesa: Add ARB_viewport_array plumbing mesa: Remove unused arguments from driver->Scissor mesa: Remove unused arguments from driver->Viewport mesa: Remove unused arguments from driver->DepthRange src/glsl/builtin_variables.cpp | 2 + src/glsl/glsl_parser_extras.h | 1 + src/mapi/glapi/gen/ARB_viewport_array.xml | 79 ++++++ src/mapi/glapi/gen/Makefile.am | 1 + src/mapi/glapi/gen/gl_API.xml | 2 +- src/mesa/drivers/common/driverfuncs.c | 11 +- src/mesa/drivers/common/meta.c | 52 ++-- src/mesa/drivers/dri/i915/i830_state.c | 26 +- src/mesa/drivers/dri/i915/i830_vtbl.c | 5 +- src/mesa/drivers/dri/i915/i915_state.c | 50 ++-- src/mesa/drivers/dri/i915/i915_vtbl.c | 5 +- src/mesa/drivers/dri/i915/intel_context.c | 15 +- src/mesa/drivers/dri/i915/intel_fbo.c | 2 +- src/mesa/drivers/dri/i965/brw_cc.c | 4 +- src/mesa/drivers/dri/i965/brw_clear.c | 12 +- src/mesa/drivers/dri/i965/brw_clip_state.c | 12 +- src/mesa/drivers/dri/i965/brw_context.c | 7 +- src/mesa/drivers/dri/i965/brw_sf_state.c | 4 +- src/mesa/drivers/dri/i965/gen6_clip_state.c | 8 +- src/mesa/drivers/dri/i965/gen6_sf_state.c | 2 +- src/mesa/drivers/dri/i965/gen6_viewport_state.c | 6 +- src/mesa/drivers/dri/i965/gen7_sf_state.c | 2 +- src/mesa/drivers/dri/i965/gen7_viewport_state.c | 6 +- src/mesa/drivers/dri/i965/intel_fbo.c | 2 +- src/mesa/drivers/dri/nouveau/nouveau_util.h | 4 +- src/mesa/drivers/dri/nouveau/nv10_state_fb.c | 2 +- src/mesa/drivers/dri/r200/r200_state.c | 15 +- src/mesa/drivers/dri/radeon/radeon_common.c | 18 +- src/mesa/drivers/dri/radeon/radeon_common.h | 2 +- src/mesa/drivers/dri/radeon/radeon_state.c | 14 +- src/mesa/drivers/dri/swrast/swrast.c | 8 +- src/mesa/main/attrib.c | 30 ++- src/mesa/main/config.h | 3 + src/mesa/main/context.c | 36 ++- src/mesa/main/dd.h | 6 +- src/mesa/main/enable.c | 36 ++- src/mesa/main/extensions.c | 1 + src/mesa/main/framebuffer.c | 19 +- src/mesa/main/get.c | 218 +++++++++++++++- src/mesa/main/get.h | 6 + src/mesa/main/get_hash_params.py | 15 +- src/mesa/main/mtypes.h | 25 +- src/mesa/main/rastpos.c | 4 +- src/mesa/main/scissor.c | 157 ++++++++++-- src/mesa/main/scissor.h | 10 +- src/mesa/main/state.c | 17 +- src/mesa/main/viewport.c | 314 ++++++++++++++++++++---- src/mesa/main/viewport.h | 22 +- src/mesa/math/m_matrix.c | 9 +- src/mesa/math/m_matrix.h | 4 +- src/mesa/program/prog_statevars.c | 7 +- src/mesa/state_tracker/st_atom_rasterizer.c | 2 +- src/mesa/state_tracker/st_atom_scissor.c | 14 +- src/mesa/state_tracker/st_atom_viewport.c | 12 +- src/mesa/state_tracker/st_cb_bitmap.c | 2 +- src/mesa/state_tracker/st_cb_clear.c | 10 +- src/mesa/state_tracker/st_cb_drawpixels.c | 2 +- src/mesa/state_tracker/st_cb_viewport.c | 3 +- src/mesa/swrast/s_context.c | 10 +- src/mesa/swrast/s_depth.c | 10 +- src/mesa/swrast_setup/ss_context.c | 4 +- src/mesa/tnl/t_rasterpos.c | 16 +- 62 files changed, 1057 insertions(+), 346 deletions(-) create mode 100644 src/mapi/glapi/gen/ARB_viewport_array.xml -- 1.8.1.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev