author Noemi Erli <>
Thu, 24 May 2018 18:46:25 +0300
changeset 467844 ff8505d177b9
permissions -rw-r--r--
Backed out 3 changesets (bug 1459785) for causing a=backout Backed out changeset 88675b68241a (bug 1459785) Backed out changeset b7c91a6f1b0a (bug 1459785) Backed out changeset 21af8dc00aa8 (bug 1459785)

commit fcbca0e873c3222f13578a07294349c03ce44ab4
Author: Dzmitry Malyshau <>
Date:   Fri Mar 9 16:37:22 2018 -0500

    Update driver constants on program change. Comes with a new SamplerMetadataUpdateOnSetProgram test.
    This is a fix for a graphics problem we've been seeing for a while with WebRender+Angle on Nvidia/Windows. The sampler metadata doesn't get updated properly for some of the draw calls, since it's not invalidated on program change (this is what the CL is fixing). Extra entries get filled with garbage data because the constant buffer is updated with `MAP_WRITE_DISCARD`, and only those samplers are updated that the current program has. This may generally occur undetected, if not for our `textureSize` calls that appear to go the NV-specific Angle workaround path that ignores our `baseLevel = 0` and instead picks the one from the driver constants (which contains garbage), leading to either zeroes returned or even crashing the driver sometimes...
    Change-Id: Ie2bef32184e2305c7255299933b899eb3fffb7ab
    Reviewed-by: Jamie Madill <>
    Reviewed-by: Geoff Lang <>
    Commit-Queue: Geoff Lang <>

commit 17c34b476b3a941ee749165b6a360f8a3488960d
Author: Frank Henigman <>
Date:   Wed Feb 28 15:47:13 2018 -0500

    Add missing #include.
    Would not compile locally on Linux without adding #include <algorithm>.
    Change-Id: I2f817faf681234c0e7eeeda0ad837e8285d9071a
    Commit-Queue: Frank Henigman <>
    Reviewed-by: Jamie Madill <>
    Reviewed-by: Yuly Novikov <>
    Reviewed-by: Luc Ferron <>

commit eb0da26df7dc6cd45ee17455633bdec2efbaf322
Author: Jeff Gilbert <>
Date:   Thu Mar 1 17:08:35 2018 -0800

    Fix R11F_G11F_B10F/RGB/FLOAT SKIP_PIXELS=1 uploads.
    Bug: angleproject:2385
    Change-Id: I555000f23314441084895e275824d2eb48ba7041

commit 7d510ab511cd502220f81507189a2861958e22fd
Author: Jeff Gilbert <>
Date:   Mon Feb 26 16:30:06 2018 -0800

    Move constructors may not be marked explicit.
    Change-Id: If22c7f7c15b7bbe89b859281b28c2b9695e34a1d

commit d8e2f9ea469900a51e78b63f06fab52b69e42193
Author: Jeff Gilbert <>
Date:   Thu Feb 22 18:20:37 2018 -0800

    Support EGLStream from B8G8R8A8_UNORM D3D11Texture.
    Mozilla bug:
    Change-Id: Ic2c71b36e7b08560e158fd3dbf10b2fe225f1364

Cherries picked
Merge base

commit d444255a779bba544cf95516b1efc1b0e6cb0a65
Author: Jamie Madill <>
Date:   Tue Feb 27 22:03:47 2018 -0500

    Refactor signal utils into Observer pattern.
    These types were over-generalized. All use cases featured
    arrays of resources attached to single parent resources. The
    channel ID is sufficient to identify the child resource in the
    parent, and having variadic template arguments wasn't necessary.
    Futhermore we can rename these types to use the common Observer
    pattern. This should make them more readable to new developers.
    Also update some classes to inherit from Subject instead of
    having a member Subject. This cleans up the code in a few places.
    This should lead to a simpler refactor to allow dependent dirty
    bits notifications in the Vulkan back-end.
    In the following patch the signal_utils files will be renamed. They
    are not renamed in this patch to ensure git history is preserved.
    Bug: angleproject:2372
    Change-Id: I17a3f2c8d92afd4bb3cba2d378c3a2e8a6d7fb11
    Reviewed-by: Luc Ferron <>
    Reviewed-by: Jamie Madill <>
    Commit-Queue: Jamie Madill <>