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

Maxence Le Doré maxence.ledore at gmail.com
Tue Jan 7 09:40:30 PST 2014


Thanks Ian, I got this after a rebase. Didn't know were it comes from.

2014/1/6 Ian Romanick <idr at freedesktop.org>:
> On 01/02/2014 05:18 PM, Maxence Le Doré wrote:
>> ---
>>  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
>
> i915_state.c should get the same treatment.
>
>> @@ -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;
>>     }
>>
>


More information about the mesa-dev mailing list