Call to GetScanoutConfigurationEx is returning incorrect sourceDesktopRect

Hi,

I’m using R440 of the NVAPI to setup warp and blending. I believe an incorrect sourceDesktopRect is returned by the call to NvAPI_GPU_GetScanoutConfigurationEx.

I have connected 1 LCD monitor and 2 Optoma beamers to my Quadro P2200.

Using Mosaic, the 2 beamers have been setup as a single 2x1 topology and set to be the primary monitor. Since each beamer has a resolution of 1280x800 pixels, the total desktop area is 2560x800 pixels.

The LCD monitor is Full HD at 1920x1080 pixels. It sits to the left of the 2 beamers and is not part of the Mosaic topology, so it is treated as a secondary display.

The call returns scanInfo with the following data:

Display 1 (LCD monitor):

  • sourceDesktopRect: [-1920,0; 1920x1080]
  • sourceViewportRect: [0,0; 1920x1080]
  • targetViewportRect: [0,0; 1920x1080]

Display 2 (Optoma Beamer Left):

  • sourceDesktopRect: [-1920,0; 1920x1080] (same as Display 1!)
  • sourceViewportRect: [0,0; 1280x800]
  • targetViewportRect: [0,0; 1280x800]

Display 3 (Optoma Beamer Right):

  • sourceDesktopRect: [-1920,0; 1920x1080] (same as Display 1!)
  • sourceViewportRect: [1280,0; 1280x800]
  • targetViewportRect: [0,0; 1280x800]

I believe the sourceDesktopRect of the beamers should be [0,0; 2560x800] instead.

If I set the primary monitor to be the LCD display, both the beamers still show the same sourceDesktopRect as the LCD, just with different coordinates.

If this is working as intended, how can I obtain the correct desktop coordinates for each display? I’ve seen a sample using NvAPI_DISP_GetDisplayHandleFromDisplayId , but this method is not available in R440 of the NVAPI, which I am using, so I am a bit confused here.

Kind regards,

Paul