As of now, the phrasing of how xrEnumerateViewConfigurationViews is modified by EXT_view_configuration_views_change allows runtimes the ability to change the recommendation every frame, which might cause a poorly behaving application (which instead of waiting for the event polls the function every frame) to update every single frame, when the extension's intent is for this to only happen once per second at most. I can foresee application developers doing this intentionally to get more live dynamic resolution, if some runtime does exhibit this "change at any rate but fire events at 1hz" behaviour.
This seems unintentional, and that the spec likely intends that the result value of xrEnumerateViewConfigurationViews is only allowed to change if the event has been emit, which would mean it can only update once per second. This would forbid runtimes and dissuade applications from doing this trick for faster update rates.
Current Phrasing:
The runtime may return non-identical buffer contents from the xrEnumerateViewConfigurationViews enumeration for the given systemId and viewConfigurationType for the lifetime of the instance. The runtime must only change the content of the recommended values within XrViewConfigurationView, e.g. recommendedImageRectWidth.
Recommended Phrasing:
The runtime may return non-identical buffer contents from the xrEnumerateViewConfigurationViews enumeration for the given systemId and viewConfigurationType for the lifetime of the instance. The runtime must only change the content of the recommended values within XrViewConfigurationView, e.g. recommendedImageRectWidth, and must only do so at the same time it adds the XrEventDataViewConfigurationViewsChangedEXT event to the event queue.
As of now, the phrasing of how
xrEnumerateViewConfigurationViewsis modified byEXT_view_configuration_views_changeallows runtimes the ability to change the recommendation every frame, which might cause a poorly behaving application (which instead of waiting for the event polls the function every frame) to update every single frame, when the extension's intent is for this to only happen once per second at most. I can foresee application developers doing this intentionally to get more live dynamic resolution, if some runtime does exhibit this "change at any rate but fire events at 1hz" behaviour.This seems unintentional, and that the spec likely intends that the result value of
xrEnumerateViewConfigurationViewsis only allowed to change if the event has been emit, which would mean it can only update once per second. This would forbid runtimes and dissuade applications from doing this trick for faster update rates.Current Phrasing:
The runtime may return non-identical buffer contents from the xrEnumerateViewConfigurationViews enumeration for the given systemId and viewConfigurationType for the lifetime of the instance. The runtime must only change the content of the recommended values within XrViewConfigurationView, e.g. recommendedImageRectWidth.
Recommended Phrasing:
The runtime may return non-identical buffer contents from the xrEnumerateViewConfigurationViews enumeration for the given systemId and viewConfigurationType for the lifetime of the instance. The runtime must only change the content of the recommended values within XrViewConfigurationView, e.g.
recommendedImageRectWidth, and must only do so at the same time it adds the XrEventDataViewConfigurationViewsChangedEXT event to the event queue.