对压缩资源的着色器写入制造技术

技术编号:21693640 阅读:43 留言:0更新日期:2019-07-24 16:55
公开了用于对压缩表面执行着色器写入的系统、设备及方法。在一个实施方案中,处理器包括至少一个存储器和一个或多个着色器单元。在一个实施方案中,所述处理器的着色器单元被配置为接收针对压缩表面的写入请求。所述着色器单元被配置为识别所述写入请求所针对的所述压缩表面的第一块。响应于确定所述写入请求的数据针对小于所述第一块的整体,第一着色器单元从高速缓存中读取所述第一块并解压缩所述第一块。接下来,所述第一着色器单元合并所述写入请求的所述数据与解压缩的第一块。然后,所述着色器单元压缩合并数据并将所述合并数据写入所述高速缓存。

Shader Writing for Compressed Resources

【技术实现步骤摘要】
【国外来华专利技术】对压缩资源的着色器写入
技术介绍
相关技术描述图形处理单元(GPU)是被配置为执行图形处理任务的复杂集成电路。例如,GPU可以执行最终用户应用程序(诸如视频游戏应用程序)所需的图形处理任务。GPU可以是分立装置,或者可以与另一个处理器(诸如中央处理单元(CPU))包括在同一装置中。GPU在被称为渲染的过程中产生从其组成部分的较高级描述构成图像的像素。GPU通常通过使用计算元件处理像素、纹理和几何数据来利用连续渲染的概念。计算元件可以执行光栅化程序、设置引擎、色彩混合器、隐藏表面移除、纹理映射等功能。这些计算元件通常被称为着色器、着色器处理器、着色器阵列、着色器单元、着色器引擎等,其中“着色器”是计算机图形学中的术语,是指图形资源用于执行渲染效果的软件指令集或程序。“着色器”还可以指代用于执行软件指令的实际硬件部件或处理器。着色器处理器或程序可以读取和呈现数据并执行任何类型的数据处理。在生成复杂图形场景中所涉及的许多处理涉及纹理数据。纹理可以是各种类型的数据中的任何一种,诸如色彩、透明度、查找表或其他数据。在一些实施方案中,纹理可以是被绘制到几何形状上以添加视觉细节的数字化图像。可以在渲染模型以创建目标图像时将大量细节通过使用纹理映射到图形模型的表面。纹理映射的目的是在对象的表面上提供逼真的外观。纹理可以指定许多属性,包括色彩、表面属性,如呈法线贴图或凹凸贴图的形式的镜面反射或精细表面细节。纹理也可以是图像数据、色彩或透明度数据、粗糙度/平滑度数据、反射率数据等。在3D计算机图形中,通常通过使用纹理添加关于对象的表面细节。例如,可以使用纹理映射将砖壁的2D位图图像应用于表示建筑物的3D模型的一组多边形以使该对象的3D渲染具有由砖块构成的外观。提供逼真的计算机图形通常需要许多高质量的、详细的纹理。纹理的使用可能消耗大量的存储空间和带宽,并且因此纹理通常可以被压缩以减少存储空间和带宽利用率。压缩纹理和表面可以减少图形系统上的存储和带宽成本,同时尽可能多地保持初始纹理和表面的质量。图形处理的一项挑战是存储器或高速缓存带宽限制了GPU完全发挥其作用。可以利用压缩来减少从存储器或高速缓存中获取以供GPU处理的数据量。当GPU生成输出图像或深度/模板表面时,GPU可以压缩这些表面以减少存储器/高速缓存带宽和利用率。软件应用程序可以在将最终图像发送到显示器之前对这些表面进行后处理。通常,软件应用程序将在更新输出图像的任何部分之前解压缩整个输出图像。然而,在由GPU渲染的场景中,有时仅当场景随时间变化时才需要更新场景的一部分。例如,在视频游戏应用程序中,用户可以在墙上射击,在墙上产生弹孔。为了更新表示墙的表面,只需要更新墙的一小部分。然而,用于更新压缩资源的部分的过程可能是低效的。因此,需要用于管理压缩资源的改进技术。附图说明通过结合附图参考以下描述,可以更好地理解本文所述的方法和机制的优点,在附图中:图1是计算系统的一个实施方案的框图。图2是GPU的一个实施方案的框图。图3是高速缓存仲裁器和高速缓存的一个实施方案的框图。图4是压缩器模块的一个实施方案的框图。图5是示出用于对压缩表面执行写入的方法的一个实施方案的概括流程图。图6是示出用于处理对表面的压缩块的写入请求的方法的一个实施方案的概括流程图。图7是示出用于处理对表面的未压缩块的写入请求的方法的一个实施方案的概括流程图。图8是示出用于对压缩表面执行写入的方法的另一个实施方案的概括流程图。具体实施方式在以下描述中,阐述许多特定细节以便提供对本文呈现的方法和机制的透彻理解。然而,所属领域一般技术人员应认识到,可以在没有这些特定细节的情况下实践各种实施方案。在一些情况下,未详细示出公知结构、部件、信号、计算机程序指令和技术以免混淆本文所述的方法。应当明白,为了使图示简单和清楚起见,图中所示的元件不一定按比例绘制。例如,一些元件的尺寸可能相对于其他元件被夸大。公开了用于对压缩资源执行着色器写入的各种系统、设备、方法及计算机可读介质。在一个实施方案中,处理器包括至少一个高速缓存和一个或多个着色器单元。在一个实施方案中,所述处理器的第一着色器单元被配置为接收针对压缩表面的写入请求。所述第一着色器单元被配置为识别所述写入请求所针对的所述压缩表面的第一块。所述第一着色器还被配置为确定所述写入请求的数据是否针对小于所述第一块的整体。如果所述第一着色器单元确定所述写入请求的所述数据针对小于所述第一块的整体,则所述第一着色器单元从所述高速缓存中读取所述第一块并解压缩所述第一块。接下来,所述第一着色器单元合并所述写入请求的所述数据与解压缩的第一块。然后,所述着色器单元压缩合并数据并将所述合并数据写入所述高速缓存。在一个实施方案中,如果所述第一着色器单元确定所述写入请求的所述数据更新所述第一块的整体,则所述第一着色器单元压缩所述写入请求的所述数据,然后用压缩数据覆盖所述高速缓存中的所述第一块。在一个实施方案中,所述第一着色器单元被配置为访问与所述第一块相关联的元数据,其中所述元数据包括指定用于压缩所述第一块的压缩类型的信息。在一个实施方案中,所述元数据存储在元数据高速缓存中。所述第一着色器单元被配置为利用所述信息来解压缩所述第一块。在一个实施方案中,所述第一着色器单元被配置为确定所述第一块是否被设定为恒定值。如果所述第一块被设定为恒定值,则所述第一着色器单元可以跳过从所述高速缓存中读取所述第一块。相反,所述第一着色器单元合并所述写入请求的所述数据与所述恒定值的数据。然后,所述第一着色器单元压缩所述合并数据并将其写入所述高速缓存。现在参考图1,示出了计算系统100的一个实施方案的框图。在一个实施方案中,计算系统100包括耦合到存储器150的片上系统(SoC)105。SoC105也可以被称为集成电路(IC)。在一个实施方案中,SoC105包括处理单元115A至115N、输入/输出(I/O)接口110、共享高速缓存120A至120B、组构(fabric)125、图形处理单元130和一个或多个存储器控制器140。SoC105还可以包括图1中未示出以免混淆附图的其他部件。处理单元115A至115N表示任何数量和类型的处理单元。在一个实施方案中,处理单元115A至115N是中央处理单元(CPU)核心。在另一个实施方案中,处理单元115A至115N中的一者或多者是其他类型的处理单元(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP))。处理单元115A至115N耦合到共享高速缓存120A至120B和组构125。在一个实施方案中,处理单元115A至115N被配置为执行特定指令集架构(ISA)的指令。每个处理单元115A至115N都包括一个或多个执行单元、高速缓存、调度器、分支预测电路等。在一个实施方案中,处理单元115A至115N被配置为执行系统100的主控制软件,诸如操作系统。通常,在使用期间由处理单元115A至115N执行的软件可以控制系统100的其他部件以实现系统100的期望功能性。处理单元115A至115N还可以执行其他软件,诸如应用程序。GPU130包括压缩器模块135、一个或多个高速缓存138和计算单元145A至145N,所述计算单元145A至1本文档来自技高网...

