Oxsomi Core3 is a combination of standalone C libraries useful for building applications, such as types, platform, graphics abstraction and file formats
DirectX12 is interesting because it's now on the front of major developments like work graphs. It's also quite easy to target and could potentially allow a way easier port to systems such as xbox or UWP.
[x] Query for api
[x] Query mechanism for instances
[x] Query mechanism for devices
[x] Query mechanism for features/extensions
[x] Creation of devices
[x] Swapchain creation
[x] Command list
[x] Command record
[x] Command submit
[x] Memory allocation
[x] Buffer creation
[x] Texture creation
[x] BLAS
[x] BLAS build
[x] TLAS
[x] TLAS build
[x] Ray trace
[x] Ray query
[x] Ray pipeline
[x] Test buffers
[x] Test images
[x] Test TLAS
[x] Test BLAS
[x] Test render textures
[x] Test depth textures
[x] Test compressed images
[ ] Test MSAA
[x] Test image copy
[ ] Test clear image
[x] Test 64 MiB+ copies that trigger dedicated staging buffers.
[x] Test dispatch rays
[x] Test draw indirect
[x] Test dispatch indirect
[x] Test samplers
[ ] Fix debug markers
[x] Set name on BLAS/TLAS
[x] waitExt is broken
[ ] resize doesn't work
[x] Render target creation
[x] Depth stencil creation
[x] Shader creation
[x] Root signature creation (internally)
[x] Descriptor heap creation (internally)
[x] Compute pipeline creation
[x] Graphics pipeline creation
[x] Clear images
[x] Bind pipeline
[x] Transition uav & srv (since these can't be inferred)
[x] Bind primitive buffer (vbo + ibo)
[x] Dispatch
[x] Dispatch indirect
[x] Draw indexed / non indexed
[x] Multi draw indirect indexed / non indexed
[x] Multi draw indirect count indexed / non indexed
[x] Copies between images (blit)
[x] Data updates such as host buffer copies (sub buffer)
[x] Blend constants command.
[x] Support runtime buffer copies with a staging buffer.
[x] Support updating a buffer that's out of flight without using staging buffer
[x] Validation layer
[x] NV extensions
[x] NV RT validation
[x] Samplers.
[x] Flush if there's too much outstanding data.
[x] Driver version for things like Intel, QCOM.
[x] NvAPI: DMM and OMM are set even though they shouldn't. Double checked. Seems like there's not much to be done here... Maybe profile and disable based on NV arch.
[x] Ensure clean exit
[ ] Render targets created as placed resources etc. must be cleared before
DirectX12 is interesting because it's now on the front of major developments like work graphs. It's also quite easy to target and could potentially allow a way easier port to systems such as xbox or UWP.