Date: Fri, 05 Nov 1999 13:46:44 -0800 From: Amancio Hasty <hasty@rah.star-gate.com> To: current@FreeBSD.ORG Subject: more on vga vsync Message-ID: <199911052146.NAA58130@rah.star-gate.com>
next in thread | raw e-mail | index | archive | help
> On Thu, 04 Nov 1999 14:35:58 -0800, Amancio Hasty wrote: > >This show > up on the FreeBSD mailing list when I ask about modifying vga.c >to > deliver a signal. > >> Let me ask a different question: How does > Microsoft's DirectX handle >> delivery of vertical retrace interrupt? > The vertical retrace interrupt is not exposed to applications in the > DirectX model -- it's all internal to the DirectX provider. The > DirectX blit and flip- surface (for double buffering) calls both have > an option to request that the operation be delayed until the end of > this frame. This is implemented in one three ways: > - if the chip has a hardware blit option to delay until VSYNC, this > is pretty easy, and you don't need the interrupt; > - if the chip has a VSYNC interrupt, the driver has to hook the > interrupt > and process the operation at interrupt time; > - otherwise, the chip is permitted to do a delayed callback; the > operation > does not have to OCCUR within VBLANK, it just has to delay until > after > the current frame ends. > However, all of this is strictly for DirectX. GDI and the GDI driver > interface know nothing about vertical retrace, since the interface > has to work for printers and plotters as well as displays. Move > window operations use GDI, and thus are not synchronized with > vertical retrace in any way. In our case the X server is somewhat the DirectX provider. -- Amancio Hasty hasty@rah.star-gate.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911052146.NAA58130>