【技术保护点】
1.一种处理器,其包括:高速缓存;以及一个或多个着色器单元,所述一个或多个着色器单元耦合到所述高速缓存;其中响应于针对压缩表面的写入请求,所述一个或多个着色器单元中的着色器单元被配置为:识别所述写入请求所针对的所述压缩表面的第一块;确定是否激活用于获取和解压缩所述第一块的逻辑;响应于检测到第一条件:防止用于获取和解压缩所述第一块的逻辑被激活;压缩所述写入请求的数据以形成新的第一块;以及将所述新的第一块写入所述高速缓存。

【技术特征摘要】
【国外来华专利技术】2016.12.22 US 15/389,0751.一种处理器,其包括:高速缓存;以及一个或多个着色器单元,所述一个或多个着色器单元耦合到所述高速缓存;其中响应于针对压缩表面的写入请求,所述一个或多个着色器单元中的着色器单元被配置为:识别所述写入请求所针对的所述压缩表面的第一块;确定是否激活用于获取和解压缩所述第一块的逻辑;响应于检测到第一条件:防止用于获取和解压缩所述第一块的逻辑被激活;压缩所述写入请求的数据以形成新的第一块;以及将所述新的第一块写入所述高速缓存。2.如权利要求1所述的处理器,其中所述第一条件是确定所述第一块的数据被设定为单个值,并且其中所述着色器单元被配置为合并所述写入请求的数据与所述单个值的数据,然后压缩所合并数据并形成所述新的第一块。3.如权利要求1所述的处理器,其中所述第一条件是确定所述写入请求的数据更新所述第一块的整体,并且其中所述着色器单元还被配置为用所述新的第一块覆盖所述高速缓存中的所述第一块。4.如权利要求1所述的处理器,其中响应于检测到第二条件,所述着色器单元被配置为:激活用于获取和解压缩所述第一块的逻辑;合并所述写入请求的所述数据与解压缩的第一块以形成新的第一块;以及压缩所述新的第一块并将其写入所述高速缓存。5.如权利要求4所述的处理器,其中所述第二条件是确定所述写入请求的数据针对小于所述第一块的整体。6.如权利要求5所述的处理器,其中所述着色器单元还被配置为访问与所述第一块相关联的元数据,其中所述元数据包括指定用于压缩所述第一块的压缩类型的信息。7.如权利要求6所述的处理器,其中所述着色器单元还被配置为利用所述信息来解压缩所述第一块。8.一种用于计算装置的方法,所述方法包括:接收针对压缩表面的第一写入请求;着色器单元识别所述第一写入请求所针对的所述压缩表面的第一块;所述着色器单元确定是否激活用于获取和解压缩所述第一块的逻辑;响应于确定所述第一块被设定为恒定值,所述着色器单元:防止用于获取和解压缩所述第一块的逻辑被激活;压缩所述写入请求的数据以形成新的第一块;以及将所述新的第一块写入高速缓存。9.如权利要求8所述的方法,其中所述第一条件是确定所述第一块的数据被设定为单个值,并且其中所述方法还包括合并所述写入请求的数据与所述单个值的数据,然后压缩所合并数据...

【专利技术属性】
技术研发人员:吉姆谢德·米尔扎克里斯多夫·J·布伦南安东尼·陈利昂·赖
申请(专利权)人:超威半导体公司ATI科技无限责任公司
类型:发明
国别省市:美国,US

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

1