Package icyllis.arc3d.engine

# Class SharedResourceCache

java.lang.Object
icyllis.arc3d.engine.SharedResourceCache

@ThreadSafe public class SharedResourceCache extends Object
Thread-safe class to get or create pipeline state objects (PSO) asynchronously.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `SharedResourceCache.Stats`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final SharedResourceCache.Stats`
  `mStats`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SharedResourceCache()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addStaticResource(@SharedPtr Resource resource)`
  `@SharedPtr ComputePipeline`
  `findComputePipeline(IUniqueKey key)`
  `@SharedPtr GraphicsPipeline`
  `findGraphicsPipeline(IUniqueKey key)`
  `final SharedResourceCache.Stats`
  `getStats()`
  `@SharedPtr ComputePipeline`
  `insertComputePipeline(IUniqueKey key, @SharedPtr ComputePipeline pipeline)`
  `@SharedPtr GraphicsPipeline`
  `insertGraphicsPipeline(IUniqueKey key, @SharedPtr GraphicsPipeline pipeline)`
  `void`
  `release()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### mStats

    protected final SharedResourceCache.Stats mStats

- ## Constructor Details

  - ### SharedResourceCache

    public SharedResourceCache()

- ## Method Details

  - ### release

    public void release()

  - ### findGraphicsPipeline

    @Nullable @SharedPtr public @SharedPtr GraphicsPipeline findGraphicsPipeline(@Nonnull IUniqueKey key)

  - ### insertGraphicsPipeline

    @Nonnull @SharedPtr public @SharedPtr GraphicsPipeline insertGraphicsPipeline(@Nonnull IUniqueKey key, @Nonnull @SharedPtr @SharedPtr GraphicsPipeline pipeline)

  - ### findComputePipeline

    @Nullable @SharedPtr public @SharedPtr ComputePipeline findComputePipeline(@Nonnull IUniqueKey key)

  - ### insertComputePipeline

    @Nonnull @SharedPtr public @SharedPtr ComputePipeline insertComputePipeline(@Nonnull IUniqueKey key, @Nonnull @SharedPtr @SharedPtr ComputePipeline pipeline)

  - ### addStaticResource

    public void addStaticResource(@Nonnull @SharedPtr @SharedPtr Resource resource)

  - ### getStats

    public final SharedResourceCache.Stats getStats()