wined3d: Respect the BO buffer offset in create_buffer_texture().

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:
Henri Verbeet 2021-11-22 18:14:43 -06:00 committed by Alexandre Julliard
parent d7ba208569
commit 0b9002de96
1 changed files with 4 additions and 3 deletions

View File

@ -257,6 +257,10 @@ static void create_buffer_texture(struct wined3d_gl_view *view, struct wined3d_c
return;
}
wined3d_buffer_load_location(buffer, &context_gl->c, WINED3D_LOCATION_BUFFER);
bo_gl = wined3d_bo_gl(buffer->buffer_object);
offset += bo_gl->b.buffer_offset;
if ((offset & (gl_info->limits.texture_buffer_offset_alignment - 1)))
{
FIXME("Buffer offset %u is not %u byte aligned.\n",
@ -264,9 +268,6 @@ static void create_buffer_texture(struct wined3d_gl_view *view, struct wined3d_c
return;
}
wined3d_buffer_load_location(buffer, &context_gl->c, WINED3D_LOCATION_BUFFER);
bo_gl = wined3d_bo_gl(buffer->buffer_object);
view->target = GL_TEXTURE_BUFFER;
if (!view->name)
gl_info->gl_ops.gl.p_glGenTextures(1, &view->name);