[Mesa-dev] [PATCH v2 3/3] nir: implement GLSL.std.450 NMax, NMIn and NClamp operations

tournier.elie tournier.elie at gmail.com
Mon Jun 26 15:38:19 UTC 2017


On 26 June 2017 at 11:15, Juan A. Suarez Romero <jasuarez at igalia.com> wrote:
> On Tue, 2017-06-13 at 11:14 +0200, Juan A. Suarez Romero wrote:
>> v2: NIR fmax/fmin already handles NaN (Connor).
>> ---
>
> Implemented the functions using fmax/fmin.
>
> Could you review it? Thank you!

Sorry, I missed this one.
Reviewed by: Elie Tournier <elie.tournier at collabora.com>
>
>
>         J.A.
>
>>  src/compiler/spirv/vtn_glsl450.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/src/compiler/spirv/vtn_glsl450.c b/src/compiler/spirv/vtn_glsl450.c
>> index 96e3407dee..1d7e2b8d95 100644
>> --- a/src/compiler/spirv/vtn_glsl450.c
>> +++ b/src/compiler/spirv/vtn_glsl450.c
>> @@ -433,9 +433,11 @@ vtn_nir_alu_op_for_spirv_glsl_opcode(enum GLSLstd450 opcode)
>>     case GLSLstd450Log2:          return nir_op_flog2;
>>     case GLSLstd450Sqrt:          return nir_op_fsqrt;
>>     case GLSLstd450InverseSqrt:   return nir_op_frsq;
>> +   case GLSLstd450NMin:          return nir_op_fmin;
>>     case GLSLstd450FMin:          return nir_op_fmin;
>>     case GLSLstd450UMin:          return nir_op_umin;
>>     case GLSLstd450SMin:          return nir_op_imin;
>> +   case GLSLstd450NMax:          return nir_op_fmax;
>>     case GLSLstd450FMax:          return nir_op_fmax;
>>     case GLSLstd450UMax:          return nir_op_umax;
>>     case GLSLstd450SMax:          return nir_op_imax;
>> @@ -537,6 +539,7 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint,
>>        return;
>>
>>     case GLSLstd450FClamp:
>> +   case GLSLstd450NClamp:
>>        val->ssa->def = build_fclamp(nb, src[0], src[1], src[2]);
>>        return;
>>     case GLSLstd450UClamp:


More information about the mesa-dev mailing list