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

    <tr>
        <th>Summary</th>
        <td>
            [spirv] Provide details regarding availability relationship and AutoGen
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir:spirv
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          antiagainst
      </td>
    </tr>
</table>

<pre>
    Right now the [documentation](https://mlir.llvm.org/docs/Dialects/SPIR-V/#version-extensions-capabilities) on how availability (version/extension/capability) is handled in the SPIR-V dialect is very terse. We need to provide more details there around

- [ ] What's the relationship between `MinVersion`/`MaxVersion`/`Extension`/`Capability` clauses in  availability. AND? OR?
- [ ] How the interconnection between versions/extensions/capabilities are handled? E.g., One version implies some extensions; one capability implies other capabilities and may require certain versions / extensions, etc.
- [ ] How various pieces are autogenerated and how they fits together.
- [ ] How to customize if the autogeneration is not fulfilling the job for complicated cases, etc.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsVE2PozgQ_TXmUgoCE-jOgUO6M-zuYXZGvdLM2dgF1MjYrG3Sk_31KxPy1eqLsex6Ve89UyW8p94g1qx8YZwLE0j0gowPjHNWHhIxh8G6-u4iaa061W_UDwGMfYcwILDyRVk5j2iCCGQNKw-MPw8hTJ4Ve8YbxptRk0u1Po6pdT3jjbLSM94cSGiUIW7_-f7X2-bHEl0c0XmyZoO_A5q48xspJtGSpkDoGd-BNTDYdxBHQfp8cQLGn1ck480Vy3hzBZ8ilDwMwiiNCsgsCs61QZ3ZxIAjuhMEdB5T-IlgEBUEC5OzR1IIo3UICoMg7WMGhyCcnY1i2YFl-_O6ic4AKw_wcxCB8aclFBzqxSY_0AQthndEA6zKvpL5sbKvsuhDlX0Vvz8efbnKupy83sRVGUgtZo8-KnswJ4X93wdWNPDtjRXNR4J_rk9JJqCT1hiUkeKV3mqrv_fV3xtL6EE4vBgbC31J-5TxV_hm8IIHGicdQ70dEe4yFS9gDcLtna6RNroLj3WMglGcwOG_MzkEiS4IupEExpv75PwVMMj0M81H4cjOHiZCuSoQc7A9GnQioFpqDWdzTtBR8BBvI6dP8wULcvbBjvQfAnWLp3cJFws8GBugm3VHWpPpl6BftoXOOpA26pZLbSk8Xtknqi7UrtiJBOu8esqynFdZngx1WfC22nUt77adVC3veKm2uSg68VTJUmFCNc84z-OS8YLn6W6L1VbkOa9KXj7nW7bNcBSkr_2ZkPcz1uWuyHaJFi1qv46I2Mas2PuJ3HGdEa6OsE07955tM00--FuiQEEv4-WMKA_wfe2gS_M47IVT0YaHVn5okvgI-znYP9Aks9P142jpKQxzm0o7Mt7EyutnMzn7C2VgvFn0xP91kfR_AAAA__917KxH">