Skip to content

nvngx_dlssd 310.9.1 (SL 2.14.1): WRITE_AFTER_WRITE sync hazard on NGX-internal images during first Vulkan evaluate; 310.7.0 is clean #126

Description

@Ale-7000

Environment

  • RTX 5090, driver 610.88, Windows 11, Vulkan 1.4.341
  • Vulkan SDK 1.4.357 validation layer with synchronization validation enabled
  • nvngx_dlssd.dll 310.9.1 from the Streamline 2.14.1 release zip, NGX used directly (NGX_VULKAN_CREATE_DLSSD_EXT1 / NGX_VULKAN_EVALUATE_DLSSD_EXT, not through the interposer)
  • Ray Reconstruction with DLUnified denoise mode, packed roughness, linear depth, IsHDR | MVLowRes, render preset F (the same happens with preset left at default)

What happens
On the first evaluate of a run, the synchronization validation layer reports two hazards, both between commands recorded by NGX on images created and named by NGX:

vkCmdClearColorImage(): WRITE_AFTER_WRITE hazard detected. vkCmdClearColorImage writes to VkImage 0x...[nv.ngx.dlssd.resource], which was previously written during an image layout transition initiated by vkCmdPipelineBarrier[nv.ngx.dlssd.Evaluate].

(two instances, on two different nv.ngx.dlssd.resource images). Later evaluates in the same run report nothing.

Expected
No hazards: the barrier that transitions these internal images presumably needs the transfer-write access/stage of the following clear in its destination scope (or the clear should come before the transition).

Regression
The same application, scene and settings with nvngx_dlssd.dll 310.7.0 (Streamline 2.12.0) report zero validation messages.

Impact
Applications that treat any validation message as a failure (e.g. CI or headless test runs) have to filter these by object name until a fixed DLL ships.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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