On 5/10/21 6:10 AM, Henri Verbeet wrote:
On Mon, 10 May 2021 at 12:29, Liam Middlebrook lmiddlebrook@nvidia.com wrote:
+# Some experimental extensions are used by shipping applications so their API is extremely unlikely +# to change in a backwards-incompatible way. Allow translation of those extensions with WineVulkan. +ALLOWED_X_EXTENSIONS = [
- "VK_NVX_binary_import",
- "VK_NVX_image_view_handle",
+]
I would be inclined to say those applications are abusing the system, and we shouldn't be enabling that. On the other hand, if NVIDIA is generally fine with applications/vendors doing this kind of thing, is there any point in distinguishing between NV and NVX extensions at all? I.e., in that case, we might as well just get rid of the code skipping NVX extensions, because their API is effectively going to be frozen the moment a non-zero number of applications use them.
I wouldn't classify our stance as "generally fine" here. The position here certainly isn't a good one for anyone to be in. Production applications shouldn't be making use of experimental extensions (as the API normally could change with later spec versions). But given that applications have started to use these extensions the API for them can't change (at least not in a backwards-incompatible way), since we can't break those use cases.
I think given the above, it makes sense to allow WineVulkan to add support for these two extensions. We shouldn't encourage applications to make use of experimental extensions in production environments in the future, but I don't see a strong benefit to holding that stance for these extensions which are de facto API stable.
Thanks,
Liam Middlebrook