在数据处理系统中用于动态图形上下文切换的方法和装置的制作方法

文档序号:6470519阅读:333来源:国知局
专利名称:在数据处理系统中用于动态图形上下文切换的方法和装置的制作方法
技术领域
本发明一般地涉及一种改进的数据处理系统,具体地涉及用于处理图形数据的方法和装置。
背景技术
数据处理系统,例如个人计算机和工作站,通常被用来运行计算机辅助设计(CAD)应用、计算机辅助制造(CAM)应用和计算机辅助软件工程(CASE)工具。工程师、科学家、技师以及其他人员每天使用这些应用。这些应用涉及复杂的计算,例如有限元分析,用来模型化结构中的应力。其他一些应用包括化学的或分子建造模型应用。CAD/CAM/CASE应用就传递给用户的信息而言通常是图形密集的。数据处理系统用户还可能使用其他的图形密集型的应用,例如桌面出版应用。通常,这些应用的用户需要或要求该数据处理系统能够提供极快的图形信息。
用于在视频显示终端上提供图形显示的图象数据流的处理需要极快的图形系统以向显示器提供快速响应。在这些类型的图形系统中,通过接收基元(primitive)来进行处理和显示。基元是被用作创建图像的建造块的图形元素,例如点、线、弧、圆锥或球体。基元可以由包括一个或多个顶点的顶点组来定义。属性被用来来定义如何显示基元。所述属性包括,例如,线型,颜色和表面纹理(texture)。顶点定义一个点,一条边的端点,或多边形两个边相交形成的角。包括例如位置坐标、颜色、法线(normals)及纹理坐标这样一些信息的数据也与顶点相关联。向该图形系统发送命令以定义如何对基元和其他数据进行处理以用于显示。
在处理图形数据中涉及大量的数据和计算,尤其是对三维应用而言,这些计算中的许多计算已被从中央处理单元转移到图形适配器中。在这些图形系统中,使用位于该图形适配器中的图形流水线(pipeline)来处理图形数据。使用流水线技术,可将图形数据处理分割为若干级处理元素(element)的阶段,其中可由不同处理元素顺序执行对数据的处理。
在多任务图形环境中,常常是多个处理过程共享相同的图形适配器。为使每个图形处理过程向该图形适配器发送图形数据,每个处理过程需要一个绘制上下文(rendering context)。在从一个特定的图形处理过程将图形数据发送至图形适配器用于显示之前,该绘制上下文被一上下文切换处理器恢复在图形适配器上。该上下文切换处理器为图形处理过程执行上下文保存和恢复功能,以便每个图形处理过程都能够访问该图形适配器。用于不同图形处理过程的上下文可能有很大的不同。例如,三维图形环境与二维图形环境相比就相当大。当前,对所有的图形处理过程来说,该上下文被设定为相同的大小。对每个处理过程都要切换整个上下文的做法降低了用于显示图形数据的处理速度。而且,该机制既浪费适配器中的存储器,还降低了不同处理过程中上下文的切换速度。

