Skip to content

Improvements over Veldrid #1

Description

@xoofx

There are several pull-requests and issues raised on Veldrid.

Some are important bug fixes and improvements that I might want to integrate. Work should be more manageable as I only have to manage Vulkan.

Need to take the time to list here which one I would like to add to my list. For now for the PR:

Whenever possible, add tests, as it was quite valuable to have already tests in Veldrid to double check the migration to XenoAtom.Interop.vulkan.

List of things I would like to improve:

  • First pass of adding support for Nullable reference types (fixed via 9f4a801)
  • Simplify code for image layout transitions (via 4980977)
  • Improve debugging layers, switch to VK_EXT_debug_utils (via 52cf1eb)
  • Add support for multiple GPU (e.g discrete and iGPU)
  • Add better support to activate validation layers (there are currently warnings)
  • Some cleanup of the code
  • Use more modern C# features (Mostly Span and maybe some new C# 12 language features)
  • Improve further memory allocator - using a TLSF/VMA like allocator (Fixed by New Vulkan memory allocator #2)
  • Add support for explicit command pool management (Adding CommandBufferPool and further improvements. #4)
  • Improve management of descriptor sets, see Optimizing Vulkan descriptors sets management #3
  • API cleanup
  • Reduce allocations (Use more XenoAtom.Collections internally instead of System.Collections)
  • Once done, might promote XenoAtom.Interop.vulkan to a stable 1.0.0 as its integration looks good here

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions