| Jens Owen | 0026678 | 2014-12-18 07:08:39 -0700 | [diff] [blame] | 1 | This sample driver implementation provide multiple subcomponents required to build and test an Installable Client Driver (ICD): | 
 | 2 | - [Common Infrastructure](common) | 
 | 3 | - [Implementation for Intel GPUs](intel) | 
| David Pinedo | 0257fbf | 2015-02-02 18:02:40 -0700 | [diff] [blame] | 4 | - [Null driver](nulldrv) | 
| Jens Owen | 0026678 | 2014-12-18 07:08:39 -0700 | [diff] [blame] | 5 | - [*Sample Driver Tests*](../tests) | 
| Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 6 |     - Now includes Golden images to verify vk_render_tests rendering. | 
| Jens Owen | 0026678 | 2014-12-18 07:08:39 -0700 | [diff] [blame] | 7 |  | 
| Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 8 | common/ provides helper and utility functions, as well as all VK entry points | 
 | 9 | except vkInitAndEnumerateGpus.  Hardware drivers are required to provide that | 
| Jon Ashburn | 301c5f0 | 2015-04-06 10:58:22 -0600 | [diff] [blame] | 10 | function, and to embed a "VkLayerDispatchTable *" as the first member of | 
| Courtney Goeltzenleuchter | 382489d | 2015-04-10 08:34:15 -0600 | [diff] [blame] | 11 | VkPhysicalGpu and all VkBaseObject. | 
| Chia-I Wu | 1f44045 | 2014-08-06 12:46:51 +0800 | [diff] [blame] | 12 |  | 
 | 13 | Thread safety | 
 | 14 |  | 
 | 15 |  We have these static variables | 
 | 16 |  | 
 | 17 |   - common/icd.c:static struct icd icd; | 
 | 18 |   - intel/gpu.c:static struct intel_gpu *intel_gpus; | 
 | 19 |  | 
 | 20 |  They require that there is no other thread calling the ICD when these | 
 | 21 |  functions are called | 
 | 22 |  | 
| Courtney Goeltzenleuchter | 9cc421e | 2015-04-08 15:36:08 -0600 | [diff] [blame] | 23 |   - vkInitAndEnumerateGpus | 
 | 24 |   - vkDbgRegisterMsgCallback | 
 | 25 |   - vkDbgUnregisterMsgCallback | 
 | 26 |   - vkDbgSetGlobalOption |