CommandBuffer and NonDispatchable objects code cleanup
Cleaned up items include:
- Sanitized parameter names in Command constructors
- Commands no longer hold Vk types for members if they
can be cast to an internal type in the constructor
- Commands members are private
- VertexInputBinding contains a Buffer instead of a VkBuffer
- Removed the Fence default constructor
- Image functions now receive Image and Buffer objects
instead of VkImage and VkBuffer handles.
- Removed the VkNonDispatchableHandle default constructor
- DeviceMemory::getOffsetPointer() is now const
- Refactored PresentImage so that it no longer contains
VkImage and VkDeviceMemory handles, but proper Image
and DeviceMemory objects instead and replaced duplicate
code which releases these objects with a clear() function.
- SwapchainKHR no longer holds on to a VkSwapchainCreateInfoKHR
structure, which was dangerous, since it contains pointers
which were not deep copied, but only holds on to a SurfaceKHR
object, which is the only thing it really needs.
- SwapchainKHR::images never changes size, so it was changed
from a vector to an array so that we can better control its
memory allocation.
- SurfaceKHR had a VkSwapchainKHR member, changed it for a
SwapchainKHR* instead
- Removed surfaceFormats and presentModes, which were
unnecessarily bloating the SurfaceKHR class and moved
them to an unnamed namespace in VkSurfaceKHR.cpp.
Change-Id: If21e5ba1319759a204e562aef92aaf96d5a12b1f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32489
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
Reviewed-by:
Sean Risser <srisser@google.com>
Tested-by:
Alexis Hétu <sugoi@google.com>
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment