renderengine: clamp XYZ to [0.0, 1.0] in shaders

texture2D can return strange negative values for some YUV textures.
That should be a driver bug.  But with scRGB and floating-point
formats, we cannot be sure that colors will always stay non-negative
after conversion to XYZ.  We need to clamp XYZ to [0.0, 1.0] such
that the following color processing behaves as expected.

Bug: 116864006
Test: manual
Change-Id: I8f432c63b800edc11ce3d86536192a5547144ca5
Merged-In: I8f432c63b800edc11ce3d86536192a5547144ca5
1 file changed