| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Jason started the task by creating anv_cmd_buffer.c and anv_cmd_emit.c.
This patch finishes the task by renaming all other files except
gen*_pack.h and glsl_scraper.py.
|
|
|
|
|
|
|
|
| |
This completes the FINISHME to trim unneeded data from anv_buffer_view.
A VkExtent3D doesn't make sense for a VkBufferView.
So remove the member anv_surface_view::extent, and push it up to the two
objects that actually need it, anv_image_view and anv_attachment_view.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
They aren't used, and the backend was barfing on them. Also, remove a
hack in in compiler.cpp now that they're gone.
|
|
|
|
|
| |
We directly emit ubo load intrinsics based off of the offset information
handed to us from SPIR-V.
|
| |
|
|
|
|
|
|
|
|
|
| |
The GLSL layer above is still hacky, so we're really just moving the
hack into GLSL-to-NIR. I'd rather not go all the way and make GLSL
support the Vulkan binding model too, since presumably we'll be
switching to SPIR-V exclusively, and so working on proper GLSL support
will be a waste of time. For now, doing this keeps it working as we add
SPIR-V->NIR support though.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This matches what we do for surface state and makes the dynamic state pool
more opaque to things that need to get dynamic state.
|
| |
|
|
|
|
| |
Everything else in anv_cmd_buffer is the actual guts of the datastructure.
|
| |
|
| |
|
|
|
|
| |
Needed for upcoming type-safety changes.
|
|
|
|
| |
Needed for upcoming type-safety changes.
|
|
|
|
|
| |
The raw casts in the WSI functions will break the build when the
type-safety changes arrive.
|
|
|
|
| |
Because VkObject is going away.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Replace each anv_DestroyObject() with anv_DestroyFoo().
Let vkDestroyObject() live for a while longer for Crucible's sake.
|
|
|
|
| |
It called anv_device_free() instead of anv_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.
|
|
|
|
|
|
| |
Define two new functions:
anv_descriptor_set_create
anv_descriptor_set_destroy
|
|
|
|
|
|
|
| |
That is, replace some instances of
(VkFoo) foo
with
anv_foo_to_handle(foo)
|
|
|
|
|
|
| |
s/VkShader/VkShaderModule/
:sigh: I look forward to type-safety.
|
|
|
|
|
| |
Follow the pattern of anv_attachment_view. We need these structs to
implement the type-safety that arrived in the 0.132 header.
|
|
|
|
|
|
| |
s/VkShader/VkShaderModule/
I'm looking forward to a type-safe vulkan.h ;)
|
|
|
|
| |
Trivial removal because vkDestroyObject() no longer uses it.
|
| |
|
|
|
|
|
| |
Jason found this from experimenting, but the docs give a reasonable
explanation of why it's necessary.
|
| |
|
|
|
|
|
| |
VkDescriptorPool is a stub object. As a consequence, it's impossible to
free descriptor set memory.
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Real support isn't really that far away. We just need a data structure
with a linked list and a few tests.
|
|
|
|
| |
We only have one queue, so this is currently a no-op on our implementation.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|