Commit Graph

75 Commits

Author SHA1 Message Date
Charles Giessen
0f897d9f5a loader: Make trampolineGetProcAddr snake_case 2021-09-09 11:28:56 -06:00
Charles Giessen
370b46d963 loader: Add gpa_helper.c
Make gpa_helper.h not contain function definitions, moving them into the
appropriate header file.
2021-09-09 11:28:56 -06:00
Charles Giessen
7d46bb6db9 loader: Update Copyright for 2021 2021-09-09 11:28:56 -06:00
Charles Giessen
17624a2df6 loader: Use #pragma once everywhere
The #pragma once include guard is sufficiently widespread enough to allow
usage of it everywhere.
2021-09-09 11:28:56 -06:00
Ricardo Garcia
bb74deab0a Allow vkGetInstanceProcAddr to resolve itself with no instance
Fixes #365
2020-04-02 10:18:53 -06:00
Lenny Komow
b932cf53f7 loader: Add core 1.2 functions to gpa_helper
Change-Id: Ida875db5067265d67ddeae2843d5cf6a258c2693
2020-02-04 16:14:05 -07:00
John Anthony
4e4c9f2408 loader: Handle vkGetDeviceQueue2 correctly
Change-Id: I15f7677d5c6d8b4f0ff62bb7d371d173d58ae5f4
2018-10-24 12:23:59 -06:00
Lenny Komow
175e66b7e8 loader: Add missing entry point to gpa helper
Resolves an issue where vkGetBufferMemoryRequirements2 was not present
in gpa helper, which caused problems when calling GetProcAddr

Change-Id: I40933ec5adba54b09b88200d46b307150bb52d9d
2018-08-21 12:06:12 -06:00
Józef Kucia
8cd85def44 loader: Remove function pointer casts 2018-06-12 15:56:06 -06:00
Józef Kucia
1bd294a1dd loader: Fix up missing 1.1 function exports 2018-06-07 09:57:51 -06:00
Lenny Komow
fe04f9e463 loader: Fix up missing 1.1 function exports 2018-03-27 15:28:30 -06:00
Mark Young
e3e9b56d9e Implement initial VK_EXT_debug_utils changes
This affects the loader, scripts, and layers and introduces the
changes to support the VK_EXT_debug_utils extension.

Change-Id: Ia5336f63e85b00f1e59416c06aacd4ae331fd692
2018-03-09 13:54:31 -07:00
Lenny Komow
9bc2adc608 loader: Update vkEnumerateInstanceVersion for 1.1 2018-03-09 13:54:31 -07:00
Lenny Komow
da9d9f0d1b loader: Add new core 1.1 entry points 2018-03-09 13:54:31 -07:00
Mark Young
d4e5ba49ff vulkan: update to header 1.0.42
Updated all necessary files to 1.0.42.  This includes the various
headers as well as the loader, and the parameter validation, object
tracking, and threading layers.  Additionally, bump all layer JSON
files to 1.0.42.

Also, in this change:
  - Enable loader extension automation so that the loader now
    generates all extension entry-points automatically during build
    to reduce likelihood of missing a critical piece on header
    update.
  - Enable layer dispatch table extension automation for the same
    reason.
  - Fixes from Mark Lobodzinski and Tony Barbour to resolve crash
    in loader when working with Intel's Windows driver due to
    GetInstanceProcAddr getting called on inappropriate command
    names.

Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
2017-03-01 08:20:22 -07:00
Mark Lobodzinski
e2859eb393 repo: Clang-format LVL source files using Google
Switch clang-format standard from the LLVM style to the
Google style for more consistency.

Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
2017-01-26 15:45:51 -07:00
Mark Lobodzinski
91c1075ee7 repo: Clang-format c/cpp/h LVL files using LLVM
Bring all source files in the repo up to date with consistent
coding style/standard.

Change-Id: Iceedbc17109974d3a0437fc4995441c9ad7e0c23
2017-01-26 13:42:36 -07:00
Mark Young
274e4bcf33 loader: Update the loader to 1.0.39
Add new extensions for 1.0.39.  Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
 - VK_KHR_get_physical_device_properties2
 - VK_KHR_shader_draw_parameters
 - VK_EXT_direct_mode_display
 - VK_EXT_display_surface_counter
 - VK_EXT_display_control

Also, redo the LoaderAndLayerIf document.

Change-Id: I10412086da7a798afe832a3892e18f606259b5af
2017-01-24 14:07:22 -07:00
Mark Lobodzinski
f739d1d832 loader: Add support for NV instance extension
Added vkGetPhysicalDeviceExternalImageFormat API from the
VK_NV_external_memory_capabilities extension to the loader.

