wined3d: Do not iterate over multiple layers when clearing 3D UAVs.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52390
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 2022-01-12 18:40:49 -06:00 committed by Alexandre Julliard
parent 3ad4f9f356
commit 35e08b90b3
1 changed files with 11 additions and 2 deletions

View File

@ -1504,11 +1504,20 @@ void wined3d_unordered_access_view_gl_clear(struct wined3d_unordered_access_view
format_gl = wined3d_format_gl(resource->format); format_gl = wined3d_format_gl(resource->format);
texture_gl = wined3d_texture_gl(texture_from_resource(resource)); texture_gl = wined3d_texture_gl(texture_from_resource(resource));
layer_count = view_gl->v.desc.u.texture.layer_count;
level_count = view_gl->v.desc.u.texture.level_count; level_count = view_gl->v.desc.u.texture.level_count;
base_layer = view_gl->v.desc.u.texture.layer_idx;
base_level = view_gl->v.desc.u.texture.level_idx; base_level = view_gl->v.desc.u.texture.level_idx;
if (resource->type == WINED3D_RTYPE_TEXTURE_3D)
{
layer_count = 1;
base_layer = 0;
}
else
{
layer_count = view_gl->v.desc.u.texture.layer_count;
base_layer = view_gl->v.desc.u.texture.layer_idx;
}
if (format_gl->f.byte_count <= 4 && !fp) if (format_gl->f.byte_count <= 4 && !fp)
{ {
gl_format = format_gl->format; gl_format = format_gl->format;