发明内容
本发明提供了一种数据处理系统中用于多个图形处理过程的上下文管理的方法和装置。从该多个图形处理过程中的第一图形处理过程接收到将图形数据发送至一个图形适配器的请求。判断对于图形适配器是否需要全部改变当前上下文以处理来自该第一图形处理过程的图形数据。如果仅是当前上下文的一部分需要被改变,则保存要被改变的部分。然后,使用存储在存储器中的一组上下文,检索用于该图形处理过程的上下文信息,并以所需的当前上下文信息置入。
第一方面,本发明提供了一种数据处理系统中用于处理来自多个图形处理过程的数据的方法响应接收到来自图形处理过程的将图形数据发送至图形适配器的请求,判断是否需要彻底改变该图形适配器中的当前上下文以处理该多个图形处理过程的该图形处理过程的图形数据;以及在不需要彻底改变该当前上下文的情况下,使用来自存储在存储器中的一组上下文的该图形适配器中的相关的上下文改变该当前上下文的一部分,其中,该相关上下文与该图形处理过程相关联。
第二方面,本发明提供了一种数据处理系统中用于多个图形处理过程的上下文管理的方法,该方法包括接收来自该多个图形处理过程中的第一图形处理过程的向一个图形适配器发送图形数据的请求;判断对于该图形适配器处理来自该第一图形处理过程的图形数据来说是否需要少于当前上下文的全部的改变,从而形成一确定量;使用存储器中存储的一组上下文将该确定量的当前上下文改变为另一上下文,其中少于该当前上下文的全部被改变。
第三方面,本发明提供了一种用于处理来自多个图形处理过程的数据的数据处理系统判断装置,响应于接收到来自图形处理过程的向图形适配器发送图形数据的请求,用于判断是否需要彻底改变该图形适配器中的当前上下文,以处理来自该多个图形处理过程的该图形处理过程的图形数据;以及改变装置,用于在不需要彻底改变当前上下文的情况下,使用来自存储在存储器中的一组上下文的图形适配器中相关上下文来改变当前上下文的一部分,其中,该相关上下文与该图形处理过程相关联。
第四方面,本发明提供了一种用于多个图形处理过程的上下文管理的数据处理系统,该数据处理系统包括接收装置,用于接收来自该多个图形处理过程中的第一图形处理过程的向一个图形适配器发送图形数据的请求;判断装置,用于判断对图形适配器处理来自该第一图形处理过程的图形数据而言是否需要少于当前上下文的全部的改变,从而形成一确定量;以及改变装置,用于使用存储在存储器中的一组上下文将该确定量的当前上下文改变为另一上下文,其中少于该当前上下文的全部被改变。
第五方面,本发明提供了一种计算机可读介质中的计算机程序产品,用于对来自多个图形处理过程的数据进行处理的数据处理系统第一指令组,响应于接收到来自图形处理过程的向图形适配器发送图形数据的请求,用于判断是否需要彻底改变图形适配器中的当前上下文以处理来自多个图形处理过程的该图形处理过程的图形数据;和第二指令组,用于在不需要彻底改变当前上下文的情况下,使用来自存储在存储器中的一组上下文中的该图形适配器中相关上下文来改变当前上下文的一部分,其中,该相关上下文与该图形处理过程相关。
第六方面,本发明提供了一种计算机可读媒体中的计算机程序产品,用于对多个图形处理过程进行上下文管理的数据处理系统,该计算机程序产品包括第一指令组,用于接收来自多个图形处理过程中的第一图形处理过程的将图形数据发送至图形适配器的请求;第二指令组,用于判断对于图形适配器处理来自第一图形处理过程的图形数据来说是否需要少于当前上下文的全部的改变,从而形成一确定量;和第三指令组,用于使用存储在存储器中的一组上下文来将该确定量的当前上下文改变为另一上下文,其中少于当前上下文的全部被改变。
根据本发明的程序产品可被用作包括记录在可机读的记录媒体上的程序代码的计算机程序。