Change-Id: Ib87df7bae333d7944a4e181556bc2f99e1e19416
2016-08-31 13:27:14 -06:00
Jon Ashburn
4f80d6749d misc: Update licenses to Apache 2.0
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
2016-04-19 12:11:25 -06:00
Karl Schultz
87e1cfe8c9 Remove Khronos confidential clause from license text. 2016-02-10 13:24:39 -07:00
Jon Ashburn
1c75aec41d loader:Update copyright and apply clang-format (no logic changes) 2016-02-03 09:00:31 -07:00
Ian Elliott
54cea23840 loader: Started porting loader to new WSI (GIPA missing). 2015-12-01 10:18:23 -07:00
Jon Ashburn
6cb69f40c2 loader: Add dynamic dispatch for unknown device extension entrypoints
GetInstancePorcAddr() is specified to return trampoline entrypoints for all
Vulkan core and extension entrypoints that are dispatched on an instance object
or a child of that instance object. However, typically, device extensions would
be unknown to the loader (don't want to rev the loader everytime an IHV creates
a new device extension).

This patch allows loader to dynamically discover device extension entrypoints
and configure generic trampoline code for these discovered device extensions.
2015-11-18 17:05:38 -07:00
Jon Ashburn
3708e79bdf loader: Convert GetInstanceProcAddr and GetDeviceProcAddr over to new semantics
As per Vulkan bug 13288. Still need to handle device extensions correctly.
2015-11-06 13:06:37 -07:00
Courtney Goeltzenleuchter
b9ce395e1e misc: Update author information
Author information was added to any file
with the standard license text.
Authors were added that added/changed >= 3%
of the lines of a file.
2015-11-04 13:15:18 -07:00
Courtney Goeltzenleuchter
20f29b1d2a misc: switch copyright to Valve 2015-11-04 13:15:18 -07:00
Courtney Goeltzenleuchter
650e9018eb misc: Remove Vulkan name from Copyright 2015-11-04 13:15:18 -07:00
Chia-I Wu
0cb15bd38a bug 14608: VkShaderModule object lifetime (WIP)
Remove VkShader.  We add a simple cache to intel_shader_module in place of
intel_shader.

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14608
2015-11-03 15:19:07 -07:00
Chia-I Wu
227c8b370a bug 14921 part 1: sed renames
Workaround header bug (ALLOC_INFO vs AllocateInfo) in vk_helper.py. This
affects the debug extensions as well.

