<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/124599>124599</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL][SPIRV] Handle vulkan specific layouts for resources
</td>
</tr>
<tr>
<th>Labels</th>
<td>
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
s-perron
</td>
</tr>
</table>
<pre>
In DXC, multiple possible layouts are added for each structure. See the [SPIR-V DXC documentation](https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#constanttexturestructuredbyte-buffers) for a description of these layout, and what the default memory layout is. These layouts are:
- [ ] Default
- [ ] DX layout (match the layout of DXIL as much as possible)
- [ ] relaxed vector GL layout
- [ ] Strict GL layout
- [ ] Scalar layout
All of this work should be in the front-end. We should also consider dropping some of the layouts if they are not used.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8U02vmzgU_TVmcxUEBhJYsHh9KNMnZTGajDrZGvsSPDU28rXT5t-PzEte28VUQrLw_Trn-B5BpK8WsWfNJ9YMmYhhdr6n3YreO5uNTt37NwvD5ZXxV1iiCXo1CKsj0qNBMOLuYiAQHkEohQom5wGFnIGCjzJEjzmcESHMCKz5dP7z7a_dl9QQlJNxQRtE0M6yZmC8nUNYiVUvjB8ZP151mOOYS7cwfly09I7cFBg_DtqjDJfzLBT6V7es2qBn_DgaN6ZUoS3jR-UkMX58n5h7CoxX0lkKwoaA3xO0D4xqvAfcjXGa0BPj3UZDgEKSXq8JILgpcaAn56SHsAq-zSJs5BROIpoACy7O3x9ZoCmHv38q26RKDIv07ZIkwJoBhvfqX-8uzy6Mt4sIct4GPe7cBMPl7QSCYIlyTufzWRjvfmnk0YjvqOCGMjgPf5yeHH5OOgevZfi_oBRG-B8RVry8GPOuiSb45vxXoNlFo2BE0HYDOnlnww6tyuEffIaFIQfpGbRCD8q7ddX2CuQWfEj8oZTefu_bclkXIBKqPFN9pbqqExn25aFqi6KoeJvN_TS19djsD63qaqwFb4u6xLGri0N1kKrcZ7rnBW-Kkh_KQ8OLNsdWVON-KpUoi6rGPasLXIQ2uTG3JXf-mmmiiH3J66brMiNGNLRZhfPPp_OJcZ5M4_uUvxvjlVhdGE2BfnQIOpjNXltBMzws8CWJ-llYZRBu0XwVFmhFqSctP-inFfRILnqJlEVv-t_YIw18HLvVu39RJqNs-JMJHhRuPf8vAAD__4m3TYw">