[Mesa-dev] [PATCH 1/7] intel: support factors for min/max blending

Maxence Le Doré maxence.ledore at gmail.com
Thu Jan 2 17:18:20 PST 2014


---
 src/mesa/drivers/dri/i915/i830_state.c | 12 ++++++++++++
 src/mesa/drivers/dri/i965/brw_util.c   | 24 +++++++++++++-----------
 2 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c
index bbf0cef..6a5db43 100644
--- a/src/mesa/drivers/dri/i915/i830_state.c
+++ b/src/mesa/drivers/dri/i915/i830_state.c
@@ -303,10 +303,16 @@ i830_set_blend_state(struct gl_context * ctx)
       eqnRGB = BLENDFUNC_MIN;
       funcRGB = SRC_BLND_FACT(BLENDFACT_ONE) | DST_BLND_FACT(BLENDFACT_ONE);
       break;
+   case GL_FACTOR_MIN_AMD:
+      eqnRGB = BLENDFUNC_MIN;
+      break;
    case GL_MAX:
       eqnRGB = BLENDFUNC_MAX;
       funcRGB = SRC_BLND_FACT(BLENDFACT_ONE) | DST_BLND_FACT(BLENDFACT_ONE);
       break;
+   case GL_FACTOR_MAX_AMD:
+      eqnRGB = BLENDFUNC_MAX;
+      break;
    case GL_FUNC_SUBTRACT:
       eqnRGB = BLENDFUNC_SUB;
       break;
@@ -331,10 +337,16 @@ i830_set_blend_state(struct gl_context * ctx)
       eqnA = BLENDFUNC_MIN;
       funcA = SRC_BLND_FACT(BLENDFACT_ONE) | DST_BLND_FACT(BLENDFACT_ONE);
       break;
+   case GL_FACTOR_MIN_AMD:
+      eqnA = BLENDFUNC_MIN;
+      break;
    case GL_MAX:
       eqnA = BLENDFUNC_MAX;
       funcA = SRC_BLND_FACT(BLENDFACT_ONE) | DST_BLND_FACT(BLENDFACT_ONE);
       break;
+   case GL_FACTOR_MAX_AMD:
+      eqnA = BLENDFUNC_MAX;
+      break;
    case GL_FUNC_SUBTRACT:
       eqnA = BLENDFUNC_SUB;
       break;
diff --git a/src/mesa/drivers/dri/i965/brw_util.c b/src/mesa/drivers/dri/i965/brw_util.c
index 4a303cd..292b7e5 100644
--- a/src/mesa/drivers/dri/i965/brw_util.c
+++ b/src/mesa/drivers/dri/i965/brw_util.c
@@ -40,17 +40,19 @@
 GLuint brw_translate_blend_equation( GLenum mode )
 {
    switch (mode) {
-   case GL_FUNC_ADD:
-      return BRW_BLENDFUNCTION_ADD;
-   case GL_MIN:
-      return BRW_BLENDFUNCTION_MIN;
-   case GL_MAX:
-      return BRW_BLENDFUNCTION_MAX;
-   case GL_FUNC_SUBTRACT:
-      return BRW_BLENDFUNCTION_SUBTRACT;
-   case GL_FUNC_REVERSE_SUBTRACT:
-      return BRW_BLENDFUNCTION_REVERSE_SUBTRACT;
-   default:
+   case GL_FUNC_ADD: 
+      return BRW_BLENDFUNCTION_ADD; 
+   case GL_MIN: 
+   case GL_FACTOR_MIN_AMD:
+      return BRW_BLENDFUNCTION_MIN; 
+   case GL_MAX: 
+   case GL_FACTOR_MAX_AMD:
+      return BRW_BLENDFUNCTION_MAX; 
+   case GL_FUNC_SUBTRACT: 
+      return BRW_BLENDFUNCTION_SUBTRACT; 
+   case GL_FUNC_REVERSE_SUBTRACT: 
+      return BRW_BLENDFUNCTION_REVERSE_SUBTRACT; 
+   default: 
       assert(0);
       return BRW_BLENDFUNCTION_ADD;
    }
-- 
1.8.5.2



More information about the mesa-dev mailing list