Chad Versace [Tue, 14 Jul 2015 17:28:41 +0000 (10:28 -0700)]
vk/0.132: Add vkDestroyPipelineLayout()
Chad Versace [Tue, 14 Jul 2015 17:26:17 +0000 (10:26 -0700)]
vk/0.132: Add vkDestroyPipeline()
Chad Versace [Tue, 14 Jul 2015 17:19:27 +0000 (10:19 -0700)]
vk/0.132: Add vkDestroyPipelineCache()
Chad Versace [Tue, 14 Jul 2015 17:16:22 +0000 (10:16 -0700)]
vk/0.132: Add vkDestroyShader()
Chad Versace [Tue, 14 Jul 2015 17:12:10 +0000 (10:12 -0700)]
vk/0.132: Add vkDestroyShaderModule()
Chad Versace [Tue, 14 Jul 2015 17:08:04 +0000 (10:08 -0700)]
vk/0.132: Add vkDestroyImage()
We only need to add it to vulkan.h because Jason defined the function
earlier in image.c.
Chad Versace [Tue, 14 Jul 2015 16:56:48 +0000 (09:56 -0700)]
vk/0.132: Dispatch vkDestroyObject to new destructors
Oops. My recent commits added new destructors, but forgot to teach
vkDestroyObject about them. They are:
vkDestroyFence
vkDestroyEvent
vkDestroySemaphore
vkDestroyQueryPool
vkDestroyBuffer
Chad Versace [Tue, 14 Jul 2015 16:47:45 +0000 (09:47 -0700)]
vk/0.132: Add vkDestroyBuffer()
Chad Versace [Tue, 14 Jul 2015 16:44:58 +0000 (09:44 -0700)]
vk/0.132: Add vkDestroyQueryPool()
Chad Versace [Tue, 14 Jul 2015 16:33:47 +0000 (09:33 -0700)]
vk/0.132: Add vkDestroyEvent()
Chad Versace [Tue, 14 Jul 2015 16:31:34 +0000 (09:31 -0700)]
vk/0.132: Add vkDestroySemaphore()
Chad Versace [Tue, 14 Jul 2015 16:29:35 +0000 (09:29 -0700)]
vk/0.132: Add vkDestroyFence()
Chad Versace [Mon, 13 Jul 2015 20:19:33 +0000 (13:19 -0700)]
vk/0.132: Rename VkDynamic*State types
sed -i -e 's/VkDynamicVpState/VkDynamicViewportState/g' \
-e 's/VkDynamicRsState/VkDynamicRasterState/g' \
-e 's/VkDynamicCbState/VkDynamicColorBlendState/g' \
-e 's/VkDynamicDsState/VkDynamicDepthStencilState/g' \
$(git ls-files include/vulkan src/vulkan)
Connor Abbott [Mon, 13 Jul 2015 17:19:32 +0000 (10:19 -0700)]
nir/spirv: update to SPIR-V revision 31
This means that now the internal version of glslangValidator is
required. This includes some changes due to the sampler/texture rework,
but doesn't actually enable anything more yet. We also don't yet handle
UBO's correctly, and don't handle matrix stride and row major/column
major yet.
Chad Versace [Mon, 13 Jul 2015 20:09:32 +0000 (13:09 -0700)]
vk/0.132: Move VkQueryControlFlags
Chad Versace [Mon, 13 Jul 2015 20:08:56 +0000 (13:08 -0700)]
vk/0.132: Move VkImageAspectFlags
Chad Versace [Mon, 13 Jul 2015 20:08:07 +0000 (13:08 -0700)]
vk/0.132: Move VkCmdBufferOptimizeFlags
Chad Versace [Mon, 13 Jul 2015 20:06:53 +0000 (13:06 -0700)]
vk/0.132: Move VkWaitEvent
Chad Versace [Mon, 13 Jul 2015 20:06:22 +0000 (13:06 -0700)]
vk/0.132: Move VkCmdBufferLevel
Chad Versace [Mon, 13 Jul 2015 20:05:24 +0000 (13:05 -0700)]
vk/0.132: Drop VK_ATTACHMENT_STORE_OP_RESOLVE_MSAA
Chad Versace [Mon, 13 Jul 2015 19:59:42 +0000 (12:59 -0700)]
vk/0.132: Rename bool32_t -> VkBool32
sed -i 's/bool32_t/VkBool32/g' \
$(git ls-files src/vulkan include/vulkan)
Chad Versace [Mon, 13 Jul 2015 19:52:34 +0000 (12:52 -0700)]
vk/0.132: Remove stray typedef
Chad Versace [Mon, 13 Jul 2015 19:48:44 +0000 (12:48 -0700)]
vk/0.132: Move VKImageUsageFlags
Chad Versace [Mon, 13 Jul 2015 18:49:56 +0000 (11:49 -0700)]
vk/0.132: Move VkImageType and VkImageTiling
Chad Versace [Mon, 13 Jul 2015 18:47:12 +0000 (11:47 -0700)]
vk/0.132: Import the 0.132 header
Import it as vulkan-0.132.h.
Chad Versace [Mon, 13 Jul 2015 18:46:30 +0000 (11:46 -0700)]
vk/vulkan.h: Remove headers for old API versions
Remove the temporary headers for 0.90 and 0.130.
Chad Versace [Sat, 11 Jul 2015 03:06:09 +0000 (20:06 -0700)]
vk/0.130: Bump header version to 0.130
All APIs have been updated. This eliminates the diff between the
work-in-progress header and the 0.130 header.
Chad Versace [Fri, 10 Jul 2015 02:59:44 +0000 (19:59 -0700)]
vk/0.130: Update vkAllocMemory to use VkMemoryType
Chad Versace [Fri, 10 Jul 2015 02:49:19 +0000 (19:49 -0700)]
vk/0.130: Implement vkGetPhysicalDeviceMemoryProperties()
Chad Versace [Fri, 10 Jul 2015 02:38:39 +0000 (19:38 -0700)]
vk/gem: Change signature of anv_gem_get_aperture()
Replace the anv_device parameter with anv_physical_device, because this needs
querying before vkCreateDevice.
Chad Versace [Thu, 9 Jul 2015 23:31:39 +0000 (16:31 -0700)]
vk/device: Add member anv_physical_device::fd
During anv_physical_device_init(), we opend the DRM device to do some
queries, then promptly closed it. Now we keep it open for the lifetime
of the anv_physical_device so that we can query it some more during
vkGetPhysicalDevice*Properties() [which will happen in follow-up
commits].
Chad Versace [Thu, 9 Jul 2015 23:22:18 +0000 (16:22 -0700)]
vk/device: Add func anv_physical_device_finish()
Because in a follow-up patch I need to do some non-trival teardown on
anv_physical_device. Currently, however, anv_physical_device_finish() is
currently a no-op that's just called in the right place.
Also, rename function fill_physical_device -> anv_physical_device_init
for symmetry.
Jason Ekstrand [Fri, 10 Jul 2015 19:33:04 +0000 (12:33 -0700)]
vk/device: Add an explicit destructor for RenderPass
Jason Ekstrand [Fri, 10 Jul 2015 19:30:58 +0000 (12:30 -0700)]
vk/image: Add an explicit DestroyImage function
Jason Ekstrand [Fri, 10 Jul 2015 19:25:30 +0000 (12:25 -0700)]
vk/image: Add explicit constructors for buffer/image view types
Jason Ekstrand [Fri, 10 Jul 2015 17:59:09 +0000 (10:59 -0700)]
nir: Add C++ versions of NIR_(SRC|DEST)_INIT
Chad Versace [Fri, 10 Jul 2015 01:46:21 +0000 (18:46 -0700)]
mesa: Fix generation of git_sha1.h.tmp for gitlinks
Don't assume that $(top_srcdir)/.git is a directory. It may be a
gitlink file [1] if $(top_srcdir) is a submodule checkout or a linked
worktree [2].
[1] A "gitlink" is a text file that specifies the real location of
the gitdir.
[2] Linked worktrees are a new feature in Git 2.5.
Cc: "10.6, 10.5" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
(cherry picked from commit
75784243df1f5bb0652fb243b37d69f36d493a86)
Jason Ekstrand [Fri, 10 Jul 2015 03:32:44 +0000 (20:32 -0700)]
vk/query.c: Use the casting functions
Jason Ekstrand [Fri, 10 Jul 2015 03:28:08 +0000 (20:28 -0700)]
vk/pipeline.c: Use the casting functions
Jason Ekstrand [Fri, 10 Jul 2015 03:24:17 +0000 (20:24 -0700)]
vk/formats.c: Use the casting functions
Jason Ekstrand [Fri, 10 Jul 2015 03:24:07 +0000 (20:24 -0700)]
vk/image.c: Use the casting functions
Jason Ekstrand [Fri, 10 Jul 2015 03:23:46 +0000 (20:23 -0700)]
vk/device.c: One more use of a casting function
Jason Ekstrand [Fri, 10 Jul 2015 03:16:13 +0000 (20:16 -0700)]
vk/meta.c: Use the casting functions
Jason Ekstrand [Fri, 10 Jul 2015 01:59:05 +0000 (18:59 -0700)]
vk: Fix the build
Jason Ekstrand [Fri, 10 Jul 2015 01:41:27 +0000 (18:41 -0700)]
device.c: Use the cast helpers a bunch of places
Jason Ekstrand [Fri, 10 Jul 2015 01:41:27 +0000 (18:41 -0700)]
device.c: Use the cast helpers
Jason Ekstrand [Fri, 10 Jul 2015 01:35:22 +0000 (18:35 -0700)]
vk/private.h: Add a bunch of static inline casting functions
We will need these as soon as we turn on type saftey. We might as well
define and start using them now rather than later.
Jason Ekstrand [Fri, 10 Jul 2015 01:20:28 +0000 (18:20 -0700)]
vk/device.c: Fix whitespace issues
Jason Ekstrand [Fri, 10 Jul 2015 01:20:10 +0000 (18:20 -0700)]
vk/device.c: Use ANV_FROM_HANDLE a bunch of places
Jason Ekstrand [Thu, 9 Jul 2015 23:21:31 +0000 (16:21 -0700)]
vk/vulkan.h: Add the pEnabledFeatures field to DeviceCreateInfo
Jason Ekstrand [Thu, 9 Jul 2015 23:19:52 +0000 (16:19 -0700)]
vk/vulkan.h: Change the MsCreateInfo structure to the 130 version
We do nothing with it at the moment, so this is a no-op.
Jason Ekstrand [Thu, 9 Jul 2015 23:14:31 +0000 (16:14 -0700)]
vk: Remove the old GetPhysicalDeviceInfo call
Jason Ekstrand [Thu, 9 Jul 2015 23:11:24 +0000 (16:11 -0700)]
vk: Add the new PhysicalDeviceQueue queries
Jason Ekstrand [Thu, 9 Jul 2015 22:53:03 +0000 (15:53 -0700)]
vk: Support GetPhysicalDeviceProperties
Jason Ekstrand [Thu, 9 Jul 2015 22:38:30 +0000 (15:38 -0700)]
vk: Add support for GetPhysicalDeviceLimits
Jason Ekstrand [Thu, 9 Jul 2015 20:54:08 +0000 (13:54 -0700)]
vk: Add GetPhysicalDeviceFeatures
Chad Versace [Thu, 9 Jul 2015 22:51:06 +0000 (15:51 -0700)]
vk/device: Fix vkEnumeratePhysicalDevices()
The Vulkan spec says that pPhysicalDeviceCount is an out parameter if
pPhysicalDevices is NULL; otherwise it's an inout parameter.
Mesa incorrectly treated it unconditionally as an inout parameter, which
could have lead to reading unitialized data.
Chad Versace [Thu, 9 Jul 2015 22:38:58 +0000 (15:38 -0700)]
vk/device: Move device enumeration to vkEnumeratePhysicalDevices()
Don't enumerate devices in vkCreateInstance(). That's where global,
device-independent initialization should happen. Move device enumeration
to the more logical location, vkEnumeratePhysicalDevices().
Chad Versace [Thu, 9 Jul 2015 22:23:25 +0000 (15:23 -0700)]
vk/device: Be consistent about path to DRM device
Function fill_physical_device() has a 'path' parameter, and struct
anv_physical_device has a 'path' member. Sometimes these are used;
sometimes hardcoded "/dev/dri/renderD128" is used instead.
Be consistent. Hardcode "/dev/dri/renderD128" in exactly one location,
during initialization of the physical device.
Connor Abbott [Thu, 9 Jul 2015 18:29:23 +0000 (14:29 -0400)]
vk/compiler: create an empty parameters list
Prevents problems when initializing the sanity_param_count.
Connor Abbott [Thu, 9 Jul 2015 18:28:39 +0000 (14:28 -0400)]
nir/spirv: fix wrong writemask for ALU operations
Connor Abbott [Thu, 9 Jul 2015 02:01:33 +0000 (22:01 -0400)]
nir/spirv: fix memory context for builtin variable
Fixes valgrind errors with func.depthstencil.basic.
Connor Abbott [Thu, 9 Jul 2015 01:50:16 +0000 (21:50 -0400)]
nir/spirv: zero out value array
Before values are pushed or annotated with a name, decoration, etc.,
they need to have an invalid type, NULL name, NULL decoration, etc.
ralloc zero's everything by accident, so this wasn't an issue in
practice, but we should be explicitly zero'ing it.
Connor Abbott [Thu, 9 Jul 2015 01:48:57 +0000 (21:48 -0400)]
vk/compiler: create the right kind of program struct
This fixes Valgrind errors and gets all the tests to pass with
--use-spir-v.
Connor Abbott [Thu, 9 Jul 2015 01:47:43 +0000 (21:47 -0400)]
vk/compiler: mark inputs/outputs as read/written
This doesn't handle inputs and outputs larger than a vec4, but we plan
to add a varyiing splitting/packing pass to handle those anyways.
Jason Ekstrand [Thu, 9 Jul 2015 00:45:50 +0000 (17:45 -0700)]
vk/vulkan.h: Copy the VkStructureType enum from version 130
We now have the exact same structs which require pType.
Jason Ekstrand [Thu, 9 Jul 2015 00:29:49 +0000 (17:29 -0700)]
vk: Move to the new pipeline creation API's
Chad Versace [Wed, 8 Jul 2015 21:39:05 +0000 (14:39 -0700)]
vk/0.130: Remove VkImageViewCreateInfo::minLod
It's now set solely through VkSampler.
Jason Ekstrand [Wed, 8 Jul 2015 21:37:30 +0000 (14:37 -0700)]
vk/vulkan.h: Move renderPassContinue from GraphicsBeginInfo to BeginInfo
Jason Ekstrand [Wed, 8 Jul 2015 21:24:56 +0000 (14:24 -0700)]
vk/vulkan.h: Update to the new UpdateDescriptorSets api
Jason Ekstrand [Wed, 8 Jul 2015 21:24:12 +0000 (14:24 -0700)]
vk: Add a macro for creating anv variables from vulkan handles
This is very helpful for doing the mass bunch of casts at the top of a
function. It will also be invaluable when we get type saftey in the API.
Chad Versace [Wed, 8 Jul 2015 19:53:49 +0000 (12:53 -0700)]
vk/0.130 Update VkObjectType values
Don't import any new enum tokens from the 0.130 header. Just update the
values of existing enums. This reduces the diff by about 16 lines.
Chad Versace [Wed, 8 Jul 2015 19:51:46 +0000 (12:51 -0700)]
vk/0.130: Remove VkDescriptorUpdateMode
Nowhere used.
Chad Versace [Wed, 8 Jul 2015 19:49:15 +0000 (12:49 -0700)]
vk/0.130: Remove VK_DEVICE_CREATE_MULTI_DEVICE_IQ_MATCH_BIT
Chad Versace [Wed, 8 Jul 2015 19:46:35 +0000 (12:46 -0700)]
vk/0.130: Update vkCmdBlitImage signature
Add VkTexFilter param. Ignored for now.
Jason Ekstrand [Wed, 8 Jul 2015 18:51:12 +0000 (11:51 -0700)]
vk/vulkan.h: Add packing parameters to BufferImageCopy
Chad Versace [Wed, 8 Jul 2015 18:49:43 +0000 (11:49 -0700)]
vk/0.130: Remove msaa members of VkDepthStencilViewCreateInfo
Jason Ekstrand [Wed, 8 Jul 2015 18:44:52 +0000 (11:44 -0700)]
vk/vulkan.h: Move over to the new border color enums
Jason Ekstrand [Wed, 8 Jul 2015 18:16:45 +0000 (11:16 -0700)]
vk/vulkan.h: Move VkFormatProperties
Jason Ekstrand [Wed, 8 Jul 2015 17:57:13 +0000 (10:57 -0700)]
vk/vulkan.h: Add RenderPassBeginContents
Jason Ekstrand [Wed, 8 Jul 2015 17:53:32 +0000 (10:53 -0700)]
vk/vulkan.h: Add command buffer levels
Jason Ekstrand [Wed, 8 Jul 2015 17:49:43 +0000 (10:49 -0700)]
vk/vulkan.h: Import the VkPipeEvent enum from 130
Now, VkPipeEventFlags is back in sync with VkPipeEvent
Jason Ekstrand [Wed, 8 Jul 2015 17:39:31 +0000 (10:39 -0700)]
vk/vulkan.h: Remove VkFormatInfoType
Jason Ekstrand [Wed, 8 Jul 2015 17:38:07 +0000 (10:38 -0700)]
vk/vulkan.h: Update extension handling to rev 130
Jason Ekstrand [Wed, 8 Jul 2015 16:34:47 +0000 (09:34 -0700)]
vk/vulkan.h: Move format quering to the physical device
Jason Ekstrand [Wed, 8 Jul 2015 16:25:13 +0000 (09:25 -0700)]
vk/vulkan.h: Remove some peer opening structs and STRUCTURE_TYPE enums
Jason Ekstrand [Wed, 8 Jul 2015 16:23:29 +0000 (09:23 -0700)]
vk: Add a copy of the v90 header.
Jason Ekstrand [Wed, 8 Jul 2015 16:18:09 +0000 (09:18 -0700)]
vk/vulkan.h: Remove an unneeded comment
Jason Ekstrand [Wed, 8 Jul 2015 16:16:48 +0000 (09:16 -0700)]
vk/vulkan.h: Remove the MemoryRange stubs and add sparse stubs
Jason Ekstrand [Wed, 8 Jul 2015 16:04:16 +0000 (09:04 -0700)]
vk/vulkan.h: Switch BindObjectMemory to a device function and remove the index
Jason Ekstrand [Wed, 8 Jul 2015 01:51:53 +0000 (18:51 -0700)]
vk/vulkan.h: Switch to the split ProcAddr functions in 130
Jason Ekstrand [Wed, 8 Jul 2015 01:20:18 +0000 (18:20 -0700)]
vk/vulkan.h: Switch from GetImageSubresourceInfo to GetImageSubresourceLayout
Jason Ekstrand [Wed, 8 Jul 2015 01:16:42 +0000 (18:16 -0700)]
vk/vulkan.h: Switch from GetObjectInfo to GetMemoryRequirements
Jason Ekstrand [Wed, 8 Jul 2015 00:22:29 +0000 (17:22 -0700)]
vk: Update memory flushing functions to 130
This involves updating the prototype for FlushMappedMemory, adding
InvalidateMappedMemoryRanges, and removing PinSystemMemory.
Jason Ekstrand [Wed, 8 Jul 2015 00:18:00 +0000 (17:18 -0700)]
vk/vulkan.h: Constify the pFences parameter to ResetFences
Jason Ekstrand [Wed, 8 Jul 2015 00:13:05 +0000 (17:13 -0700)]
vk/vulkan.h: Move the definitions of Create(Framebuffer|RenderPass)
This better matches the 130 header.
Jason Ekstrand [Wed, 8 Jul 2015 00:11:35 +0000 (17:11 -0700)]
vk: Implement the GetRenderAreaGranularity function
At the moment, we're just going to scissor clears so a granularity of 1x1
is all we need.
Jason Ekstrand [Wed, 8 Jul 2015 00:06:10 +0000 (17:06 -0700)]
vk/vulkan.h: Add a PipelineLayout parameter to BindDescriptorSets
Jason Ekstrand [Tue, 7 Jul 2015 23:49:01 +0000 (16:49 -0700)]
vk/vulkan.h: Add a compareEnable parameter to SamplerCreateInfo
Our hardware doesn't actually need this, so adding it is a no-op.
Jason Ekstrand [Tue, 7 Jul 2015 23:42:42 +0000 (16:42 -0700)]
vk/vulkan.h: Remove initialCount from SemaphoreCreateInfo