CN107430787A - 在共享着色器核心上提供异步显示着色器功能 - Google Patents
在共享着色器核心上提供异步显示着色器功能 Download PDFInfo
- Publication number
- CN107430787A CN107430787A CN201680013411.1A CN201680013411A CN107430787A CN 107430787 A CN107430787 A CN 107430787A CN 201680013411 A CN201680013411 A CN 201680013411A CN 107430787 A CN107430787 A CN 107430787A
- Authority
- CN
- China
- Prior art keywords
- tinter
- display
- frame
- shader core
- modification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
提出了一种用于为计算机图形执行显示着色的方法、非暂时性计算机可读介质和处理器。通过显示着色器接收帧数据,所述帧数据包括所呈现的帧的至少一部分。通过所述显示着色器接收用于修改所述帧数据的参数。通过所述显示着色器将所述参数应用于所述帧数据以便创建修改的帧。在显示设备上显示所述修改的帧。
Description
相关申请的交叉引用
本申请要求2015年3月2日提交的美国申请号14/635,280的权益,所述申请的内容以引用的方式并入本文。
技术领域
所公开的实施方案总体涉及图形处理,并且具体地,涉及在具有多个输入队列的共享着色器核心上提供异步显示着色器。
背景
当前,当完成3D帧的呈现时,所呈现的帧被移交到显示设备以用于显示。此进程通常是简单的—从扫描缓冲器读取数据并且将所述数据发送到显示设备。
图形硬件当前包括着色器程序,其指导计算机以特定方式绘制某物,包括应用各种效果。可通过调用着色器的程序所提供的外部参数来修改着色器。存在各种类型的着色器,并且每种类型的着色器在图形管线中的不同点处应用。当将3D对象的输入表示转换成在屏幕上显示的三角形(其构成所呈现的图像)的坐标时,应用一些着色器。当呈现每个单独三角形时应用其他着色器以便将它们映射到屏幕上。
一旦帧被呈现,在此之后就没有机会执行定时到显示刷新的附加操作。如果呈现比显示刷新更快并且在显示刷新开始之前完成,则可以在呈现之后再模拟一遍此操作。但是,考虑到可变的呈现工作负载,不能保证这一点。
这是因为呈现以“呈现速率”发生,所述呈现速率是可变的并且基于3D呈现工作负载。显示以“显示速率”发生,所述显示速率以显示设备的扫描输出速率发生。显示着色器将容许以与“呈现速率”无关的“显示速率”完成待调度的工作,当前对此尚无解决方案。
当前的一个解决方案是通过以下方式来同步执行显示着色:等待直到呈现完成,在一个大的突发中运行显示着色器(以便快速地让更多呈现开始),以及然后调度待显示的结果。但是,这种解决方案要求在呈现开始时所有输入都是已知的,并且可以在整个帧上使用输入的一个快照。这可能需要等待输入,所述等待具有漫长且不可预测的延迟,并且因此在需要低延迟的使用情况下是不可接受的。为了能够以具有尽可能少的从输入到扫描输出的延迟的“显示速率”来执行计算调步,需要在执行扫描输出时总是能够访问最新输入的异步计算。
使用独立的显示着色器将通过以下方式执行更接近实时的附加操作:采取呈现的最终输出并且在将其发送到显示器之前在正好及时的基础上转换所述输出。
实施方案概述
一些实施方案提供了一种用于为计算机图形执行显示着色的方法。通过显示着色器接收帧数据,所述帧数据包括所呈现的帧的至少一部分。通过显示着色器接收用于修改帧数据的参数。通过显示着色器将参数应用于帧数据以便创建修改的帧。在显示设备上显示修改的帧。
一些实施方案提供了一种非暂时性计算机可读存储介质,其存储用于由通用计算机执行以便为计算机图形执行显示着色的指令集。指令集包括:第一接收代码段、第二接收代码段、应用代码段和显示代码段。第一接收代码段通过显示着色器接收帧数据,所述帧数据包括所呈现的帧的至少一部分。第二接收代码段通过显示着色器接收参数,所述参数用于修改帧数据。应用代码段通过显示着色器将参数应用于帧数据以便创建修改的帧。显示代码段显示修改的帧。
一些实施方案提供了一种被配置来为计算机图形执行显示着色的处理器。所述处理器包括命令处理器、着色器核心和着色器管。着色器核心可以由多个进程共享。着色器管被配置来在命令处理器与着色器核心之间进行通信。显示着色器是由命令处理器发送以便在着色器核心上执行的程序。显示着色器被配置来:接收帧数据,所述帧数据包括所呈现的帧的至少一部分;接收用于修改帧数据的参数;以及将参数应用于帧数据以便创建修改的帧。
附图简述
可以从结合附图以举例方式给出的以下描述中获得更详细的了解,在附图中:
图1为可实现一个或多个公开的实施方案的示例性设备的框图;
图2为可实现一个或多个公开的实施方案的示例性处理器的框图;
图3是通往和来自显示着色器的数据流的流程图;并且
图4是通过显示着色器处理数据的方法的流程图。
详述
提出了一种用于为计算机图形执行显示着色的方法、非暂时性计算机可读介质和处理器。通过显示着色器接收帧数据,所述帧数据包括所呈现的帧的至少一部分。通过显示着色器接收用于修改帧数据的参数。通过显示着色器将参数应用于帧数据以便创建修改的帧。在显示设备上显示修改的帧。
图1为可实现一个或多个公开的实施方案的示例性设备100的框图。设备100可包括例如计算机、游戏设备、手持式设备、机顶盒、电视机、移动电话或平板计算机。设备100包括处理器102、存储器104、存储装置106、一个或多个输入设备108以及一个或多个输出设备110。设备100还可任选地包括输入驱动器112和输出驱动器114。应理解的是,设备100可包括图1中未示出的其他部件。
处理器102可包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一晶粒上的CPU和GPU,或一个或多个处理器核心,其中每个处理器核心可以是CPU或GPU。存储器104可与处理器102位于同一晶粒上,或可与处理器102分开定位。存储器104可包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM或高速缓存。
存储装置106可包括固定存储装置或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或闪存驱动器。输入设备108可包括键盘、小键盘、触摸屏、触摸板、检测器、麦克风、加速计、陀螺仪、生物识别扫描器或网络连接(例如,用于发射和/或接收无线IEEE 802信号的无线局域网卡)。输出设备110可包括显示器、扬声器、打印机、触觉反馈设备、一个或多个灯、天线或网络连接(例如,用于发射和/或接收无线IEEE 802信号的无线局域网卡)。
输入驱动器112与处理器102和输入设备108通信,并且容许处理器102接收来自输入设备108的输入。输出驱动器114与处理器102和输出设备110通信,并且容许处理器102向输出设备110发送输出。应指出的是,输入驱动器112和输出驱动器114为任选部件,并且在输入驱动器112和输出驱动器114不存在的情况下,设备100将以相同方式操作。
图2为可实现一个或多个公开的实施方案的示例性处理器200的框图。应注意,处理器200可包括图2中未示出的其他部件;出于讨论的目的,在图2中仅示出处理器的与显示着色器操作相关的那些部分。还应注意,在存在多个相同元件的情况下,为了简化说明以单数形式讨论此元件,但是所述元件的操作对于多个元件中的每一个是相同的。为了简化图2,在多个元件与不同元件进行通信的情况下,仅通过多个元件中的一个来示出通信路径。
处理器200包括多个异步计算引擎(ACE)命令处理器(CP)2020–202n。每个ACE CP202与对应的计算着色器(CS)管2040–204n进行通信。每个CS管204与统一着色器核心206进行通信。统一着色器核心206与存储器208进行通信。每个ACE CP 202能够以优先化方式将工作添加到统一着色器核心206中。
图形命令处理器210接收并处理来自应用程序(图2中未示出)的图形命令。图形命令处理器210与存储器208进行通信,并且将工作项目发送到工作分配器212。工作分配器212将工作项目分配到CS管214并且分配到多个图元(primitive)管2160–216n。每个图元管216执行图元缩放并且与存储器208通信。每个图元管216包括高阶表面着色器218、镶嵌器220和几何着色器222。高阶表面着色器218向镶嵌器220提供高阶表面,所述镶嵌器220将高阶表面划分成图元。然后由几何着色器222来处理图元。高阶表面着色器218和几何着色器222都与统一着色器核心206通信。
处理器200还包括多个像素管2240–224n。每个像素管224执行像素缩放并且包括扫描转换器226和呈现后端228。图元管218中的几何着色器222与像素管224中的扫描转换器226进行通信。每个像素管224中的扫描转换器226彼此通信并将数据发送到统一着色器核心206。呈现后端228与存储器208进行通信并且从统一着色器核心206接收数据。
在处理器200中,显示着色器是在统一着色器核心206上执行的着色器程序。显示着色器通过以下方式实现:复制帧缓冲存储器(其是存储器208的一部分)的至少一部分,使显示控制器指向此复制帧缓冲器处,以及在统一着色器核心206中对原始帧缓冲器中的数据运行正好及时进程以便生成实际输出缓冲器,所述实际输出缓冲器存储在复制帧缓冲器中。在此上下文中,“正好及时”意味着在生成帧之后并且在扫描输出和显示之前,显示着色器接近实时地运行。需要复制的帧缓冲存储器的量取决于显示选通模式。复制整个帧缓冲存储器可能不是必需的,但这样做提供了简单的实现方式。
对显示着色器的输入是最后生成的全3D帧和最新参数,显示着色器需要所述最新参数以便将此帧转变为显示图像。应注意,代替最后生成的全3D帧,显示着色器可接收最后N个帧,并且还可接收深度信息、运动信息或多于一个层以用于组合。参数可包括但不限于:用户接口更新、指针位置、头部跟踪数据、眼睛跟踪数据、所呈现的帧的时间戳、或当前显示时间。向显示着色器供应的参数的范围可基于由程序员选择的显示着色器的实现方式。在一个实现方式中,向显示着色器提供的任何信息(包括帧数据和参数信息)可被提供作为指向信息的指针,以便在统一着色器核心上执行显示着色器时被检索到。
将这些输入供应到显示着色器允许以最小的延迟生成实际显示输出。在显示着色器开始处理数据之前,帧缓冲器不需要是满的。可以使用相对较小的缓冲器来开始所述进程。
通过在ACE CP 202上加载程序来执行显示着色器,所述ACE CP 202向统一着色器核心206提交高优先级请求。所提交的工作包含显示着色操作。由于高优先级请求,统一着色器核心206接受来自ACE CP 202的工作,并且在非常短的时间内开始进行此工作。显示着色器必须在显示器扫描输出之前产生其结果。这需要某种方法来确保服务质量;以下更详细地描述服务质量方法的实例。等待其他排队的工作完成可能是不可接受的,因为其他排队的工作可能需要任意长度的时间来执行。一旦统一着色器核心206至少部分地没有其他工作,统一着色器核心206中的优先级机构就将显示着色器优先化,以使得其在竞争工作负载之前被调度。
一个ACE CP 202可专用于运行显示着色器启动进程。所述ACE CP跟踪显示控制器正在从后处理的帧缓冲器读取的位置,并且当其到达启动点时,所述ACE CP起动统一着色器核心206中的显示着色器进程。
图3是通往和来自显示着色器的数据流的流程图300。帧缓冲器302向显示着色器306提供帧数据304。显示着色器306从存储器(图3中未示出)获得显示参数308,并且将帧数据304和显示参数308发送到统一着色器核心310。统一着色器核心310执行显示着色器306以便生成修改的帧312,所述修改的帧312存储在帧缓冲器302中。显示数据314是帧缓冲器302的扫描输出以用于在显示设备316上显示。
在一个实施方案中,目的地复制的帧缓冲器可以在尺寸上受限制并且位于芯片上,以便减少将数据写入到远程存储器并且读回数据的功耗。如果可以保证结果可及时用于扫描输出,则此实施方案是可能的。
图4是通过显示着色器处理数据的方法400的流程图。显示着色器接收作为待呈现的3D帧的至少一部分的帧数据(步骤402),并且从存储器取回显示参数(步骤404)。一旦显示着色器具有必需的帧数据和参数,它就提醒统一着色器核心其已准备好执行(步骤406)。
一旦正在运行显示着色器的ACE CP从统一着色器核心接收到其可用的指示,ACECP就将帧数据和参数发送到统一着色器核心(步骤408),其中显示着色器基于所述参数来处理帧数据(步骤410)。将已处理的数据从统一着色器核心发送到帧缓冲器以用于扫描输出并在显示设备上显示(步骤412),并且所述方法终止(步骤414)。应注意,方法400的步骤可至少部分地重叠。例如,可以从扫描输出缓冲器读取一些数据以用于显示,而同时处理其他数据。这意味着可以从缓冲器读取帧的一部分并且显示所述部分,同时处理同一帧的另一部分。
显示着色器使得应用程序进行改变与显示器上出现的图像之间的延迟尽可能低。可以实现这种低延迟,因为显示着色进程花费比原始帧呈现更少的完成时间。低延迟还使得显示速率能够与呈现速率解耦。显示着色器可以高优先级运行以保证最小延迟,或以低优先级运行以最小化对其他工作负载的影响。如果以低优先级运行,则必须更早地调整启动点以确保着色器有时间来完成。
因为显示着色器被实现为正好及时进程,所以需要有某种服务质量(QoS)保证。如果显示着色器未准时完成其处理,那么显示扫描将在扫描输出缓冲器中的数据之前运行,并且在屏幕上显示“垃圾”(即错误数据)。
需要有显示着色器能够在所允许的延迟时间内完成其工作的高级可信度。对于所允许的容许延迟时间没有硬限制,但显示着色器需要在接近预计时间长度、非常接近所有时间内完成其工作。统一着色器核心的优先化有助于满足QoS保证。通过优先化,显示着色器可有效地“接管”整个着色器核心,直到所述着色器核心完成其操作。
在一个实现方式中,即使显示着色器以高优先级运行,统一着色器核心也将在执行显示着色器之前等待直到完成任何现有工作。在第二实现方式中,可能中断统一着色器核心中当前进行的工作以容许显示着色器运行。在第三实现方式中,即使当前正在进行现有的工作,统一着色器核心上也可能存在用于运行显示着色器的空间。
在第四实现方式中,可预先保留用于显示着色器的资源,以使得当显示着色器已准备好运行时,它能够运行并且不需要等待统一着色器核心上的现有工作完成。在此实现方式中,直到已知数据已准备好才将工作调度到在ACE CP上。可替代地,如果数据是瞬态的,则可以在显示着色进程期间以动态方式更新数据。
存在用于保持启动器进程在ACE CP上运行的若干种可能的方式:
(1)使用现有的流式传输引擎,并且定期向其馈送启动器进程的新实例,每个所述实例在启动点之前睡眠并且之后终止。如果操作系统(OS)提供在先前进程退出时自动填充ACE CP的队列,则这可以通过使用连接到图形控制器的CPU来实现,条件是进程开始的最坏情况下的延迟比启动之间的间隔更长并且重新调度的成本不会太高。
(2)在ACE CP上开始和停止循环的连续进程。如果需要GPU进程以便在有限时间量内退出(这在某些OS上是真的),则此方法可能不是可接受的。
(3)以上的混合:每帧对ACE CP进程调度一次,并且单个进程循环并且在退出之前执行固定数量的启动点。
如果要维持最小延迟,则显示着色器执行的模式需要与显示设备上的选通模式匹配。例如,如果显示器一遍被选通,则显示着色器对每个显示帧需要执行一次。如果显示器被选通为上半部分和下半部分,则显示着色器对每帧执行两次,即对每一半执行一次。如果显示器被连续选通,则理想地将对每个像素执行显示着色器,但在实际情况下可能对每几个显示扫描线执行显示着色器。为了确定显示设备的选通模式,显示着色器可与设备进行通信,或可通过编程的表或假设来设置模式。
对于大多数显示着色算法,存在一种在启动时对输入参数进行快照的方法。并非所有参数都可能需要同时被精确地更新;一般来说,参数组将需要原子更新(例如,待处理的先前完成帧的变换矩阵或缓冲器位置)。
在具有多个GPU(包括加速处理单元(APU)和GPU的组合)的系统中,显示着色器仅需在一个GPU上执行。通常最方便的是在最接近显示端口或显示控制器的GPU上执行显示着色器,以避免在缓慢系统总线上传输的延迟成本,但这不是要求。
显示着色器可在各种情况下使用,所述情况包括但不限于:
(1)用于虚拟现实头戴耳机的显示延迟减少的异步时间扭曲。
(2)其他低延迟组合,包括具有较高的复杂度或帧速率转换的鼠标指针叠加。例如,在于4K显示设备的情况下,可能存在大且复杂的光标。在玩游戏期间,玩家期望瞬时光标响应;围绕屏幕移动光标的任何延迟都将不利地影响玩游戏。
(3)时间域抗锯齿和帧累积。
(4)运动补偿的帧速率转换。
应了解,可能存在基于本文中公开内容的许多变型。尽管上文以特定组合来描述特征和元件,但是每个特征和元件可在没有其他特征和元件的情况下单独使用,或者可在具有或没有其他特征和元件的情况下以各种组合来使用。
所提供的方法可在通用计算机、处理器、处理器核心或显示设备中实现。例如,合适的处理器包括通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、其他任何类型的集成电路(IC)和/或状态机。可通过使用处理后的硬件描述语言(HDL)指令和包括网表的其他中间数据(这些指令能够存储在计算机可读介质上)的结果配置制造过程来制造此类处理器。这种处理的结果可以是光罩作品,所述光罩作品随后在半导体制造过程中用来制造实现实施方案的各方面的处理器。
本文提供的方法或流程图可实现在并入非暂时性计算机可读存储介质中的计算机程序、软件或固件中,以用于由通用计算机或处理器执行。非暂时性计算机可读存储介质的实例包括只读存储器(ROM)、随机存取存储器(RAM)、寄存器、高速缓冲存储器、半导体存储器设备、如内部硬盘和可移动磁盘的磁性介质、磁光介质、和如CD-ROM盘的光学介质和数字通用光盘(DVD)。
Claims (17)
1.一种用于为计算机图形执行显示着色的方法,其包括:
通过显示着色器接收帧数据,其中所述帧数据包括所呈现的帧的至少一部分;
通过所述显示着色器接收参数,所述参数用于修改所述帧数据;
通过所述显示着色器将所述参数应用于所述帧数据以便创建修改的帧;以及
显示所述修改的帧。
2.根据权利要求1所述的方法,其中在能够由多个进程共享的着色器核心上执行所述显示着色器。
3.根据权利要求2所述的方法,其中所述着色器核心包括优先级机构,其中能够以比所述着色器核心上的其他进程更高的优先级来执行所述显示着色器。
4.根据权利要求2所述的方法,其还包括:
提醒所述着色器核心所述显示着色器已准备好执行。
5.根据权利要求1所述的方法,其中所述显示包括:
通过所述显示着色器将所述修改的帧存储在缓冲器中;以及
从所述缓冲器读取所述修改的帧以便进行显示。
6.一种非暂时性计算机可读存储介质,其存储用于由通用计算机执行以便为计算机图形执行显示着色的指令集,所述指令集包括:
第一接收代码段,所述第一接收代码段用于通过显示着色器接收帧数据,其中所述帧数据包括所呈现的帧的至少一部分;
第二接收代码段,所述第二接收代码段用于通过所述显示着色器接收参数,所述参数用于修改所述帧数据;
应用代码段,所述应用代码段通过所述显示着色器将所述参数应用于所述帧数据以便创建修改的帧;以及
显示代码段,所述显示代码段用于显示所述修改的帧。
7.根据权利要求6所述的非暂时性计算机可读存储介质,其还包括:
提醒代码段,所述提醒代码段用于提醒着色器核心所述显示着色器已准备好执行。
8.根据权利要求6所述的非暂时性计算机可读存储介质,其中所述显示代码段包括:
存储代码段,所述存储代码段用于通过所述显示着色器将所述修改的帧存储在缓冲器中;以及
读取代码段,所述读取代码段用于从所述缓冲器读取所述修改的帧以便进行显示。
9.根据权利要求6所述的非暂时性计算机可读存储介质,其中所述指令是用于设备制造的硬件描述语言(HDL)指令。
10.一种被配置来为计算机图形执行显示着色的处理器,其包括:
命令处理器;
着色器核心,所述着色器核心能够由多个进程共享;以及
着色器管,所述着色器管被配置来在所述命令处理器与所述着色器核心之间进行通信,
其中显示着色器是由所述命令处理器发送以便在所述着色器核心上执行的程序,所述显示着色器被配置来:
接收帧数据,其中所述帧数据包括所呈现的帧的至少一部分;
接收用于修改所述帧数据的参数;并且
将所述参数应用于所述帧数据以便创建修改的帧。
11.根据权利要求10所述的处理器,其中所述着色器核心包括优先级机构,其中能够以比所述着色器核心上的其他进程更高的优先级来执行所述显示着色器。
12.根据权利要求10所述的处理器,其中所述命令处理器被配置来提醒所述着色器核心所述显示着色器已准备好执行。
13.根据权利要求10所述的处理器,其还包括:
缓冲器,所述缓冲器被配置来从所述显示着色器接收所述修改的帧。
14.一种非暂时性计算机可读存储介质,其存储用于由一个或多个处理器执行以便有利于制造被配置来为计算机图形执行显示着色的处理器的指令集,所述处理器包括:
命令处理器;
着色器核心,所述着色器核心能够由多个进程共享;以及
着色器管,所述着色器管被配置来在所述命令处理器与所述着色器核心之间进行通信,
其中显示着色器是由所述命令处理器发送以便在所述着色器核心上执行的程序,所述显示着色器被配置来:
接收帧数据,其中所述帧数据包括所呈现的帧的至少一部分;
接收用于修改所述帧数据的参数;并且
将所述参数应用于所述帧数据以便创建修改的帧。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述着色器核心包括优先级机构,其中能够以比所述着色器核心上的其他进程更高的优先级来执行所述显示着色器。
16.根据权利要求14所述的非暂时性计算机可读存储介质,所述处理器还包括:
缓冲器,所述缓冲器被配置来从所述显示着色器接收所述修改的帧。
17.根据权利要求14所述的非暂时性计算机可读存储介质,其中所述指令是用于设备制造的硬件描述语言(HDL)指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/635,280 US20160260246A1 (en) | 2015-03-02 | 2015-03-02 | Providing asynchronous display shader functionality on a shared shader core |
US14/635,280 | 2015-03-02 | ||
PCT/US2016/016553 WO2016140764A1 (en) | 2015-03-02 | 2016-02-04 | Providing asynchronous display shader functionality on a shared shader core |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107430787A true CN107430787A (zh) | 2017-12-01 |
Family
ID=56848427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680013411.1A Pending CN107430787A (zh) | 2015-03-02 | 2016-02-04 | 在共享着色器核心上提供异步显示着色器功能 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160260246A1 (zh) |
KR (1) | KR20170125881A (zh) |
CN (1) | CN107430787A (zh) |
WO (1) | WO2016140764A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US10043318B2 (en) | 2016-12-09 | 2018-08-07 | Qualcomm Incorporated | Display synchronized image warping |
US10026145B2 (en) * | 2016-12-13 | 2018-07-17 | Qualcomm Incorporated | Resource sharing on shader processor of GPU |
US10210650B1 (en) * | 2017-11-30 | 2019-02-19 | Advanced Micro Devices, Inc. | Primitive level preemption using discrete non-real-time and real time pipelines |
US10695665B2 (en) * | 2018-03-16 | 2020-06-30 | Sony Interactive Entertainment America Llc | Asynchronous virtual reality interactions |
US10678693B2 (en) | 2018-11-08 | 2020-06-09 | Insightfulvr, Inc | Logic-executing ring buffer |
US10776984B2 (en) | 2018-11-08 | 2020-09-15 | Insightfulvr, Inc | Compositor for decoupled rendering |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7548244B2 (en) * | 2005-01-12 | 2009-06-16 | Sony Computer Entertainment Inc. | Interactive debugging and monitoring of shader programs executing on a graphics processor |
US8711159B2 (en) * | 2009-02-23 | 2014-04-29 | Microsoft Corporation | VGPU: a real time GPU emulator |
WO2012012440A1 (en) * | 2010-07-19 | 2012-01-26 | Advanced Micro Devices, Inc. | Data processing using on-chip memory in multiple processing units |
US20130155077A1 (en) * | 2011-12-14 | 2013-06-20 | Advanced Micro Devices, Inc. | Policies for Shader Resource Allocation in a Shader Core |
US9019289B2 (en) * | 2012-03-07 | 2015-04-28 | Qualcomm Incorporated | Execution of graphics and non-graphics applications on a graphics processing unit |
-
2015
- 2015-03-02 US US14/635,280 patent/US20160260246A1/en not_active Abandoned
-
2016
- 2016-02-04 KR KR1020177027228A patent/KR20170125881A/ko unknown
- 2016-02-04 CN CN201680013411.1A patent/CN107430787A/zh active Pending
- 2016-02-04 WO PCT/US2016/016553 patent/WO2016140764A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20160260246A1 (en) | 2016-09-08 |
WO2016140764A1 (en) | 2016-09-09 |
KR20170125881A (ko) | 2017-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430787A (zh) | 在共享着色器核心上提供异步显示着色器功能 | |
US10078882B2 (en) | Priority-based command execution | |
US8310492B2 (en) | Hardware-based scheduling of GPU work | |
US9727385B2 (en) | Graphical processing unit (GPU) implementing a plurality of virtual GPUs | |
CN101080698B (zh) | 图形处理器,图形处理系统及产生图像的方法 | |
CN103392171B (zh) | 来自用户模式的图形处理分派 | |
US20200184320A1 (en) | Neural network processing | |
US7612781B2 (en) | Memory control method of graphic processor unit | |
JP2016509280A (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
US8743131B2 (en) | Course grain command buffer | |
KR20040015757A (ko) | 시간 할당기를 갖는 그래픽 렌더링 엔진을 포함하는 장치,방법 및 시스템 | |
Xie et al. | Pim-vr: Erasing motion anomalies in highly-interactive virtual reality world with customized memory cube | |
US8368704B2 (en) | Graphic processor and information processing device | |
KR20110079576A (ko) | 집적된 그래픽 처리 장치를 갖는 마이크로컨트롤러 | |
US20060061578A1 (en) | Information processing apparatus for efficient image processing | |
US7793012B2 (en) | Information processing unit, system and method, and processor | |
CN101178806B (zh) | 计算机中管理纹理数据的系统与方法 | |
US6091863A (en) | Image processor and data processing system using the same processor | |
US10769753B2 (en) | Graphics processor that performs warping, rendering system having the graphics processor, and method of operating the graphics processor | |
EP1947602B1 (en) | Information processing device, graphic processor, control processor, and information processing method | |
JP7450824B2 (ja) | 低レイテンシ組成器 | |
US9015719B2 (en) | Scheduling of tasks to be performed by a non-coherent device | |
JP3683657B2 (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
JPH064314A (ja) | タスク間同期通信装置 | |
JP2005276194A (ja) | グラフィックス表示装置およびグラフィックスプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171201 |
|
WD01 | Invention patent application deemed withdrawn after publication |