cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

avee
Journeyman III

Framelock Development with FirePro + S400

Hi,

We're currently developing a simulation visualization application (or Image Generator as they usually call it in the industry). One of the features that we need is the synchronization of several channel. We plan to achieve this using the Framelock capability of the AMD FirePro. We are currently using the AMD FirePro v9800.

I have skimmed through this forum and the developer website but there seem to be no example of how to use the feature.

I have downloaded the AMD Display Library, and noticed that under the workstation.h file there are several function that are related to this function (ADL_Workstation_GLSync..).

Can anyone provide/share with us some pointers, documentations or samples on how to develop this feature?

Thanks in advance.

0 Likes
2 Replies
chm
Staff
Staff

Hi,

actually you do not need to use the AMD Display Library to enable Framelock. ADL provides functinality to configure the synchronization of the video signal (TimingServer, TimingClients, HouseSync etc). Usually this confugration is done manually in the Catalyst Control Center. Anyhow if you want to control it from you application you can do this using ADL.

To enable the Framelock you can use the OpenGL extension WGL_NV_swap_group or GLX_NV_swap_group. Those extensions provide functions to join a swap group and to bind to a barrier. Once this is done all subsequent call to SwapBuffers will be synchronized.

The following code shows how to enable framelock:

  // check for the availability of SwapGroups amd SwapBarriers
  if (!wglQueryMaxSwapGroupsNV(mhDC, &nMaxGroups, &nMaxBarriers))
   return false;

  if (nMaxGroups > 0 && nMaxBarriers > 0)
  {
   // In this sample we always join to SwapGroup 1
   // and Barrier 1
   if (!wglJoinSwapGroupNV(mhDC, nGroup))
    return false;

   if (!wglBindSwapBarrierNV(nGroup, nBarrier))
    return false;
  }

0 Likes
avee
Journeyman III

Hi,

Thank you very much for your help, I will try out the code that you have given.

0 Likes