Chad Versace
169251bff0
vk: Remove more raw casts
...
This removes nearly all the remaining raw Anvil<->Vulkan casts from the
C source files. (File compiler.cpp still contains many raw casts, and
I plan on ignoring that).
As far as I can tell, the only remaining raw casts are:
anv_attachment_view -> anv_depth_stencil_view
anv_attachment_view -> anv_color_attachment_view
2015-07-17 14:32:22 -07:00
Chad Versace
756d8064c1
vk/0.132: Do type-safety
2015-07-15 17:16:07 -07:00
Jason Ekstrand
9c0db9d349
vk/cmd_buffer: Rename bo_count to exec2_bo_count
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
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
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
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
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
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
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
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
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
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
8478350992
vk: Implement Multipass
2015-07-14 11:37:14 -07:00
Chad Versace
66cbb7f76d
vk/0.132: Add vkDestroyRenderPass()
2015-07-14 11:21:31 -07:00
Chad Versace
1ca611cbad
vk/0.132: Add vkDestroyCommandBuffer()
2015-07-14 11:11:41 -07:00
Chad Versace
08f7731f67
vk/0.132: Add vkDestroyFramebuffer()
2015-07-14 10:59:30 -07:00
Chad Versace
0c8456ef1e
vk/0.132: Add vkDestroyDynamicDepthStencilState()
2015-07-14 10:54:51 -07:00
Chad Versace
b29c929e8e
vk/0.132: Add vkDestroyDynamicColorBlendState()
2015-07-14 10:52:45 -07:00
Chad Versace
5e1737c42f
vk/0.132: Add vkDestroyDynamicRasterState()
2015-07-14 10:51:08 -07:00
Chad Versace
d80fea1af6
vk/0.132: Add vkDestroyDynamicViewportState()
2015-07-14 10:42:45 -07:00
Chad Versace
9250e1e9e5
vk/0.132: Add vkDestroyDescriptorPool()
2015-07-14 10:38:22 -07:00
Chad Versace
f925ea31e7
vk/0.132: Add vkDestroyDescriptorSetLayout()
2015-07-14 10:36:49 -07:00
Chad Versace
ec5e2f4992
vk/0.132: Add vkDestroySampler()
2015-07-14 10:34:00 -07:00
Chad Versace
a684198935
vk/0.132: Add vkDestroyPipelineLayout()
2015-07-14 10:29:47 -07:00
Chad Versace
6e5ab5cf1b
vk/0.132: Add vkDestroyPipeline()
2015-07-14 10:26:17 -07:00
Chad Versace
114015321e
vk/0.132: Add vkDestroyPipelineCache()
2015-07-14 10:19:27 -07:00
Chad Versace
cb57bff36c
vk/0.132: Add vkDestroyShader()
2015-07-14 10:16:22 -07:00
Chad Versace
8ae8e14ba7
vk/0.132: Add vkDestroyShaderModule()
2015-07-14 10:13:09 -07:00
Chad Versace
e18377f435
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
2015-07-14 09:58:22 -07:00
Chad Versace
e93b6d8eb1
vk/0.132: Add vkDestroyBuffer()
2015-07-14 09:47:45 -07:00
Chad Versace
68c7ef502d
vk/0.132: Add vkDestroyEvent()
2015-07-14 09:33:47 -07:00
Chad Versace
549070b18c
vk/0.132: Add vkDestroySemaphore()
2015-07-14 09:31:34 -07:00
Chad Versace
ebb191f145
vk/0.132: Add vkDestroyFence()
2015-07-14 09:29:35 -07:00
Chad Versace
435ccf4056
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)
2015-07-13 16:19:28 -07:00
Chad Versace
8f3b2187e1
vk/0.132: Rename bool32_t -> VkBool32
...
sed -i 's/bool32_t/VkBool32/g' \
$(git ls-files src/vulkan include/vulkan)
2015-07-13 13:03:36 -07:00
Chad Versace
f43a304dc6
vk/0.130: Update vkAllocMemory to use VkMemoryType
2015-07-10 17:35:52 -07:00
Chad Versace
df2a013881
vk/0.130: Implement vkGetPhysicalDeviceMemoryProperties()
2015-07-10 17:35:52 -07:00
Chad Versace
8cda3e9b1b
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].
2015-07-10 17:35:52 -07:00