Gallium

Gallium3D是一个图形接口层,解耦合上层操作与驱动。主要接口包括pipe_context和pipe_screen,用于设置渲染状态、创建纹理等。State tracker负责将Mesa状态和绘制命令转化为pipe对象。Ancillary Modules如Draw、TGSI提供额外服务。资源、转移、资源目标、PIPE_BUFFER、表面和采样视图是关键概念,详细解释了它们在图形处理中的作用。
摘要由CSDN通过智能技术生成

http://www.freedesktop.org/wiki/Software/gallium/

Gallium3D其实是一个接口层,解耦上层操作与驱动之间的联系:

主要接口

  • pipe_context 结构体(p_context.h), 其中定义了和context相关的函数集,这些函数主要包括如下功能:

    • Setting rendering state (texture sampler state, blending state, rasterization state, vertex array info, drawing surfaces, etc.)
    • Setting shader state, using the TGSI binary shader representation.
    • Vertex array and indexed vertex array drawing.
  • pipe_screen结构体,包含与context无关的信息和函数集

    • Creating textures (and drawing surfaces)
    • Getting “views” into textures
    • Hardware queries (number of texture units, max texture size, etc).
    • Creating generic memory buffers
    • Mapping/unmapping buffers
    • Fencing
  • 另外还有一些数据结构定义在p_state.h中

    • Graphics state (blending, texture sampling, rasterization)
    • Texture and surface resources
    • Vertex array layout

State tracker

It’s responsible for translating Mesa state (blend modes, texture state, etc) and drawing commands (like glDrawArrays and glDrawPixels) into pipe objects and operations.

Traditional fixed-function OpenGL components (such as lighting and texture combining) are implemented with shaders. OpenGL commands such as glDrawPixels are translated into textured quadrilateral rendering. Basica

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值