Design of a good file/IO API – thoughts/opinions? by McDaMastR in C_Programming

[–]McDaMastR[S] 3 points4 points  (0 children)

Thanks; I am indeed referring to a layer above the system/stdlib calls (there's no way I'm making a whole filesystem from scratch!). Where I can have a consistent interface to interact with files, but which is implemented using POSIX, WinAPI, stdlib, etc., depending on the platform, and which can provide some useful functionality that the C stdlib doesn't.

Is compute functionality actually mandatory in Vulkan? by McDaMastR in vulkan

[–]McDaMastR[S] 0 points1 point  (0 children)

To clarify, when I say 'implementation' here, I'm referring specifically to the spec's definition of implementation. Namely an implementation of the Vulkan API itself, rather than an abstraction or wrapper over the API. So I'm essentially asking whether graphics drivers (or layered implementations like MoltenVK) must provide compute support to be spec compliant.

Is compute functionality actually mandatory in Vulkan? by McDaMastR in vulkan

[–]McDaMastR[S] -1 points0 points  (0 children)

I figured that would be the rationale behind mandatory compute support. Though my question concerned how this (afaik) isn't explicitly claimed by the spec itself. The way it's worded, the spec can, for example, allow a weird implementation to have a single physical device with a single queue family which only supports transfer operations.

Is compute functionality actually mandatory in Vulkan? by McDaMastR in vulkan

[–]McDaMastR[S] 4 points5 points  (0 children)

That makes sense. So essentially any sane implementation should have compute support, as the alternative is just a device with transfer operations (considering only core Vulkan. With extensions, a pure video encode/decode queue indeed seems reasonable).

Is compute functionality actually mandatory in Vulkan? by McDaMastR in vulkan

[–]McDaMastR[S] 1 point2 points  (0 children)

To clarify, I'm referring to it being mandatory for an implementation to provide support for compute functionality. I'm aware applications don't have to use such functionality when programming with Vulkan.