Created attachment 105127 [details]
glxinfo
Ubuntu 14.04. With Oibaf repository for GPU drivers.
Radeon 7870 (Pitcairn)
When I try to run glCopyBufferSubData on large buffers (128MB works ok, 200MiB
not) my Desktop freezes and I only can move the mouse around.
The mouse curser image stays the same after that. E.g. a normal pointer or text
marker icon.
I have no relevant message in dmsg.0 or Xorg.1.log, as far as I can tell.
Minimal example code that will trigger the freeze (After using sdl2 to init
Core GL3.3 Context + Window):
int bufferSize = 200 * 1024 * 1024;
GLuint clientBufferId, serverBufferId;
glGenBuffers(1, &clientBufferId);
glBindBuffer(GL_ARRAY_BUFFER, clientBufferId);
glBufferStorage(GL_ARRAY_BUFFER, bufferSize, 0, /*GL_DYNAMIC_STORAGE_BIT |
GL_MAP_WRITE_BIT | GL_MAP_READ_BIT | GL_MAP_PERSISTENT_BIT|
GL_CLIENT_STORAGE_BIT*/0);
glGenBuffers(1, &serverBufferId);
glBindBuffer(GL_ARRAY_BUFFER, serverBufferId);
glBufferStorage(GL_ARRAY_BUFFER, bufferSize, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_COPY_READ_BUFFER, clientBufferId);
glBindBuffer(GL_COPY_WRITE_BUFFER, serverBufferId);
glCopyBufferSubData(GL_COPY_READ_BUFFER, GL_COPY_WRITE_BUFFER, 0, 0,
bufferSize);