s/NONDISP/NON_DISPATCHABLE/g
s/CmdBuffer/CommandBuffer/g
s/cmdBuffer/commandBuffer/g
s/CMD_BUFFER/COMMAND_BUFFER/g
s/AllocMemory/AllocateMemory/g
s/AllocDescriptorSets/AllocateDescriptorSets/g
s/AllocCommandBuffers/AllocateCommandBuffers/g
s/VkAllocCallbacks/VkAllocationCallbacks/g
s/VkSystemAllocScope/VkSystemAllocationScope/g
s/allocScope/allocationScope/g
s/allocType/allocationType/g
s/pfnAlloc\b/pfnAllocation/g
s/pfnRealloc\b/pfnReallocation/g
s/VK_SYSTEM_ALLOC_/VK_SYSTEM_ALLOCATION_/g
s/extName/extensionName/g
s/implVersion/implementationVersion/g
s/pAppInfo/pApplicationInfo/g
s/pMem\b/pMemory/g
s/VkMemoryAllocInfo/VkMemoryAllocateInfo/g
s/VkDescriptorSetAllocInfo/VkDescriptorSetAllocateInfo/g
s/CmdPool/CommandPool/g
s/cmdPool/commandPool/g
s/CMD_POOL/COMMAND_POOL/g
s/VkCommandBufferAllocInfo/VkCommandBufferAllocateInfo/g
s/maxTessellationGenLevel/maxTessellationGenerationLevel/g
s/maxFragmentDualSourceAttachments/maxFragmentDualSrcAttachments/g
s/destSubpass/dstSubpass/g
s/destStageMask/dstStageMask/g
s/dualSourceBlend/dualSrcBlend/g
s/destBlendColor/dstBlendColor/g
s/destBlendAlpha/dstBlendAlpha/g
s/VK_FORMAT_NUM/VK_FORMAT_RANGE_SIZE/g
s/VK_DYNAMIC_STATE_NUM/VK_DYNAMIC_STATE_RANGE_SIZE/g
s/pAppName/pApplicationName/g
s/appVersion/applicationVersion/g
s/numLevels/levelCount/g
s/numLayers/layerCount/g
s/destOffset/dstOffset/g
s/destSubresource/dstSubresource/g
s/VK_IMAGE_LAYOUT_TRANSFER_SOURCE_OPTIMAL/VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL/g
s/VK_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL/VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL/g
s/VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT/VK_IMAGE_USAGE_TRANSFER_SRC_BIT/g
s/VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT/VK_IMAGE_USAGE_TRANSFER_DST_BIT/g
s/destBuffer/dstBuffer/g
s/destQueueFamilyIndex/dstQueueFamilyIndex/g
s/destSet/dstSet/g
s/destBinding/dstBinding/g
s/destArrayElement/dstArrayElement/g
s/VK_BLEND_DEST_COLOR/VK_BLEND_DST_COLOR/g
s/VK_BLEND_ONE_MINUS_DEST_COLOR/VK_BLEND_ONE_MINUS_DST_COLOR/g
s/VK_BLEND_DEST_ALPHA/VK_BLEND_DST_ALPHA/g
s/VK_BLEND_ONE_MINUS_DEST_ALPHA/VK_BLEND_ONE_MINUS_DST_ALPHA/g
s/VK_FORMAT_FEATURE_BLIT_SOURCE_BIT/VK_FORMAT_FEATURE_BLIT_SRC_BIT/g
s/VK_FORMAT_FEATURE_BLIT_DESTINATION_BIT/VK_FORMAT_FEATURE_BLIT_DST_BIT/g
s/VK_BUFFER_USAGE_TRANSFER_SOURCE_BIT/VK_BUFFER_USAGE_TRANSFER_SRC_BIT/g
s/VK_BUFFER_USAGE_TRANSFER_DESTINATION_BIT/VK_BUFFER_USAGE_TRANSFER_DST_BIT/g
s/VK_COMPARE_OP_LESS_EQUAL/VK_COMPARE_OP_LESS_OR_EQUAL/g
s/VK_COMPARE_OP_GREATER_EQUAL/VK_COMPARE_OP_GREATER_OR_EQUAL/g
s/VkPipelineRasterStateCreateInfo/VkPipelineRasterizationStateCreateInfo/g
s/rasterSamples/rasterizationSamples/g
s/pRasterState/pRasterizationState/g
s/VK_FRONT_FACE_CCW/VK_FRONT_FACE_COUNTER_CLOCKWISE/g
s/VK_FRONT_FACE_CW/VK_FRONT_FACE_CLOCKWISE/g
s/VK_PRIMITIVE_TOPOLOGY_LINE_LIST_ADJ/VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY/g
s/VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_ADJ/VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY/g
s/VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_ADJ/VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY/g
s/VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_ADJ/VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY/g
s/VK_STENCIL_OP_INC_CLAMP/VK_STENCIL_OP_INCREMENT_AND_CLAMP/g
s/VK_STENCIL_OP_DEC_CLAMP/VK_STENCIL_OP_DECREMENT_AND_CLAMP/g
s/VK_STENCIL_OP_INC_WRAP/VK_STENCIL_OP_INCREMENT_AND_WRAP/g
s/VK_STENCIL_OP_DEC_WRAP/VK_STENCIL_OP_DECREMENT_AND_WRAP/g
s/VK_LOGIC_OP_NOOP/VK_LOGIC_OP_NO_OP/g
s/VK_LOGIC_OP_EQUIV\b/VK_LOGIC_OP_EQUIVALENT/g
s/memBarrierCount/memoryBarrierCount/g
s/ppMemBarriers/ppMemoryBarriers/g
s/destImage/dstImage/g
s/destImageLayout/dstImageLayout/g
s/destCache/dstCache/g
s/memOffset/memoryOffset/g
s/vk_print_vkmemoryallocinfo/vk_print_vkmemoryallocateinfo/g
s/pAllocInfo/pAllocateInfo/g
s/memRangeCount/memoryRangeCount/g
s/pMemRanges/pMemoryRanges/g
s/VK_IMAGE_TYPE_NUM/VK_IMAGE_TYPE_RANGE_SIZE/g
s/VK_PIPELINE_BIND_POINT_NUM/VK_PIPELINE_BIND_POINT_RANGE_SIZE/g
s/vk_size_vkdescriptorsetallocinfo/vk_size_vkdescriptorsetallocateinfo/g
s/remap_cmdbuffers/remap_commandbuffers/g
s/remap_cmdpool/remap_commandpool/g
s/add_to_cmdbuffers_map/add_to_commandbuffers_map/g

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14921

