| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Add mutual exclusion behavior to threading layer after reporting collisions.
This will allow applications to continue beyond first threading error.
It can't help reentrant calls.
|
|
Without this change, on a Windows Release build, mhook is unable to hook the entrypoint functions.
|
|
New names and behavior for QueueBind* APIs.
|
|
|
|
|
|
Adding this entrypoint as this has been discussed in khronos and is needed
for the loader/layer/extension proposal.
Caveats:
1) Have not updated layers or any tests/demos yet that will come later;
2) No one including loader is using this call yet;
3) Leaving exisitng vkGetProcAddr() as is for now; later once loader
is using vkGetInstanceProcAddr call can switch vkGetProcAddr() to
vkGetDeviceProcAddr()
|
|
|
|
|
|
Also fix the GPA for non pass through cases
|
|
|
|
Loader is a reference component. Intel driver is a sample component. Loader
should not be sharing files with driver. This is a first step in that direction.
Also loader has special cases that are not in driver or layers. So it simplifies
their scripts not to have loader baggage in them.
|
|
|
|
|
|
Fixes issue when driver doesn't implement an entrypoint of recursing
and unwrapping gpu object too many times.
|
|
Also add GetGlobalExtensionInfo to layer .def file
|
|
|
|
|
|
|
|
The upstream vulkan.h header removed maxLayerCount parameter
from vkEnumerateLayers. This patch implements that change
for the sample driver and layers.
|
|
|
|
|
|
Switch from VK_WSI_X11 to VK_WSI_LunarG
v2:
- split out glave changes
- redo mem_tracker changes
- rebase
Conflicts:
demos/cube.c
demos/tri.c
v3 (from Ian):
- Put "#if 0" around non-upstream members of VkDisplayPropertiesWSI.
|
|
loader_gpa_internal() needs VKAPI.
|
|
|
|
Conflicts:
loader/loader.h
|
|
|
|
|
|
Specifically support the "Validation" group for activating any layer
which supports that name.
|
|
|
|
Add case of handling null gpu object for global functions.
For device specifc functions use the dispatch table or the loader entrypoints
depending on if the trampoline code can be skipped or not.
Conflicts:
loader/CMakeLists.txt
vk-generate.py
v2: undo accidental rename of LayerInterceptProcSubcommand
fix WinDefFileSubcommand due to rebase (olv)
|
|
have loader use it to enumerate all extensions from layers and drivers.
Non-gode_gen layers also updated to include vkGetGlobalExtensionInfo
Includes verion info as part of GetExtensionSupport return data.
TODO: vk-layer-generate needs work
v2: do not check for non-existing ENABLE_WSI_X11 (olv)
|
|
Loader only wraps GPU objects for creating a layer chain. After layer activation
layers and loader use unwrapped gpu object returned by the driver.
This is a large simplification.
This fixes a nasty bug where layers intercepting entrypoints with gpu objects
but not all these entrypoints would fail. These would cause non-uniform
unwrapping of gpu objects by the time the driver was called with a gpu object.
Fixes issue in loader_get_icd where it was trying to compare a wrapped GPU
against a non-wrapped GPU.
|
|
Allows layers to intercept GetExtensionSupport()
|
|
|
|
Renamed structure types as well.
TODO: verify vk-layer-generate.py
v2: fix LoaderEntrypointsSubcommand (olv)
|
|
|
|
TODO: verify vk-layer-generate.py
TODO: need to rename object tracker generator
v2: fix "python3 vulkan.py"
fix dead cod in tri introduced by rebase
beautify wsi_null.c (olv)
|
|
|
|
VK_DEVICE_QUEUE_CREATE_INFO => VkDeviceQueueCreateInfo
VK_DEVICE_CREATE_INFO => VkDeviceCreateInfo
VK_INSTANCE_CREATE_INFO => VkInstanceCreateInfo
VK_LAYER_CREATE_INFO => VkLayerCreateInfo
VK_MEMORY_ALLOC_INFO => VkMemoryAllocInfo
VK_MEMORY_ALLOC_IMAGE_INFO => VkMemoryAllocImageInfo
VK_MEMORY_ALLOC_BUFFER_INFO => VkMemoryAllocBufferInfo
VK_BUFFER_CREATE_INFO => VkBufferCreateInfo
VK_BUFFER_VIEW_CREATE_INFO => VkBufferViewCreateInfo
|
|
|
|
TODO: re-enable glave build, advance API for glave
v2: get rid of outdated code in tri introduced by rebase
rename wsi_null.c (olv)
|
|
Allows extnesion or layer enablement at CreateInstance
Khronos Bug 13637
|
|
Update loader so that it extensions and layers work in same
basic fashion. That is, application can query for extension/layer
support by calling GetExtensionSupport. The loader will then query
the available drivers AND layers for that support. Likewise,
when the application does CreateDevice the list of "extensions"
can be both layers and extensions and the loader will figure out
the right thing to do.
Conflicts:
loader/loader.c
xgl-generate.py
|
|
DbgRegisterMsgCallback, DbgUnregisterMsgCallback, DbgSetGlobalOption were all
making these calls for all instances rather than just instance passed in as
parameter.
|
|
Add XGL_INSTANCE as the first parameter of xglDbgRegisterMsgCallback(),
xglDbgUnregisterMsgCallback(), and xglDbgSetGlobalOption().
The loader is simplified. loader_log() is modified to always output to
stderr.
glave is modified to register its message callback after xglEnumerateGpus(),
and xglDbgUnregisterMsgCallback() is called only before xglDestroyInstance().
XGL_INSTANCE is ignored by the layers and the driver for now.
Bump up API version to XGL_MAKE_VERSION(0, 56, 1).
|
|
|
|
Add helpers to loader.h to improve readability of LoaderEntrypointsSubcommand.
|
|
It replaces xgl-win-def-file-generate.py and is able to generate loader's
XGL.def.
|