Class RenderTargetProxy

All Implemented Interfaces:
RefCounted

@VisibleForTesting public final class RenderTargetProxy extends SurfaceProxy
Deferred, lazy-callback or wrapped a render target.
  • Method Details

    • deallocate

      protected void deallocate()
      Description copied from class: RefCnt
      Override this method to invoke de-allocation of the underlying resource.
      Specified by:
      deallocate in class RefCnt
    • isLazy

      public boolean isLazy()
      Description copied from class: SurfaceProxy
      Returns true if the surface has a lazy callback and not instantiated.
      Specified by:
      isLazy in class SurfaceProxy
    • getBackingWidth

      public int getBackingWidth()
      Description copied from class: SurfaceProxy
      Returns the physical width of the backing surface. The result is undefined if SurfaceProxy.isLazyMost() returns true.
      Specified by:
      getBackingWidth in class SurfaceProxy
      Returns:
      the width of the backing store
    • getBackingHeight

      public int getBackingHeight()
      Description copied from class: SurfaceProxy
      Returns the physical height of the backing surface. The result is undefined if SurfaceProxy.isLazyMost() returns true.
      Specified by:
      getBackingHeight in class SurfaceProxy
      Returns:
      the height of the backing store
    • getSampleCount

      public int getSampleCount()
      Description copied from class: SurfaceProxy
      Returns the number of samples per pixel in color buffers (one if non-MSAA). If this surface it non-renderable, this method always returns one.
      Specified by:
      getSampleCount in class SurfaceProxy
      Returns:
      the number of samples, greater than (multisample) or equal to one
    • setResolveRect

      public void setResolveRect(int left, int top, int right, int bottom)
    • needsResolve

      public boolean needsResolve()
    • getResolveRect

      public Rect2ic getResolveRect()
    • getBackingUniqueID

      public UniqueID getBackingUniqueID()
      Specified by:
      getBackingUniqueID in class SurfaceProxy
    • isInstantiated

      public boolean isInstantiated()
      Description copied from class: SurfaceProxy
      Returns true if the backing store is instantiated.
      Specified by:
      isInstantiated in class SurfaceProxy
    • instantiate

      public boolean instantiate(ResourceProvider resourceProvider)
      Description copied from class: SurfaceProxy
      Instantiates the backing store, if necessary.
      Specified by:
      instantiate in class SurfaceProxy
      Parameters:
      resourceProvider - the resource provider to create textures
      Returns:
      success or not
    • clear

      public void clear()
      Description copied from class: SurfaceProxy
      De-instantiate. Called after instantiated.
      Specified by:
      clear in class SurfaceProxy
    • shouldSkipAllocator

      public boolean shouldSkipAllocator()
      Description copied from class: SurfaceProxy
      Proxies that are already instantiated and whose backing texture cannot be recycled to instantiate other proxies do not need to be considered by SurfaceAllocator.
      Specified by:
      shouldSkipAllocator in class SurfaceProxy
    • isBackingWrapped

      public boolean isBackingWrapped()
      Description copied from class: SurfaceProxy
      Returns whether the backing store references the wrapped object. Always false if not instantiated.
      Specified by:
      isBackingWrapped in class SurfaceProxy
    • getGpuSurface

      @Nullable public GpuSurface getGpuSurface()
      Specified by:
      getGpuSurface in class SurfaceProxy
    • getGpuImage

      @Nullable public Image getGpuImage()
      Description copied from class: SurfaceProxy
      If this is a texturable surface and the surface is already instantiated, return its backing Image; if not, return null.
      Overrides:
      getGpuImage in class SurfaceProxy
    • getGpuRenderTarget

      @Nullable public GpuRenderTarget getGpuRenderTarget()
      Description copied from class: SurfaceProxy
      If this is a renderable surface and the surface is already instantiated, return its backing GpuRenderTarget; if not, return null.
      Overrides:
      getGpuRenderTarget in class SurfaceProxy
    • asImageProxy

      public ImageViewProxy asImageProxy()
      Overrides:
      asImageProxy in class SurfaceProxy
      Returns:
      the texture proxy associated with the surface proxy, may be NULL.
    • asRenderTargetProxy

      public RenderTargetProxy asRenderTargetProxy()
      Overrides:
      asRenderTargetProxy in class SurfaceProxy
      Returns:
      the render target proxy associated with the surface proxy, may be NULL.
    • doLazyInstantiation

      public boolean doLazyInstantiation(ResourceProvider resourceProvider)
      Specified by:
      doLazyInstantiation in class SurfaceProxy