a
2015-11-02 14:54:39 -07:00
Chia-I Wu
3271845339 bug 14848: Verifying Sparse Behavior (WIP)
Merge vkQueueBindSparse*() to one.

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14848
2015-11-02 14:12:19 -07:00
Chia-I Wu
80048fde47 MR 461: Documented updated vkQueueSubmit and remove wait + signal semaphore operations on queues. (WIP)
https://gitlab.khronos.org/vulkan/vulkan/merge_requests/461
2015-10-30 20:49:24 +08:00
Chia-I Wu
2c0bb17781 bug 14855: vkGetPipelineCacheSize is unique (consistency issue) (WIP)
Update vkGetPipelineCacheData() to replace vkGetPipelineCacheSize().

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14855
2015-10-30 20:49:23 +08:00
Courtney Goeltzenleuchter
1a64219fdf bug-14258: Make descriptor pools and command pools more consistent 2015-10-26 16:24:10 -06:00
Courtney Goeltzenleuchter
13f552d15c bug-14291: combine color and depth/stencil clears 2015-10-23 17:31:13 -06:00
Jon Ashburn
4e8b15142a loader: Support GetInsTanceProcAddr(inst, "vkGetDeviceProcAddr") 2015-10-08 16:31:24 -06:00
Jon Ashburn
48c42272be loader: Fix GetInstanceProcAddr for CreateDevice 2015-10-05 14:10:47 -06:00
Jon Ashburn
f9c4b2a587 loader: Change GetXXProcAddr to support NULL dispatchable object
Also change GetInstanceProcAddr to return the first entry down the chain rather
than global (trampoline entrys) all the time when a non-null instance is passed.
2015-09-30 13:03:32 -06:00
Courtney Goeltzenleuchter
f372465f69 bug 14365: make separate viewport and scissor cmds 2015-09-23 11:15:00 -06:00
Courtney Goeltzenleuchter
26cb3c5eb3 bug 14365: replace dynamic state objects
This is phase 1 of the replacement of dynamic state objects.
In this commit we remove the create and destroy functions
and rename the CmdBind... with CmdSet...
2015-09-23 11:15:00 -06:00
Courtney Goeltzenleuchter
e25064cee5 bug 14509: Rename Layer and Extension queries
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14509
https://gitlab.khronos.org/vulkan/vulkan/merge_requests/334
2015-09-17 15:32:11 -06:00
Mark Lobodzinski
986daf7170 vulkan.h: Refactoring physical device sparse properties and limits, bug# 13139
Part of changes for header revision V161.
2015-09-09 09:39:15 -06:00
Courtney Goeltzenleuchter
0e5ee268c2 Bug 14522: Remove VkAttachmentView
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14522
Several parts of the driver really want an attachment view
so I've included the attachment information in the
intel_img_view structure and initialize both when the
view is created.
Parts of the meta path only need intel_att_view and
I kept that in place.
2015-09-02 11:33:56 -06:00
Cody Northrop
f405eb0ff9 v156: Bug 14451 - Rename dynamic state objects 2015-08-26 10:32:23 -06:00
Cody Northrop
b8f9c4608f Bug 14406: Add support for front/back stencil reference dynamic state 2015-08-26 09:59:59 -06:00
Cody Northrop
e3e57567f3 Bug 14323: RasterLine and RasterDepthBias changes 2015-08-26 09:59:59 -06:00
Cody Northrop
fc4ad13589 v140: Bug 14251 - Inconsistencies in the definition of queries 2015-08-04 17:37:03 -06:00
Jon Ashburn
25c1145a04 loader: Add missing entrypoints CmdPushConstants, GetRenderArea, GetPDImgFormat
Also fix several other missing entrypoints from dispatch table related functions.
Also reorder some of these functions to better match header list order so
can more easily spot missing entry points.
2015-07-24 10:01:01 -06:00
Ian Elliott
ed33eb7822 loader: Changes to use new WSI swapchain extensions.
Use device extension list, not global.  When validating the PhysicalDevice
extensions really need to use the device extension list not the loader's global
list.

Fix include to find aligned_alloc
2015-07-17 10:05:22 -06:00
Courtney Goeltzenleuchter
2b6559edc6 v115: remove GetPhysicalDevicePerformance 2015-07-17 10:05:20 -06:00