摘要:
Techniques to improve graphics processing unit (GPU) performance by introducing specialized code paths to process frequent common values are described. A shader compiler can determine instruction that, during operation, may output a common value and can introduce an enhanced shader instruction branch to process the common value to reduce overall computational requirements to execute the shader.
摘要:
In accordance with some embodiments, domain shader and/or tessellator operations can be eliminated when they are redundant. By using a corner cache, a check can determine whether a given corner, be it a vertex or a quadrilateral corner, has already been evaluated in the domain shader and/or tessellator and if so, the result of the previous operation can be reused instead of performing unnecessary invocations that may increase power consumption or reduce speed.
摘要:
In some embodiments, the intervals and the triangulation of an inner tessellation of a patch may be pre-computed. Even factor tessellations are arranged in a co-centric manner so that lower number factors are inside tessellations with higher number factors. Similarly, odd factor tessellations are arranged in a co-centric manner so that lower number factors are inside tessellations with higher number factors. Domain points of even factor tessellations are stored in a first table whereas domain points of odd factor tessellations are stored in a second table. At run time, the pre-computed values may be looked up for the applicable edge level of detail.
摘要:
A method is disclosed. The method includes receiving a first polygon, receiving a second polygon, calculating a vector joining a centroid of the first polygon and a centroid of the second polygon, retrieving vertices of each polygon that are farthest from the other polygon in the direction of the vector towards the other polygon, performing a view frustrum from each vertex retrieved for the first polygon to the centroid of the first polygon, performing a clipping operation on the second polygon and determining if the second polygon intersects the view frustrum of one or more of the vertices of the first polygon.
摘要:
In one embodiment, efficiency of a pixel merge unit of a graphics pipeline is increased by identifying a silhouette edge of an input primitive and bypassing the pixel merge unit for fragments associated with the silhouette edge. Identifying partially covered fragments along the silhouette edge and preventing those fragments from entering the pixel merge unit allows existing fragments within the pixel merge unit to reside within the pixel merge unit for a longer period before getting evicted. The additional residency grants fragments additional time to wait for neighboring fragments to arrive, which, in turn, increases the merge rate for fragments that are eligible to be merged.
摘要:
An apparatus may include an index buffer to store an index stream having a multiplicity of index entries corresponding to vertices of a mesh and a vertex cache to store a multiplicity of processed vertices of the mesh. The apparatus may further include a processor circuit, and a vertex manager for execution on the processor circuit to read a reference bitstream comprising a multiplicity of bitstream entries, each bitstream entry corresponding to an index entry of the index stream, and to remove a processed vertex from the vertex cache when a value of the reference bitstream entry corresponding to the processed vertex is equal to a defined value.
摘要:
In accordance with some embodiments, domain shader and/or tessellator operations can be eliminated when they are redundant. By using a corner cache, a check can determine whether a given corner, be it a vertex or a quadrilateral corner, has already been evaluated in the domain shader and/or tessellator and if so, the result of the previous operation can be reused instead of performing unnecessary invocations that may increase power consumption or reduce speed.
摘要:
In some embodiments, an edge cache data table for edges shared by two or more geometrically contiguous patches is generated. An identification value is assigned for each patch. When a first patch has a common edge with a second patch, a unique identification value is generated for an entry in the table based on identification values of the two patches with a common edge. Attributes of a common edge are stored in the entry in the table associated with the unique identification value. When the common edge is to be evaluated for the second patch, the edge can be read from the table in reverse order.
摘要:
Disclosed herein are approaches for detecting and/or generating silhouettes, in graphics processing applications, of objects (e.g., convex objects such as polyhedrons).
摘要:
A method is disclosed. The method includes receiving a first polygon, receiving a second polygon, determining a first distance corresponding to a distance from a first origin of the first polygon to a vertex of the second polygon, the origin of the first polygon and the vertex of the second polygon defining a direction vector, determining, along the direction vector a second distance corresponding to a distance from the first origin of the first polygon to a face of the first polygon; and detecting a collision between the first and second polygons if the second distance is greater than or equal to the first distance.