||Create a render target around the default FBO, for rendering straight to
||Interface for pools of temporary gl textures for the compositor.
The textures are fully owned by the pool, so the latter is responsible
calling fDeleteTextures accordingly.
Users of GetTexture receive a texture that is only valid for the duration
of the current frame.
This is primarily intended for direct texturing APIs that need to attach
shared objects (such as an EGLImage) to a gl texture.
||Copy a rectangle from one TextureImage into another. The
source and destination are given in integer coordinates, and
will be converted to texture coordinates.
For the source texture, the wrap modes DO apply -- it's valid
to use REPEAT or PAD and expect appropriate behaviour if the source
rectangle extends beyond its bounds.
For the destination texture, the wrap modes DO NOT apply -- the
destination will be clipped by the bounds of the texture.
Note: calling this function will cause the following OpenGL state
to be changed:
- current program
- framebuffer binding
- blend state (will be enabled at end)
- scissor state (will be enabled at end)
- vertex attrib 0 and 1 (pointer and enable state [enable state will
be disabled at exit])
- array buffer binding (will be 0)
- active texture (will be 0)
- texture 0 binding
||A TextureHost for shared MacIOSurface
Most of the logic actually happens in MacIOSurfaceTextureSourceOGL.
||This struct represents the shaders that make up a program and the uniform
and attribute parmeters that those shaders take.
It is used by ShaderProgramOGL.
Use the factory method GetProfileFor to create instances.
||do not ignore transform
||TextureHost implementations for the OpenGL backend.
Note that it is important to be careful about the ownership model with
the OpenGL backend, due to some widget limitation on Linux: before
the nsBaseWidget associated with our OpenGL context has been completely
deleted, every resource belonging to the OpenGL context MUST have been
released. At the moment the teardown sequence happens in the middle of
the nsBaseWidget's destructor, meaning that at a given moment we must be
able to easily find and release all the GL resources.
The point is: be careful about the ownership model and limit the number
of objects sharing references to GL resources to make the tear down
sequence as simple as possible.
||A TextureHost for shared class WaylandDMABufSurface;