findFunction.frag 930 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #version 450
  2. #extension GL_KHX_shader_explicit_arithmetic_types: enable
  3. int64_t func(int8_t a, int16_t b, int16_t c)
  4. {
  5. return int64_t(a | b + c);
  6. }
  7. int64_t func(int8_t a, int16_t b, int32_t c)
  8. {
  9. return int64_t(a | b - c);
  10. }
  11. int64_t func(int32_t a, int32_t b, int32_t c)
  12. {
  13. return int64_t(a / b + c);
  14. }
  15. int64_t func(float16_t a, float16_t b, float32_t c)
  16. {
  17. return int64_t(a - b * c);
  18. }
  19. int64_t func(float16_t a, int16_t b, float32_t c)
  20. {
  21. return int64_t(a - b * c);
  22. }
  23. void main()
  24. {
  25. int8_t x;
  26. int16_t y;
  27. int32_t z;
  28. int64_t w;
  29. float16_t f16;
  30. float64_t f64;
  31. int64_t b1 = func(x, y, z);
  32. int64_t b2 = func(y, y, z); // tie
  33. int64_t b3 = func(y, y, w); // No match
  34. int64_t b4 = func(y, z, f16); // No match
  35. int64_t b5 = func(y, y, f16);
  36. int64_t b7 = func(f16, f16, y);
  37. int64_t b8 = func(f16, f16, f64); // No match
  38. int64_t b9 = func(f16, x, f16); // tie
  39. }