一种图形处理器中基于glDrawBuffer的一到多的片段映射方法及系统技术方案

技术编号:35744687 阅读:35 留言:0更新日期:2022-11-26 18:48
本发明专利技术涉及一种图形处理器中基于glDrawBuffer的一到多的片段映射方法及系统。本发明专利技术的方法包括以下步骤:1)识别glDrawBuffer配置的缓冲区;2)对缓冲区的写入顺序进行排序,并产生缓冲区索引;3)根据确定好的顺序依次将片段映射到不同缓冲区中,片段输出过程采用控制状态机实现,将接收到的tile分多次发送,每次携带不同的缓冲区索引信息。本发明专利技术具有片段处理速度快、利于电路时序实现、电路结构清晰和提高了多缓冲区绘制场景的处理速度的优点。处理速度的优点。处理速度的优点。

【技术实现步骤摘要】
一种图形处理器中基于glDrawBuffer的一到多的片段映射方法及系统


[0001]本专利技术涉及计算机硬件
,尤其涉及一种图形处理器中基于glDrawBuffer的一到多的片段映射方法及系统。

技术介绍

[0002]在计算机图形处理和计算机图形学中,片段是最终写入到帧缓冲区中进行图形显示的数据。在片段处理阶段,片段需要与帧缓冲区中的数据进行一系列的操作,片段最终写入的缓冲区不同时,相应的片段在片段处理阶段的操作数据以及操作结果不同。由图形参数配置命令glDrawBuffer指定需要写入的帧缓冲区,配置一个片段需要写入的缓冲可以是1到多个,因此需要把一个片段根据不同的帧缓冲区配置拆分成多个片段进行处理。

技术实现思路

[0003]为解决
技术介绍
中存在的技术问题,本专利技术提供一种图形处理器中基于glDrawBuffer的一到多的片段映射方法及系统,具有片段处理速度快、利于电路时序实现、电路结构清晰和提高了多缓冲区绘制场景的处理速度的优点。
[0004]本专利技术的技术解决方案是:本专利技术为一种图形处理器中基于g本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种图形处理器中基于glDrawBuffer的一到多的片段映射方法,其特征在于:该方法包括以下步骤:1)识别glDrawBuffer配置的缓冲区;2)对缓冲区的写入顺序进行排序,并产生缓冲区索引;3)根据确定好的顺序依次将片段映射到不同缓冲区中,片段输出过程采用控制状态机实现,将接收到的tile分多次发送,每次携带不同的缓冲区索引信息。2.根据权利要求1所述的图形处理器中基于glDrawBuffer的一到多的片段映射方法,其特征在于:所述步骤1)的具体步骤如下:首先计算glDrawBuffer配置寄存器gldrawbf为1的个数总和,然后根据总和进行译码产生一个6bits的独热码:bit0有效表示写1次数据,bit1有效表示写2次数据,bit3有效表示写3次数据,bit4有效表示写4次数据,bit5有效表示写5次数据,bit6有效表示写6次数据,全部为0表示不写;当总和为0时表示不写入任何颜色缓冲区,此时需要判断是否开启深度测试或模板测试,若开启其中任何一个则表示要写深度缓冲区,需要根据最近一次不为零的配置参数选择发送次数:若缓冲区配置为同时写左右缓冲区,则需要写左右两次,否则只写一次。3.根据权利要求2所述的图形处理器中基于glDrawBuffer的一到多的片段映射方法,其特征在于:所述步骤2)中产生的缓冲区索引为:写缓冲区索引变量index6:在发送次数为6时为RAU,其他情况下无效;写缓冲区索引变量index5:在发送次数为6时为LAU;在发送次数为5且gldrawbf参数为6

b01xxxx时为LAU;在发送次数为5且gldrawbf参数为6

b1xxxxx时为RAU;写缓冲区索引变量index4:在gldrawbf参数为6

bxx1111时为RB;在发送次数为5且gldrawbf参数为6

b11xxxx时为LAU;在发送次数为4且gldrawbf参数为6

b01xxxx时为RAU;写缓冲区索引变量index3:在gldrawbf参数为6

bxxx111时为LB;在发送次数为3且gldrawbf参数为6

b001xxx时为RB;在发送次数为4且gldrawbf参数为6

b011xxx时为RB;在发送次数为4且gldrawbf参数为6

b101xxx时为RB;在发送次数为5且gldrawbf参数为6

b111xxx时为RB;在发送次数为3且gldrawbf参数为6

