| Age | Commit message (Collapse) | Author |
|
Fixes LunarXchange issue #145
|
|
Loader trampoline code may see wrapped objects. Don't do value comparisons
of dispatchable objects but instead compare dispatch tables to find objects.
PhysicalDevice objects where may have multiple gpus with same instance dispatch
will be fixed in a later patch.
|
|
Need loader entrypoints for debug_report extension including the utility
functions. Don't call down the instance chain GPA for this extension.
Remove instance extensions decoding when GPA instance == NULL as don't want
to return extension entrypoints unless they are enabled.
This meant the WSI swapchain instance GPA was no longer used so remove it.
|
|
Cannot reach these points with an invalid instance value.
|
|
Marked validation checks done in the driver with
TODOVV. Once we verify the check is covered in a
validation layer we can remove the driver code.
|
|
|
|
Convert all heap allocs/frees to use loader_heap_alloc() or loader_heap_free().
Before CreateInstance this will use malloc/free. At (and after) CreateInstance
alloc callbacks are stored and used for any allocations.
Exceptions are thirdparty code (cJSON and dirent_on_windows) still always use
malloc/free. Plan to address these in later patch if ti makes sense.
|
|
|
|
This was decided during the August face-to-face. Originally, the WSI
extensions did it the normal OpenGL way (single revision number), and the debug
extensions did it the new major.minor.patch way. When I tried to convert WSI,
an objection was raised. We decided to go with the OpenGL way.
This commit also changes vulkaninfo to report the single revision number.
This commit also changes the extension "number" assigned to the 2 debug
extensions, basd on a "registration" email that Ian Elliott sent to Jon Leech
on 21 August, 2015. The initial set of "registered" extensions are (with their
numbers):
1.VK_EXT_KHR_swapchain
2.VK_EXT_KHR_device_swapchain
3.VK_EXT_KHR_display
4.VK_EXT_KHR_display_swapchain
5.VK_EXT_LUNARG_debug_report
6.VK_EXT_LUNARG_debug_marker
|
|
This was inconsistently defined.
|
|
Origin was set but unused. This allowed tghe loader_extension_property
structure to be reduced down to the VkExtensionProperties.
|
|
Use the Vulkan namespace (VK_ prefix) on DEBUG_REPORT_EXTENSION_NAME
This resolves LunarXchange bug #93.
https://vulkan.lunarg.com/app/issues/55b76ae37ef24d0001000070
|
|
|
|
Implement BreakCallback that an application can use
to set a debugger breakpoint when running on Visual Studio
or gdb for requested debug message flags.
|
|
|
|
|
|
Add host memory allocation functions that the
loader can use. Add comments of where these
allocation calls should go. Need to plumb the
instance pointer to some functions to support this.
|
|
Much of layers and loader updated to work with
final extension and layer mechanism.
Not everything is working here.
|
|
Instead layer stuff can just directly use the activate_layers_list rather
than having an intermediate list.
This simplifies the code and prepares for adding implicit layers directly.
|
|
|
|
Artifact of when layers and ICDs weren't scanned initially.
|
|
|
|
Generate vulkan.def from header, fix use of alloca
|
|
This patch eliminates global variables and accesses
everything through pre-instance or per-device storage.
Have basic template supporting get_my_data_ptr function working.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This patch starts restructuring the various components
(loader, driver, layers, etc.) to support global and
device extensions. Require GetProcAddr to access the
extension functions and related support.
|