skia2/tools/gpu/gl/interface
Chris Dalton 5a2f962313 Add back door support for GLSL tessellation shaders
Implements tessellation support at the Ganesh level, and adds back
door methods for supplying raw GLSL strings directly to the OpenGL
driver. Adds a new gm to verify tessellation is works in GL.

Change-Id: Idfc285b955cbe5e8e6bf0475be8b518b0cc6ed2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261196
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-27 22:34:10 +00:00
..
gen_interface.go Reland "Get EGLimage functions out of GrGLInterface." 2019-05-15 19:58:45 +00:00
interface.json5 Add back door support for GLSL tessellation shaders 2019-12-27 22:34:10 +00:00
Makefile Reland "Generate GrGLInterface and GrGlAssembleInterface* from table" 2019-03-26 10:55:00 +00:00
README.md Reland "Generate GrGLInterface and GrGlAssembleInterface* from table" 2019-03-26 10:55:00 +00:00
templates.go Turn off -Wreturn-std-move-in-c++11 2019-08-15 17:45:58 +00:00

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.