Priority | medium |
---|---|
Bug ID | 82977 |
Assignee | dri-devel@lists.freedesktop.org |
Summary | freeze when copying between larger OpenGL buffers (glCopyBufferSubData) |
Severity | normal |
Classification | Unclassified |
OS | Linux (All) |
Reporter | osbios@web.de |
Hardware | x86-64 (AMD64) |
Status | NEW |
Version | git |
Component | Drivers/Gallium/radeonsi |
Product | Mesa |
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);
You are receiving this mail because:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel