This patch series optimizes programs that use the pattern:
for (;;) {
glVertexAttribPointer(...)
glDraw(...)
}
Change 4: Inline ValidateProgramDrawStates.
A hotspot in most draw calls that change state.
In total the patch series reduces test iteration time by 25%. This
change reduces the listed "null" benchmark time from 295 -> 286 ns.
Test: DrawCallPerfBenchmark.Run/vulkan_null_attrib_change
Bug: angleproject:5045
Bug: b/168493024
Change-Id: I80959c9d06030709d7f4eba696e43614c33d5a8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2409176
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| android_system_settings | Loading commit data... | |
| common | Loading commit data... | |
| compiler | Loading commit data... | |
| feature_support_util | Loading commit data... | |
| gpu_info_util | Loading commit data... | |
| image_util | Loading commit data... | |
| libANGLE | Loading commit data... | |
| libEGL | Loading commit data... | |
| libGL | Loading commit data... | |
| libGLESv1_CM | Loading commit data... | |
| libGLESv2 | Loading commit data... | |
| tests | Loading commit data... | |
| third_party | Loading commit data... | |
| commit_id.py | Loading commit data... | |
| compiler.gni | Loading commit data... | |
| copy_compiler_dll.bat | Loading commit data... | |
| libGLESv2.gni | Loading commit data... |