数据流模型和事件模型(glspec4.3 ,chapter 3,4,5)

数据流模型:这个是比较熟悉的,从点到图元,在光栅化,PS , 写入到FB。

事件模型:

  • 同步对象和栅栏(Fence)
    同步对象有两种状态,完成的和未完成的。当一个同步对象被建立的时候,其状态为未完成的,当其前面所有的GL命令都已经完成的时候,其状态会变成完成的,同步对象可以对GL命令流做比较精确的控制。
    • sync FencSync(enum condition, bitfield flags) ; 创建一个同步对象。当和这个同步对象相关的事件发生时(应该就是其前面所有的命令执行完毕),ClientWaitSync和WaitSync函数会返回。其中的condition必须为SYNC_GPU_COMMANDS_COMPLETE.
      同步对象的状态也可以用GetSynciv函数来进行查询。DeleteSyn将删除一个同步对象。
    等待同步对象 , enum ClientWaitSync(sync sync , bitfield flags, uint64 timeout) ;  WaitSync . 这两个函数一个是立即返回,一个不是立即返回,具体请使用时查询手册。
  • 查询对象
    可以查询的对象包括: PRIMITIVE_GENERATED , 返回被处理的图元的数量。Occlusion 查询,通过深度测试的片段数。以及时间查询。

共享对象和多上下文

  • 讨论多上下文在共享一些对象时,对对象的更新应该反应在哪个上下文中,以及哪些上下文可以看到何时的对象更新。

 



本文地址: http://www.bagualu.net/wordpress/archives/2527 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注