Patent application number | Description | Published |
20090322752 | RAY TRACING SYSTEM ARCHITECTURES AND METHODS - Aspects comprise systems implementing ray tracing functionality according to example architectures. In one example, rays are collected into collections against elements of an acceleration structure, which in some cases are associated with objects composing a scene being ray traced. Indications of detected ray intersections also can be collected in an output buffer, and in some examples, the output buffer can comprise a plurality of portions, each associated with a scene object, or a common portion of code to be executed during shading. Buffer contents can be accessed in a block read. An intersection shading resource can load data to be used in shading the intersections for the identified rays, and locally storing that data for use in shading those intersections. | 12-31-2009 |
20110032257 | DYNAMIC RAY POPULATION CONTROL - Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays. The indicia can include a respective weight for each ray. In an example, analyzer modules examine hints associated with shaders bound to intersected primitives. Population control aspects can influence ray diversity in memory, including encouraging a varying diversity pattern as rendering of a given scene or frame progresses, based on system resource indicia, rendering metrics and so on. | 02-10-2011 |
20120001912 | RAY TRACING SYSTEM ARCHITECTURES AND METHODS - Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering. | 01-05-2012 |
20130069960 | MULTISTAGE COLLECTOR FOR OUTPUTS IN MULTIPROCESSOR SYSTEMS - Aspects include a multistage collector to receive outputs from plural processing elements. Processing elements may comprise (each or collectively) a plurality of clusters, with one or more ALUs that may perform SIMD operations on a data vector and produce outputs according to the instruction stream being used to configure the ALU(s). The multistage collector includes substituent components each with at least one input queue, a memory, a packing unit, and an output queue; these components can be sized to process groups of input elements of a given size, and can have multiple input queues and a single output queue. Some components couple to receive outputs from the ALUs and others receive outputs from other components. Ultimately, the multistage collector can output groupings of input elements. Each grouping of elements (e.g., at input queues, or stored in the memories of component) can be formed based on matching of index elements. | 03-21-2013 |
20140111515 | DYNAMIC GRAPHICS RENDERING SCHEDULING - Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays. | 04-24-2014 |
20140269760 | System And Method of Arbitrating Access to Interconnect - Aspects relate to arbitrating access to an interconnect among multiple ports. For example, input ports receive requests for access to identified destination ports and buffer these in one or more FIFOs. A picker associated with respective FIFO(s) begins an empty arbitration packet that includes a location for each output port and fills one or more locations in the packet, such as based on a prioritization scheme. Each packet is passed in a ring to another picker, which performs a fill that does not conflict with previously filled locations in that packet. Each picker has an opportunity to place requests in each of the packets. Results of the arbitration are dispatched to reorder buffers associated with respective output ports and used to schedule the interconnect. Each arbitration cycle thus produces a set of control information for an interconnect to be used in subsequent data transfer steps. | 09-18-2014 |
20140306959 | 3-D GRAPHICS RENDERING WITH IMPLICIT GEOMETRY - Aspects relate to tracing rays in 3-D scenes that comprise objects that are defined by or with implicit geometry. In an example, a trapping element defines a portion of 3-D space in which implicit geometry exist. When a ray is found to intersect a trapping element, a trapping element procedure is executed. The trapping element procedure may comprise marching a ray through a 3-D volume and evaluating a function that defines the implicit geometry for each current 3-D position of the ray. An intersection detected with the implicit geometry may be found concurrently with intersections for the same ray with explicitly-defined geometry, and data describing these intersections may be stored with the ray and resolved. | 10-16-2014 |
20150242990 | Dynamic Graphics Rendering Scheduling - Aspects can be for ray tracing of 3-D scenes, and include dynamically controlling a population of rays being stored in a memory, to keep the population within a target, a memory footprint or other resource usage specification. An example includes controlling the population by examining indicia associated with rays returning from intersection testing, to be shaded, the indicia correlated with behavior of shaders to be run for those rays, such that population control selects, or reorders rays for shading, to prioritize shading of rays whose shaders are expected to produce fewer rays. | 08-27-2015 |