This sample driver implementation provide multiple subcomponents required to build and test an Installable Client Driver (ICD):
common/ provides helper and utility functions, as well as all XGL entry points except xglInitAndEnumerateGpus. Hardware drivers are required to provide that function, and to embed a "XGL_LAYER_DISPATCH_TABLE *" as the first member of XGL_PHYSICAL_GPU and all XGL_BASE_OBJECT.
Thread safety
We have these static variables
They require that there is no other thread calling the ICD when these functions are called