Skip to content

panfrost,asahi: Support ARB_buffer_storage

After a great deal of spec lawyering in #dri-devel, I am convinced this is probably okay for the same reasons as v3d and freedreno. The batch reordering and flush deferral optimizations are seemingly still ok. The requirement that writes are visible "immediately" in the spec actually means "in the subsequent [OpenGL] command" for the CPU -> GPU direction, which avoids pitfalls where PERSISTENT|COHERENT could be used as a "doorbell". With that understanding, the extension doesn't actually require anything special for tilers other than coherency at GPU submit boundaries, which is true for any driver that does not use a sync ioctl.

After this commit, the remaining drivers that don't set the CAP are d3d12, softpipe, etnaviv, and i915g. I am unsure about d3d12, but the latter 3 could probbaly enable it trivially for the same reason.

Closes: #7570 (closed) Signed-off-by: Alyssa Rosenzweig alyssa@collabora.com

Merge request reports