<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/137733>137733</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Ambiguous intrinsic uses in MiniEngine
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            HLSL
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          V-FEXrt
      </td>
    </tr>
</table>

<pre>
    MiniEngine has many uses of the following set in intrinsics that are ambiguous under C++'s overload resolution rules.

- [ ] `clamp`
- [ ] `dot`
- [ ] `lerp`
- [ ] `max`
- [ ] `min`
- [ ] `pow`

Other ambiguous cases my arise as [used but unimplemented intrinsics](https://github.com/llvm/wg-hlsl/issues/237) are implemented

A similar case was discussed and resolved for `select` here: https://github.com/llvm/llvm-project/issues/126570

It should be determined if the uses here are intended source breakages requiring migration or if a path similar to select should be forged.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykk8GL2zoQxv8a-TIk2FIU2wcfsi8b3oN99FAovcrWxFYrS6lGSrr_fZG97IYS6KFgEAye0ff99I0iMqND7Jh8YvJYqBQnH7ovm9Pz1xCL3uvX7n_jzLMbjUOYFMGs3CskQgJ_hjghnL21_mbcCIQRjAPjYjCOzEAQJxVBBQQ192ZMPhEkpzHAP4w_LV9N4K8YrFcaApK3KRrvICSLtGXlgZWHDTD5BEwege3Lwar5wvbl73Xt44OqxfDo51n9fFQ17kH14m9rlZWHT3HCcOdlUJnD_AoqGEJQlBsToYY-RUjOzBeLM7qI-o4Kk0fGmynGCzFxYPzE-Gk0cUr9dvAz4ydrr_m4jZvJkmX8ZIgSEuMnLmrG24Xo3exV3AHIzMaqsMiCmyLQhoZEWY9yb3ivqOHsQ3ZGaHHI1GDCgEwc4M-a8rG5BP8td94Jq_he1m-U_otAk09WQ4-gMWKYjcsE1rws2ck3rjZcRKdRA_kUBoQ-oPquRiQI-COZkHM1mzGoJRY-5CkKLipO73ajh9XK3bVnH0bU20J3QreiVQV2Vb2TTSOqqi2mrq6qqhHifMZG160c-HlX4sDLXpR9M-x1YTpeclnueMOFqGSz7VXd9pJjK6VqxW7HdiXOythtRrL1YSwWGF0l6lqIwqoeLS17xfm_L59fGOd5w0K3IOzTSGxXWkORPiZEE-2yi0uDPMLhPWrv8Vn5GQcfe1mkYLu_eLtV8bXjvwIAAP__0zZM3Q">