Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1547512
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: Windows平台

2014-04-15 16:47:41

Diagram illustrating display driver/video miniport driver communication
  1. Communicating IOCTLs to the Video Miniport Driver

  2. The following figure shows how the display driver communicates with the video miniport driver using IOCTLs.
  3. Diagram illustrating display driver/video miniport driver communication

  4. The display driver calls EngDeviceIoControl with an IOCTL to send a synchronous request to the video miniport driver. GDI uses a single buffer for both input and output to pass the request to the I/O subsystem. The I/O subsystem routes the request to the video port, which processes the request with the video miniport driver.
  5. (显示驱动调用EngDeviceIoControl来发送同步请求给video小端口驱动。GDI使用单缓存将输入和输出请求发送给I/O子系统。子系统推送请求给video port,最终由video小端口驱动处理该请求。

  6. Some IOCTL requests require the miniport driver to access video registers, and others store or retrieve information from the miniport driver

  1. Accessing the Frame Buffer and Hardware Registers

  2. There are several ways to reduce display driver size. For example, you can implement only those functions that the display driver can perform faster than GDI, and then specify GDI to perform all other operations. GDI often performs a substantial amount of the drawing to linear frame buffers to reduce the size of the driver. GDI cannot access banked memory directly; therefore, when the frame buffer is not linearly addressable, the display driver must divide the frame buffer into a series of banks and provide a means for GDI to perform its draw operations to the appropriate bank. See Supporting Banked Frame Buffers for details.

  3. The display driver has direct access to I/O-mapped and memory-mapped video registers. This access allows a display driver to achieve high performance. For example, the driver might need to access video hardware registers to send line-drawing commands at high throughput.

  4. Similarly, for graphics cards, such as the S3, many of the innermost loops in the graphics engine code require reads and writes of several video controller ports (for example, text output in graphics mode, bit block transfers, and line drawing). Rather than requiring the display driver to send an IOCTL to the miniport driver for each request, the display driver is permitted to access the video hardware directly.


阅读(568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~