Remove the probe, and remove the cached value check.
Also remove dead code which relies on this sometimes-clamping glGet query.
MozReview-Commit-ID: JA1VgH8fLRB
This patch makes the following changes to the macros.
- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
mostly misused.
- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
universally available now anyway.
- Combines the first two string literal arguments of PROFILER_LABEL and
PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
them to be separate, and it forced a '::' in the label, which isn't always
appropriate. Also, the meaning of the "name_space" argument was interpreted
in an interesting variety of ways.
- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
it clearer they construct RAII objects rather than just being function calls.
(I myself have screwed up the scoping because of this in the past.)
- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
the caller doesn't need to. This makes a *lot* more of the uses fit onto a
single line.
The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).
- Fixes a bunch of labels that had gotten out of sync with the name of the
class and/or function that encloses them.
- Removes a useless PROFILER_LABEL use within a trivial scope in
EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
a good idea.
- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
done within them, instead of at their callsites, because that's a more
standard way of doing things.
--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
EGLImageTargetTexture2D crashes on SGX 544 MP GPUs on Kit Kat with
either GL_TEXTURE_2D or GL_TEXTURE_EXTERNAL as the texture target. This
means that both OES_EGL_image and OES_EGL_image_external extensions do
not work and must be avoided.
MozReview-Commit-ID: DJmtUL6kexC
--HG--
extra : rebase_source : 7b136c2be8110a3bcef50213776675d8dd3c9ef9
Some PowerVR SGX540 devices running Android 4.0 were crashing when
uploading texture data with glTexSubImage2D. This was unearthed by a
Skia upgrade which removed what should have been an unnecessary OpenGL
call. This reinstates the OpenGL call which prevents the crash, but at a
GLContext level rather than in Skia.
MozReview-Commit-ID: Dub8VSs2Dzd
--HG--
extra : rebase_source : 7584b2a71656c78055d1a3cd1410c2a1bd8e70b3
There is a bug in the graphics driver for Adreno 3xx GPUs on android
versions up to 4.4 which segfaults if a texture allocation fails due to
virtual memory exhaustion.
On affected devices, guess whether an allocation would succeed and avoid
calling glTexImage2D where we believe it would fail. As the texture will
not be allocated this will likely cause problems such as black
rectangles appearing on the screen, but that is preferable to crashing.
MozReview-Commit-ID: 7xVI22pAdwb
--HG--
extra : transplant_source : %12%2B%C9%E2%DC%10%BE%C9%A7%E4%2C%FF%27%80%5D7%E0%8B%A2U