Lines Matching refs:src

153 static float GetP0(const tcu::Vec4& src, const tcu::Vec4& dst)
155 return src[3] * dst[3];
157 static float GetP1(const tcu::Vec4& src, const tcu::Vec4& dst)
159 return src[3] * (1.f - dst[3]);
161 static float GetP2(const tcu::Vec4& src, const tcu::Vec4& dst)
163 return dst[3] * (1.f - src[3]);
166 static tcu::Vec4 Blend(const tcu::Vec4& rgb, const tcu::Vec4& src, const tcu::Vec4& dst)
168 float p[3] = { GetP0(src, dst), GetP1(src, dst), GetP2(src, dst) };
170 tcu::Vec4 rgbOut = (p[0] * rgb) + (p[1] * src) + (p[2] * dst);
174 static tcu::Vec4 BlendMultiply(const tcu::Vec4& src, const tcu::Vec4& dst)
176 tcu::Vec4 rgb = src * dst;
178 return Blend(rgb, src, dst);
181 static tcu::Vec4 BlendScreen(const tcu::Vec4& src, const tcu::Vec4& dst)
183 tcu::Vec4 rgb = src + dst - src * dst;
185 return Blend(rgb, src, dst);
196 static tcu::Vec4 BlendOverlay(const tcu::Vec4& src, const tcu::Vec4& dst)
198 tcu::Vec4 rgb(Overlay(src[0], dst[0]), Overlay(src[1], dst[1]), Overlay(src[2], dst[2]), 0.f);
200 return Blend(rgb, src, dst);
203 static tcu::Vec4 BlendDarken(const tcu::Vec4& src, const tcu::Vec4& dst)
205 tcu::Vec4 rgb(de::min(src[0], dst[0]), de::min(src[1], dst[1]), de::min(src[2], dst[2]), 0.f);
207 return Blend(rgb, src, dst);
210 static tcu::Vec4 BlendLighten(const tcu::Vec4& src, const tcu::Vec4& dst)
212 tcu::Vec4 rgb(de::max(src[0], dst[0]), de::max(src[1], dst[1]), de::max(src[2], dst[2]), 0.f);
214 return Blend(rgb, src, dst);
227 static tcu::Vec4 BlendColorDodge(const tcu::Vec4& src, const tcu::Vec4& dst)
229 tcu::Vec4 rgb(ColorDodge(src[0], dst[0]), ColorDodge(src[1], dst[1]), ColorDodge(src[2], dst[2]), 0.f);
231 return Blend(rgb, src, dst);
247 static tcu::Vec4 BlendColorBurn(const tcu::Vec4& src, const tcu::Vec4& dst)
249 tcu::Vec4 rgb(ColorBurn(src[0], dst[0]), ColorBurn(src[1], dst[1]), ColorBurn(src[2], dst[2]), 0.f);
251 return Blend(rgb, src, dst);
262 static tcu::Vec4 BlendHardLight(const tcu::Vec4& src, const tcu::Vec4& dst)
264 tcu::Vec4 rgb(HardLight(src[0], dst[0]), HardLight(src[1], dst[1]), HardLight(src[2], dst[2]), 0.f);
266 return Blend(rgb, src, dst);
285 static tcu::Vec4 BlendSoftLight(const tcu::Vec4& src, const tcu::Vec4& dst)
287 tcu::Vec4 rgb(SoftLight(src[0], dst[0]), SoftLight(src[1], dst[1]), SoftLight(src[2], dst[2]), 0.f);
289 return Blend(rgb, src, dst);
292 static tcu::Vec4 BlendDifference(const tcu::Vec4& src, const tcu::Vec4& dst)
294 tcu::Vec4 rgb(deFloatAbs(src[0] - dst[0]), deFloatAbs(src[1] - dst[1]), deFloatAbs(src[2] - dst[2]), 0.f);
296 return Blend(rgb, src, dst);
304 static tcu::Vec4 BlendExclusion(const tcu::Vec4& src, const tcu::Vec4& dst)
306 tcu::Vec4 rgb(Exclusion(src[0], dst[0]), Exclusion(src[1], dst[1]), Exclusion(src[2], dst[2]), 0.f);
307 return Blend(rgb, src, dst);
381 static tcu::Vec4 BlendHSLHue(const tcu::Vec4& src, const tcu::Vec4& dst)
383 tcu::Vec4 rgb = SetLumSat(src, dst, dst);
384 return Blend(rgb, src, dst);
387 static tcu::Vec4 BlendHSLSaturation(const tcu::Vec4& src, const tcu::Vec4& dst)
389 tcu::Vec4 rgb = SetLumSat(dst, src, dst);
390 return Blend(rgb, src, dst);
393 static tcu::Vec4 BlendHSLColor(const tcu::Vec4& src, const tcu::Vec4& dst)
395 tcu::Vec4 rgb = SetLum(src, dst);
396 return Blend(rgb, src, dst);
399 static tcu::Vec4 BlendHSLuminosity(const tcu::Vec4& src, const tcu::Vec4& dst)
401 tcu::Vec4 rgb = SetLum(dst, src);
402 return Blend(rgb, src, dst);
405 typedef tcu::Vec4 (*BlendFunc)(const tcu::Vec4& src, const tcu::Vec4& dst);
455 // Blend premultiplied src and dst with given blend mode.
456 static tcu::Vec4 Blend(glw::GLenum mode, const tcu::Vec4& src, const tcu::Vec4& dst)
459 tcu::Vec4 srcNorm = ToNormal(src);
617 glw::GLfloat src[4]; // rgba
628 { GL_LIGHTEN_KHR, { 0.250f, 0.375f, 1.000f, 1.000f } }, // => (0.250, 0.375, 1.000, 1.000) (from src)
631 { GL_DARKEN_KHR, { 0.250f, 0.250f, 0.250f, 1.000f } }, // => (0.250, 0.250, 0.250, 1.000) (from src)
635 { GL_DARKEN_KHR, { 0.250f, 0.500f, 0.500f, 1.000f } }, // => (0.250, 0.500, 0.500, 1.000) (from src)
638 { GL_DARKEN_KHR, { 0.125f, 0.125f, 0.125f, 1.000f } }, // => (0.125, 0.125, 0.125, 1.000) (from src)
704 tcu::Vec4 srcCol(s.src[0], s.src[1], s.src[2], s.src[3]);
808 void getTestColors(int index, tcu::Vec4& src, tcu::Vec4& dst) const;
953 void BlendTestCaseGroup::BlendTest::getTestColors(int index, tcu::Vec4& src, tcu::Vec4& dst) const
961 src = MaskChannels(pf, tcu::Vec4(s[0], s[1], s[2], s[3]));
963 src = tcu::clamp(src, tcu::Vec4(0.f), tcu::Vec4(1.f));
1083 << " ref:" << ref << " dst:" << tcu::RGBA(dstCol) << " src:" << tcu::RGBA(srcCol)