author John Lin <>
Mon, 26 Nov 2018 19:41:31 +0000
changeset 504530 9c2834ca8823472c042a7c9bf10e06fadc5ee692
parent 404898 b50714bd8d10c68b5e9fb7e84bd744f0dd3da230
child 504911 4a3f88e3629875813584f135f9e250b82eb4aa48
permissions -rw-r--r--
Bug 1486659 - p3: copy texture contents for remote allocated Surface. r=snorp Child processes cannot access textures allocated in the parent process, which is needed by the compositor to render video elements efficiently. Unfortunately, Android doesn't expose Sufrace buffers (sharable across processes) in the SDK/NDK as other platforms, so we need to generate extra texture/surface in the child process and update texture images through the surface, which is passed to the parent process for the remote texture to copy its contents into. Differential Revision:

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at */

package org.mozilla.gecko.gfx;

import org.mozilla.gecko.gfx.GeckoSurface;
import org.mozilla.gecko.gfx.SyncConfig;

interface ISurfaceAllocator {
    GeckoSurface acquireSurface(in int width, in int height, in boolean singleBufferMode);
    void releaseSurface(in int handle);
    void configureSync(in SyncConfig config);
    void sync(in int handle);