Mesa (master): mesa: implement per-buffer color masking

Brian Paul brianp at kemper.freedesktop.org
Wed Dec 30 06:07:38 UTC 2009


Module: Mesa
Branch: master
Commit: fd5511d27fc44096117c47ab503fb5b47f993061
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd5511d27fc44096117c47ab503fb5b47f993061

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Dec 29 16:17:14 2009 -0700

mesa: implement per-buffer color masking

This is part of the GL_EXT_draw_buffers2 extension and part of GL 3.0.

The ctx->Color.ColorMask field is now a 2-D array.  Until drivers are
modified to support per-buffer color masking, they can just look at
the 0th color mask.

The new _mesa_ColorMaskIndexed() function will be called by
glColorMaskIndexedEXT() or glColorMaski().

---

 src/mesa/drivers/common/driverfuncs.c              |   22 +++++--
 src/mesa/drivers/common/meta.c                     |   32 +++++++---
 src/mesa/drivers/directfb/idirectfbgl_mesa.c       |    8 +-
 src/mesa/drivers/dri/gamma/gamma_state.c           |    8 +-
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c   |    2 +-
 src/mesa/drivers/dri/intel/intel_clear.c           |    2 +-
 src/mesa/drivers/dri/intel/intel_pixel.c           |    8 +-
 src/mesa/drivers/dri/intel/intel_pixel_copy.c      |    8 +-
 src/mesa/drivers/dri/mach64/mach64_state.c         |    8 +-
 src/mesa/drivers/dri/mga/mgapixel.c                |   24 ++++----
 src/mesa/drivers/dri/mga/mgastate.c                |   10 +--
 src/mesa/drivers/dri/r128/r128_state.c             |    8 +-
 src/mesa/drivers/dri/r200/r200_pixel.c             |   16 +++---
 src/mesa/drivers/dri/r200/r200_state.c             |    8 +-
 src/mesa/drivers/dri/r300/r300_state.c             |    7 +-
 src/mesa/drivers/dri/r600/r700_clear.c             |    2 +-
 src/mesa/drivers/dri/r600/r700_state.c             |    8 +-
 src/mesa/drivers/dri/radeon/radeon_state.c         |    8 +-
 src/mesa/drivers/dri/savage/savageioctl.c          |   14 ++--
 src/mesa/drivers/dri/tdfx/tdfx_pixels.c            |    8 +-
 src/mesa/drivers/dri/tdfx/tdfx_render.c            |    6 +-
 src/mesa/drivers/dri/unichrome/via_state.c         |   10 ++--
 src/mesa/drivers/windows/gdi/wmesa.c               |    8 +-
 .../drivers/windows/gldirect/dx7/gld_driver_dx7.c  |   10 ++--
 .../drivers/windows/gldirect/dx8/gld_driver_dx8.c  |   10 ++--
 .../drivers/windows/gldirect/dx9/gld_driver_dx9.c  |   10 ++--
 src/mesa/drivers/x11/xm_dd.c                       |    2 +-
 src/mesa/main/attrib.c                             |   20 +++++-
 src/mesa/main/blend.c                              |   59 +++++++++++++++---
 src/mesa/main/blend.h                              |    4 +
 src/mesa/main/dd.h                                 |    2 +
 src/mesa/main/get.c                                |   65 ++++++++++++++------
 src/mesa/main/get_gen.py                           |   17 ++++--
 src/mesa/main/mtypes.h                             |    2 +-
 src/mesa/state_tracker/st_atom_blend.c             |    8 +-
 src/mesa/state_tracker/st_cb_accum.c               |    2 +-
 src/mesa/state_tracker/st_cb_clear.c               |   16 +++---
 src/mesa/swrast/s_accum.c                          |    2 +-
 src/mesa/swrast/s_clear.c                          |   50 +++++----------
 src/mesa/swrast/s_context.c                        |   28 +++++++--
 src/mesa/swrast/s_masking.c                        |   20 +++---
 src/mesa/swrast/s_masking.h                        |    2 +-
 src/mesa/swrast/s_span.c                           |    8 +-
 src/mesa/swrast/s_triangle.c                       |    8 +-
 44 files changed, 350 insertions(+), 230 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=fd5511d27fc44096117c47ab503fb5b47f993061



More information about the mesa-commit mailing list