b01xxxx时为LAU;在发送次数为4且gldrawbf参数为6

b11xxxx时为LAU;在发送次数为3且gldrawbf参数为6

b1xxxxx时为RAU;写缓冲区索引变量index2:在gldrawbf参数为6

bxxxx11时为RF;在gldrawbf参数为6

bxxx110时为LB;在gldrawbf参数为6

bxxx101时为LB;在发送次数为2且gldrawbf参数为6

bxxx001xxx时为RB;在发送次数为3且gldrawbf参数为6

b101xxx时为RB;在发送次数为3且gldrawbf参数为6

b011xxx时为RB;在发送次数为4且gldrawbf参数为6

b111xxx时为RB;在发送次数为2且gldrawbf参数为6

b01xxxx时为LAU;在发送次数为3且gldrawbf参数为6

b11xxxx时为LAU;在发送次数为2且gldrawbf参数为6

b1xxxxx时为RAU;写缓冲区索引变量index1:在gldrawbf参数为6

bxxxxx1时为LF;在gldrawbf参数为6

bxxxx10时为RF;在gldrawbf参数为6

bxxx100时为LB;在gldrawbf参数为6

bxx1000时为RB;在gldrawbf参数为6

bx10000时为LAU;在gldrawbf参数为6

b100000时为RAU。4.根据权利要求3所述的图形处理器中基于glDrawBuffer的一到多的片段映射方法,其特征在于:所述步骤3)中状态机包括IDLE状态、SEND1状态、SEND2状态、SEND3状态、SEND4状态、SEND5状态、SEND6状态共7个状态;状态跳转过程如下:1)IDLE状态:
电路上电复位时,状态机处于该状态;复位撤消后,检测到输入数据有效,需下发1次数据,状态机跳转到SEND1状态;下发数据、第1个写地址索引index1,输出ready信号等于输入ready信号;输入数据有效,需下发2次数据,状态机跳转到SEND2状态;下发数据、第2个写地址索引index2,输出ready信号
‘0’
;输入数据有效,需下发3次数据,状态机跳转到SEND3状态;下发数据、第3个写地址索引index3,输出ready信号
‘0’
;输入数据有效,需下发4次数据,状态机跳转到SEND4状态;下发数据、第4个写地址索引index4,输出ready信号
‘0’
;输入数据有效,需下发5次数据,状态机跳转到SEND5状态;下发数据、第5个写地址索引index5,输出ready信号
‘0’
;输入数据有效,需下发6次数据,状态机跳转到SEND6状态;下发数据、第6个写地址索引index6,输出ready信号
‘0’
;否则保持在IDLE状态,输出ready信号为
‘1’
;2)SEND1状态:数据可以下发,输入数据无效,状态机跳转到IDLE状态;下发数据、第1个写地址索引index1,输出ready信号为
‘1’
;输入数据有效,需下发2次数据,状态机跳转到SEND2状态;下发数据、第2个写地址索引index2,输出ready信号
‘0’
;输入数据有效,需下发3次数据,状态机跳转到SEND3状态;下发数据、第3个写地址索引index3,输出ready信号
‘0’
;输入数据有效,需下发4次数据,状态机跳转到SEND4状态;下发数据、第4个写地址索引index4,输出ready信号
‘0’
;输入数据有效,需下发5次数据,状态机跳转到SEND5状态;下发数据、第5个写地址索引index5,输出ready信号
‘0’
;输入数据有效,需下发6次数据,状态机跳转到SEND6状态;下发数据、第6个写地址索引index6,输出ready信号
‘0’
;3)SEND2状态:数据可以下发,状态机跳转到SEND1状态,下发数据、第1个写地址索引index1,输出ready信号等于输入ready信号;4)SEND3状态:数据可以下发,状态机跳转到SEND2状态,下发数据、第2个写地址索引index2;5)SEND4状态:数据可以下发,状态机跳转到SEND3状态,下发数据、第3个写地址索引index3;6)SEND5状态:数据可以下发,状态机跳转到SEND4状态,下发数据、第4个写地址索引index4;7)SEND6状态:数据可以下发,状态机跳转到SEND5状态,下发数据、第5个写地址索引index5。5.一种实现权利要求1所述的图形处理器中基于glDrawBuffer的一到多的片段映射方
法的系统,其特征在于:所述系统包括glDrawBuffer参数解析模块、缓冲区索引产生模块和片...

【专利技术属性】
技术研发人员:张淑田泽杜琴琴李攀王维
申请(专利权)人:西安翔腾微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1