[Mesa-dev] [PATCH 00/15] Add ARB_viewport_array extension
Courtney Goeltzenleuchter
courtney at lunarg.com
Wed Nov 20 14:59:15 PST 2013
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
More information about the mesa-dev
mailing list