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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Split [[clang::hlsl_resource_class]] out of the HLSLResource attribute
        </td>
    </tr>

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

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

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

<pre>
    Create a new `clang::hlsl_resource_class` attribute to replace the resource class argument of the HLSLResource unspellable attribute. The attribute should be spellable so that we can use it to simplify testing.

AC:
- The attribute `[[clang::hlsl_resource_class(...)]]` can be applied to types in HLSL source
- The attribute is parametrized with uav, srv, cbuffer, or sampler
- HLSLResource no longer has a ResourceClass argument, and existing code that used that now uses the new attribute
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU8tu2zoQ_RpqM4jA0HpYCy0cG8ZdZHXTfUBKI4kFRQocMm769QXpum6KAC0giDPgPM45M5REeraIPaufWH0qZAyL871ys0VfKDe-90ePMiBIsHgB1vDBSDuz3YHtDosh8-qRXPQDvg5GErGGgwzBaxUDQnDgcTNyQAgLwi0UcihIP8cVbQA35ev_nl-e_7-FREsbGiOVwXvBEr4sv7lAi4tmBIVwDyYHYZEBLgiDtBAJQYeEhPS6GT29Q0AK2s4l4yfGD9f_4ZgoZfPhjyas4Vmdp78wF_uyLJnoWH1KX8Nzf4Ugt81oHBOG8L4hgbaZK1zTP--qCTbp5YrB6-84wkWHBaJ8Y-II5PMxqDhN6JPpPJBcN4P-Vu2DmNaBcXZGD4skkHC7OH6YQyok7Qj4TWeBYHAjXsWMlPAny7pL8ihPLK3EL8jF2O_GbtfJAvvHVvC6qpuaF0s_tN2-Hae2bUTFd6KqpopP7VQ13a7peFsXuhdcVLzlXc7j5dipphn3SrU1l-1jxyqOq9SmNOZtLZ2fC00Use_2j92uMFKhobzCQqwYpIozE4KJIxMi6ZCc-lT4PqU_qDgTq7jRFOheMOhg8jPICfUJXjajA_zT5PPAwcXPN_kuUPSmX0LYKJUSZybOsw5LVOXgVibOCcvP42Hz7isOgYlzZkpMnK9k33rxIwAA__8A_DmL">