-
公开(公告)号:US09529575B2
公开(公告)日:2016-12-27
申请号:US13398798
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
CPC classification number: G06F8/456
Abstract: Described are compiler algorithms that partition a compute shader program into maximal-size regions, called thread-loops. The algorithms may remove original barrier-based synchronization yet the thus-transformed shader program remains semantically equivalent to the original shader program (i.e., the transformed shader program is correct). Moreover, the transformed shader program is amenable to optimization via existing compiler technology, and can be executed efficiently by CPU thread(s). A Dispatch call can be load-balanced on a CPU by assigning single or multiple CPU threads to execute thread blocks. In addition, the number of concurrently executing thread blocks do not overload the CPU.
Abstract translation: 描述的是将计算着色器程序划分为最大大小的区域(称为线程循环)的编译器算法。 这些算法可以去除原始的基于屏障的同步,而这样变换的着色器程序在语义上等同于原始着色器程序(即,经变换的着色器程序是正确的)。 此外,转换的着色器程序可以通过现有的编译器技术进行优化,并且可以通过CPU线程高效地执行。 通过分配单个或多个CPU线程来执行线程块,可以在CPU上对调度调用进行负载平衡。 另外,同时执行的线程块的数量不会使CPU过载。
-
公开(公告)号:US20090284535A1
公开(公告)日:2009-11-19
申请号:US12121402
申请日:2008-05-15
Applicant: BLAKE PELTON , ANDY GLAISTER , MIKHAIL LYAPUNOV , STEVE KIHSLINGER , DAVID TUFT
Inventor: BLAKE PELTON , ANDY GLAISTER , MIKHAIL LYAPUNOV , STEVE KIHSLINGER , DAVID TUFT
IPC: G06F15/80
CPC classification number: G06T15/005 , G06T2210/52
Abstract: Systems, methods, and computer-readable media for optimizing emulated fixed-function and programmable graphics operations are provided. Data comprising fixed function and programmable states for an image or scenario to be rendered is received. The data for the image is translated into operations. One or more optimizations are applied to the operations. The optimized operations are implemented to render the scenario.
Abstract translation: 提供了用于优化仿真固定功能和可编程图形操作的系统,方法和计算机可读介质。 接收包含要呈现的图像或场景的固定功能和可编程状态的数据。 图像的数据被转换为操作。 一个或多个优化被应用于操作。 实施优化的操作来呈现场景。
-
3.
公开(公告)号:US20050237339A1
公开(公告)日:2005-10-27
申请号:US11155249
申请日:2005-06-17
Applicant: John Platt , Mikhail Lyapunov
Inventor: John Platt , Mikhail Lyapunov
IPC: G06T1/00 , G06T5/00 , G06T11/20 , G09G5/00 , G09G5/36 , G09G5/377 , H04N5/202 , H04N5/66 , G09G5/02
CPC classification number: G06T11/203 , G06T15/503
Abstract: The blending coefficients (alpha values) of font glyphs undergo alpha correction to compensate for a lack of gamma correction in text rendering processes. The alpha correction includes selecting a set of correction coefficients that correspond to the predetermined gamma value of the display device and computing corrected alpha values from the known alpha values, the foreground colors, and set of correction coefficients. The corrected alpha values can then be used to blend the foreground and background colors of the corresponding display pixels without requiring gamma correction. Accordingly, the alpha correction can be performed by a GPU, which is not configured to perform gamma correction, thereby increasing the speed at which text rendering can occur.
Abstract translation: 字体字形的混合系数(α值)经历alpha校正,以弥补文本呈现过程中缺少伽马校正。 α校正包括选择与显示装置的预定伽马值对应的一组校正系数,并根据已知的α值,前景色和校正系数组计算校正的α值。 然后可以使用校正的α值来混合相应显示像素的前景色和背景色,而不需要伽马校正。 因此,可以通过未被配置为执行伽马校正的GPU执行α校正,从而增加可以发生文本呈现的速度。
-
公开(公告)号:US09430199B2
公开(公告)日:2016-08-30
申请号:US13398793
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
CPC classification number: G06F8/433 , G06F8/452 , G06F9/45525 , G06T15/005
Abstract: Described herein are optimizations of thread loop intermediate representation (IR) code. One embodiment involves an algorithm that, based on data-flow analysis, computes sets of temporary variables that are loaded at the beginning of a thread loop and stored upon exit from a thread loop. Another embodiment involves reducing the size of a thread loop trip for a commonly-found case where a piece of compute shader is executed by a single thread (or a compiler-analyzable range of threads). In yet another embodiment, compute shader thread indices are cached to avoid excessive divisions, further improving execution speed.
Abstract translation: 这里描述了线程循环中间表示(IR)代码的优化。 一个实施例涉及一种算法,其基于数据流分析,计算在线程循环开始时加载并在从线程循环退出时存储的临时变量集合。 另一个实施例涉及减少线程循环跳闸的大小,用于通常发现的情况,其中一条计算着色器由单个线程(或可编程序分析的线程范围)执行。 在另一个实施例中,计算着色器线索索引被缓存以避免过分的划分,进一步提高执行速度。
-
公开(公告)号:US08698818B2
公开(公告)日:2014-04-15
申请号:US12121402
申请日:2008-05-15
Applicant: Blake Pelton , Andy Glaister , Mikhail Lyapunov , Steve Kihslinger , David Tuft
Inventor: Blake Pelton , Andy Glaister , Mikhail Lyapunov , Steve Kihslinger , David Tuft
CPC classification number: G06T15/005 , G06T2210/52
Abstract: Systems, methods, and computer-readable media for optimizing emulated fixed-function and programmable graphics operations are provided. Data comprising fixed function and programmable states for an image or scenario to be rendered is received. The data for the image is translated into operations. One or more optimizations are applied to the operations. The optimized operations are implemented to render the scenario.
Abstract translation: 提供了用于优化仿真固定功能和可编程图形操作的系统,方法和计算机可读介质。 接收包含要呈现的图像或场景的固定功能和可编程状态的数据。 图像的数据被转换为操作。 一个或多个优化被应用于操作。 实施优化的操作来呈现场景。
-
公开(公告)号:US20130219377A1
公开(公告)日:2013-08-22
申请号:US13398793
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
IPC: G06F9/45
CPC classification number: G06F8/433 , G06F8/452 , G06F9/45525 , G06T15/005
Abstract: Described herein are optimizations of thread loop intermediate representation (IR) code. One embodiment involves an algorithm that, based on data-flow analysis, computes sets of temporary variables that are loaded at the beginning of a thread loop and stored upon exit from a thread loop. Another embodiment involves reducing the size of a thread loop trip for a commonly-found case where a piece of compute shader is executed by a single thread (or a compiler-analyzable range of threads). In yet another embodiment, compute shader thread indices are cached to avoid excessive divisions, further improving execution speed.
Abstract translation: 这里描述了线程循环中间表示(IR)代码的优化。 一个实施例涉及一种算法,其基于数据流分析,计算在线程循环开始时加载并在从线程循环退出时存储的临时变量集合。 另一个实施例涉及减少线程循环跳闸的大小,用于通常发现的情况,其中一条计算着色器由单个线程(或可编程序分析的线程范围)执行。 在另一个实施例中,计算着色器线索索引被缓存以避免过分的划分,进一步提高执行速度。
-
公开(公告)号:US20130215117A1
公开(公告)日:2013-08-22
申请号:US13398798
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
IPC: G06T15/80
CPC classification number: G06F8/456
Abstract: Described are compiler algorithms that partition a compute shader program into maximal-size regions, called thread-loops. The algorithms may remove original barrier-based synchronization yet the thus-transformed shader program remains semantically equivalent to the original shader program (i.e., the transformed shader program is correct). Moreover, the transformed shader program is amenable to optimization via existing compiler technology, and can be executed efficiently by CPU thread(s). A Dispatch call can be load-balanced on a CPU by assigning single or multiple CPU threads to execute thread blocks. In addition, the number of concurrently executing thread blocks do not overload the CPU.
Abstract translation: 描述的是将计算着色器程序划分为最大大小的区域(称为线程循环)的编译器算法。 这些算法可以去除原始的基于屏障的同步,而这样变换的着色器程序在语义上等同于原始着色器程序(即,经变换的着色器程序是正确的)。 此外,转换的着色器程序可以通过现有的编译器技术进行优化,并且可以通过CPU线程高效地执行。 通过分配单个或多个CPU线程来执行线程块,可以在CPU上对调度调用进行负载平衡。 另外,同时执行的线程块的数量不会使CPU过载。
-
公开(公告)号:US20050151753A1
公开(公告)日:2005-07-14
申请号:US11076396
申请日:2005-03-09
Applicant: John Platt , Mikhail Lyapunov
Inventor: John Platt , Mikhail Lyapunov
CPC classification number: G06T11/203 , G06T15/503
Abstract: The blending coefficients (alpha values) of font glyphs undergo alpha correction to compensate for a lack of gamma correction in text rendering processes. The alpha correction includes selecting a set of correction coefficients that correspond to the predetermined gamma value of the display device and computing corrected alpha values from the known alpha values, the foreground colors, and set of correction coefficients. The corrected alpha values can then be used to blend the foreground and background colors of the corresponding display pixels without requiring gamma correction. Accordingly, the alpha correction can be performed by a GPU, which is not configured to perform gamma correction, thereby increasing the speed at which text rendering can occur.
-
公开(公告)号:US08806458B2
公开(公告)日:2014-08-12
申请号:US13398797
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Blake Pelton , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Blake Pelton , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
IPC: G06F9/44
CPC classification number: G06F8/453 , G06F9/45525
Abstract: Intermediate representation (IR) code is received as compiled from a shader in the form of shader language source code. The input IR code is first analyzed during an analysis pass, during which operations, scopes, parts of scopes, and if-statement scopes are annotated for predication, mask usage, and branch protection and predication. This analysis outputs vectorization information that is then used by various sets of vectorization transformation rules to vectorize the input IR code, thus producing vectorized output IR code.
Abstract translation: 从着色器以着色器语言源代码的形式接收中间表示(IR)代码。 在分析过程中首先分析输入的IR代码,在此期间,操作,范围,部分范围和if语句范围被注释为预测,掩码使用和分支保护和预测。 该分析输出矢量化信息,然后由各种向量化变换规则集合使用,以矢量化输入的IR码,从而产生矢量化的输出IR码。
-
公开(公告)号:US20130219378A1
公开(公告)日:2013-08-22
申请号:US13398797
申请日:2012-02-16
Applicant: Andy Glaister , Blaise Pascal Tine , Blake Pelton , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
Inventor: Andy Glaister , Blaise Pascal Tine , Blake Pelton , Derek Sessions , Mikhail Lyapunov , Yuri Dotsenko
IPC: G06F9/45
CPC classification number: G06F8/453 , G06F9/45525
Abstract: Intermediate representation (IR) code is received as compiled from a shader in the form of shader language source code. The input IR code is first analyzed during an analysis pass, during which operations, scopes, parts of scopes, and if-statement scopes are annotated for predication, mask usage, and branch protection and predication. This analysis outputs vectorization information that is then used by various sets of vectorization transformation rules to vectorize the input IR code, thus producing vectorized output IR code.
Abstract translation: 接收到从着色器以着色器语言源代码的形式编译的中间表示(IR)代码。 在分析过程中首先分析输入的IR代码,在此期间,操作,范围,部分范围和if语句范围被注释为预测,掩码使用和分支保护和预测。 该分析输出矢量化信息,然后由各种向量化变换规则集合使用,以矢量化输入的IR码,从而产生矢量化的输出IR码。
-
-
-
-
-
-
-
-
-