oneapi-src / level-zero

oneAPI Level Zero Specification Headers and Loader
https://spec.oneapi.com/versions/latest/elements/l0/source/index.html
MIT License
208 stars 90 forks source link

image formats should be kept compatible with vulkan #14

Open airlied opened 4 years ago

airlied commented 4 years ago

I'm not sure why level 0 invents a new set of image parameters, it probably makes more sense to just import the vulkan image format list and use that as a baseline so you can remain compatible.

No other API does a layout/type/swizzle as the format without having a name and definition for users.

I don't see any clear advantage in diverging in this area.

gatorfax commented 4 years ago

Thanks for the feedback. Given the number of permutations of RGB formats, in particular, it was our intent to avoid the huge enumeration and instead define a programmable format interface, similar to OpenCL's cl_image_format.

We hope this method will allow future devices to expose new format combinations without requiring a spec update. In addition, this interface better matches some programmable hardware.

It should be possible to create a mapping table between the Vulkan (or other API) formats and the level zero ze_image_format_desc_t. Let us know if you find this assumption to be flawed.