summaryrefslogtreecommitdiff
path: root/opengl/tests/gl_basic/gl_basic.cpp
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2015-12-11 16:28:44 -0800
committerJesse Hall <jessehall@google.com>2016-01-25 13:49:31 -0800
commit1f91d390ac013ea2514a67e12ddb083119d636d7 (patch)
tree757883a90b269c319f76fa6bf28818ef4995a3ff /opengl/tests/gl_basic/gl_basic.cpp
parent21597661b5cabc73f8d14bd0091eea7bddafdcbe (diff)
vulkan: Implement new vkGet*ProcAddrBehavior
The primary goal of this change is to switch to the revised GPA behavior: - GIPA(NULL, ..) only works for non-dispatched (global) commands - GIPA(instance, ..) returns functions for commands that dispatch on any object type, and the function works for any object of the appropriate type if it is a child of the instance. - GDPA(NULL, ..) returns NULL. - GDPA(device, ..) returns a device-specific function for the command. This change refactors/tidies many of the things it modified. Some notable changes: - All the loader generated code is now in dispatch.tmpl -> dispatch_gen.{h,cpp}, instead of two separate templates. - Reorganization allowed generating the dispatch table structures, eliminating one source of frequent bugs. - Removes some error-prone macro duplication. - Handling of extensions and special loader functions is now much more uniform and hopefully clearer. - Loader top- and bottom-level functions are now consistently named with _Top and _Bottom suffixes, and are grouped by level in loader.cpp. - The VkInstance and VkDevice implementations are no longer derived from ::VkInstance_T and ::VkDevice_T. Was more trouble than it was worth. - Renamed 'vtbl' to 'dispatch' in most places. - Renamed nulldrv template and generated files to match the loader naming pattern: null_driver.tmpl -> null_driver_gen.{h,cpp} - Now all the entry point prototypes are generated, instead of having to be updated by hand (another source of several bugs). Change-Id: Ic263f802d0d523b18a0f00420b3a722aa04ce299 (cherry picked from commit 3cffb8e837222f413a1fe53522e2cc33366b8eeb)
Diffstat (limited to 'opengl/tests/gl_basic/gl_basic.cpp')
0 files changed, 0 insertions, 0 deletions