diff --git a/engine/src/flutter/impeller/base/README.md b/engine/src/flutter/impeller/base/README.md new file mode 100644 index 00000000000..16aa5184f3d --- /dev/null +++ b/engine/src/flutter/impeller/base/README.md @@ -0,0 +1,4 @@ +# The Impeller Base Library +--------------------------- + +Contains a number of utilities that should probably go in the base library in the buildroot but whose use is not extensive enough to warrant a move yet. diff --git a/engine/src/flutter/impeller/compiler/README.md b/engine/src/flutter/impeller/compiler/README.md new file mode 100644 index 00000000000..de117bac8c4 --- /dev/null +++ b/engine/src/flutter/impeller/compiler/README.md @@ -0,0 +1,4 @@ +# The Impeller Shader Compiler & Reflector +------------------------------------------ + +Host side tooling that consumes [GLSL 4.60 (Core Profile)](https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.pdf) shaders and generates libraries suitable for consumption by an Impeller backend. Along with said libraries, the reflector generates code and meta-data to construct rendering and compute pipelines at runtime. diff --git a/engine/src/flutter/impeller/compositor/render_pass.mm b/engine/src/flutter/impeller/compositor/render_pass.mm index 6cb6e587637..2aeb1e6a2ab 100644 --- a/engine/src/flutter/impeller/compositor/render_pass.mm +++ b/engine/src/flutter/impeller/compositor/render_pass.mm @@ -380,6 +380,7 @@ bool RenderPass::EncodeCommands(Allocator& allocator, } FML_DCHECK(command.index_count * sizeof(uint32_t) == command.index_buffer.range.length); + // Returns void. All error checking must be done by this point. [pass drawIndexedPrimitives:ToMTLPrimitiveType(command.primitive_type) indexCount:command.index_count indexType:MTLIndexTypeUInt32 diff --git a/engine/src/flutter/impeller/fixtures/README.md b/engine/src/flutter/impeller/fixtures/README.md new file mode 100644 index 00000000000..de960be9cb2 --- /dev/null +++ b/engine/src/flutter/impeller/fixtures/README.md @@ -0,0 +1,4 @@ +# The Impeller Fixtures Set +--------------------------- + +Unlike other targets in the buildroot, all Impeller unit-tests use the same fixture set and are invoked using a single test harness (`impeller_unittest`). This is for convenience but also to make working with shader libraries easier. diff --git a/engine/src/flutter/impeller/geometry/README.md b/engine/src/flutter/impeller/geometry/README.md new file mode 100644 index 00000000000..b14384fac0a --- /dev/null +++ b/engine/src/flutter/impeller/geometry/README.md @@ -0,0 +1,4 @@ +# The Impeller Geometry Library +------------------------------- + +Set of utilities used by most graphics operations. While the utilities themselves are rendering backend agnostic, the layout and packing of the various POD structs is arranged such that these can be copied into device memory directly. The supported operations also mimic GLSL to some extent. For this reason, the Impeller shader compiler and reflector uses these utilities in generated code. diff --git a/engine/src/flutter/impeller/image/README.md b/engine/src/flutter/impeller/image/README.md new file mode 100644 index 00000000000..8745eb6f47f --- /dev/null +++ b/engine/src/flutter/impeller/image/README.md @@ -0,0 +1,4 @@ +The Impeller Image Library +-------------------------- + +Set of utilities for working with texture information. The library is indepenent of the rendering subsystem. diff --git a/engine/src/flutter/impeller/playground/README.md b/engine/src/flutter/impeller/playground/README.md new file mode 100644 index 00000000000..2e93f644a33 --- /dev/null +++ b/engine/src/flutter/impeller/playground/README.md @@ -0,0 +1,4 @@ +The Impeller Playground +----------------------- + +An extension of the testing fixtures set, provides utilities for interactive experimentation with the Impeller rendering subsystem. One the test author is satisfied with the behavior of component as verified in the playground, pixel test assertions can be added to before committing the new test case. Meant to provide a gentle-er on-ramp to testing Impeller components. The WSI in the playground allows for points at which third-party profiling and instrumentation tools can be used to examine isolated test cases.