Skip to content

Clarification regarding EXT_view_configuration_views_change behaviour #601

@Beyley

Description

@Beyley

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions