tree: e95f85f46822dba786fcd4ee3ed9e3991523d3bf [path history] [tgz]
  1. BUILD.bazel
  2. gen_interface.go
  3. interface.json5
  4. Makefile
  5. README.md
  6. templates.go
tools/gpu/gl/interface/README.md

GrGlInterface Autogeneration

Background

At a high level, the first three steps of making a GrGLInterface (a generic way to interact with a GL-like GPU) are:

  • Assemble: Copy a set of function pointers into the struct
  • Validate: Make sure the function pointers advertised actually exist.
  • Capabilities: Compute what fast/slow paths are enabled based on the functions in the struct (GrGLCaps, for short)

Autogeneration

The first two steps have been automated with a table-based generation script located in this folder. The table is in JSON5 format (like JSON, but with comments). O

Once edited, the Assemble/Validate code can be re-generated by running make generate in this folder.