gecko-dev/gfx/webrender_bindings
Narcis Beleuzu ce6ad351e2 Backed out changeset 12736f9bf7b5 (bug 1741784) for compositor leakchecks. CLOSED TREE 2021-11-18 18:07:09 +02:00
..
src Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,firefox-build-system-reviewers,mhentges 2021-11-16 08:07:30 +00:00
Cargo.toml
DCLayerTree.cpp
DCLayerTree.h
Moz2DImageRenderer.cpp
README.webrender
RenderAndroidHardwareBufferTextureHost.cpp
RenderAndroidHardwareBufferTextureHost.h
RenderAndroidSurfaceTextureHost.cpp
RenderAndroidSurfaceTextureHost.h
RenderBufferTextureHost.cpp
RenderBufferTextureHost.h
RenderCompositor.cpp
RenderCompositor.h
RenderCompositorANGLE.cpp Backed out changeset 413c914dd84b (bug 1740675) for causing geckoview failures. 2021-11-17 04:50:58 +02:00
RenderCompositorANGLE.h Backed out changeset 413c914dd84b (bug 1740675) for causing geckoview failures. 2021-11-17 04:50:58 +02:00
RenderCompositorD3D11SWGL.cpp Bug 1730055 - Remove some unused Compositor API. r=gfx-reviewers,lsalzman 2021-09-22 05:27:20 +00:00
RenderCompositorD3D11SWGL.h
RenderCompositorEGL.cpp Backed out changeset 413c914dd84b (bug 1740675) for causing geckoview failures. 2021-11-17 04:50:58 +02:00
RenderCompositorEGL.h Backed out changeset 413c914dd84b (bug 1740675) for causing geckoview failures. 2021-11-17 04:50:58 +02:00
RenderCompositorLayersSWGL.cpp
RenderCompositorLayersSWGL.h
RenderCompositorNative.cpp Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova 2021-11-08 23:59:35 +00:00
RenderCompositorNative.h
RenderCompositorOGL.cpp
RenderCompositorOGL.h
RenderCompositorOGLSWGL.cpp Bug 1730055 - Remove some unused Compositor API. r=gfx-reviewers,lsalzman 2021-09-22 05:27:20 +00:00
RenderCompositorOGLSWGL.h
RenderCompositorRecordedFrame.h
RenderCompositorSWGL.cpp
RenderCompositorSWGL.h
RenderD3D11TextureHost.cpp
RenderD3D11TextureHost.h
RenderDMABUFTextureHost.cpp
RenderDMABUFTextureHost.h
RenderEGLImageTextureHost.cpp
RenderEGLImageTextureHost.h
RenderExternalTextureHost.cpp
RenderExternalTextureHost.h
RenderMacIOSurfaceTextureHost.cpp
RenderMacIOSurfaceTextureHost.h
RenderSharedSurfaceTextureHost.cpp
RenderSharedSurfaceTextureHost.h
RenderTextureHost.cpp
RenderTextureHost.h
RenderTextureHostSWGL.cpp
RenderTextureHostSWGL.h
RenderTextureHostWrapper.cpp
RenderTextureHostWrapper.h
RenderThread.cpp Backed out changeset 12736f9bf7b5 (bug 1741784) for compositor leakchecks. CLOSED TREE 2021-11-18 18:07:09 +02:00
RenderThread.h Bug 1739553 - Use wr::ExternalImageId in more places r=gfx-reviewers,bradwerth 2021-11-07 07:26:45 +00:00
RendererOGL.cpp Backed out changeset 413c914dd84b (bug 1740675) for causing geckoview failures. 2021-11-17 04:50:58 +02:00
RendererOGL.h
RendererScreenshotGrabber.cpp
RendererScreenshotGrabber.h
WebRenderAPI.cpp Bug 1737648 - Don't batch uploads for items larger than a certain size. r=gfx-reviewers,bradwerth 2021-11-03 16:42:42 +00:00
WebRenderAPI.h Bug 1737648 - Don't batch uploads for items larger than a certain size. r=gfx-reviewers,bradwerth 2021-11-03 16:42:42 +00:00
WebRenderTypes.cpp
WebRenderTypes.h Bug 1519636 - First reformat with clang-format 13.0.0. r=firefox-build-system-reviewers,sylvestre,mhentges 2021-11-16 08:07:30 +00:00
cbindgen.toml
moz.build
rustfmt.toml
webrender_ffi.h Bug 1733335 - Convert the webrender profiler code to use the new API r=mattwoodrow 2021-10-11 07:59:10 +00:00

README.webrender

To build and run WebRender in Gecko:
1. Install Rust if you don't have it already
   If you are doing gecko builds already, you should already have Rust as it is a build requirement.
   If not, you can install it using |mach bootstrap| (recommended) or from https://www.rust-lang.org/
       Note: If installing manually, use the stable 64-bit release - on Windows make sure to use the MSVC ABI installer.
   Ensure that rustc and cargo are in your $PATH (adding $HOME/.cargo/bin/ should be sufficient)
2. Build using |mach build|.
   You don't need anything special in your mozconfig for local builds; webrender will be built by default.
3. Run with |MOZ_WEBRENDER=1| in your environment. e.g. |MOZ_WEBRENDER=1 ./mach run|.
   Alternatively, you can set the gfx.webrender.enabled pref to true (browser restart required).
   Note that on Linux, acceleration is disabled by default and it needs to be enabled for WebRender to work.
   On Linux you can enable acceleration by putting |MOZ_ACCELERATED=1| in your environment, or setting layers.acceleration.force-enabled to true in about:config.
4. Verify WebRender is enabled. You can do this by going to about:support and checking the "Compositing" line in the Graphics section. It should say "WebRender".
   There should also be a WebRender section under "Decision Log" in about:support, which will provide some more detail on what caused it to be enabled/disabled.

When making changes:
    - Make the changes you want.
    - Run |mach build| or |mach build binaries| as desired.

For a debug webrender build:
    Use a debug mozconfig (ac_add_options --enable-debug)
    You can also use an opt build but make webrender less optimized by putting opt-level=0 in the [profile.release] section of your toolkit/library/rust/Cargo.toml file
    See also https://groups.google.com/forum/#!topic/mozilla.dev.servo/MbeMcqqO1fs