Flutter Engine
The Flutter Engine
|
Ensures that bindings on the pass are not redundantly set or updated. Avoids making the driver do additional checks and makes the frame insights during profiling and instrumentation not complain about the same. More...
#include <pass_bindings_cache_mtl.h>
Public Member Functions | |
PassBindingsCacheMTL () | |
~PassBindingsCacheMTL ()=default | |
PassBindingsCacheMTL (const PassBindingsCacheMTL &)=delete | |
PassBindingsCacheMTL (PassBindingsCacheMTL &&)=delete | |
void | SetEncoder (id< MTLRenderCommandEncoder > encoder) |
void | SetRenderPipelineState (id< MTLRenderPipelineState > pipeline) |
void | SetDepthStencilState (id< MTLDepthStencilState > depth_stencil) |
bool | SetBuffer (ShaderStage stage, uint64_t index, uint64_t offset, id< MTLBuffer > buffer) |
bool | SetTexture (ShaderStage stage, uint64_t index, id< MTLTexture > texture) |
bool | SetSampler (ShaderStage stage, uint64_t index, id< MTLSamplerState > sampler) |
void | SetViewport (const Viewport &viewport) |
void | SetScissor (const IRect &scissor) |
Ensures that bindings on the pass are not redundantly set or updated. Avoids making the driver do additional checks and makes the frame insights during profiling and instrumentation not complain about the same.
There should be no change to rendering if this caching was absent.
Definition at line 24 of file pass_bindings_cache_mtl.h.
|
inlineexplicit |
Definition at line 25 of file pass_bindings_cache_mtl.h.
|
default |
|
delete |
|
delete |
bool impeller::PassBindingsCacheMTL::SetBuffer | ( | ShaderStage | stage, |
uint64_t | index, | ||
uint64_t | offset, | ||
id< MTLBuffer > | buffer | ||
) |
Definition at line 31 of file pass_bindings_cache_mtl.mm.
void impeller::PassBindingsCacheMTL::SetDepthStencilState | ( | id< MTLDepthStencilState > | depth_stencil | ) |
Definition at line 22 of file pass_bindings_cache_mtl.mm.
void impeller::PassBindingsCacheMTL::SetEncoder | ( | id< MTLRenderCommandEncoder > | encoder | ) |
Definition at line 9 of file pass_bindings_cache_mtl.mm.
void impeller::PassBindingsCacheMTL::SetRenderPipelineState | ( | id< MTLRenderPipelineState > | pipeline | ) |
Definition at line 13 of file pass_bindings_cache_mtl.mm.
bool impeller::PassBindingsCacheMTL::SetSampler | ( | ShaderStage | stage, |
uint64_t | index, | ||
id< MTLSamplerState > | sampler | ||
) |
Definition at line 99 of file pass_bindings_cache_mtl.mm.
void impeller::PassBindingsCacheMTL::SetScissor | ( | const IRect & | scissor | ) |
Definition at line 138 of file pass_bindings_cache_mtl.mm.
bool impeller::PassBindingsCacheMTL::SetTexture | ( | ShaderStage | stage, |
uint64_t | index, | ||
id< MTLTexture > | texture | ||
) |
Definition at line 75 of file pass_bindings_cache_mtl.mm.
void impeller::PassBindingsCacheMTL::SetViewport | ( | const Viewport & | viewport | ) |
Definition at line 123 of file pass_bindings_cache_mtl.mm.