mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-07 14:48:17 +02:00
Although the following is based on this observations for OpenGL, we probably need this for Vulkan as well. KHR-GL46.texture_buffer.texture_buffer_operations_ssbo_writes writes to an SSBO in a compute program, then issues a memory-barrier, which causes us to add a DC-flush. Then a second compute program samples from the SSBO written by the first compute program. Although we expected the DC-flush to make the writes available to the second compute program, on MTL this wasn't the case. Adding the "Untyped Data-Port Cache Flush" fixes this. The PRM indicates that compute programs must set "Untyped Data-Port Cache Flush" to flush some LSC writes when flushing HDC. Although we are setting DC-flush, and not HDC-flush, it does appear that the following reference might also apply to DC-flush. In the Intel(R) Arc(tm) A-Series Graphics and Intel Data Center GPU Flex Series Open-Source Programmer's Reference Manual, Vol 2a: Command Reference: Instructions, PIPE_CONTROL, HDC Pipeline Flush (DWord 0, Bit 9), there is a programming note: > When the "Pipeline Select" mode is set to "GPGPU", the LSC Untyped > L1 cache flush is controlled by "Untyped Data-Port Cache Flush" bit > in the PIPE_CONTROL command. Ref: |
||
|---|---|---|
| .. | ||
| blorp | ||
| ci | ||
| common | ||
| compiler | ||
| dev | ||
| ds | ||
| genxml | ||
| isl | ||
| nullhw-layer | ||
| perf | ||
| tools | ||
| vulkan | ||
| vulkan_hasvk | ||
| meson.build | ||