Commit 0c2dc8c3 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: Fix dirty default attributes handling

When invalidating default attributes, the mask to invalidate was set as the current dirty mask, but it should have been or'ed with it. The following test triggered a validation error on Linux: dEQP.GLES2/functional_default_vertex_attrib_mat4_vertex_attrib_4fv In this test, Vertex Array Bindings and Program dirty bits would set the default attrib dirty mask to all the default attributes, but the handling of Current Values dirty bits would mistakenly remove some of those dirty bits. Bug: angleproject:2786 Change-Id: Ife96621da7646102c1ce3b24e45f405e34a08b40 Reviewed-on: https://chromium-review.googlesource.com/c/1366797Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent e14feaf5
......@@ -1286,7 +1286,7 @@ void ContextVk::invalidateDefaultAttributes(const gl::AttributesMask &dirtyMask)
{
if (dirtyMask.any())
{
mDirtyDefaultAttribsMask = dirtyMask;
mDirtyDefaultAttribsMask |= dirtyMask;
mDirtyBits.set(DIRTY_BIT_DEFAULT_ATTRIBS);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment