Hash :
151c1571
Author :
Date :
2024-01-12T16:40:38
Vulkan: Clean up RGB8-to-RGBA8 ubyte function
Some platforms encounter issues in this function, possibly when the
dest pointer is accessed directly when it is cast to uint32_t.
* Coalesced the 32-bit accesses into memcpy().
* Simplified the implementation to contain less variables and indices.
* The function updates the source and dest pointers directly instead
of using separate indices. After this, the next pixel components
would be accessible using constant offsets (0-3).
* It does not seem to have an impact performance-wise.
* Tested on Windows, which showed the most improvement in the
first CL.
Bug: b/308177124
Bug: b/319128304
Change-Id: I9807fd5331db487f9f0a03faa457ee0a8343d59c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5195125
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>