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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Add `RWStructuredBuffer` definition to HLSLExternalSemaSource
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Add `RWStructuredBuffer` definition to HLSLExternalSemaSource.

The `RWStructuredBuffer` is a read-write buffer of user defined types (UDTs).
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/sm5-object-rwstructuredbuffer

The resource definition will contain a handle that will be lowered to a `dx.RawBuffer` target extension type with the UDT as its type argument.

Refer to [Proposal for mapping resource attributes](https://github.com/llvm/wg-hlsl/pull/76) for the attribute mapping.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk0FvnD4QxT-NuYwWweyysAcOifaP_occqmying0ewK2xkT0OybevYLdJU6nqoReMNPKb9356liHowRLVorgXxTmRkUfn65G-O5ZJ69RbfacUiGP2-PXCPnYcPan72PfkxTEDRb22mrWzwA7-f7g8_PfK5K00F5rkxUXfUSqys8jurt-nkf6spgNI8CTVbvGaCdptAq6HGMhfl5ECfpspgMDq-fwUBJ5uC0bmOYj9ncBGYGNIeptOuvMuuJ7Tzk0CG7K7GAQ2i7bKLbe_PQpslPbU8V6NJhiBTZiKnWu_Ucc7v4R3r1dHvwfyFLakv-JYtDHQOctSW5AwSqsMAY-Sr6OWwLiF_JrHgVyhqNf0US4fOFj6gRjolcmGDfHbTLBoHoFHgufzE8gAmsN1IP0QJ7L8ifcjrQTZgSjuv3g3uyAN9M7DJOdZ2-HDu2T2uo1MQRRngdVnnIPmMbY3isa8rMcy7G605mjWozwKPG3qq793wZ-70kTVe3Xan2RCdV7iKT9VFZbJWOcy72QnsTxmbZ-ro-pzOu4L1WO_rwirRNeY4SHP8hLzLMMyPXTYHsu2LbO8LaqsF4eMJqlNunpLnR8SHUKkOs-xLIvEyJZM2FqOaGmBbSoQ19L7er20a-MQxCEzOnD4kGHNZnsea7lFcYZ_fg9J9Kb-O93N0-zd2kGBzWZ4Lewt0UuNPwIAAP__Aj09rQ">