Commit c8fbff3d by Luc Ferron Committed by Commit Bot

Vulkan: Update uniforms bugfix and enable dEQP tests with it

If a uniform was already marked as dirty, and the call to setMatrixUniform wasn't updating the data, the flag was flipped to false, causing the descriptor set never to be initialized. This enables these tests: dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.* Bug: angleproject:2583 Change-Id: I0bcb95cc66951e0ed347af5d874178c403a1c08a Reviewed-on: https://chromium-review.googlesource.com/1085228Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org>
parent 48cdc2e8
...@@ -581,9 +581,14 @@ void ProgramVk::setUniformMatrixfv(GLint location, ...@@ -581,9 +581,14 @@ void ProgramVk::setUniformMatrixfv(GLint location,
continue; continue;
} }
uniformBlock.uniformsDirty = SetFloatUniformMatrix<cols, rows>( bool updated = SetFloatUniformMatrix<cols, rows>(
locationInfo.arrayIndex, linkedUniform.getArraySizeProduct(), count, transpose, value, locationInfo.arrayIndex, linkedUniform.getArraySizeProduct(), count, transpose, value,
uniformBlock.uniformData.data() + layoutInfo.offset); uniformBlock.uniformData.data() + layoutInfo.offset);
// If the uniformsDirty flag was true, we don't want to flip it to false here if the
// setter did not update any data. We still want the uniform to be included when we'll
// update the descriptor sets.
uniformBlock.uniformsDirty = uniformBlock.uniformsDirty || updated;
} }
} }
......
...@@ -213,7 +213,6 @@ ...@@ -213,7 +213,6 @@
2580 VULKAN : dEQP-GLES2.functional.buffer.write.recreate_store.random_* = SKIP 2580 VULKAN : dEQP-GLES2.functional.buffer.write.recreate_store.random_* = SKIP
2580 VULKAN : dEQP-GLES2.functional.buffer.write.random.* = SKIP 2580 VULKAN : dEQP-GLES2.functional.buffer.write.random.* = SKIP
2582 VULKAN : dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment* = SKIP 2582 VULKAN : dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment* = SKIP
2583 VULKAN : dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.* = SKIP
2585 VULKAN : dEQP-GLES2.functional.shaders.qualification_order.variables.valid.* = SKIP 2585 VULKAN : dEQP-GLES2.functional.shaders.qualification_order.variables.valid.* = SKIP
2586 VULKAN : dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_* = SKIP 2586 VULKAN : dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_* = SKIP
2586 VULKAN : dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_* = SKIP 2586 VULKAN : dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_* = SKIP
......
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