wined3d: Allow OpenGL indirect dispatch buffer objects to be suballocated from a larger buffer.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-11-19 17:23:48 -06:00 committed by Alexandre Julliard
parent 9c9b576820
commit 3220ea2431
1 changed files with 1 additions and 1 deletions

View File

@ -4342,7 +4342,7 @@ void dispatch_compute(struct wined3d_device *device, const struct wined3d_state
struct wined3d_bo_gl *bo_gl = wined3d_bo_gl(indirect->buffer->buffer_object); struct wined3d_bo_gl *bo_gl = wined3d_bo_gl(indirect->buffer->buffer_object);
GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, bo_gl->id)); GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, bo_gl->id));
GL_EXTCALL(glDispatchComputeIndirect((GLintptr)indirect->offset)); GL_EXTCALL(glDispatchComputeIndirect(bo_gl->b.buffer_offset + (GLintptr)indirect->offset));
GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0)); GL_EXTCALL(glBindBuffer(GL_DISPATCH_INDIRECT_BUFFER, 0));
wined3d_context_gl_reference_bo(context_gl, bo_gl); wined3d_context_gl_reference_bo(context_gl, bo_gl);
} }