Patent application number | Description | Published |
20100253683 | NON-UNIFORM TESSELLATION TECHNIQUE - A non-uniform fractional tessellation technique adapts a tessellation of a base object to the on-screen projection before the domain shader in a graphics processing pipeline executes. The tessellation is adapted in a non-uniform manner such that the distribution of vertices across the surface of the base object is substantially uniform when the base object is projected to screen space. Non-uniform tessellation may be applied to only a portion of the base object, and regular (uniform) tessellation may be applied to the other portion. In such a case, an edge interpolation technique is used to smoothly blend between the non-uniform and uniform portions. | 10-07-2010 |
20110018874 | Method, Apparatus, and Computer Program Product For Improved Graphics Performance - A method for improving performance of generation of digitally represented graphics. The method comprises: receiving a first representation of a base primitive; providing a set of instructions associated with vertex position determination; executing said retrieved set of instructions on said first representation of said base primitive using bounded arithmetic for providing a second representation of said base primitive, and subjecting said second representation of said base primitive to a culling process. A corresponding apparatus and computer program product are also presented. | 01-27-2011 |
20110102437 | Performing Parallel Shading Operations - A graphics processing pipeline may include at least two or more pipes, such that a lower frequency operation may be executed on one pipe while a higher frequency operation in the same instruction stream is executed at the same time on another pipe. In some cases, the lower frequency operation result may be held for later use in connection with the higher frequency operation on a different pipe. Especially where unused slots can be used for the lower frequency operation, efficiency may be improved. | 05-05-2011 |
20110148876 | Compiling for Programmable Culling Unit - During compilation, the interval bounds for a programmable culling unit are calculated if possible. For each variable, interval bounds are calculated during the compilation, and the bounds together with other metadata are used to generate an optimized culling program. If not possible, then an assumption may be made and the assumption used to compile the code. If the assumption proves to be invalid, a new assumption could be made and the code may be recompiled in some embodiments. | 06-23-2011 |
20130181991 | Five-Dimensional Occlusion Queries - A standard occlusion query (OQ) may be generalized to five dimensions, which can be used for motion blurred, defocused, occlusion culling. As such, the occlusion query concept is generalized so that it can be used within 5D rasterization, which is used for rendering of motion blur and depth of field. For 5D rasterization, occlusion culling may be done with OQs as well, applied to solve other rendering related problems. | 07-18-2013 |
20130181992 | TIME-CONTINUOUS COLLISION DETECTION USING 3D RASTERIZATION - We present a technique that utilizes a motion blur (three dimensional) rasterizer to augment the PCS culling technique so that it can be used for continuous collision detection, which to the best of our knowledge has not been done before for motion blur using a graphics processor. | 07-18-2013 |
20130187947 | Graphics Tiling Architecture With Bounding Volume Hierarchies - In some embodiments, tile lists may be avoided by storing the geometry of a scene in a bounding volume hierarchy (BVH). For each tile, the bounding volume hierarchy is traversed. The traversals continued only into children nodes that overlap with the frustum on the tile. By relaxing the ordering constraint of rendering primitives, the BVH is traversed such that nodes that are closer to the viewer are traversed first, increasing the occlusion culling efficiency in some embodiments. Rendering the full scene between the central processing cores and the graphics processor may be done through a shared memory in some embodiments. | 07-25-2013 |
20130250060 | Depth Buffer Compression for Stochastic Motion Blur Rasterization - A depth buffer compression scheme uses bilinear patches as a predictor for depth. The scheme targets compression of scenes rendered with stochastic blur rasterization. A tile of fragments may be split into two or more regions and a higher-degree function may be fit to each region. The residuals are then stored as delta corrections. | 09-26-2013 |
20130268569 | SELECTING A TILE SIZE FOR THE COMPRESSION OF DEPTH AND/OR COLOR DATA - In accordance with some embodiments, depth and/or color data may be compressed by selecting one of at least two different tile sizes based on considerations of storage requirements and average number of samples per tile. | 10-10-2013 |
20130287314 | Stochastic Rasterization with Selective Culling - Depth of field may be rasterized by culling half-space regions on a lens from which a triangle to be rendered is not visible. Then, inside tests are only performed on the remaining unculled half-space regions. Separating planes between the triangle to be rendered and the tile being processed can be used to define the half-space regions. | 10-31-2013 |
20130335429 | Using Cost Estimation to Improve Performance of Tile Rendering for Image Processing - An analysis of the cost of processing tiles may be used to decide how to process the tiles. In one case two tiles may be merged. In another case a culling algorithm may be selected based on tile processing cost. | 12-19-2013 |
20140015835 | Five-Dimensional Rasterization with Conservative Bounds - A per-tile test in the 5D rasterizer outputs intervals for both lens parameters, (u,v), and for time, t, as well as for depth z. These intervals are conservative bounds for the current tile for 1) the visible lens region, 2) the time the triangle overlaps the tile, and 3) the depth range for the triangle inside the tile. | 01-16-2014 |
20140085300 | Stochastic Depth Buffer Compression Using Generalized Plane Encoding - Unlike a static primitive, where the depth function is planar, the depth function for a moving and defocused triangle is a rational function in time and the lens parameters. Compact depth functions can be used to design an efficient depth buffer compressor/decompressor, which significantly lowers total depth buffer bandwidth usage. In addition, this compressor/decompressor is substantially simpler in the number of operations needed to execute, which makes it more amenable for hardware implementation than previous methods. | 03-27-2014 |
20140132596 | Culling Using Linear Bounds for Stochastic Rasterization - We present a new culling test for rasterization of simultaneous depth of field and motion blur, which efficiently reduces the set of (x, y, u, v, t) samples that need to be coverage tested within a screen space tile. The test finds linear bounds in u, t space and v, t space respectively, using a separating line algorithm. This test is part of the foundation for an efficient 5D rasterizer that extracts coherence in both defocus and motion blur to minimize the number of visibility tests. | 05-15-2014 |
20140139524 | Depth Buffering - In accordance with some embodiments, depth values may be split into more and less significant bits. By so doing, some processing can be done based only on the more significant bits. Where the number of more significant bits is significantly less than the total number of bits, some memory bandwidth can be preserved. In other words, by only using the more significant bits for some of the depth buffering operations, memory bandwidth usage can be reduced, improving efficiency. | 05-22-2014 |
20140168244 | Color Buffer Caching - A color buffer cache may be implemented in a way that reduces memory bandwidth. In one embodiment this may be done by determining whether a corresponding tile being rendered is completely inside a triangle. If so, the cache lines that correspond to this tile may be marked as “less useful”. As a result of being marked as less useful, those cache lines may be replaced before other cache lines in one embodiment. Thus a color buffer cache is used for those tiles that overlap with at least one triangle edge. The use of such a color buffer cache scheme may be more efficient and therefore may reduce memory bandwidth in some embodiments. | 06-19-2014 |
20140258754 | Reducing Power Consumption During Graphics Rendering - In accordance with some embodiments, the knowledge that a capped frame time is used can be exploited to reduce power consumption. Generally a capped frame time is a pre-allocated amount of time to apply power for rendering in graphics processing. Generally the frame time involves the application of power and some down time in which only idle power is applied pending the next frame time. By making better use of that down time, power consumption reductions can be achieved in some embodiments. | 09-11-2014 |
20140300619 | Programmable Tile Shader - In accordance with some embodiments, a tile shader executes on a group of pixels prior to a pixel shader. The tile of pixels may be rectangular in some embodiments. The tile may be executed hierarchically, refining each tile into smaller subtiles until the pixel or sample level is reached. The tile shader program can be written to discard groups of pixels, thereby quickly removing areas of the bounding triangles that lie outside the shape being rasterized or quickly discarding groups of pixel shader executions that will not contribute to the final image. | 10-09-2014 |
20140313194 | Culling for Higher-Order Motion Blur Rasterization - Efficient overlap tests between a screen space tile and a moving triangle with per-vertex motion following Bézier curves report conservative time bounds in which the moving triangle overlaps with a tile. The tests can be used in designing efficient hierarchical traversal algorithms for higher order motion blur rendering. | 10-23-2014 |
20140313211 | Color Buffer Compression - In accordance with some embodiments, a mask or table may be maintained to record information about whether or not each pixel within a tile is cleared. As used herein, a “cleared” tile is one that is not covered by any other depicted objects. The clear mask may store a bit per pixel or sample to indicate whether the pixel or sample contains a color value or whether it is cleared. As a result, the compression ratio may be increased for partially covered tiles in some embodiments. | 10-23-2014 |
20140333662 | MULTI-SAMPLING ANTI-ALIASING COMPRESSION BY USE OF UNREACHABLE BIT COMBINATIONS - Techniques related to graphics rendering including techniques for improved multi-sampling anti-aliasing compression by use of unreachable bit combinations ae described. | 11-13-2014 |
20140340414 | Caching For Reduced Depth And/Or Color Buffer Bandwidth - In accordance with some embodiments, caching may be improved for tiles on shared edges between triangles. In some embodiments, the technique may be used for either color and depth caches or both caches. | 11-20-2014 |
20140347380 | UNIVERSAL CODEC - Techniques related to coding data including techniques for coding data using a universal codec are generally described. | 11-27-2014 |
20140347385 | LOSSY COLOR MERGE FOR MULTI-SAMPLING ANTI-ALIASING COMPRESSION - Techniques related to graphics rendering including lossy color merge for multi-sampling anti-aliasing compression are discussed. | 11-27-2014 |
20140375665 | SUBSET BASED COMPRESSION AND DECOMPRESSION OF GRAPHICS DATA - Techniques related to graphics rendering including techniques for compression and/or decompression of graphics data by use of indexed subsets are described. | 12-25-2014 |
20140375666 | COMPRESSION AND DECOMPRESSION OF GRAPHICS DATA USING PIXEL REGION BIT VALUES - Techniques related to graphics rendering including techniques for compression and/or decompression of graphics data by use of pixel region bit values are described. | 12-25-2014 |
20150022532 | Hierarchical Motion Blur Rasterization - Motion blur rasterization may involve executing a first test for each plane of a tile frustum. The first test is a frustum plane versus moving bounding box overlap test where planes bounding a moving primitive are overlap tested against a screen tile frustum. According to a second test executed after the first test, for primitive edges against tile corners, the second test is a tile corner versus moving edge overlap test. The corners of the screen space tile are tested against a moving triangle edge in two-dimensional homogeneous space. | 01-22-2015 |
20150070355 | Adaptive Multi-Frequency Shading - An architecture for pixel shading, enables flexible control of shading rates and automatic shading reuse between triangles in tessellated primitives in some embodiments. The cost of pixel shading may then be decoupled from the geometric complexity. Wider use of tessellation and fine geometry may be made more feasible, even at very limited power budgets. Shading may be done over small local grids in parametric patch space, with reusing of shading for nearby samples. The decomposition of shaders into multiple parts is supported, which parts are shaded at different frequencies. Shading rates can be locally and adaptively controlled, in order to direct the computations to visually important areas and to provide performance scaling with a graceful degradation of quality. Another important benefit, in some embodiments, of shading in patch space is that it allows efficient rendering of distribution effects, which further closes the gap between real-time and offline rendering. | 03-12-2015 |