Jason Ekstrand
9c0db9d349
vk/cmd_buffer: Rename bo_count to exec2_bo_count
2015-07-15 16:56:29 -07:00
Jason Ekstrand
6037b5d610
vk/cmd_buffer: Add a helper for allocating dynamic state
...
This matches what we do for surface state and makes the dynamic state pool
more opaque to things that need to get dynamic state.
2015-07-15 16:56:29 -07:00
Jason Ekstrand
7ccc8dd24a
vk/private.h: Move cmd_buffer functions to near the cmd_buffer struct
2015-07-15 16:56:29 -07:00
Jason Ekstrand
d22d5f25fc
vk: Split command buffer state into its own structure
...
Everything else in anv_cmd_buffer is the actual guts of the datastructure.
2015-07-15 16:56:29 -07:00
Jason Ekstrand
da4d9f6c7c
vk: Move most of the anv_Cmd related stuff to its own file
2015-07-15 16:56:28 -07:00
Jason Ekstrand
d862099198
vk: Pull the guts of anv_cmd_buffer into its own file
2015-07-15 16:56:28 -07:00
Chad Versace
498ae009d3
vk/glsl: Replace raw casts
...
Needed for upcoming type-safety changes.
2015-07-15 15:51:37 -07:00
Chad Versace
6f140e8af1
vk/meta: Remove raw casts
...
Needed for upcoming type-safety changes.
2015-07-15 15:51:37 -07:00
Chad Versace
badbf0c94a
vk/x11: Remove raw casts
...
The raw casts in the WSI functions will break the build when the
type-safety changes arrive.
2015-07-15 15:49:10 -07:00
Chad Versace
61a4bfe253
vk: Delete vkDbgSetObjectTag()
...
Because VkObject is going away.
2015-07-15 15:34:20 -07:00
Jason Ekstrand
e1c78ebe53
vk/device: Remove unneeded checks for NULL
2015-07-15 15:22:32 -07:00
Jason Ekstrand
f4748bff59
vk/device: Provide proper NULL handling in anv_device_free
...
The Vulkan spec does not specify that the free function provided to
CreateInstance must handle NULL properly so we do it in the wrapper. If
this ever changes in the spec, we can delete the extra 2 lines.
2015-07-15 15:22:32 -07:00
Chad Versace
4c8e1e5888
vk: Stop internally calling anv_DestroyObject()
...
Replace each anv_DestroyObject() with anv_DestroyFoo().
Let vkDestroyObject() live for a while longer for Crucible's sake.
2015-07-15 15:11:16 -07:00
Chad Versace
f5ad06eb78
vk: Fix vkDestroyObject dispatch for VkRenderPass
...
It called anv_device_free() instead of anv_DestroyRenderPass().
2015-07-15 15:07:41 -07:00
Chad Versace
188f2328de
vk: Fix vkCreate/DestroyRenderPass
...
While updating vkDestroyObject, I discovered that vkDestroyPass reliably
crashes. That hasn't been an issue yet, though, because it is never
called.
In vkCreateRenderPass:
- Don't allocate empty attachment arrays.
- Ensure that pointers to empty attachment arrays are NULL.
- Store VkRenderPassCreateInfo::subpassCount as
anv_render_pass::subpass_count.
In vkDestroyRenderPass:
- Fix loop bounds: s/attachment_count/subpass_count/
- Don't call anv_device_free on null pointers.
2015-07-15 15:07:41 -07:00
Chad Versace
c6270e8044
vk: Refactor create/destroy code for anv_descriptor_set
...
Define two new functions:
anv_descriptor_set_create
anv_descriptor_set_destroy
2015-07-15 14:31:22 -07:00
Chad Versace
365d80a91e
vk: Replace some raw casts with safe casts
...
That is, replace some instances of
(VkFoo) foo
with
anv_foo_to_handle(foo)
2015-07-15 14:00:21 -07:00
Chad Versace
7529e7ce86
vk: Correct anv_CreateShaderModule's prototype
...
s/VkShader/VkShaderModule/
:sigh: I look forward to type-safety.
2015-07-15 13:59:47 -07:00
Chad Versace
8213be790e
vk: Define struct anv_image_view, anv_buffer_view
...
Follow the pattern of anv_attachment_view. We need these structs to
implement the type-safety that arrived in the 0.132 header.
2015-07-15 12:19:29 -07:00
Chad Versace
43241a24bc
vk/meta: Fix declared type of a shader module
...
s/VkShader/VkShaderModule/
I'm looking forward to a type-safe vulkan.h ;)
2015-07-15 11:49:37 -07:00
Chad Versace
94e473c993
vk: Remove struct anv_object
...
Trivial removal because vkDestroyObject() no longer uses it.
2015-07-15 11:29:43 -07:00
Jason Ekstrand
e375f722a6
vk/device: More documentation on surface state flushing
2015-07-15 11:09:02 -07:00
Connor Abbott
9aabe69028
vk/device: explain why a flush is necessary
...
Jason found this from experimenting, but the docs give a reasonable
explanation of why it's necessary.
2015-07-14 23:03:19 -07:00
Chad Versace
5f46c4608f
vk: Fix indentation of anv_dynamic_cb_state
2015-07-14 18:19:10 -07:00
Chad Versace
0eeba6b80c
vk: Add finishmes for VkDescriptorPool
...
VkDescriptorPool is a stub object. As a consequence, it's impossible to
free descriptor set memory.
2015-07-14 18:19:00 -07:00
Jason Ekstrand
2b5a4dc5f3
vk: Add vulkan-138 and remove vulkan-0.132
...
Now, 138 is the target and not 132. Once object destruction is finished,
we can delete 138 as it will be identical to vulkan.h
2015-07-14 17:54:13 -07:00
Jason Ekstrand
1f658bed70
vk/device: Add stub support for command pools
...
Real support isn't really that far away. We just need a data structure
with a linked list and a few tests.
2015-07-14 17:40:00 -07:00
Jason Ekstrand
ca7243b54e
vk/vulkan.h: Add the stuff for cross-queue resource sharing
...
We only have one queue, so this is currently a no-op on our implementation.
2015-07-14 17:20:50 -07:00
Jason Ekstrand
553b4434ca
vk/vulkan.h: Add a couple of size fields for specialization constants
2015-07-14 17:12:39 -07:00
Jason Ekstrand
e5db209d54
vk/vulkan.h: Move around buffer image granularities
2015-07-14 17:10:37 -07:00
Jason Ekstrand
c7fcfebd5b
vk: Add stubs for all the sparse resource stuff
2015-07-14 17:06:11 -07:00
Jason Ekstrand
2a9136feb4
vk/image: Add a stub for the new ImageFormatProperties function
...
This lets the client query about things like multisample. We don't do
multisample right now, so I'll let Chad deal with that when he gets to it.
2015-07-14 17:05:30 -07:00
Jason Ekstrand
2c4dc92f40
vk/vulkan.h: Rename FormatInfo to FormatProperties
2015-07-14 17:04:46 -07:00
Jason Ekstrand
d7f44852be
vk/vulkan.h: Re-order some #define's
2015-07-14 16:41:39 -07:00
Jason Ekstrand
1fd3bc818a
vk/vulkan.h: Rename a function parameter
2015-07-14 16:39:01 -07:00
Jason Ekstrand
2e2f48f840
vk: Remove abreviations
2015-07-14 16:34:31 -07:00
Jason Ekstrand
02db21ae11
vk: Add the new extension/layer enumeration entrypoints
2015-07-14 16:11:21 -07:00
Jason Ekstrand
a463eacb8f
vk/vulkan.h: Change maxAnisotropy to a float
2015-07-14 15:04:11 -07:00
Jason Ekstrand
98957b18d2
vk/vulkan.h: Add the VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT flag
2015-07-14 15:03:39 -07:00
Jason Ekstrand
a35811d086
vk/vulkan.h: Rename a couple of function parameters
...
No functional change.
2015-07-14 15:03:01 -07:00
Jason Ekstrand
55723e97f1
vk: Split the memory requirements/binding functions
2015-07-14 14:59:39 -07:00
Jason Ekstrand
ccb2e5cd62
vk: Make barriers more precise (rev. 133)
2015-07-14 14:50:35 -07:00
Jason Ekstrand
30445f8f7a
vk: Split the dynamic state binding function into one per state
2015-07-14 14:26:10 -07:00
Jason Ekstrand
d2c0870ff3
vk/vulkan.h: Rename a function parameter to match 132
2015-07-14 14:11:04 -07:00
Jason Ekstrand
8478350992
vk: Implement Multipass
2015-07-14 11:37:14 -07:00
Jason Ekstrand
68768c40be
vk/vulkan.h: Re-arrange some enums and definitions in preparation for 131
2015-07-14 11:32:15 -07:00
Chad Versace
66cbb7f76d
vk/0.132: Add vkDestroyRenderPass()
2015-07-14 11:21:31 -07:00
Chad Versace
6d0ed38db5
vk/0.132: Add vkDestroy*View()
...
vkDestroyColorAttachmentView
vkDestroyDepthStencilView
These functions are not in the 0.132 header, but adding them will help
us attain the type-safety API updates more quickly.
2015-07-14 11:19:22 -07:00
Chad Versace
1ca611cbad
vk/0.132: Add vkDestroyCommandBuffer()
2015-07-14 11:11:41 -07:00
Chad Versace
6eec0b186c
vk/0.132: Add vkDestroyImageView()
...
Just declare it in vulkan.h. Jason defined the function earlier
in image.c.
2015-07-14 11:09:14 -07:00