On Sun, 14 Oct 2018 at 20:48, Andrew Wesie awesie@gmail.com wrote:
On Sun, Oct 14, 2018 at 9:45 AM Henri Verbeet hverbeet@gmail.com wrote:
On Sun, 14 Oct 2018 at 01:09, Andrew Wesie awesie@gmail.com wrote:
- /* NVIDIA requires a sync object. */
I think I'd phrase that as "The ARB_buffer_storage spec requires …", or just quote the relevant lines from the spec literally, and then add a note that NVIDIA appears to enforce that, while Mesa doesn't.
After further investigation, I don't believe that this statement is accurate. If I modify the implementation to avoid ARB_buffer_storage entirely (e.g. use glBufferData, never map the buffer, etc.), the sync object is still required to avoid NVIDIA crashing. I'm more inclined to indicate that this is a driver-specific workaround.
It may very well be unintentional that NVIDIA needs the sync object. The buffer storage spec does contain that language though, so it's legal for any driver to require it, even if that requirement seems slightly odd. Note also that as a rule, we avoid workarounds for driver bugs.