A piece of code shared with d3d was used to implement this feature. However, we store the uniform data transposed and row-major in d3d to accomodate the fact that matrix indexing in HLSL is the opposite of GLSL (mat[row][col] in HLSL as opposed to mat[col][row] in GLSL). There were two functions that copied the source matrix fields either as column-major or source-major (corresponding to `transpose` false or true respectively in glUniformMatrix*) into a row-major destination. These functions are refactored into one, which copies from any-major source to any-major destination. The HLSL backend uses the "to row-major" variant and the Vulkan backend uses the "to column-major" variant. Bug: angleproject:3198 Change-Id: I7254da4fbe6916af78c5906abcb82ca01674ab9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1607541 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| angle_deqp_gtest.cpp | Loading commit data... | |
| angle_deqp_libtester.h | Loading commit data... | |
| angle_deqp_libtester_main.cpp | Loading commit data... | |
| angle_deqp_tests_main.cpp | Loading commit data... | |
| deqp_egl_test_expectations.txt | Loading commit data... | |
| deqp_gles2_test_expectations.txt | Loading commit data... | |
| deqp_gles31_test_expectations.txt | Loading commit data... | |
| deqp_gles3_test_expectations.txt | Loading commit data... | |
| tcuANGLENativeDisplayFactory.cpp | Loading commit data... | |
| tcuANGLENativeDisplayFactory.h | Loading commit data... | |
| tcuANGLEPlatform.cpp | Loading commit data... | |
| tcuANGLEPlatform.h | Loading commit data... | |
| tcuRandomOrderExecutor.cpp | Loading commit data... | |
| tcuRandomOrderExecutor.h | Loading commit data... |