在下文中将结合以下附图更详细地描述本发明的优选实施例。
图1示出根据本发明一优选实施例可在其中实施本发明的一种数据处理系统;图2为在其中可实施本发明的数据处理系统的方块图;图3为示出用于根据本发明一优选实施例的动态上下文切换中的组成部分的方块图;图4图示了根据本发明一优选实施例的com_record;图5为根据本发明一优选实施例的建立上下文的流程图;图6为根据本发明一优选实施例的用于上下文切换的处理过程的流程图;图7为根据本发明一优选实施例的存储上下文信息的流程图;图8为根据本发明一优选实施例的恢复一处理过程的上下文的流程图。
具体实施例方式
现在参考附图,特别参考图1,该图示出根据本发明一优选实施例的其中可实施本发明的数据处理系统。图中所示的计算机100包括系统单元110,视频显示终端102,键盘104,存储装置108,该存储装置可包括软驱和其他类型的永久和可拆卸存储介质,以及鼠标106。个人计算机100还可包括一些附加的输入装置,例如游戏杆,触摸板,触摸屏,跟踪球,麦克风等等。计算机100可以使用任何适合的计算机实现,例如IBMRS/6000计算机或IntelliStation计算机,它们是IBM公司的产品,该公司位于纽约的Armonk。尽管图中所示的为一计算机,在本发明的其他实施例中,也可以被实现在其他类型的数据处理系统中,例如网络计算机。计算机100优选地包括一图形用户界面,其可借助于驻留在计算机可读媒体中在计算机100内处于运行状态的系统软件来实现。
现在参考图2,图中示出在其中可以实现本发明的数据处理系统的方块图。数据处理系统200以计算机,例如图1中的计算机100为例,在其中可存储实现本发明的处理过程的代码或指令。数据处理系统200采用外围组件扩展接口(PCI)本地总线结构。尽管图示的例子采用的是PCI总线,也可以使用其他的总线结构,例如加速图形接口(AGP)和工业标准结构(ISA)。处理器202和主存储器204通过PCI桥208连接至PCI本地总线206。PCI桥208还可包括集成的存储器控制器和用于处理器202的高速缓冲存储器。到PCI本地总线206的其他连接可通过直接组件互连或通过内插式附件(add-in)板来完成。在图示例子中,局域网(LAN)适配器210、小型计算机系统接口SCSI主机总线适配器212以及扩展总线接口214均通过直接组件连接与PCI本地总线206连接。相反,音频适配器216,和图形适配器218则通过插入扩展槽中的内插式附板连接至PCI本地总线206。扩展总线接口214提供用于键盘和鼠标适配器220、调制解调器222和附加存储器224的连接。SCSI主机总线适配器212提供用于硬盘驱动器226、磁带驱动器228和CD-ROM驱动器230的连接。典型的PCI本地总线实现可支持3或4个PCT扩展槽或内插式连接器。
操作系统在处理器202上运行,并被用于协调和提供如图2所示的数据处理系统200内的各个组成部分的控制。该操作系统可以是商业可用的操作系统,例如可从微软公司获得的Windows2000。面向对象的编程系统,例如Java,可结合该操作系统来运行,并且可提供从在数据处理系统200上执行的Java程序或应用对该操作系统的调用。“Java”是Sun微系统公司的商标。操作系统的指令、面向对象的操作系统、以及应用或程序均被置于存储装置,例如硬盘驱动器226中,并且可以被调入主存储器204中由处理器202来执行。具体地,本发明提供了一种机制,用于为向诸如图形适配器218的图形适配器发送图形数据的不同的处理过程动态地切换上下文。这一优点是通过分配存储器以存储用于共享图形适配器218的不同处理过程的上下文来获得的。
本领域一般技术人员将会理解图2中的硬件可根据实施的不同而改变。除图2所示的硬件外,还可使用其他的内部硬件或外围设备,例如闪速(flash)ROM(或等同的非易失性存储器)或光盘驱动器等等,或由这些硬件或设备取代图2所示的硬件。而且,本发明的处理过程还可应用到多处理器数据处理系统。
例如,如果可选地将数据处理系统200配置为网络计算机,则可不包括SCSI主机总线适配器212、硬盘驱动器226、磁带驱动器228、和CD-ROM 230,如图2中指示选择配置的点划线232所示。在这种情况下,计算机,确切地应称之为客户计算机,必须包括某些类型的网络通信接口,例如LAN适配器210,调制解调器222等等。作为另外一个例子,数据处理系统200可以是被配置为不依赖于某种类型的网络接口也可启动的独立的系统,而不管数据处理系统200是否包括某种类型的网络通信接口。作为再另外一个例子,数据处理系统200可以是个人数字助理(PDA)设备,被配置有ROM和/或闪速ROM,以便提供非易失性存储器用于存储操作系统文件和/或用户产生的数据。
图2所示的例子和上述的例子并非意味着结构的限制。例如,除了是PDA形式以外,数据处理系统200还可以是笔记本计算机或手提计算机。数据处理系统200还可以是便利站(kiosk)或Web设备(Web appliance)。
本发明的处理过程由处理器202使用计算机执行的指令来完成,这些指令可位于一存储器中,例如主存储器204,存储器224中,或位于一个或多个外围设备226-230中。
本发明提供了一种多任务图形环境中的机制,在该环境中多个图形处理过程共享共同的图形适配器。在数据处理系统中的一部分存储器,例如图2中的存储器204,被分配用于上下文切换。在这些例子中,存储器分配呈现固定(pinned)缓冲器的形式。固定缓冲器是不会被交换到磁盘的缓冲器,例如对虚拟存储器计算机系统而言,在该系统中磁盘空间被用作扩展存储器,用于存储最近没有被使用的信息。使用固定缓冲器或其他固定存储器使得设备驱动器能够快速访问该存储器中的信息,而无须从磁盘驱动器换入(swap in)该信息。
图形处理过程能够访问该固定缓冲器以指定是否需要某些预定的功能或动作。这些功能包括例如纹理映射或颜色查找。其他功能包括例如关于深度缓冲器测试的信息;硬件光源;凹凸映射(bump-mapping),其为纹理映射的变形;和抗混淆(anti-aliasing)操作。
当发生上下文切换时,上下文切换机制读取固定缓冲器以决定是需要全部上下文切换还是需要进行部分上下文切换。上下文是在一时间点指定的信息或参数。在发出执行一操作的命令时可以不用重新声明或重新指定该信息,但该信息必然会影响该命令的执行。例如,一个程序可能被用来用绿色画一组线,其中,颜色为上下文。第二个程序可能被用来用红色画第二组线。当第一个程序运行时,颜色被设定为绿色。在程序1画完线条之前出现中断,程序2开始运行。程序2将颜色设定为红色并开始画线。第二次中断发生,程序1再继续执行。此时,颜色被设定为红色。程序1每次画线时不再重设颜色。结果,如果上下文,该情况下为线条的颜色,未被重设为程序1所使用的绿色,则线条会以错误的颜色绘出。在该例子中,使用设备驱动器来将该上下文恢复为绿色。这样,就不需要这些程序来跟踪(tract)该上下文信息。
该信息还可被用来确定用于分配图形适配器中的存储器所需的图形上下文的大小。被当作上下文的其他信息包括,例如是否使光源(lighting)或裁剪(clipping)可用;是否绘制或填充基元;当前线的点画模式;以及当前纹理混合功能。
以下转到图3,其示出根据本发明一优选实施例的用于动态上下文切换的组件的方块图。在该例中,应用300,302,304处于多任务图形环境中且共享单个图形适配器,如图2所述的图形适配器218。如图所示,每个应用包括一图形处理过程,其产生用于显示的图形数据。当然,根据特定的应用,一个应用可包括多个图形处理过程。这些应用向操作系统308中的设备驱动器306发送图形数据。设备驱动器是将外围设备,例如图形适配器218,连接至操作系统的程序或例程。一个特定的设备驱动器接收请求和数据,例如来自应用300,302,304的请求和数据,并将这些请求转换成可由该外围设备识别的特定的命令语言和格式。
在该例子中,应用300,302,304能够访问缓冲器310以写入或改变上下文信息。在该例子中,该上下文信息采取com_records 312的形式。当这些应用中的一个向设备驱动器306发送图形数据用于在图形适配器上显示时,设备驱动器306将查看缓冲器310中的com_records 312来看是否需要上下文切换。如果需要上下文切换,则设备驱动器306还判断是需要部分上下文切换还是需要全部上下文切换。基于该判断,设备驱动器306将有选择地切换该图形适配器中的上下文。作为部分切换该上下文,设备驱动器306还可改变该图形上下文的大小以动态地改变图形适配器中用于该上下文的存储器的分配。这样,当对于一特定上下文需要较少的存储空间时,则在该图形适配器中可以使更多的存储空间以供它用。每个硬件都具有设备驱动器;例如图形适配器。设备驱动器知道潜在的上下文信息,且通常保存所有的上下文信息。一特定上下文所需的存储器的量可从用于该图形适配器的设备驱动器或从由该设备驱动器保存的信息获得。
在这些例子中设定一标志用来识别现用的上下文的片段或部分。设备驱动器使用该标志来识别应被保存的上下文和不应保存的上下文。
现在参考图4,该示了根据本发明一优选实施例的com_record。Com_record 400被用来识别用于一特定处理过程的上下文信息。通过使用Com_record 400,本发明的机制能够在一个新的处理过程发送用于处理的图形数据时,判断是否需要全部的上下文切换。
该例子中的Com_record 400包括一标识,纹理和查找功能设定用于与Com_record 400相关的处理过程。在这些例子中,每个处理过程与一个com_record相关联。Com_record 400是包括几行上下文信息的例子。这些行是指示符或标志,用来识别由一特定处理过程当前使用的上下文。一个上下文通常包括成百上千的元素来识别该上下文。在创建上下文中,一处理过程在初始化时创建该上下文。一图形处理过程进行API调用以创建一个或多个图形上下文。当一特定上下文要被激活时,该图形处理过程进行API调用以使一特定上下文与一窗口相关联。这样,在该图形处理过程、上下文和窗口之间存在一种关系。通过由该设备驱动器提供的唯一的标识符来识别该上下文。该唯一的标识符通过被用来创建该上下文的API调用被提供给该应用。这些唯一的标识符被存储在com_record 400中。以这种方式,该设备驱动器便具有了每个上下文的唯一标识符和由API提供的关于当前激活使用的上下文部分的信息之间的唯一的配对。
该API在共享的存储器中创建com_record 400并且通过一次对设备驱动器的调用告诉该设备驱动器com_record 400在共享存储器中的位置。之后,该设备驱动器查看共享存储器做出有关上下文切换的决定。如果该信息发生了改变,则该应用更新该共享存储器。例如,一个应用开始,并且一个应用初始化共享存储器并假定using_texture为FALSE(假),using_lookup为FALSE(假)。接着,该应用调用该设备驱动器以告诉它该共享存储器的位置以及该共享存储器已准备好可以使用。然后,该设备驱动器进行上下文切换。当该设备驱动器保存该上下文时,它看到using_texture为FALSE,于是该设备驱动器不存储纹理信息。该设备驱动器看到using_lookup为FALSE,于是其不存储查找信息。当该设备驱动器将该处理过程切换回活动模式时,该设备驱动器看到using_texture为假,因此该设备驱动器不恢复纹理信息。该设备驱动器看到using_lookup为假,则该设备驱动器不恢复查找表信息。该应用使用纹理查找开始。该应用将TRUE(真)写入称作“using_lookup”的共享存储器的片段中。设备驱动器切换掉(switch off)该上下文。该设备驱动器查看com_record中的共享存储器,看到using_texture为假,因此它不保存纹理信息。该设备驱动器看到using_lookup为真,因此设备驱动器保存查找信息。接着,设备驱动器切换回该上下文。设备驱动器查看共享存储器中的com_record并且看到using_texture为假,因此该设备驱动器不恢复查找信息。该设备驱动器看到using_lookup为真,因此,该设备驱动器恢复查找信息。
现在参考图5,该图中示出了根据本发明一优选实施例的建立上下文的流程图。图5所示的处理过程以一应用,例如图3中的应用300,302,304,所使用的处理过程为例。
该处理过程以创建一个记录开始(步骤500)。在这些例子中,该记录体现为com_record的形式,例如图4中的com_record 400。当然,该记录也可采取不同的形式,例如表中的条目或数据库中的记录。然后在该记录中设定预定的功能(步骤502)。在所示例子中,这些功能包括纹理和查找功能。在建立一基本上下文时,该设备驱动器接收一个以创建上下文的调用并使用缺省值或功能来建立该基本上下文。例如,在基本上下文中提供了缺省的线条颜色。当一上下文和一窗口之间的配对出现时,向该上下文加入附加的信息,例如宽度,高度和窗口类型。该信息被加至与一特定处理过程相关的上下文记录。
接着,由图形应用或处理过程进行图形操作(步骤504),之后该处理过程终止。每次应用请求由设备驱动器创建一个上下文时,图形应用或处理过程创建一个唯一的记录。该信息存在直到该上下文被销毁或处理过程退出。
接下来转到图6,该图是示出根据本发明的一优选实施例的用于上下文切换的流程图。示于图6中的处理过程可以在一设备驱动器,例如图3中的设备驱动器306,中实现。当然,根据不同的实施也可在其他地方实现该处理过程。例如,可在图形内核中实现该处理过程。
事件序列以接收到来自一个处理过程的将图形数据发送至图形适配器的请求开始(步骤600)。判断当前上下文对提出请求的处理过程而言是否正确(步骤602)。如果当前上下文不正确,则识别与该处理过程相关的记录(步骤604)。在这些例子中,这些记录为位于固定缓冲器中的com_records。
接下来,判断是否需要进行全部的上下文切换(步骤606)。如果需要进行全部的上下文切换,则保存当前上下文(步骤608),并恢复该处理过程所需的上下文或将其置于适当的位置以供使用(步骤610)。然后将该请求中的图形数据和/或命令发送至适配器(步骤612),之后该流程结束。
再来参考步骤606,如果不需要全部的上下文切换,则保存当前上下文(步骤614)。在步骤614,仅保存那些要被改变的当前上下文的部分。然后,恢复被识别用于该处理过程的上下文的部分(步骤616),流程进行到步骤612,如上所述。换句话说,检索需要被改变的上下文信息并将其置于当前上下文中以修改该当前上下文。回来参考步骤602,如果该图形适配器中的当前上下文对于发送该请求的处理过程而言是正确的,如上所述,则流程进行到步骤610。
现在转到图7,其中示出根据本发明一优选实施例的用于保存上下文信息的处理过程的流程图。该处理过程在上下文切换期间被使用,且在设备驱动器,例如图3所示的设备驱动器306,中实现。
该处理过程开始先将基本上下文信息保存在与用于处理过程的上下文相关联的记录中(步骤700)。判断在该上下文中是否已经设定了纹理(步骤702)。如果已设定了纹理,则将纹理信息存入该记录中(步骤704)。接着,判断在该上下文中是否设定了查找功能(步骤706)。如果已设定了查找,则保存该查找信息(步骤708),此后该处理过程结束。如果这两个功能均未设定,则仅保存该基本上下文信息,该处理过程终止。在这个例子中,为说明目的,仅示出两类上下文功能。根据可能的不同类型的上下文,所有这些上下文都被保存到该记录中。
现在参考图8,其中示出根据本发明一优选实施例的用于恢复一个处理过程的上下文的流程图。该处理过程以恢复基本上下文开始(步骤800)。使用在与该处理过程相关的记录中的信息在该图形适配器中恢复该基本上下文。当一设备驱动器被调用来建立用于图形处理过程的上下文时,该基本上下文包括由该设备驱动器设定的缺省的设置。判断在该记录中是否设定了纹理功能(步骤802)。如果设定了纹理功能,则使用该记录中的信息在该图形适配器中恢复用于该功能的纹理信息(步骤804)。
接下来,判断在该记录中是否设定了查找功能(步骤806)。如果设定了查找功能,则使用该记录在该图形适配器中恢复该查找信息(步骤808),此后,该处理过程终止。如果在步骤802,未设定纹理功能,如上所述,则该处理过程进行到步骤806。如果在步骤806未设查找功能,则该处理过程终止。尽管该图仅示出除基本上下文信息外用于两个特定功能的上下文信息的恢复,但是本发明的机制可恢复用于在该记录中指定的任何功能的上下文。
图7和8示出的步骤既可应用于保存和恢复全部的上下文,也可应用于保存和恢复部分上下文。如果与一个选择的上下文相关的com_record指示并非使用该上下文中所有的元素,则发生部分保存。例如,如果对于图4的例子,using_texture和using_lookup不是均被设定,则发生部分上下文保存。类似地,在恢复上下文信息时,如果该上下文的某些部分未被使用,则全部上下文恢复操作可以不是必须的。该机制体现在图7和8的步骤702,706,802和806中。
当上下文所需的空间的量改变时,则该上下文的大小也会被改变以分配新的空间。
由此,本发明提供了一种用于图形环境中使多个图形处理过程共享该相同的图形适配器的构制。该机制允许上下文切换,其中可基于用于图形处理过程的特定上下文来重新设定在一个图形适配器中使用的存储器的量。此外,如果需要部分上下文切换,则仅在该图形适配器中恢复所需的信息。性能的提高是在其中发生部分上下文改变而不是全部上下文改变的情况下实现的。由于需要保存和恢复的信息较少,因此可节约时间。
应当注意,尽管是在全功能的数据处理系统的环境下对本发明进行了描述,本领域一般技术人员将会理解,可将本发明的处理过程以指令的计算机可读媒体的形式和多种形式分发,且不管实际用于进行分发的信号承载媒体的特定的类型如何,本发明均可同样适用。计算机可读媒体的例子包括可记录型媒体,例如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,以及传输型媒体,例如,数字和模拟通信链路,使用传输形式的有线或无线通信链路,例如射频和光波传输。该计算机可读媒体可采取编码形式,在一特定的数据处理系统中,其被解码用于实际的应用。
权利要求
1.一种在数据处理系统中用于处理来自多个图形处理过程的数据的方法响应于接收到来自图形处理过程的向图形适配器发送图形数据的请求,判断是否需要完全改变该图形适配器中的当前上下文,以处理用于来自该多个图形处理过程的该图形处理过程的图形数据;以及在不需要当前上下文的完全改变的情况下,使用来自存储在存储器中的一组上下文的在该图形适配器中相关的上下文改变当前上下文的一部分,其中该相关上下文与该图形处理过程相关。
2.根据权利要求1所述的方法,其特征在于,该上下文包括纹理映射和颜色查找。
3.根据权利要求1或2所述的方法,其特征在于,该当前上下文是用于二维图形环境。
4.根据权利要求1或2所述的方法,其特征在于,该当前上下文是用于三维图形环境。
5.根据权利要求1所述的方法,其特征在于,该存储器为缓冲器。
6.根据权利要求5所述的方法,其特征在于,该缓冲器存储一组上下文。
7.根据前面任何一项权利要求所述的方法,其特征在于,该组图形处理过程可访问该组上下文。
8.根据前面任何一项权利要求所述的方法,其特征在于,进一步包括在恢复相关上下文之前保存该当前上下文。
9.根据前面任何一项权利要求所述的方法,其特征在于,该当前上下文与该多个图形处理过程中的另外一个图形处理过程相关。
10.一种在数据处理系统中用于多个图形处理过程的上下文管理的方法,该方法包括接收来自多个图形处理过程的第一图形处理过程的向一个图形适配器发送图形数据的请求;判断对于该图形适配器处理来自该第一图形处理过程的图形数据来说是否需要小于当前上下文的全部的改变,从而形成一个确定的量;以及使用存储在存储器中的一组上下文,将该确定量的当前上下文改变为另一上下文,其中,少于当前上下文的全部被改变。
11.根据权利要求10的方法,其特征在于,进一步包括如果判断对于该图形适配器来说小于当前上下文的全部的改变不足以处理来自该第一图形处理过程的图形数据,则改变当前上下文的全部。
12.根据权利要求11的方法,其特征在于,进一步包括向该图形适配器发送图形数据。
13.根据权利要求11或12所述的方法,其特征在于,该改变步骤包括使用该组上下文由另一个上下文替换该当前上下文。
14.根据权利要求11-13中任何一项所述的方法,其特征在于,该改变步骤包括以来自该组上下文的上下文信息替换当前上下文的一部分,以形成另一上下文。
15.根据权利要求10-14中任何一项所述的权利要求,其特征在于,在该多个图形处理过程中的一个图形处理过程将上下文信息写入与该图形处理过程相关联的上下文。
16.一种用于处理来自多个图形处理过程的数据的数据处理系统,包括判断装置,响应于接收到来自图形处理过程的向图形适配器发送图形数据的请求,用于判断是否需要图形适配器中的当前上下文的完全改变以处理用于来自该多个图形处理过程的该图形处理过程的图形数据;以及改变装置,用于在不需要该当前上下文的完全改变的情况下,使用来自存储在存储器中的一组上下文的在该图形适配器中相关上下文改变该当前上下文的一部分,其中该相关上下文与该图形处理过程相关联。
17.根据权利要求16所述的数据处理系统,其特征在于,进一步包括保存装置,用于在恢复该相关上下文之前保存该当前上下文。
18.根据权利要求16的数据处理系统,其特征在于,该当前上下文与该多个图形处理过程中的另外一个图形处理过程相关。
19.一种用于多个图形处理过程的上下文管理的数据处理系统,该数据处理系统包括接收装置,用于接收来自该多个图形处理过程的第一图形处理过程的向图形适配器发送图形数据的请求;判断装置,用于判断对于图形适配器是否需要少于当前上下文的全部的改变以处理来自该第一图形处理过程的图形数据,从而形成一确定量;改变装置,用于使用存储在存储器中的一组上下文将该确定量的当前上下文改变为另一上下文,其中,少于当前上下文的全部被改变。
20.根据权利要求19所述的数据处理系统,其特征在于,进一步包括如果判断为对于图形适配器来说小于当前上下文的全部的改变不足以处理来自该第一图形处理过程的图形数据,用于改变当前上下文的全部的改变装置。
21.根据权利要求19所述的数据处理系统,其特征在于,进一步包括发送装置,用于向图形适配器发送图形数据。
22.根据权利要求19所述的数据处理系统,其特征在于,该改变步骤包括替换装置,用于使用该组上下文以另一个上下文替换该当前上下文。
23.根据权利要求19所述的数据处理系统,其特征在于,该改变步骤包括替换装置,用于以来自该组上下文的上下文信息替换该当前上下文的一部分从而形成该另一上下文。
24.一种包括记录在可机读媒体上的程序代码的计算机程序,用于在数据处理系统中处理来自多个图形处理过程的数据,该程序包括第一指令组,响应于接收到来自图形处理过程的向图形适配器发送图形数据的请求,用于判断是否需要完全改变图形适配器中的当前上下文,以处理用于来自该多个图形处理过程的该图形处理过程的图形数据;第二指令组,用于在不需要当前上下文的完全改变的情况下,使用来自存储在存储器中的一组上下文的该图形适配器中相关上下文改变该当前上下文的一部分,其中该相关上下文与该图形处理过程相关联。
25.一种包括记录在可机读媒体上的程序代码的计算机程序,用于在数据处理系统中多个图形处理过程的上下文管理,该计算机程序产品包括第一指令组,用于接收来自该多个图形处理过程中的第一图形处理过程的向一个图形适配器发送图形数据的请求;第二指令组,用于判断对于该图形适配器处理来自该第一图形处理过程的图形数据来说是否需要小于当前上下文的全部的改变,从而形成一确定量;以及第三指令组,用于使用存储在存储器中的一组上下文将该确定量的当前上下文改变为另一上下文,其中少于当前上下文的全部被改变。
全文摘要
一种在数据处理系统中用于多个图形处理过程的上下文管理的方法和装置。接收来自该多个图形处理过程的第一图形处理过程的向图形适配器发送图形数据的请求。判断对该图形适配器处理来自该第一图形处理过程的图形数据而言是否需要对当前上下文进行完全改变。如果仅需对当前上下文的一部分进行改变,则保存要被改变的一部分。然后使用存储在一存储器中的一组上下文检索用于该图形处理过程的上下文信息,并用需要的当前上下文信息置入。
文档编号G06T15/00GK1541373SQ01812700
公开日2004年10月27日 申请日期2001年7月19日 优先权日2000年7月20日
发明者R·P·德施纳奥克斯, R P 德施纳奥克斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1