BlamKiwi / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Redesign state change updates so Renderer layers don't have to poll all GL state. #1040

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This is a significant cause of slowdown on the GL and D3D renderers, since they 
must verify their cached states match the GL layer very draw call. We can do a 
lot better here, by using a notification-style design.

Original issue reported on code.google.com by jmad...@chromium.org on 8 Jun 2015 at 6:39

GoogleCodeExporter commented 9 years ago
The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/39fcf2636a364a68c568e7591386238e1869a798

commit 39fcf2636a364a68c568e7591386238e1869a798
Author: Jamie Madill <jmadill@chromium.org>
Date: Mon Jun 08 18:39:07 2015

Use both null and real renders for draw call perf.

Introduce a "null" GL renderer for this specific benchmark, which
does not do any work on drawArrays and drawElements. We could use
the same kind of trick for buffer and texture updates, if we need
it. This gives us a good baseline for comparing GL and D3D perf.

BUG=angleproject:1040

Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e
Reviewed-on: https://chromium-review.googlesource.com/276192
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>

[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/tests/perf_tests/D
rawCallPerf.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/libANGLE/renderer/
gl/DisplayGL.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/libGLESv2/entry_po
ints_egl_ext.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/util/EGLWindow.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/libANGLE/renderer/
gl/RendererGL.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/libANGLE/renderer/
gl/RendererGL.h
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/tests/perf_tests/P
ointSprites.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/tests/perf_tests/B
ufferSubData.cpp
[modify] 
http://crrev.com/39fcf2636a364a68c568e7591386238e1869a798/src/tests/perf_tests/T
exSubImage.cpp

Original comment by bugdroid1@chromium.org on 9 Jun 2015 at 3:31