CN103871020B - Hidden surface in graphic system is eliminated - Google Patents
Hidden surface in graphic system is eliminated Download PDFInfo
- Publication number
- CN103871020B CN103871020B CN201310692576.4A CN201310692576A CN103871020B CN 103871020 B CN103871020 B CN 103871020B CN 201310692576 A CN201310692576 A CN 201310692576A CN 103871020 B CN103871020 B CN 103871020B
- Authority
- CN
- China
- Prior art keywords
- segment
- sampled point
- processing
- test
- early stage
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
Abstract
Hidden surface in graphic system is eliminated.Graphics processing pipeline(1)Depth test stage early stage(4、13)It is configured as:It will be about with conditional discarding test associated with it and passing through the information of the segment of those early stage depth tests and broadcast(9、10、11、14)To other stages in assembly line(3、4、6、12).Other stages in assembly line determine whether the processing of any segment currently processed to them can slow down followed by early stage depth test by information.If the segment that triggering slows down the processing to segment in a pipeline is tested by all conditional discardings that the segment to be subjected to, the signal that triggering stops the processing for the segment that its processing has slowed down in advance is sent.If segment is not tested by its conditional discarding to be subjected to, the signal that triggering restores the processing for the segment that its processing has slowed down in advance is sent.
Description
Technical field
The present invention relates to computer graphical processings, and specifically, the hidden surface being related in graphics process is eliminated.
Background technology
As it is known in the art, usually executing graphics process by following steps:First by graphics process(It renders)It is defeated
Go out(Frame such as to be shown)It is divided into multiple similar basic compositions(Referred to as " primitive ")It enables to more easily execute
Graphics processing operation.These " primitive " generally use simple polygons(Such as triangle)Form.
For exporting(Frame such as to be shown)Primitive usually using from the application for needing graphics process(Such as it plays)
The graphical drawing instructions received(Request)By the application programming interfaces generation for graphic system.
Each primitive is usually limited by one group of vertex in this stage and by its expression.Each vertex of primitive and expression
One group of data on the vertex(Such as position, color, texture and other attribute datas)Association.Then for example when to the vertex
(With the relevant primitive in the vertex)When carrying out rasterizing and rendering, using the data, such as display.
Once generating and defining the vertex of primitive and they, they can be handled by graphic system, with example
Such as show frame.
The processing essentially relates to following steps:Determine will it is to be processed covering output area a series of sampled points in
Which sampled point is covered by primitive, and it is later determined that the appearance that each sampled point should have(For example, with regard to its color etc. and
Speech)To indicate primitive in the sampled point.These processing are usually referred to as rasterizing and rendering respectively.
Rasterizing processing is it is determined that be used for the sampled point of primitive(That is, to be used to render output(For example, to be shown
Frame)The middle sampled point for indicating primitive(X, y)Position).This is usually realized using the position on the vertex of primitive.
Rendering processing, therefore export indicates the data needed for primitive, such as red, green and blue in the sampled point
(RGB)Color value and " Alpha "(Transparency)Value(That is, being each sampled point " coloring ").As it is known in the art, this mistake
Journey can relate to apply texture, mixing sample point data value etc..
(In 3D figure documents, term " rasterizing " commonly used in mean primitive convert to sampling location and render this two
Person.However, herein, " rasterizing " will only be used in expression and convert primitive data to sampling dot address.)
These processing are usually executed by following steps:Test one or more multigroup sampled points and subsequent needle
Concern is included in discovery(Just tested)In primitive(Or it is covered by the primitive)Sampled point each group sampled point life
At discrete graphics entity(Commonly referred to as " segment ", executes graphics processing operation on it(Such as render)).Therefore, covering is adopted
Sampling point is handled effectively as segment, and the segment will be for the sampled point render primitive in concern." segment " is by wash with watercolours
Dye processing(Rendering pipeline)Graphic entity.According to the configuration mode of graphic system, each segment for generating and handling
It can for example indicate single sampled point or one group of multiple sampled point.
(Therefore, " segment " is the effective one group of primitive data being interpolated into the given output spatial sampling point of primitive(With
One group of primitive data association)." segment " may also include every primitive and the sampled point in concern(Piece fragment position)Place is primitive
Colour required other status datas.Each graphics fragment usually can be with the pixel of output(For example, output frame)With phase
With size and it is in same position(Since pixel is singular point in final display, work in graphics processor(Wash with watercolours
Dye)" segment " and display pixel between can map one by one).However, a pair that differs between segment and display pixel may be present
The case where answering, such as before showing final image, the post-processing of concrete form is executed on the image of rendering, such as reduction is adopted
Sample.)
(It there is also such a case:But with given position multiple segments for example from different overlapping primitives that
This is influenced(For example, due to transparency and/or mixing), final pixel output may depend in the multiple or whole of the location of pixels
Segment.)
(Accordingly, it can be corresponded between sampled point and display picture element, but between sampled point and display picture element
It does not correspond more generally, since reduction sampling can be executed in the sampled value of rendering to generate for showing the defeated of final image
Go out pixel value.Similarly, as multiple sampling point values for example from different overlapping primitives in given position affect one another(Example
Such as, due to transparency and/or mixing), final pixel output will also depend upon multiple overlapping sampled values in the location of pixels.)
In a commonly referred to as known technology of " Immediate Mode " graphics process or the graphics process of rendering, primitive is one by one
Ground is handled with generation(Rasterizing and rendering).
In such systems, primitive(Their vertex)It is delivered to graphics system according to the principle first handled first, and
Therefore according to the reception sequence render primitive of primitive.
It is also known that in graphic system, is rendered using so-called " based on piece " or " delay " renders.Based on
It is not that entire render exports in the rendering processing of piece(Such as in the system rendered according to Immediate Mode effectively
The frame that ground is handled), but the rendering of frame for example to be shown output is divided into multiple smaller subregions, commonly referred to as
" piece ".Each piece(Subregion)Independently rendered(Usually one by one render), and the piece rendered(Subregion)With
Recombinant is exported with providing complete render afterwards, for example, the frame for display.In these arrangements, it is usual to render output
It is divided into the subregion of regular size and shape(Piece)(They are usually for example rectangular or rectangle), but this is not necessary.
Immediate Mode and based on piece rendering processing both, rasterizing and render processing input will usually wrap
Include a series of graph commands to be executed by graphics processor.As it is known in the art, it will includes instruction to be somebody's turn to do " command list (CLIST) "
Graphics processor draws the order of the order and the other graphics process of instruction of primitive(Such as rendering state variation, beginning and end
Piece order(In the system based on piece)Deng).
In Immediate Mode rendering, which will simply list the order one by one to execute, and based on spelling
In the rendering of block, the list can with and be generally divided into " piece "(That is, each piece will be directed to(Independently of for other spellings
The order of block)List order).
One of current Graphics processing system the disadvantage is that, because primitive is handled in order, and be not usually according to
Perfectly sequential processes from front to back, so as an output is handled(Such as display), give sampled point(Into
And segment and pixel)It can repeatedly colour.When the primitive that first receives and render then is covered by later primitive, occur
Such case, in the pixel of concern(And sampled point)It actually can't see the first primitive of rendering.Primitive can be according to this
Mode is written many times, and this is typically resulted in for each rendering output being rendered(Such as frame)It executes multiple final superfluous
Remaining Rendering operations.This phenomenon is commonly referred to as " repeating to render ".
The result for executing the operation of these final redundancies, which includes frame per second, to be reduced and the increase of memory bandwidth demand(For example, conduct
The result of data is obtained for the primitive that will be override by later primitive).Both of which is undesirable, and reduces figure
The overall performance of processing system.It is exported with rendering(The frame such as to be rendered)Become larger and becomes more complicated(Such as it is potential can
To occur more multi-panel in view), and as the use of programmable fragment coloring increases(It is colored as with using programmable fragment
The expense of given fragment shading is with respect to bigger), these problems will often become serious.
The problem of " repeating to render " can be obviously reduced for rendering by sending primitive according to sequence from front to back.So
And other graphics process demands(Such as resource(Such as texture)Relevant entrance demand and minimize per frame API Calls
Number demand)Usually other preferred sequencing requirements of approval primitive.In addition, still keeping primitive to graphics processing unit
Enough conveying capacities while, before rendering, being ranked up from front to back to primitive completely may not be practical.These and other
Factor means to export for given render(Such as frame)Primitive sequence from front to back in practice be typically can not possibly or
It is undesirable.
Therefore, it is proposed to attempt to reduce when processing renders output(Such as the frame of display)" repeating to render " of Shi Zhihang
Amount(The redundancy treating capacity of hidden surface)(That is, avoiding rendering sightless primitive and/or segment etc.)Other multiple technologies.
For example, as it is known that eliminated sending primitive and/or segment with executing various forms of hidden surfaces before being rendered, with
Observe whether primitive or segment etc. cover the primitive being rendered(In such a case it is not necessary to render new segment and/
Or primitive).This hidden surface elimination may include such as early stage occlusion culling, all early stage Z as known in the art(Depth)With/
Or template test processing.
The trial of these arrangements identifies before later segment is sent to rendering pipeline will for example have been handled
Primitive block(And it therefore need not handle)Segment.In these arrangements, for the segment in depth buffer
The depth value of such as new segment to be processed is compared by position with current depth value, to determine whether new segment is blocked.
This can help to avoid passing through rendering pipeline and sends by processed primitive blocks segment.
However, these " early stages "(Before rendering)Hidden surface technology for eliminating is only accounted in for example new primitive or segment
(The positive primitive or segment for carrying out " early stage " test)Their processing has been completed while just tested(It has been rendered)Piece
Section.This is because relevant test data(Such as Z- buffers)Only include the data from processed segment.
Invention content
Therefore, applicant believes that the technology that the hidden surface for still having space to be modified in graphic system is eliminated.
According to the first aspect of the invention, a kind of method of operation graphics processing pipeline, the graphics process are provided
Assembly line includes multiple processing stages comprising:Rasterizer carries out rasterizing to generate figure to be processed to input primitive
Shape segment, each graphics fragment have one or more sampled points associated with it;And renderer, it handles by rasterizing
The segment that device generates the described method comprises the following steps with generating output fragment data:
Be sent to renderer in the segment generated by rasterizer with before being handled, about with the fragment association
At least one sampled point executes early stage rejection test;And
If at least one sampled point by early stage rejection test, sends forward segment to be handled, and in response to
At least one sampled point determines whether the processing of another sampled point in graphics processing pipeline answers by early stage rejection test
This slows down.
According to the second aspect of the invention, a kind of graphics processing pipeline is provided, which includes:
Multiple processing stages comprising:Rasterizer carries out rasterizing to generate figure to be processed to input primitive
Segment, each graphics fragment have one or more sampled points associated with it;Renderer, processing are generated by rasterizer
Segment to generate output fragment data;And rejection test stage early stage, it is sent in the segment generated by rasterizer
Renderer is before being handled, early stage rejection test is executed about with the sampled point of the fragment association;Wherein, the figure
Processing assembly line is configured as:
In response at least one sampled point with the fragment association generated by rasterizer by early stage rejection test, forward
Segment is sent to be handled, and determines whether the processing of another sampled point in graphics processing pipeline should slow down.
The graphics processing pipeline of the present invention includes rejecting early stage to survey before the renderer stage of graphics processing pipeline
Examination, such as early stage depth test, in graphic entity(Such as sampled point, segment and/or primitive)Before being handled by renderer
It attempts to reject them, as known in the art.
However, in response to sampled point by early stage rejection test, the present invention is also determined and is just handled in graphics processing pipeline
The processing of another sampled point whether should slow down(For example, the figure of another sampled point just handled in graphics processing pipeline
Whether the processing priority of processing assembly line can reduce).In other words, the present invention in the rasterizing stage or the rasterizing stage it
Extend the effect of early stage rejection test afterwards, so that its of assembly line can also potentially be influenced to be rasterized into and be sent to
Remaining part point is with the processing speed of the sampled point of the primitive handled.
As will be discussed further below, this can then so that early stage rejection test result can be used in avoiding and/
Or stopping processing(" termination ")The sampled point of primitive in a pipeline, rather than simply stop new primitive(For example, will be by
It blocks)Sampled point be rendered to prevent it.This have the advantage that for example, for previously early stage rejection test was passed through
The sampled point of primitive in a pipeline, if generated the piece for the primitive later for blocking them before their processing is completed
Section, then can still stop their processing.
Thus, for example, being different from the prior art, the present invention can be also actually rendered in sequence in primitive and/or segment
Primitive later block in the case of reduce or avoid " repeat render ".
This have the effect that compared with for example existing early stage depth test technology, the present invention can further decrease
The degree that hidden surface is unnecessarily handled in graphics processing pipeline.In addition, before being rendered, costliness need not be executed
Sampling/segment often sampling or per segment sort.
In fact, the important advantage of the present invention is, when the primitive sequence of setting is best(That is, from front to back)When,
It will not interfere actually, so that in this case, minimum is obtained on " standard " early stage depth test arrangement
Expense increases, but when primitive sequence " non-optimal ", the present invention will work, and makes not use with the primitive of elimination from back to front
Manage them.The level of the anti-aliased processing of used multi-point sampling is also independent from using the expense of the present invention, to relatively just
Preferably use the anti-aliased processing of the multi-point sampling of greater degree(And the use of the anti-aliased processing of multi-point sampling of greater degree
It is more cheap).
In addition, because present invention reduces sampled points in a pipeline to pass through the processing speed of assembly line, sheet
Invention still can be used for determine new primitive when executing early stage rejection test(Segment)Whether will actually block
In the case of sampled point in a pipeline(Rather than the sampled point for example abandoned immediately in a pipeline, in this feelings
Under condition, sampled point in a pipeline only can determine that new segment will block their feelings when executing early stage rejection test
It is dropped under condition).It is, therefore, intended that with the survey that for example simply discards sampled point or segment in a pipeline immediately
The case where examination is likely to occur is compared, and the present invention can be used for(Potentially)Influence and stop the processing of more sampled points and segment.
For example, being dropped when the new segment of early stage rejection test will result in during segment is managed at which(Such as tinter is attached
The discarding of condition)A part of one or more states as its state so that cannot be rejected in early stage(For example, deep
Degree)Test phase knows whether segment will actually show in rendering output(So that cannot conclude in early stage rejection test
Whether new segment will clearly block other segments in handling assembly line)When, the present invention can be used.
In fact, it has been discovered by the applicants that be directed to many graphical contents and processing, segment can have and it relatively commonly
Associated conditional discarding state.As will be discussed further below, the present invention can be used for stopping processing(" termination ")
Segment in assembly line and/or sampled point, even if early stage rejection test is because new segment has associated with it conditional lose
It abandons test and cannot do so immediately.
The rasterizer of graphics processing pipeline can be configured as operating according to any suitable and desired mode, such as such as
According to known rasterizing arrangement.As it is known in the art, rasterizer should be operated to generate the figure for processing
Shape segment is based on this, the given primitive etc. received by rasterizer(At least partly)It covers cover graphics and handles flowing water
Sampled point in a series of sampled points of the output area of line(Or multigroup sampled point).Rasterizer is directed to and is just being rasterized into
(It is each)The each sampled point of primitive covering, and/or for including being just rasterized into(It is each)The sampled point of primitive covering
The multiple sampled points of each group(For example, sampling mask)Preferably generate graphics fragment.
The each segment generated by rasterizer can indicate single sampled point or multiple sampled points as needed(With individually adopt
Sampling point or the association of multiple sampled points).In a preferred embodiment, each one group of segment expression is multiple(Preferably four(2x2))
Sampled point.
Rasterizer can be configured as once generating a segment, but in a preferred embodiment, it can(Simultaneously)One
It is secondary to generate multiple segments(For example, in the case where primitive covers multiple spatially adjacent sampled points or multigroup sampled point).
In this case, if rasterizer generates one group of multiple segment simultaneously, the segment in described group yet by assembly line piece
Section process part(Such as fragment shader)Preferably individually handled.Rasterizer generates multiple segments simultaneously and contributes to form
Back pressure, to make in rendering pipeline " being full of " segment.
In especially preferred embodiment, rasterizer is classification rasterizer, is operated with relative to sampling
The smaller and smaller sticking patch selected repeatedly tests primitive until being preferably chosen(It is preferably scheduled)Minimum patch size, from
And it abandons and does not cover(At least partly)Any sticking patch of primitive, and one or more segments are subsequently generated, to correspond to quilt
The one or more sticking patch for the sampled point that primitive covers at least partly are rendered.The each benefit for the sampled point preferably tested
Piece corresponds to integer segment, such as 16x16,8x8,4x4 and/or 2x2 segment.
Rasterizer is preferably since the big sticking patch in post-processing object region and whether tests the primitive of concern in the sticking patch
It is interior.If it is not, then abandon entire sticking patch, and test next sticking patch, etc..On the other hand, if it find that primitive is in the benefit
In piece(To cover the sticking patch at least partly), then the sticking patch is preferably again divided into 4 parts, and then according to phase
Each " sub- sticking patch ", etc. is tested with mode, until reaching minimum patch size(In a preferred embodiment, minimum sticking patch ruler
It is very little to correspond to 2x2 segment groups)(But it may be, for example, individual sampled point, individual segment or various sizes of segment group).
In the arrangement, minimum patch size includes multiple sampled points, and in final sticking patch, rasterizer is preferably
Individual sampled point is then tested to determine whether they are covered by primitive, and is then correspondingly generated segment.
It can be associated with multigroup multiple sampled points in the segment generated by rasterizer(And simultaneously corresponding to multigroup multiple sampled points
Indicate multigroup multiple sampled points)In the case of, each this graphics fragment is preferably and instruction is described one group corresponding with segment
Which of sampled point sampled point is capped(For instance, it is preferred that the primitive covering just sampled)Data correlation, that is, it is real
On border, and those of in corresponding with the segment one group of sampled point of instruction sampled point data correlation, the segment is just
It is used to render.
Indicate the segment which covering sampled point be just used for render information preferably with by renderer
A part for the fragment data of segment(The RGB and transparent value of such as segment)Association.Preferably, using the form of coverage mask,
For each sampling location of one group of sampled point with the fragment association, whether instruction sampling location is capped, that is, practical
On, whether segment just be used to render sampled point(That is, being directed to the sampled point, whether data should be stored).Preferably, this
Kind coverage mask uses the form of bitmap, indicates sampling location.Rasterizer preferably generates coverage mask.
The early stage rejection test of the present invention operated with may include any suitable this test, such as block survey in early days
Examination, such as depth(Z)Test and/or early stage template test.It is of the invention to operate in especially preferred embodiment
Early stage rejection test includes early stage depth(Z)Test(Or multiple tests).In a preferred embodiment, of the invention to operate with
Early stage rejection test include both early stage depth and early stage template test.
The available early stage rejection test of graphics processing pipeline(Rejection test stage early stage)In any or all
Mode according to the invention can be configured as to operate(Trigger action).Include rejecting more than one early stage in graphics processing pipeline
Test(Rejection test stage early stage)When, it is preferable that all rejection test stages early stage can trigger mode according to the invention
Operation.Therefore, there is preferably more than one early stage rejection tests in a pipeline.
Rejection test stage early stage can be(It is multigroup)It is operated on the sticking patch of multiple segments.For example, rasterizer can be by base
When first grid turns to the sticking patch of multiple segments, these sticking patch then can be subjected to early stage rejection test as a whole.This
In the case of, therefore early stage rejection test will be related to one group of multiple segment(That is, the sticking patch of considered segment), and about with piece
The associated at least one sampled point of section execute early stage rejection test will include about the multiple segments generated by rasterizer extremely
It is one group few(Sticking patch)Execute early stage rejection test(Really rejection test is executed about at least one sampled point of fragment association,
This is because it is directed to efficiently performs early stage rejecting survey with all sampled points of the fragment association in one group of multiple segment
Examination).
Therefore, in a preferred embodiment, assembly line includes the sticking patch for testing multiple segments jointly(Group)Early stage depth
(Or early stage depth and template)Tester.The test is preferably only for complete(Completely)The primitive being concerned covers multiple
The sticking patch of segment(Group)It executes, and the sticking patch of multiple segments is preferably used(Group)Depth value range.
Preferably, it is rejected by early stage " sticking patch "(For example, depth and/or template)Any sticking patch of multiple segments of test
(Group)It can trigger the operation of mode according to the invention.
Early stage rejection test can(Additionally or alternatively)Preferably, and(In addition)Preferably grasped on individual chip
Make.Therefore, assembly line preferably includes the early stage rejection test device for testing individual segment, it is preferable that early stage depth(Or early stage
Depth and template)Tester.The test is preferably only for complete(Completely)The segment for the primitive covering being concerned executes, and
And integrally use depth value range or single depth value preferably for segment.
Preferably, by this(Individual chip)Early stage rejects(For example, depth and/or template)Any segment of test can be touched
The operation for sending out mode according to the invention.
In a preferred embodiment, early stage rejection test(There are early stage rejection tests)(Additionally or alternatively), and
Preferably(In addition)Include in single sampled point and/or compared with multigroup sampled point associated by given segment less sampled point
Multigroup sampled point(Such as, for two in four sampled points with fragment association)Upper operation(Test).In this case,
Early stage rejection test is preferably single(Covering)It is operated on sampled point.In this case, each sampled point will have and use
In the associated depth value of rejection test, that is, will be directed to each sampled point has depth value(It can be shared with other sampled points).
Furthermore, it is preferable that it is rejected by sampled point early stage(For example, depth and/or template)Any sampled point of test
It can trigger the operation of mode according to the invention.
In especially preferred embodiment, assembly line includes testing multigroup multiple segments and/or individual segment(About
This, can trigger the operation of mode according to the invention)Early stage rejection test, picked followed by the early stage for testing individual sampled point
Except test(Again, it is preferable that about this, can trigger the operation of mode according to the invention).This can be then so that energy of the present invention
Enough complete piece to individual chips and/or sampled point particles generation hidden surface from such as covering primitive eliminate event.
In especially preferred embodiment, the system comprises early stage rejection test, will with sampled point, segment and/
Or one group of multiple segment(Sticking patch)Associated depth value range and storage and the sampled point of concern, segment or one group multiple
Section(Sticking patch)The associated depth value range in position be compared, to determine just tested sampled point, segment or more than one group
A segment(Sticking patch)Whether early stage rejection test is passed through.
Preferably for what is be contemplated that(Rejection test)Each sticking patch storage depth value range of segment.
Early stage rejection test itself can be executed according to any suitable and desired mode, for example, according to as is generally known in the art
Normal mode and/or concern graphic system used in mode execute.For example, they can specifically test it is described
Sampled point(Or each sampled point), or even if they do not test the sampled point specifically(Or each sampled point), or
Has the effect of the test of test sample point.
In especially preferred embodiment, early stage rejection test(In response to the early stage rejection test, another sampling is determined
Whether the processing of point can slow down)It is a kind of conservative early stage depth test, is preferably substantially carried out operation to be rejected in early stage
Test phase is predicted(It determines)Whether new sampled point and/or segment will pass through the later stage present in assembly line(In assembly line
End)Depth test.
In especially preferred embodiment, one group of primitive is being rendered(For example, being directed to piece or draw call)Before, it is
System(Preferably rasterizer)For each sampling location, multigroup sampling location, segment, piece fragment position, segment sticking patch and/
Or multigroup fragment position generates and/or stores desired depth value and preferably desired depth value range, when test is by grid
Whens changing the primitive and segment etc. that device generates, rejection test can with and preferably carried out within the scope of the depth value.These it is expected
Depth value range should be directed to the expressions such as sticking patch of concern(Cover)Depth value all possible as a result, and preferably with
It and continues rasterizing and render and utilize the depth value and depth value of the sticking patch for being directed to individual sampling location, segment, segment etc.
Range is updated, the individual sampling location, segment, segment sticking patch be generated and be stored as sampled point and segment, it
When being handled by graphics processing pipeline experience early stage and post depth test.
Early stage rejection test can be realized for a part for such as rasterizer, or after rasterizer(But in renderer
Before), or as combination thereof(For example, there are more than one early stage rejection tests).In a preferred embodiment, it or it
Be embodied as rasterizing processing a part and/or after rasterizer but the rest part of graphics processing pipeline it
Before.
If just tested sampled point or one or more segments does not pass through early stage rejection test(For example, it was discovered that by hiding
Gear), then the sampled point or one or more segment are preferably from " rejecting " in being further processed in assembly line, in this field
Known.
It can be realized according to any desired and suitable mode(And offer)This rejecting.For example, rejection test be about
Whole fragment(Or one group of multiple whole fragment)When, then the preferably described segment or one group of multiple segment not by assembly line to
Preceding transmission is to be handled(For example, being rendered)(That is, their " being removed "), as known in the art.
On the other hand, if rejection test be about than with than the less sampling of all sampled points of fragment association that renders
Point, then it is preferably prevented from(Stop)The sampled point of concern(That is, not passing through rejection test)Be further processed, for example, passing through
Sampled point is labeled as " failure "(For example, by indicating that they are not covered by the coverage mask of the fragment association with concern), or
Person is according to any other suitable mode, but the segment paid close attention to is still(Pass through assembly line)It sends forward so that closed with segment
" not rejecting " sampled point of connection is still processed.
If just tested at least one sampled point passes through early stage rejection test, tested sampled point(That is, with adopting
The associated segment of sampling point), segment or one group of multiple segment are sent forward to be handled(For example, towards renderer), still
As known in the art.However, in this case, passing through early stage rejection test in response to sampled point(It is logical as sampled point
Cross the result of early stage rejection test), also determine whether the processing of another sampled point in a pipeline should slow down(And if
Pass through early stage rejection test etc. in response to sampled point(Pass through the result of early stage rejection test etc. as sampled point), determining to flow
The processing of sampled point in waterline should slow down, then the processing of sampled point preferably then slows down).
In this regard, processing can be in sampled point level(Resolution ratio)(Rather than for example about whole fragment)It is operated, and
Therefore it is tested, and slows down the processing with the individual sampled point of fragment association in a pipeline.It rejects and surveys in early stage
When individual sampled point is tested in examination, this can be particularly suitable, and will enable in for example described processing " removing " and assembly line
The sampled point of fragment association(Such as so that once it is determined that " slowing down " and fragment association is all(Covering)Sampled point, entire piece
The processing of section then can just slow down).
Similarly, processing can be configured as additionally or alternatively operating about whole fragment, that is, so that if entire piece
Section(Or one group of multiple segment)Pass through early stage rejection test, it is determined that whether the processing of any segment in assembly line should subtract
Slowly.In early stage rejection test test fragment and when alternatively testing individual sampled point, this can be particularly suitable.
Therefore, in a preferred embodiment, early stage rejection test test fragment and/or multigroup multiple segments, and if
Just tested segment or one group of segment is then used as segment or one group of segment to pass through early stage rejection test by early stage rejection test
As a result, determining whether the processing of segment and/or one group of multiple segment in a pipeline should slow down.
The multiple segments of each group are preferably one group of four segment, it is therefore preferable to 2x2 segment groups.
In a preferred embodiment, the entity operated on it with rendering pipeline(Such as(Preferably)Segment is multigroup
Multiple segments(Such as 2x2 group segments))Resolution ratio execute the determination.
As at least one sampled point and/or segment by early stage rejection test as a result, preferably determining in flowing water
Whether the processing of multiple sampled points and/or any of segment in line should slow down.
Although can be about each segment by early stage rejection test(It is associated with the sampled point by early stage rejection test)
Execute the operation of mode according to the invention(To slow down the processing of other segments in graphics pipeline etc., and potentially then
" termination " described other segments), but in especially preferred embodiment, only about selection(And it is rejected and is surveyed by early stage
Examination)Segment(It preferably conforms to specific selected(It is preferably scheduled)The segment of standard)Execute mode according to the invention
Operation.
Therefore, in especially preferred embodiment, in a pipeline any other sampled point and/or segment
Handle whether the determination that should slow down is based at least partially on also has by the segment and/or sampled point of early stage rejection test
Have specific(It is preferably chosen)One or more attributes(Meet necessary(Selection)Standard with(With required attribute
With)(Potentially)Slow down the processing of another sampled point), and if described segment etc. does not have the attribute, preferably not
The processing of another sampled point in graphics processing pipeline is determined by early stage rejection test in response at least one sampled point
Whether should slow down).
Therefore, in a preferred embodiment, to the processing of sampled point and/or segment whether the determination that should slow down undergo into
The inspection of one step and/or standard.
Similarly, in a preferred embodiment, if segment(Or sampled point)By early stage rejection test, then first check for
Segment(Or sampled point)Other attributes with the segment in slowing down assembly line(Or sampled point)It is determined before processing(Or it
)Whether processing should(Potentially)Slow down.
The standard that the segment of the operation of mode according to the invention is then triggered by early stage rejection test can be any choosing
Fixed and suitable standard.
In especially preferred embodiment, in this regard, just by the segment of early stage rejection test and/or the spy of sampled point
Determining attribute is whether segment and/or sampled point will be tested by the conditional discarding of the part as its processing(That is, having
The shape that instruction segment associated with it and/or sampled point can be abandoned later when it is handled by graphics processing pipeline
State, such as and preferably, there is conditional discarding in tinter associated with it).(As it is known in the art, wanting wash with watercolours
Some segments of dye can be led to these segments by as the part for rendering processing(Such as)The various attached items being dropped
The discarding test of part or state.This can be used for for example when rendering the leaf on fence or tree(In this case, for tree
Space between leaf/fence uses discarding).These segments are preferably to apply the segment of the present invention.)
Therefore, in a preferred embodiment, the standard preferably includes one by the part as its processing
Or more it is conditional abandon test segment.In a preferred embodiment, they include it is below it is one or more with
And preferably all:The segment of mask is write with full RGB;Segment without the mixed function dependent on previous RGBA values;With
In the coloration program for the segment not read from piece buffer;Fully opaque segment;And it does not force(By applying journey
Sequence person)The newer segment of post depth is executed, wherein executing post depth update based on following reason:Transparent test;It is clear to
Covering;Tinter includes to abandon;It includes to abandon to mix tinter;Or the segment earlier with same position is strong in tinter
System carries out post depth update.
In other words, it is preferably that allowing(It uses)Due to it is transparent test, be clear to coverage test, tinter include abandon,
Mixing tinter includes that the segment earlier in discarding or tinter forces to carry out post depth update and enforce the later stage
Depth newer segment triggers the operation of mode according to the invention, with(Potentially)Slow down other segments and/or sampled point
Processing, but do not allow(It does not use)The newer segment triggering of post depth is enforced according to this for any other reason
The operation of the mode of invention with(Potentially)Slow down the processing of other segments and/or sampled point.
In especially preferred embodiment, among other things, to any other sampled point in a pipeline
And/or whether the determination that should slow down by the sampled point of rejection test and/or segment based on can be weighed for the processing of segment
It is multiple to render(And preferably, whether they can block)Sampled point in a pipeline and/or segment(If due to later
Sampled point and/or segment can then indicate that these sampled points and/or segment can be located at and indicate to exist for example, by early stage depth test
Before any sampled point and/or segment of same position in assembly line(And if they are opaque,(Potentially)
Block any sampled point and/or segment)).
It is surveyed it is therefore preferred that executing to reject in early stage by one or more stages later of graphics processing pipeline
Handle it determination that those of be slowed sampled point and/or segment in examination " passing through " event, it is one or more of slightly
Stage identification afterwards(It determines)It includes currently(For example, processing)Can potentially through by one of early stage rejection test or
Multiple sampled points and/or one or more segments(Suitably)Repeat any sampled point rendered and/or segment.
This processing can be executed according to any suitable and desired mode, it is preferred that by will currently occupy assembly line
The sampled point in stage and/or one in segment or some or all of(For example,(X, y))Position and pass through early stage rejection test
Sampled point and/or segment(For example,(X, y))Position is compared to realize.
Considering sampled point(Relative to whole fragment)When, this point passes through " reality " position for the sampled point that will be paid close attention to
(But in a preferred embodiment, by by the position of the segment for the sampled point paid close attention to)With the phase of the sampled point in segment
Position is compared to realize(For example, based on the coverage mask with fragment association).
When considering segment, this point preferably by by one in the segment for currently occupying flow line stage or some
Or the position of whole positions and the segment by early stage rejection test is compared to realize.
Considering one group of multiple segment(That is, passing through early stage rejection test)When, this is preferably by that currently will occupy stream
One of the segment of last pipeline stages or multigroup segment or some or all of position with pass through described one group of early stage rejection test
The position of segment covering in multiple segments(Region)Range be compared to realize.
It is exported rendering(Plane)In with pass through the sampled point and/or segment of early stage rejection test(Suitably)Occupy phase
Same position(That is, having the same(X, y)Position)Any current sampling point and/or segment processing therefore can(And it is preferred that
Ground)(Selectively)Slow down(For example, being subject to other standards of the processing for slowing down sampled point also corresponded to).
In a preferred embodiment, to the processing of sampled point and/or segment, whether the determination that should slow down is with other inspections
And/or subject to standard.Preferably, its processing first checked in a pipeline will potentially slow down(For example, will potentially
It is blocked)Segment(Or sampled point)Other attributes, with the segment in slowing down assembly line(Or sampled point)Processing before,
Determine it(Or they)Whether processing still should be with normal priority based on any other reason(With normal speed)It carries out, institute
State other reasons for example because its have such as with the associated side effect being still required of occlusion query that is still required.This inspection
Look into the segment for preferably including and determining in a pipeline(Or sampled point)Whether because of occlusion query(It is subsidiary effective with its
Occlusion query)Or because other side effects(In this case it is preferable to not slow down its processing)And it is required.
Therefore, in especially preferred embodiment, graphics processing pipeline is configured as, in response to fragment association
At least one sampled point selectively slows down sampled point in a pipeline and/or one or more by early stage rejection test
The processing of a segment.
It, can be according to any suitable and desired mode when sampled point or one or more segments are by early stage rejection test
Implement determine assembly line in any sampled point and/or segment processing whether the operation that should slow down.
Preferably, sampled point or one or more segments pass through early stage rejection test(And meet the mark of any other requirement
Standard with(Potentially)Slow down the processing etc. of other segments)Event trigger relevant information(Such as, and preferably pass through survey
The sampled point of examination or the position of segment)It is other in broadcast to processing assembly line(For example, later)In the stage, those are other(Example
Such as, later)Stage preferably estimates the place of their currently processed any sampled points or segment followed by described information
Whether reason should slow down(For example, and preferably, mode as discussed above).
When test is about whole fragment, which preferably includes the segment of concern(X, y)Position, such as above
Discussion.When test is about one group of multiple segment, which preferably includes one group of multiple segment by paying close attention to
In segment covering(X, y)The range of position(Still as discussed above).When test is about sampled point, location information is excellent
Selection of land includes and the associated segment of sampled point(X, y)Position, and about sampled point be which be used for segment sample
The instruction set(Preferably, in the form of coverage mask, as discussed above).
Therefore, in especially preferred embodiment, graphic system is configured as, if at least with fragment association
One sampled point, then will be about passing through at least one sampled point of early stage rejection test by early stage rejection test(And/or it closes
The segment of note)Information broadcast it is at least one to graphics processing pipeline(It is preferably other(And preferably, later))
Stage, and at least one stage of graphics processing pipeline be configured as using broadcast with by early stage rejection test extremely
The information of a few sampled point and/or fragment association come determine with any segment of current fragment association in this stage and/
Or whether the processing of sampled point should slow down.From the discussion above, it is preferable that only passing through at least the one of early stage rejection test
A sampled point and/or segment also comply with other standards(Such as, and preferably, it is handled by graphics processing pipeline with working as it
When be potentially dropped subject to)When described information was broadcasted to other stages of graphics processing pipeline.
As discussed above, most preferably, early stage rejection test includes early stage depth test and/or graphics process flowing water
At least one stage of line is configured as the letter with sampled point and/or fragment association by early stage rejection test using broadcast
Cease determine current any sampled point and/or segment at this stage whether by by by early stage rejection test sampled point and/
Or segment potentially repeats to render, and if there is any such sampled point or segment, then it is latent selectively to slow down these
The later processing of the sampled point rendered and/or segment is repeated on ground.
Therefore, in especially preferred embodiment, graphics processing pipeline is configured as:
Segment is being sent forward by assembly line with before being handled, at least one sampled point with fragment association
And/or execute early stage depth test at least one segment generated by rasterizer;
If at least one sampled point or at least one segment pass through early stage depth test(And in preferred embodiment
In, if at least one sampled point or at least one segment are potentially dropped when it is handled by graphics processing pipeline),
Segment is then sent forward to be handled, and will be about at least one sampled point by early stage depth test or at least one
The information of segment is broadcasted at least one to graphics processing pipeline(Preferably later)Stage;And
At least one stage of graphics processing pipeline is configured as, using with pass through at least one of early stage depth test
The broadcast message of sampled point or at least one fragment association is to determine any sampled point and/or segment currently in the stage
It is no by potentially by by early stage depth test at least one sampled point or at least one segment repeat to render, and if deposit
In any such sampled point or segment, then selectively slow down sampled point and/or the segment for potentially repeating to render to those
Be further processed.
As discussed above, most preferably, the information in broadcast to the stage of graphics processing pipeline includes being picked by early stage
Except at least one stage of the sampled point of test and/or the position of segment and/or graphics processing pipeline is configured as using wide
It is broadcasting to determine current at this stage any with sampled point and/or fragment association of by early stage rejection test location information
Sampled point and/or segment whether with the sampled point and/or segment by early stage rejection test in post-processing object(Destination buffers
Device)(For example, piece being processed)In occupy same position, and selectively slow down and adopting by early stage rejection test
Sampling point and/or segment occupy any sampled point of same position and/or the later processing of segment in post-processing object.
Determined in early stage rejection test " passes through " event any sampled point and/or segment processing whether the place that can slow down
One or more stages of reason assembly line may include any desired and suitable stage of graphics processing pipeline.They are preferably
At least one stage later including graphics processing pipeline(That is, the rank after early stage rejection test and/or rasterizer
Section).For this purpose, the processing assembly line can be divided into many stages as needed.
In a preferred embodiment, which is the renderer of graphics processing pipeline(The determination is by renderer reality
It is existing).It is possible that for example, the renderer single phase process that mode according to the invention operates as a whole or conduct
(And it is divided into)The phase process for the multiple separation worked independently of one another.Therefore, in a preferred embodiment, early stage, which rejects, surveys
Try " passing through " event information quilt(At least)It broadcasts to the renderer of graphics processing pipeline and/or one or more portions of renderer
Point(Then mode according to the invention operates for one or more parts of renderer or renderer).
Determined in early stage rejection test " passes through " event any sampled point or segment processing whether the processing that can slow down
One or more stages of assembly line preferably include additionally or alternatively the assembly line that for example can effectively reject segment
Other stages, such as early stage rejection test(To attempt to slow down the segment for for example still undergoing early stage rejection test(Such as later
Segment in early stage rejection test assembly line)Processing and/or rasterizer(To attempt to slow down for example still to undergo grid
The segment earlier changed(And/or the sticking patch of segment)Processing(Incomplete rasterizing)).
In especially preferred embodiment, multiple segments(And all segments preferably in the stage)And/or sampling
Point can concurrent testing.This subsequently facilitates the early stage rejecting survey for effectively utilizing the sticking patch that can once test for example multiple segments
Examination.Preferably, arrangement is that flow line stage is produced potentially " to subtract by event with early stage rejection test
Slowly the identical rate of the rate of chance slows down the processing etc. of sampled point and segment ".
From the discussion above, when the processing for determining sampled point and/or segment should slow down, preferably slow down segment
And/or the processing that sampled point passes through assembly line.
" slowing down " segment etc. should more slowly be handled compared with normal, but the processing of sampled point and/or segment
Slowing down degree can select as needed.It should be noted here that it is desirable that, the processing of sampled point and/or segment only with respect to
Slow down or postpone for its speed normally handled by assembly line rather than sampled point and/or segment " being slowed down " abandons at this time
(Stop forever)To be not further processed by assembly line.Therefore, although the processing of segment etc. slows down, described
Sections etc. are not(When slowing down)It is dropped not to be further processed by assembly line.
In especially preferred embodiment, the processing of segment and/or sampled point in assembly line slows down flows including delay
The processing of segment and/or sampled point in waterline so that it is more than " slowing down " segment or sampled point that triggering, which slows down in assembly line,
The segment of concern or the sampled point or segment of the processing of sampled point, and it is preferably so that triggering slows down segment or the sampling of concern
The sampled point or segment of the processing of point should(And preferably)The place of " slowing down " segment or sampled point in completing assembly line
The conditional discarding test of one or more is completed before reason in a pipeline.Such as by description later, this then makes
" triggering " segment or sampled point can be used in(Potentially)It abandons(" termination ")The segment etc. slowed down, to prevent through assembly line
It is further processed.
Slow down the place of the sampled point and/or segment that determine that its processing should slow down according to any desired and suitable mode
Reason.
In a preferred embodiment, the processing of the segment in assembly line and/or sampled point slows down including suspending flowing water
The processing of segment and/or sampled point in line,(For example, and preferably, until " triggering " segment and/or sampled point are completed
The conditional discarding test of one or more).
The pause of the processing such as the segment in this assembly line can be realized as needed.In a preferred embodiment, temporarily
The segment etc. stopped is arranged in " rigid pond "(Their processing suspends herein)In.
In another preferred embodiment, the processing of the segment in assembly line and/or sampled point slow down including(Such as it is and excellent
Selection of land)It is assigned and being accessed for buffer area and/or for the relatively low of other processing by assembly line by " slowing down " segment
Priority(Relative to the segment etc. not slowed down)It goes preferential(de-prioritising)Segment in assembly line and/or sampled point
Processing(Reduce its priority).
It can be achieved or it is expected this processing that preferential segment etc. is gone by assembly line.
In especially preferred embodiment, the segment with instruction to be processed is arranged in segment pond, when completion refers to
When enabling, and when there is the cache hit for preparing for executing and instruction, suitable segment is then taken out from segment pond
And it executes.It is used as additional consideration by increasing priority state when determining whether allow to take out segment from segment pond
Factor, segment then can be such that their processing priority reduces.
In a preferred embodiment, segment etc. is " going preferential " by the sampled point and/or fragment label that will identify that(Tool
There is the processing priority of reduction)It makes a return journey preferential.The relevant treatment stage then can carry out any processing to sampled point and/or segment
It for example checks whether sampled point and/or segment are gone preferentially before, and is therefore followed by subsequent processing with normal or reduction excellent
The segment etc. of first grade.This will then slow down the processing of preferential sampled point and/or segment.
For sampled point, for the segment of concern, preferably by suitable in such as metadata of sampled point mask
Ground setting value is preferential labeled as going by sampled point.
When that will consider segment entirety, each segment can be for example with " going preferential " bit associated with it(Such as make
For a part for its associated fragment data)If the bit is set, it indicates that the processing of segment is gone preferentially.One
It is exactly to do so in a preferred embodiment.Processing stage then can check their receptions with each segment handled
" going preferential " bit.If the test of independent sampled point finally removes preferentially all sampled points with fragment association, this can be set
Bit.
Alternative arrangement(Such as making to have goes the segment queue of preferential label operated as buffer area being arranged
The going of segment discharges queue when preferential label(Buffer area)Row)It can be used as substituting, or in addition use as needed.
Once segment and/or sampled point trigger the other segments etc. slowed down in a pipeline, then especially preferred
In embodiment, once this triggering segment is completed(With pass through)Its all discarding state that can be subjected to(That is, performing all attached
The discarding test of condition is not dropped), then the place of any segment earlier still in a pipeline etc. is then further determined that
Whether reason can stop(For example, those other segments etc. will be sheltered from based on known " triggering " segment etc.(Because it is not dropped simultaneously
And it will be not dropped)).For example, once " trigger " segment completes its processing by assembly line, once and/or its experience(And lead to
It crosses)Its final conditional discarding test, so that it may realize this purpose.
Therefore, in especially preferred embodiment, if triggering slows down other segments in assembly line and/or adopts in advance
The sampled point and/or segment of the processing of sampling point are tested by all its associated conditional discardings(That is, not being dropped), then really
Whether determine the processing of another sampled point and/or segment that are just being handled in graphics processing pipeline can stop.
It is, therefore, intended that segment can be used for avoiding and/or be stopped by its all conditional result for abandoning test
Processing(" termination ")The sampled point of primitive earlier still in a pipeline.
It should be noted here that the operation is combined when with the operation of the present invention to slow down or postpone potentially to be rejected in early days
When the processing of the segment that the segment after test is blocked etc., it is meant that " slowing down " triggers segment and tested by its conditional discarding
Result then can be used for before those segments slowed down are thoroughly handled by assembly line for example " termination " triggering segment flowing
Any " segment slowed down " for being more than in waterline and blocking the segment that is actually triggered.In this way, even if cannot be picked in early days
Except test(Such as depth test)Stage determines new segment far and away enough(Such as)Whether will actually block in flowing water
Segment in line, also then so that segment later can be used in about before segment later in a pipeline earlier
Segment executes hidden surface and eliminates.
Thus, for example, and unlike the prior art, can be used the present invention to reduce or avoid in primitive and/or piece
" repeating to render " in the case that section is actually blocked by the primitive on rendering order later.This have the effect that with example
If existing early stage depth test technology is compared, the present invention can be further decreased and unnecessarily be handled in graphics processing pipeline
The degree of hidden surface.
Applicants further recognized that the piece in a pipeline that can be more than in a pipeline to new triggering segment etc.
More, this operation will be more efficient for " slowing down " of section.Therefore, from the discussion above, it is preferred that slow down the place of segment etc.
Reason triggers some that segment is more than its " slowing down " such as to enable(And preferably all)Segment etc..
It is thought that passing through the conditional knot for abandoning test in graphics processing pipeline using sampled point and/or segment
To determine, whether the idea that can stop itself can be novel and beneficial to fruit for the processing of segment etc. earlier in assembly line.
Therefore, according to another aspect of the present invention, a kind of method of operation graphics processing pipeline, the figure are provided
It includes multiple processing stages to handle assembly line, and multiple processing stage includes:Rasterizer, rasterizing input primitive is to generate
Graphics fragment to be processed, each graphics fragment have one or more sampled points associated with it;And renderer, place
The segment that reason rasterizer generates the described method comprises the following steps with generating output fragment data:
It is tested about conditional discarding is executed at least one sampled point of the fragment association generated by rasterizer;With
And
If at least one sampled point is tested by conditional discarding, segment is sent forward in a pipeline, and
Abandon testing as a result, determining another sampled point in graphics processing pipeline by conditional as at least one sampled point
Processing whether can stop.
According to another aspect of the present invention, a kind of graphics processing pipeline is provided, which includes:
Multiple processing stages, multiple processing stage include:Rasterizer, rasterizing input primitive will be handled with generating
Graphics fragment, each graphics fragment have one or more sampled points associated with it;Renderer is handled by rasterizer
The segment of generation is to generate output fragment data, and wherein:
It can be tested about conditional discarding is executed with the sampled point of the fragment association generated by rasterizer;And
Wherein, the graphics processing pipeline is configured as:
It is tested by conditional discarding in response at least one sampled point with the fragment association generated by rasterizer,
Send segment forward in a pipeline, and as at least one sampled point by conditional discarding as a result, determining figure
Whether the processing of another sampled point in processing assembly line can stop.
The conditional discarding test of the present invention operated with includes any suitable this test, such as works as render tree
The test of the form used when leaf or fence.
Any or all available conditional discarding test of graphics processing pipeline(Rank is tested in conditional discarding
Section)It can be configured as operating in this manner(Trigger action in this manner).Preferably, once segment etc. will by it
The final conditional discarding test to be subjected to, is just determined.
One or more conditional discarding tests itself can be executed according to any suitable and desired mode, for example, pressing
It is executed according to normal mode as known in the art and/or in the graphic system of concern.
On the other hand, if triggering slow down the processing of other segments in assembly line etc. one or more sampled points or
One or more segments are not tested by the conditional discarding that it is experienced by(That is, as the conditional knot for abandoning test
Fruit is dropped), then applicants have recognized that would be impossible to safely abandon any slowed down by the segment paid close attention in assembly line
Section etc.(This is because triggering segment has been dropped, " slowing down " segment will not be blocked actually to trigger segment etc.).Therefore,
In this case, should be continued by any segment etc. that the result of early stage rejection test slows down as segment of concern etc.
(And preferably still)It is handled by graphics processing pipeline.
In this case, " slowing down " segment etc. will simply be handled with slower rate continuation.However, especially
In preferred embodiment, if triggering slows down segment of their processing etc. and is then dropped, " slowing down " segment etc. is multiple
Original is with according to higher(And preferably according to normal)(Their " recoveries ")Priority processing.Preferably, if triggering segment
It is dropped Deng based on the operation of any other reason for example by virtue of this invention(" termination "), then this point can be achieved.
Therefore, the aspect of these embodiments and the present invention preferably further include:If at least one sampled point does not pass through
Conditional discarding test(It is dropped), then abandon and do not abandon at least one sampled point of test by conditional, and make
Do not abandon testing as a result, determining another sampled point in graphics processing pipeline by conditional at least one sampled point
Processing whether should restore.
This " recovery " for previously slowing down segment etc. can be realized as needed.It in a preferred embodiment, will by transmission
" recovery " signal of suitable " recovery " of segment of concern etc. is triggered to realize.
These " terminations " and " recovery " processing can be in sampled point level(Resolution ratio)(Rather than for example about whole fragment)Into
Row operation, and therefore tested, and stop being further processed or restoring the list with fragment association earlier in a pipeline
Only sampled point.When individual sampled point is tested in conditional discarding, this can be particularly suitable, and will be so that for example described
Processing " can remove " sampled point with fragment association still in a pipeline(For example, until its sampled point is whole " stopping "(Or
Restore), then can abandon at this time(Or " recovery ")Whole fragment).
Similarly, the processing can be configured as additionally or alternatively operating about whole fragment, that is, so that if whole
A segment(Or one group of multiple segment)Pass through(Finally)Conditional discarding test, it is determined that any segment still in a pipeline
Processing whether can stop.
In a preferred embodiment, if just tested segment entirely through(Or do not pass through)Conditional test, then
Pass through as segment(Or do not pass through)It is conditional to abandon testing as a result, determining that the processing of the segment earlier in assembly line is
It is no to stop(Or restore respectively).
In a preferred embodiment, the entity operated on it with rendering pipeline(Such as(Preferably)Segment)Resolution
Rate executes the determination.
Pass through preferably as at least one sampled point and/or segment(Or do not pass through respectively)Conditional discarding test
As a result, determining whether sampled points multiple earlier and/or the processing of any of segment in assembly line can stop(Or it is extensive
It is multiple).
To in assembly line sampled point any other earlier and/or segment processing whether the determination that can stop can be based on
Any desired and suitable standard.In especially preferred embodiment, based on being lost by all the conditional of them
Abandon whether the sampled point of test and/or segment will repeat to render(And preferably whether they will block)Sampled point in assembly line
And/or segment(Since if sampled point and/or segment are tested by they all conditional discardings(With early stage depth
Test), then should indicate that these sampled points and/or segment will enter appointing for the expression same position of assembly line before them
In front of what sampled point and/or segment(And it therefore blocks(If they are opaque)Any sampled point and/or segment)).
Therefore, conditional discarding test " passing through " event in no longer need those processed sampled points and/or
The determination of segment is preferably executed by one or more stages of graphics processing pipeline, and one or more of stages know
Do not go out(It determines)It includes currently(Such as it handles)Any sampled point and/or segment will by be passed through it is conditional abandon test
One or more sampled points and/or one or more segments(Suitably)It repeats to render.
The whether recoverable determination of the processing of any other sampled point and/or segment in assembly line can be similarly based on
Any desired and suitable standard.In especially preferred embodiment, this based in assembly line the sampled point slowed down and/or
Whether segment no longer can not repeated to render by the conditional sampled point for abandoning test and/or segment(And preferably it
Whether can no longer be blocked)(Since if sampled point and/or segment are not tested and are dropped by conditional discarding,
It will imply that these sampled points and/or segment will be in any samplings for the expression same position for entering assembly line before them
Before point and/or segment(And it does not therefore block(If they are opaque)Any sampled point and/or segment)).
Therefore, it is abandoned in test " not passing through " event to these recoverable sampled points and/or segment conditional
Determination is preferably executed by one or more stages of graphics processing pipeline, and one or more of stages are identified
(It determines)It includes currently(For example, processing)Present can not passed through conditional abandon the one or more of test and sample
Point and/or one or more segments(Suitably)Repeat any sampled point rendered and/or segment.
These processing can be executed according to any suitable and desired mode, it is preferred that by will currently occupy assembly line
The sampled point in stage and/or the one of segment or some or all of(Such as(X, y))Position with pass through(Or do not pass through)Attached item
The sampled point and/or segment of the discarding test of part(Such as(X, y))Position is compared to execute.
Considering sampled point(Relative to whole fragment)When, by " reality " position for the sampled point that will be paid close attention to(But
In preferred embodiment, by by the position of the segment for the sampled point paid close attention to)With the relative position of the sampled point in segment
(For example, based on the coverage mask with fragment association)It is compared to execute.
When considering segment, preferably by by one in the segment for currently occupying flow line stage or some or all
Position with by or be not compared to execute by the conditional position of segment for abandoning test.
Considering(For example, passing through later stage rejection test)When one group of multiple segment, it is preferable that by the way that currently stream will be occupied
One in the segment of last pipeline stages or some or all of position with it is multiple by conditional abandon test described one group
The position of segment covering in segment(Region)Range be compared to execute.
It preferably pertains to than " older " such as the segments slowed down that triggers them(Before the segment in a pipeline
's)The execution such as segment determine whether segment etc. " should terminate " or the processing of " recovery ".Primitive to be processed(And then segment and/
Or sampled point)It can be associated with timestamp to be conducive to this.
It is exported rendering(Plane)In with pass through(Or do not pass through)Conditional discarding test(Suitably)Sampled point
And/or segment occupies same position(That is, with identical(X, y)Position)Any older sampled point and/or segment processing
It then can(And preferably then)(Selectively)Stop(Or restore respectively)(For example, with the stopping also corresponded to(Or restore)
Subject to other standards of the processing of sampled point).
In a preferred embodiment, whether discardable to sampled point and/or segment to prevent by the determination being further processed
Be subject to it is other inspection and/or standard.Preferably, stopping first to segment(Or sampled point)Processing before check potential quilt
It abandons(For example, will be blocked)Segment in assembly line(Or sampled point)Other attributes, to determine segment(Or sampling
Point)Whether should be still processed based on any other reason, the reason because it has with occlusion query for example, be such as associated with
The side effect being still required.The inspection preferably includes, and determines segment(Or sampled point)Whether because of occlusion query(Have
Its subsidiary effective occlusion query)Or because other side effects are still required(In this case, it should not be abandoned).
Therefore, in especially preferred embodiment, graphics processing pipeline is configured as, in response to pass through sub conditione
Discarding test fragment association at least one sampled point, selectively stop sampled point in a pipeline and/or one
The processing of a or multiple segments.
When sampled point or one or more segment by or when not tested by conditional discarding, determine in assembly line
Whether the operation that can stop or restore can be held according to any suitable and desired mode for the processing of any sampled point and/or segment
Row.
Preferably, sampled point or one or more segment by and/or do not touched by the conditional event for abandoning test
It has sent out relevant information(Such as, and preferably, pass through(Or do not pass through)The sampled point of test or the position of segment)Broadcast is extremely located
It manages other in assembly line(For example, earlier)It is stage, described other(For example, earlier)Stage is preferably by described information
To estimate whether the processing of their currently processed any sampled points or segment can stop or restore(For example, and preferably, pressing
According to ways discussed above).
When being tested about whole fragment, from the discussion above, which preferably includes the piece of concern
Section(X, y)Position.When being tested about one group of multiple segment, the location information preferably include by pay close attention to described one
What the segment in the multiple segments of group covered(X, y)The range of position(According further to above discussion).It is carried out about sampled point
When test, location information preferably includes and the associated segment of sampled point(X, y)Position, and about the sample in
The instruction of which sampling point position of the segment(Preferably in the form of coverage mask, from the discussion above).
Broadcast message preferably further include " newness degree " of the conditional segment etc. for abandoning test of instruction experience when
Between stab(And trigger the broadcast of information)And/or the instruction signal is " recovery " or " termination "(" stopping processing ")Signal.
Therefore, in especially preferred embodiment, graphic system is configured as, if slowing down stream with advance triggering
At least one sampled point of the fragment association of sampled point and/or segment in waterline is tested by its final conditional discarding,
It then will be about at least one sampled point by the conditional concern for abandoning test(And/or segment)Information broadcast to figure
Handle at least one of assembly line(It is preferably other(And preferably earlier))Stage, and graphics processing pipeline is extremely
A few stage is configured with abandons the wide of at least one sampled point and/or fragment association tested with by conditional
Information is broadcast to determine with whether the processing of any segment of the fragment association currently in the stage and/or sampled point can stop
Only.
Similarly, in especially preferred embodiment, graphic system is configured as, if slowed down with advance triggering
At least one sampled point of the fragment association of sampled point and/or segment in assembly line is not tested by conditional discarding, then
It will be about at least one sampled point for not passing through conditional discarding test(And/or the segment of concern)Information broadcast to figure
Handle at least one of assembly line(It is preferably other(And preferably earlier))Stage, and graphics processing pipeline is extremely
A few stage be configured with not by the conditional at least one sampled point for abandoning test and/or fragment association
Whether broadcast message can be extensive with the processing of any segment of the fragment association currently in the stage and/or sampled point to determine
It is multiple.
Preferably, graphics processing pipeline is configured for this two processing(That is, triggering slows down in assembly line in advance
Triggering is broadcasted " recovery " or " termination " signal by each segment of sampled point and/or segment, this depends on the sub conditione of its experience
Discarding test result).
Therefore, in especially preferred embodiment, the graphics processing pipeline is configured as:
For the fragment association generated by rasterizer for slowing down sampled point and/or segment in assembly line with advance triggering
At least one sampled point execute conditional discardings and test;
If at least one sampled point is tested by conditional discarding, by about pass through it is conditional abandon test
The information of at least one sampled point is broadcasted at least one to graphics processing pipeline(Preferably earlier)Stage;And
At least one stage of graphics processing pipeline is configured with tests at least with by conditional discarding
One associated broadcast message of sampled point determines whether current any sampled point in this stage will be by by conditional
At least one sampled point for abandoning test repeats to render, and if there is any such sampled point, then selectively stops
These repeat being further processed for the sampled point rendered.
Similarly, in especially preferred embodiment, graphics processing pipeline is configured as:
For the fragment association generated by rasterizer for slowing down sampled point and/or segment in assembly line with advance triggering
At least one sampled point execute conditional discardings and test;
If at least one sampled point will be surveyed not by conditional discarding test about conditional discarding is not passed through
The information of at least one sampled point of examination is broadcasted at least one to graphics processing pipeline(Preferably earlier)Stage;And
At least one stage of graphics processing pipeline is configured with and is not tested extremely by conditional discarding
Lack an associated broadcast message of sampled point to determine whether current any sampled point in this stage will not be by by not attached
At least one sampled point of the discarding test of condition repeats to render, and if there is any such sampled point, then selective
Restore the processing of these sampled points in ground.
From the discussion above, most preferably, the information in broadcast to the stage of graphics processing pipeline includes passing through(Or not
Pass through)The conditional position for abandoning the sampled point and/or segment tested and preferably newness degree and/or graphics process stream
At least one stage of waterline is configured as, using with by or do not pass through it is conditional abandon test sampled point and/or piece
Whether the location information of the associated broadcast of section determines the current any sampled point and/or segment in this stage in post-processing object
(Destination buffer)(For example, processed piece)In with by or not by it is conditional abandon test sampled point and/
Or segment occupies same position, and selectively stop or restore respectively in post-processing object with respectively by or not by attached
The sampled point and/or segment of the discarding test of condition occupy any sampled point of same position and/or the later processing of segment.
It is tested in " passing through " or " not passing through " event in conditional discarding, determines whether are any sampled point and/or segment
One or more stages of processing assembly line that is to be processed or should being resumed no longer are needed to may include graphics processing pipeline
Any desired and suitable stage.It is one or more early that they preferably include passing through as sampled point for graphics processing pipeline
The result of phase rejection test can determine at least one or more the stage whether processing of segment etc. should be slowed.For this purpose, place
Reason assembly line can be divided into many stages as needed.
In especially preferred embodiment, multiple segments(And all segments in the preferably described stage)And/or
Sampled point can be tested concurrently.This is then conducive to the sub conditione for effectively utilizing the sticking patch that can once test for example multiple segments
Discarding test.
Determine that the processing for the sampled point and/or segment that its processing can stop can stop and/or according to any desired and suitable
Mode omit.Preferably, this is " termination " by the sampled point and/or fragment label that will identify that(In vain)It realizes, phase
Closing processing stage, then whether inspection sampled point and/or segment do not terminate before carrying out any be further processed to it(Have
Effect).This will then be avoided and/or stopped any non-essential processing of these sampled points and/or segment.
When that will consider independent sampled point, sampled point is preferably suitable in coverage mask by the segment for concern
Ground is arranged its value and is marked as in vain.
When considering segment entirety, each segment can be for example with " termination " associated with it(Engineering noise)Bit(For example,
A part as its associated fragment data), when which is set, instruction segment need not be handled(And it can be lost
It abandons).It does so in a preferred embodiment.Processing stage then can for example check each segment that they are received
Inactive bit is to be handled.If it is invalid with all sampled points of fragment association that the test of individual sampled point finally makes,
It may also set up the bit.
Alternative arrangement(Such as make the segment queue operated as buffer area with effective label in setting piece
Queue is discharged when the invalid tag of section(Buffer area)Row)It can be used as substituting, or in addition use as needed.
Although any " termination " segment can still in a pipeline(But it is untreated), but in a preferred embodiment, it takes
Step from assembly line to remove invalid fragments.This point is preferably operable with from assembly line by being arranged in a pipeline
Middle removal(What they were received)One or more compression stages of invalid fragments are realized.The compression stage may include for example
FIFO(First in first out)Queue, as segment is advanced by FIFO, queue is operated to remove any invalid fragments(To remove
Any vacancy).
It, can be according to any desired and suitable side for determining that the sampled point that " restore " its processing and/or segment
Formula executes.This can be dependent firstly on how the processing such as segment slows down.
In a preferred embodiment, pass through(Priority status is removed relative to its " slowing down ")Increase the recovery of its processing priority
Segment etc..Preferably, segment etc. is restored initial to it(Normally)Processing priority and speed.
Manage at which the segment and/or sampled point that will be slowed processing by pause they by the processing of assembly line by
When slowing down, segment and/or sampled point preferably pass through " stopping suspending "(No longer suspend)Their processing and restore.
In a preferred embodiment, wait for segment of the pause " restored " etc. from " rigid pond "(Their processing is at this
In suspend)It takes out, and is back to assembly line to be handled according to normal mode.
Manage at which the processing of the segment and/or sampled point that will be slowed by by the sampled point that will identify that and/or
Fragment label is " going preferential "(Such as there is the processing priority reduced)Go it is preferential they when the processing of assembly line slows down,
Preferably restore segment and/or sampled point by by sampling and/or fragment label being no longer " go preferential ".It is therefore preferred that
Suitably update(Change)With suitable " going preferential " metadata of fragment association(Such as sampled point mask)And/or " going preferential "
Bit.
Similarly, it is using with the segment queue release operated as buffer area for removing preferential label(If set
That has set segment removes preferential label)Queue(Buffer area)When row, go preferential label can be by suitably when segment etc. will be restored
Update.
From the above it can be followed that in especially preferred embodiment, if segment and/or sampled point are rejected by early stage
(For example, depth)The signal for triggering the processing for slowing down one or more segments in a pipeline etc. is tested and sends, then,
If it is tested by all conditional discardings that it is experienced by, triggering stopping processing being sent(It abandons)Its processing is pre-
The signal of the one or more segments first slowed down etc.;And if it is not tested by the conditional discarding that it is experienced by,
Then sending triggering recovery, it handles the signal of the processing of one or more segments slowed down in advance etc..
It will also be appreciated from the above that its segment for having slowed down in advance of processing and/or sampling will then make its processing stop or
Restore, this is dependent firstly on triggering and slows down the segment of sampled point and/or segment and/or the handling result of sampled point.
In especially preferred embodiment, segment is passed through one only about the fully opaque segment execution present invention
The event of a or multiple early stage rejection tests is used subsequently to determine whether the processing of any segment in processing assembly line should subtract
Slowly equal operation.Therefore, if being transparent segment by the segment of early stage rejection test or one group of multiple segment(That is, non-fully
Opaque segment)Or including transparent segment, then segment or one group of segment preferably continue to be handled, it is preferred that
It is not used in by event with segment or the associated early stage rejection test of one group of segment and determines any in handling assembly line
Whether the processing of section should slow down.
This directly makes potential of the present invention for needing to undergo transparent test and the segment for being clear to coverage test
Section or sampled point slow down and " termination " operates operation failure(And it is equal to the transparent segment and/or sampling that directly permission is closer
Point can not prevent segment farther out and/or the sampled point fact still visible in final output).
Applicants further recognized that in segment(Or at least with the sampled point of fragment association)It undergoes and is rejected by early stage
Test, and meet the above standard that mask is write with full RGB;Segment does not have the mixed function dependent on previous RGBA values;Piece
The coloration program of section is not read from piece buffer;Segment is completely opaque;After segment is not based on any reason compulsory execution
When phase depth updates, for such segment and/or sampled point, in fact, institute can be immediately determined that in rejection test stage early stage
Any other sampled point etc. with same position in a pipeline will be blocked by stating sampled point etc..
This is possible, because for example in early stage depth test, the sampling in a pipeline with same position
Point and/or segment can be assumed to be located at the rear of the new sampled point and/or segment by early stage rejection test, and therefore may be used
Assuming that by being blocked by those sampled points and/or segment later(If sampled point and/or segment later is opaque)(If logical
It crosses early stage depth test, and does not force to carry out post depth update, then it is necessary by the new sampled point and/or segment of test
Positioned at same position any sampled point earlier and/or segment in front of).
Although may still " will simply slow down " signal in this case is sent to segment etc. in a pipeline,
It, will actually may safely immediately but the applicants have appreciated that when described segment etc. is by early stage rejection test
(At this time)The suitable segment etc. of stopping processing in a pipeline,.
Therefore, in a preferred embodiment, the present invention can(And really)It is rejected and is surveyed by early stage using sampled point
The result of examination determines whether the processing of another sampled point just handled in graphics processing pipeline can stop(At least can be in morning
The sampled point and/or segment that test is known in rejection test stage phase " will repeat to render "(It blocks)Sampling in a pipeline
In the case of point and/or segment).
This then of the invention to further decrease in figure compared with for example existing early stage depth test technology
The degree of hidden surface is unnecessarily handled in processing assembly line.
Therefore, in especially preferred embodiment, the method for the present invention includes the following steps:
Be sent to renderer in segment with before being handled, about with the fragment association that is generated by rasterizer extremely
A few sampled point executes early stage rejection test;And
If at least one sampled point by early stage rejection test, sends forward segment to be handled;And
For the segment for having selectable attribute, as at least one sampled point by early stage rejection test as a result, root
Whether the processing of another sampled point in graphics processing pipeline is determined according to the attribute of segment should slow down or graphics process stream
Whether the processing of another sampled point in waterline can stop.
For meeting(Potentially)Stop the standard of the processing of other segments in graphics processing pipeline etc. immediately
Those of sampled point and/or segment etc., the operation preferably with the above-mentioned processing operation for slowing down segment in assembly line etc.
It is similar, it is intended only as slowing down the replacement of the processing of segment in a pipeline etc., the processing of segment etc.(Suitably)Stop
((Immediately)Abandon segment etc.).This point can by and preferably according to it is corresponding with aforesaid operations in a manner of realize and implement, with
Slow down the processing of segment in assembly line etc..
" termination " is potentially triggered for the segment by early stage rejection test(It abandons)Another segment in assembly line etc.
Standard preferably include:The segment of mask is write with full RGB;Piece without the mixed function dependent on previous RGBA values
Section;Coloration program for the segment not read from piece buffer;Fully opaque segment;And it does not force(Pass through
Application programmer)Execute the newer segment of post depth.
The stage of graphics processing pipeline can be configured as according to any suitable and desired mode side according to the invention
Formula is operated.In a preferred embodiment, the test and more new logic that the stage includes combination, can be operated to hold
Row is rejected and/or conditional discarding test, and if passes through(Or do not pass through)Test(It is surveyed at least for conditional discarding
Examination)And the segment meets any required standard, then will pass through(Or do not pass through)Event and necessary information associated with it
" broadcast " to graphics pipeline the suitable stage.
" passing through " is tested in response to early stage rejection test and conditional discarding(Or " not passing through ")(At least for sub conditione
Discarding test)One or more stages of the graphics processing pipeline of event can be configured as according to any suitable and desired
Mode executes this process.Preferably, they have with their associated agencies, it is described agency to the segment in the stage of concern
It is responsible for and receives test " passing through " or " not passing through " information, and followed by operation in their " domain "(Stage)Middle knowledge
Its not any processing can be slowed or restore and/or no longer need processed segment and/or sampled point, and then slow down or
Restore(It restores)The processing of those segments and/or sampled point and/or prevent any unnecessary of those segments and/or sampled point
It is further processed.
In some embodiments, graphics processing pipeline includes storing data as described herein and/or storage for holding
One or more memories and/or memory device of the software of row process described herein, and/or led to them
Letter.Graphics processing pipeline can also be communicated with host microprocessors, and/or with the data that are generated based on graphics processor
The display of display image is communicated.
The renderer of graphics processing pipeline should be operable to render(Coloring)Its graphics fragment received, to generate the phase
The output pattern fragment data of prestige, as known in the art.The renderer of graphics processing pipeline may include it is any suitable and
Desired rendering element, and can be constructed according to any suitable and desired mode.Thus, for example, graphics processing pipeline
Renderer may include fixed function rendering pipeline, including one or more fixed function rendering stages, such as texture mapping
Device, mixer, atomization unit etc..In a preferred embodiment, renderer includes fragment shader(Tinter assembly line)(
Flow line stage is programmed, it is operable and programmable to execute fragment shader program in segment, to render them).Make
When with fragment shading, the present invention can be especially advantageous, since fragment shading can be relatively expensive processing, and more effectively in early days
Hidden surface is eliminated especially advantageous in place of having carried out fragment shading.
It should be appreciated by those skilled in the art that renderer will handle the segment of its reception, the piece that output renders is subsequently generated
Segment data, wherein the fragment data rendered is then preferably written to the output buffer in external memory, such as frame buffer,
To be used(For example, showing frame over the display).
Regardless of the available output form of graphic system, the present invention all can be used.Thus, for example, rendering
Output, which is intended to be formed, to be used for(For example, on screen or printer)The image of display(Frame)When, the present invention can be used(And one
It is particularly the case in a preferred embodiment).However, the present invention can also be used to render the feelings that output is not intended to display
Condition, such as it is the texture generated using graphic system to render output(For example, in " rendering to texture " operates), Huo Zheshi
On border, the output generated using graphic system is the data array of any other form.
The various functions of the present invention can be executed according to any desired and suitable mode.For example, the function of the present invention can root
According to needing to realize in hardware or in software.Thus, for example, the various functions element of the present invention, processing stage and " device " can
Suitable one or more processors including operable to perform various functions etc., it is one or more controllers, functional single
Member, circuit, processing logic, microprocessor arrangement etc., such as programmable suitably construction operated in a manner of desirably
Specialized hardware element or processing circuit and/or programmable hardware element or processing circuit.
It is also noted herein that it should be appreciated by those skilled in the art that various functions of the present invention etc. can be at given place
It concurrently replicates and/or executes on reason device.Similarly, various processing stages can share processing circuit etc. as needed.
Present invention can apply to have the graphic system of " assembly line " arrangement, graphics processor and renderer
Any suitable form or construction.Graphics processing pipeline may include any suitable and phase that graphics processing pipeline includes normally
The processing stage etc. of prestige.In especially preferred embodiment, graphic system is the graphic system based on piece.Class
As, in a preferred embodiment, the graphic system is multiple nucleus system(That is, including multiple graphics process cores).
Therefore, the present invention is extended to including any one of various aspects according to invention described herein or more
Equipment, or according to the method for any one of various aspects of invention described herein or more operate graphics processor
And graphics processing platform.Using any hardware is condition necessary to execution specific function discussed above, the graphics processor
Any one of usual functional element that graphics processor includes etc. or more or whole can be also comprised.
It should also be realized by those skilled in the art that the aspect being described and embodiment of the present invention can include suitably
It is as described herein preferably with any one of optional feature or more or all.
It according to the method for the present invention can be at least partially by the software implementation of such as computer program.It is therefore seen that
When in terms of other aspects, the present invention provides when on data processing equipment particularly suitable for executing side as described herein
The computer software of method, and it is adapted for carrying out the meter for including code device of all steps of one or more methods as described herein
Calculation machine program(When described program is run on a data processing system).Data processing system can be microprocessor, may be programmed
FPGA(Field programmable gate array)Deng.
Therefore, the present invention can suitably be embodied as the computer program product for computer system.This realization can wrap
It includes and is fixed on tangible medium(Such as non-transitory computer-readable medium, for example, disk, CD ROM, ROM, RAM, flash memory or hard
Disk)On series of computation machine readable instruction.This realization further includes that can be passed through by modem or other interface arrangements
Tangible medium(Including but not limited to, optics or analog communication line)Or utilize wireless technology(Including but not limited to, microwave, red
Outer or other transmission technologys)Intangibly it is transmitted to the series of computation machine readable instruction of computer system.The series of computation
Machine readable instruction realizes all or part of of function previously described herein.
Description of the drawings
Only by way of example and multiple preferred embodiments of the present invention will be described with reference to the accompanying drawings now, in attached drawing:
Fig. 1 schematically shows the embodiment of graphic system according to the present invention.
Specific implementation mode
Multiple preferred embodiments of the present invention will now be described.By referring especially to the present invention in graphic system
Use these embodiments of description.However, as described above, present invention can apply to include early stage " data entity " rejection test
Other pipelined data processing systems.
Fig. 1 schematically shows the graphics processor 1 that can be operated according to the present invention.
Fig. 1 shows the main element and flow line stage of the graphics processor 1 of the operation about present embodiment.Ability
Field technique personnel are it should be understood that may be present other elements of graphics processor not shown in FIG. 1.Herein it should be noted that
Fig. 1 is only illustrative, and even if the functional element and flow line stage that show are shown schematically as detaching in Fig. 1
Stage, such as they can also share important hardware circuit in practice.It should also be understood that graphics processor shown in FIG. 1
Each stage, element and unit etc. can realize as needed, and will therefore include for example for execute necessary operation and
The suitable circuit of function and/or processing logic etc..
Graphic system shown in FIG. 1 is the system based on piece.Therefore, as it is known in the art, graphics process
Device 1 will generate and render output data array(The output frame such as to be generated)Piece.(The present invention can be equally applicable to other
System, all Immediate Mode rendering systems as discussed above.)As it is known in the art, output data array can be usually purport
It is being shown in display device(Such as screen or printer)On output frame, but can also for example including graphics processor " render
To texture " output etc..
Fig. 1 schematically shows the graphic primitive generated for being input to rasterizing processing(Polygon)After 2
Flow line stage.Therefore, graph data at this time(Vertex data)Deformation and Lighting operations are undergone(It is not shown), and primitive
Setup phase(It is not shown)The primitive to be rendered is set in response to ordering and being provided to the vertex data of graphics processor 1,
As known in the art.
As shown in Figure 1, this Partial Fragment processing assembly line of graphics processor 1 includes multiple processing stages, multiple place
The reason stage includes:Rasterizing stage 3, early stage classification ZS(Depth and template)Test phase 4, early stage ZS(Depth and template)Stage
13, the rendering stage and later stage ZS of 6 form of fragment shading stage(Depth and template)Test phase 7.
As it is known in the art, the rasterizing stage 3 is operated renders output will be constituted(For example, figure to be shown
Picture)Primitive grid turn to individual graphics fragment to be handled.Therefore, rasterizer 3 receives graphic primitive 2 to carry out wash with watercolours
Dye, primitive grid, which is turned to sampled point and generated, has suitable position(Indicate suitable sampling location)Graphics fragment, with
Render primitive.In the present embodiment, indicate multiple by each graphics fragment that rasterizer 3 generates(Usual 4)Sampling
Position(It is associated with the multiple sampling location).(Certainly, other arrangements will be possible).Each graphics fragment and instruction
Segment indicates the coverage mask association of which sampled point of multiple sampling locations, it is practically used for rendering(That is, practical by paying close attention to
Primitive covering).
In the present embodiment, rasterizer 3 is classification rasterizer, is operated to be adopted relative to smaller and smaller
Sampling point sticking patch(Therefore, correspondingly, segment sticking patch)Primitive is repeatedly tested, until corresponding to the minimum sticking patch of 2x2 segment groups
Size(That is, until can be rasterized into as a series of sampled points of 2x2 segment groups), abandon not(At least partly)Cover primitive
Any sticking patch.Each sticking patch of test corresponds to one group of given segment.
This point is realized by rasterizer 3:I.e. since the big sticking patch in post-processing object region and test the base of concern
Whether member is in the sticking patch., if it is not, then abandon entire sticking patch, and test next sticking patch, etc..On the other hand, such as
Fruit finds that primitive is located in the sticking patch(To cover the sticking patch at least partly), then the sticking patch is again divided into 4 parts,
And each " sub- sticking patch ", etc. then is tested according to same way, until reaching minimum patch size.
Once reaching minimum patch size(That is, covering the sticking patch of the 2x2 segments of identified primitive at least partly),
The individual sampled point that rasterizer 3 is just then tested in the final sticking patch is to determine whether sampled point is covered by the primitive.
Rasterizer 3, which then corresponds to, to be found to be generated by the sampled point that primitive covers and exported individual segment, to be rendered.
No matter whether sampling location is capped(That is, in fact, no matter whether segment is for rendering the sampled point(It is directed to
The sampled point, no matter whether its data should be stored)), for each sampling in one group of sampling location with fragment association
Position, each fragment association of the rasterizer 3 also with the instruction of the coverage mask of bitmap form.
Certainly, other rasterizing arrangements are possible.
As shown in Figure 1, rasterizer 3 also with early stage " classification " depth(Z)It is associated with the template test stage 4.The classification is deep
Degree and template test stage 4 execute " early stage " depth and template test to determine this on the sticking patch generated by rasterizer 3
Whether a little sticking patch can be removed.
Therefore, the sampled point generated by rasterizer(In fact, segment)Each sticking patch be sent to early stage be classified it is deep
Degree and template test stage 4, then in sampled point(Segment)Sticking patch on execute Z(Depth)Test is mended with determining at this stage
Whether piece can be dropped(It rejects).Therefore, early stage hierarchy depth and template test device 4 are received for it from rasterizer 3 each
A sticking patch exports depth value range by carrying out suitable depth-sampling on sticking patch, and the depth value range and elder generation is leading
The sampling covered with sticking patch for going out and storing(Segment)The associated depth value range in position is compared, and is to attempt determining sticking patch
It is no to block the other segments and sampled point to be rendered, or whether repeat the other segments to be rendered and sampled point(Example
Such as, it will subsequently occur on assembly line, or the segment and sampled point being rendered).At the same time, early stage template is executed to survey
Examination.
If just tested sticking patch is lost not by early stage depth and template test in any be further processed
It abandons(It rejects).
If just tested sticking patch is back to rasterizer 3 with further by early stage depth and template test
It is again divided into smaller " sub- sticking patch ", as discussed above.Each " sub- sticking patch " is subsequently returned to early stage depth and template is surveyed
Examination device 4 is test, etc., until reaching minimum patch size.
When executing depth and template test on the sticking patch in the multiple sampled points received from rasterizer 3, early stage is classified deep
Depth value range is stored in depth and stencil buffer 5 used in degree and template test stage 4.It is indicated for buffer
Each patch size and position, by depth value(And stencil value)Range be stored in depth and stencil buffer 5(Especially
For rasterizer 3 for the producible each patch size of piece being processed and position).
The depth value range stored for each sticking patch is initially set to default value, or is set as the desired depth of sticking patch
It is worth range(If can determine).(It, can the possible depth that can have of the previously known primitive for piece in some arrangements
Angle value range.Then, it can be used for the range of the desired depth value of the sticking patch for the setting concern of depth buffer 5.)Then, with
It through early stage hierarchy depth and template test stage 4, early stage depth and template test stage 13 and post depth and template survey
By each depth and template test, the sticking patch depth value range of storage obtains more the sticking patch and/or sampled point that the examination stage 7 tests
Newly.
Even if the segment earlier in the assembly line of same position does not complete any depth or template test also(Example
Such as, early stage hierarchy depth and template test 4 and early stage depth and template test 13 are not undergone, and do not undergo post depth and mould
Board test 7), for multiple sampling point positions of the piece just rendered in depth and stencil buffer 5(Therefore, segment)Benefit
The depth value of piece storage expected range also implies that early stage hierarchy depth and template test device 4 can be generated still in regard to rasterizer 3
The sticking patch of sampling point position execute depth and template test.This is because even if being also not carried out the depth about segment earlier
Test, desired depth value range can also be used for determining depth test(Such as)There can be which kind of result.Therefore, this allows early stage
Hierarchy depth and template test 4 are used for(Potentially)Mode in the embodiment makes the place of the segment earlier in assembly line
Reason stops, even if segment does not undergo depth or template test also actually earlier is also such for these.
The range of sticking patch storage and test depth value for sampling point position means the larger sticking patch of sampling point position
It can be easy by early stage depth and template test(Since the range of storage allows test to determine whether sticking patch will store completely
Range except, and thus, for example pass through early stage hierarchy depth and template test completely).It therefore, such as will be further below
It discusses, this can be conducive to broadcast the early stage depth and mould in the much bigger region that post-processing object is influenced in single process cycle
Board test is by event, to which it can therefore can(Potentially)Make the whole fragment in patch area in a process cycle
The processing of group stops(Without with for example the processing of each segment must potentially being made one by one to stop).
Early stage hierarchy depth and template test stage 4 are configured as operating in the way of suitably guarding, such as this field
In it is known.
Once reaching minimum patch size(In this embodiment, the sticking patch of 2x2 segments), rasterizer 3 will just indicate
The sticking patch of Z and template test stage 4 are classified by early stage(Therefore, sampled point)Segment be published to graphics processing pipeline its
Remaining part point, to be handled.
The first part of the processing is to make to issue by rasterizer 3 in early stage depth and template test stage 13(Output)
Each segment by early stage depth and template test.This early stage depth and template test stage 13 with pass through rasterizer
3 publication fragment associations it is individual(Covering)Depth and template test are executed on sampling location(That is, being differentiated per sampled point
Rate).
Therefore, early stage depth and template test device 13 use the every sampling location being stored in depth and stencil buffer 5
Depth and stencil value.Therefore, in addition to every sticking patch depth value range, depth and stencil buffer 5 indicate each for buffer
A sampled point(In particular for each sampling point position of piece being processed)Suitable depth is stored respectively(Z)Value and mould
Plate value.When just being passed through by the sampled point that early stage depth and template test stage 13 and post depth and template test stage 7 test
When each depth and template test, these values are stored in depth and stencil buffer 5.
In this embodiment, depth and stencil buffer 5 are configured as two different buffers(But they can be
In same physical storage), a buffer storage is per sticking patch depth bounds, and another storage is per sampling depth value.When
So, other arrangements are possible.
Early stage depth and template test stage 13 are configured as operating in the way of suitably guarding again, such as this field
In it is known.
Therefore, pass through " queue " 12(The function and purpose of this queue 12 will be discussed in greater detail below)Morning will be passed through
The segment of phase depth and template test stage 13(That is, at least one pass by early stage depth and template test stage 13
The segment of the sampling location of connection)It is sent forward to the fragment shading stage 6(Renderer), as shown in Figure 1.
(It is not rejected by early stage depth and template test stage 13 by early stage depth and the segment in template test stage 13,
As known in the art.)
The fragment shading stage 6 executes suitable segment processing in the segment of its reception(It renders)Operation is rendered with being directed to
Output(For example, the display for segment)Segment is handled, to generate suitable fragment data etc., as known in the art.
Segment processing may include any suitable and desired fragment shading processing, and fragment shading is such as executed in segment
Program, to segment application texture, to segment application mixing, atomization or it is other operation etc., to generate suitable fragment data, such as this
Known in field.In the present embodiment, the fragment shading stage 6 uses tinter assembly line(Programmable fragment colours)Shape
Formula, but if necessary, it such as in addition uses or other arrangements of substitution fixed function fragment shading unit is also
Can with.
Followed by " later stage " segment Z and template test stage 7, inter alia,(If not undergo early stage for example
The stage 7 is executed in the segment of Z and template test)Segment of the stage 7 in coloring(In the covering of fragment association with coloring
On sampled point)The end of upper execution pipeline depth test, to determine whether the sampled point that the segment rendered indicates will repeat wash with watercolours
Contaminate the segment that its value is currently stored in piece buffer 5(That is, determining the segment for being issued from the fragment shading stage 6
Whether fragment data should be stored in piece buffer(It should substitute or change the piece buffer for the segment being rendered
In fragment data)).
Therefore, the segment that post depth test phase 7 will be issued from the fragment shading stage 6(With the fragment association)Depth
Value is stored in the sampling location for concern in depth buffer 5(Per sampling location)Depth value is compared.Pass through
The depth value of the sampled point of post depth test 7 also suitably writes Z- buffers 5 to be updated, as known in the art
's.
This later stage segment depth and template test stage 7 also execute any necessary template test in segment.
By the segment of later stage segment test phase 7 then by remaining any operation needed in segment, such as with frame
Buffer mixing, shake etc.(It is not shown).
Finally, output fragment data value writes suitable piece buffer 8, as known in the art, the piece buffering
Device 8 is directed to each sampled point that buffer indicates(Substantially it is directed to each sampled point of piece being processed)Storage is suitable
Value(Such as color value).
Once having been processed by each piece, data are just for example exported from piece buffer 8 to main memory(For example,
Frame buffer in main memory)(It is not shown)To be stored, and next piece is subsequently processed, etc., until
It has handled enough pieces and has been exported with generating entire render(For example, frame to be shown(Image)).
Certainly, other arrangements of assembly line are handled for segment to be possible.
Described above is the basic rasterizings of graphic system shown in FIG. 1 and rendering to handle.Now, it will correspondingly retouch
State the operation of graphic system shown in FIG. 1 according to the embodiment of the present invention.
According to the present invention, present embodiment is respectively using the sticking patch by early stage hierarchy depth test 4 as a result, or pass through
The segment of early stage depth test 13 as a result, to determine whether the processing of other segments in graphics processing pipeline should subtract
Slowly or can stop.
Therefore, as shown in Figure 1, early stage hierarchy depth and template test stage 4 and early stage depth and template test stage 13
It is configured as:If the sticking patch or segment of segment respectively by corresponding early stage rejection test, not only pass sticking patch or segment
Be handed to processing assembly line in its next stage, but also " will pass through " with early stage rejection test the relevant information of event broadcast to
Each stage of assembly line(As shown in the dotted line 9,10,11,14 in Fig. 1).They be additionally configured to for by early stage depth
Test(It can realize here)Fragment association sampled point it is slow using associated depth value and/or stencil value update depth and template
Rush device 5.
In the present embodiment, rejection test " passes through " broadcast of event and the update of depth buffer etc. not for logical
All sticking patch and segment for crossing early stage hierarchy depth test 4 and early stage depth test 13 execute, but only for meeting specific mark
It is accurate(With particular community)Sticking patch and segment execute.It can avoid the mistake when segment later is by early stage depth test in this way
Ground slows down and abandons the segment in assembly line.
Present embodiment makes in early stage hierarchy depth and template test unit 4 and early stage depth and template test unit 13
" pass through " whether event should be broadcasted to assembly line and early stage depth with " automatic detection " scheme to determine early stage depth test
Test " passing through " event broadcasts the form that take.
For the early stage depth test " passing through " for stopping the processing of other segments in triggerable graphics processing pipeline
Event is broadcasted(It sends)To assembly line, this automatic detection scheme has following demand:New sticking patch or segment needs to have passed through
Early stage z/s tests(And it is tested by early stage z/s rather than later stage z/s test processes);New sticking patch or segment needs have full rgb
Write mask(Z/ templates have been written to thereon)With the mixed function independent of previous rgba values;For new sticking patch or segment
Tinter cannot read piece buffer;And new sticking patch or segment need not be forced to carry out the update of later stage z.
(Due to the fact that new sticking patch or segment need to force to carry out the update of later stage z:Such as:Transparent test;It is transparent
To covering;Tinter includes to abandon;It includes to abandon to mix tinter;Or the segment earlier in tinter forces to carry out the later stage
Z updates.Therefore, this " forcing the update of later stage z " demand means:When being tested by early stage Z only for fully opaque
Sticking patch and segment execute the operation for the processing for stopping other segments in assembly line immediately.This directly allows closer transparent
The fact that sticking patch or segment can not prevent segment farther out still visible in final output.)
The new sticking patch or segment for meeting the above standard is triggered other segments in triggerable graphics processing pipeline
Processing stopping early stage depth test " pass through " event broadcast(It sends)To assembly line.If sticking patch or segment do not meet this
A little standards, then " the automatic detection " in early stage hierarchy depth and template test unit 4 and early stage depth and template test unit 13
Scheme is it is later determined that will be in triggerable graphics processing pipeline by the way that whether the sticking patch or segment of early stage depth test should trigger
Other segments processing the early stage depth test slowed down " pass through " event broadcast(It sends)To assembly line.
For the early stage depth test of the processing of other segments in triggerable graphics processing pipeline slowed down is " logical
Cross " event broadcast(It sends)To assembly line, the automatic detection scheme has following demand:New sticking patch or segment needs to have led to
Cross the test of early stage z/s(And it is tested by early stage z/s rather than later stage z/s test processes);New sticking patch or segment need to have complete
Rgb writes mask(Z/ templates have been written to thereon)With the mixed function independent of previous rgba values;For new sticking patch or piece
The tinter of section cannot read piece buffer;And new sticking patch or segment need not be forced to carry out the update of later stage z(Later stage z is more
New reason has:It is transparent to test, be clear to covering, tinter comprising discarding, mixing tinter comprising in discarding or tinter
Segment earlier with same position force to carry out post depth update).
Therefore, in the present embodiment, allow(It uses)Due to the fact that and enforcing newer of post depth
Section trigger action with(Potentially)Slow down the processing of other segments and/or sampled point, the reason is:Transparent test is clear to
Coverage test, tinter include to abandon;It includes to abandon to mix tinter;Or the segment earlier in tinter is forced after carrying out
Phase depth updates.
The influence of these standards mainly will be by any type of conditional discarding of the part as its processing
The segment of test will be triggered the early stage depth test of the processing of other segments in triggerable graphics processing pipeline slowed down
" passing through " event is broadcasted to assembly line, rather than by the stopping of the processing of other segments in triggerable graphics processing pipeline
Early stage depth test, which " passes through " event, broadcasts to assembly line.This is because in segment by conditional discarding state(Test)
When, even if by early stage depth test, it can not determine that the segment will finally hide far and away in depth test stage early stage
The segment of gear in a pipeline.
Although present embodiment tests 4 or deep in early days to trigger using " automatic detection " scheme with by early stage hierarchy depth
The sticking patch or the related early stage depth test of segment of degree test 13 can also be used mode bit to make by the broadcast of event information
For the spare arrangement for this.Mode bit can be set as closing " automatic detection " scheme, and alternatively, by another
(For example, rejection test passes through event " activation ")The setting of mode bit(Whether)Pass through event information to trigger early stage rejection test
Broadcast.Whether this will then enable such as application programmer to be arranged will execute rejection test and pass through event action(Pass through
Suitable mode bit is set).
Early stage hierarchy depth and template test stage 4 and early stage depth and template test stage 13 include combination test and
More new logic, they can be operated to execute rejection test, and if be suited the requirements by test and sticking patch or segment
Standard, then will by the suitable stage of event and necessary location information associated with it " broadcast " to graphics pipeline, and
And update is such as the depth information in depth buffer.
In the present embodiment, when the sticking patch of " qualified " sampled point(That is, meeting triggering " stopping processing " or " slowing down place
The sticking patch of the sampled point of the standard of the transmission of reason " signal)When by early stage hierarchy depth test 4, early stage hierarchy depth and template
Test phase 4 will be covered by the sticking patch of test(X, y)9,10,11 are broadcasted to queue 12, fragment shading stage 6, grid in position
It formats device 3 and early stage hierarchy depth and template test stage 4 itself(As shown in the dotted line 11 in Fig. 1).Broadcast message further includes
Whether broadcast singal is for determining whether the processing of any segment should stop(Whether any segment should be dropped), or determine
Any segment processing whether the instruction that should slow down, that is, whether broadcast singal is segment " termination " signal or segment " slowing down "
The instruction of signal.It will such as be indicated followed by broadcast singal type in these stages of description later, graphics processing pipeline
Estimate whether the processing of their currently processed any segments can stop or whether should with location information(Suitably)Slow down.
In the present embodiment, the test of early stage hierarchy depth is broadcast to hierarchy depth and template test stage by event
4 and rasterizer 3, because rasterizer 3 and early stage hierarchy depth and template test stage 4 are as discussed above ground according to repetition side
Formula operates, and the sampling being previously generated for for example still undergoing rasterizing and early stage hierarchy depth and template test processing may be present
The sticking patch selected can omit their place wherein if can determine that the sticking patch of such as sampling location later repeats to render them
Reason.
In addition to early stage hierarchy depth to be tested to the other stages broadcasted by event to graphics processing pipeline, early stage divides
Grade depth(Z)It is additionally configured to the template test stage 4(When appropriate)It is adopted using for what is tested by early stage hierarchy depth
Associated depth value range and/or stencil value the update depth and stencil buffer 5 of the sticking patch of sampling point.Therefore, this so that these are slow
Rushing device can include(Such as)It has undergone(And pass through)The depth value range of the sticking patch of early stage hierarchy depth and template test 4 is most
New record, so that early stage hierarchy depth and template test are more efficient.
This update of depth buffer etc. is executed according to suitably conservative manner, can be at the place of sticking patch etc. to avoid update
Lead to any risk of mistake in reason.
Correspondingly, in the present embodiment, when " qualified " segment is by early stage depth test 13, early stage depth and mould
The board test stage 13 will be covered by the segment of test(X, y)Position and the instruction of broadcast singal type(According to the segment of concern
Attribute)Broadcast is 14 to queue 12, and to the fragment shading stage 6(As shown in the dotted line 14 in Fig. 1).It such as will be in retouching later
It states, these stages of graphics processing pipeline estimate their current places followed by the instruction of broadcast singal type and location information
Whether whether the processing of any segment of reason can stop or should(Suitably)Slow down.
Once again, in addition to early stage depth test to be broadcasted to other stages to graphics processing pipeline by event, it is early
Phase depth(Z)The template test stage 13 is configured as utilizing for the sampled point with the fragment association by early stage depth test
Associated depth value and/or stencil value update depth and stencil buffer 5.Therefore, this enables these buffers to include(Example
Such as)It has undergone(And pass through)The state-of-the-art record of the depth value range of the sampled point of early stage hierarchy depth and template test 13, to
So that early stage and later stage hierarchy depth and template test are more efficient.
In response to broadcasting morning by early stage hierarchy depth and template test stage 4 and early stage depth and template test stage 13
Phase depth test " passes through " event segments " termination " signal(That is, instruction should determine the place of any segment in response to broadcast singal
Whether reason can stop), as early stage rejection test " pass through " event as a result, receive " terminations " signal broadcast processing assembly line
Stage followed by the location information in broadcast singal come determine any segment that they include currently whether no longer need by
Processing.By will currently occupy all segments of flow line stage(X, y)Position with by passing through early stage hierarchy depth and template
Broadcast " termination " signal designation that test phase 4 or early stage depth and template test stage 13 broadcast(X, y)Position(That is, with
By early stage rejection test and trigger segment " termination " signal broadcast segment and/or sticking patch(X, y)Position)It is compared
To execute this process(In this way, in fact, identification will be blocked by sticking patch or segment by early stage depth and template test
Currently any segment in this stage).
Be subject to also correspond to for make segment processing stop specific other standards, then stop have and pass through
Early stage rejection test and trigger segment " termination " signal sticking patch or segment it is identical(X, y)The place of any current clip of position
Reason.Specifically, also checking for potential to abandon(That is, will be blocked)It is any whether the segment in assembly line should be based on
Other reasons and continue to be handled, the reason for example, because its have such as with unsolved occlusion query it is associated still by
The side effect needed.If the segment being blocked does not have its subsidiary still effective occlusion query(And without other
The side effect needed), then abandoned(It, which is handled, stops)When if it has its subsidiary effective occlusion query really
(Or some other side effects being still required), then do not abandoned(That is, continuing its processing).Pass through the graphics process stream of concern
The stage of waterline executes this inspection.
In early stage rejection test segment " termination " " " event according to suitably guard by way of execute to no longer needing
The determination of segment to be processed makes it no longer receive the risk of subsequent processing to reduce improperly discarding segment.
Test to each stage pipeline of graphics processing pipeline all segments in the stage.This makes assembly line rank
Section can with early stage rejection test by event produce possible rejecting machine can the identical rate of rate abandon segment.
It is " termination " by the fragment label that will identify that(In vain)The processing of the segment in processing stage later is set to stop
Only.In order to promote this point, make each segment that there is " termination " bit associated with it(For example, as its associated segments
According to a part)If be configured to the bit, it indicates that the segment is not required to be processed(And it can drop).Assembly line
Processing stage is configured to check for them and receives with the termination bit of each segment handled(And be therefore followed by subsequent processing or
The segment is not handled).
Alternative arrangement(Such as make the segment queue operated as buffer area with effective label in setting piece
Queue is discharged when the invalid tag of section(Buffer area)Row)It can be used as substituting, or in addition use as needed.
Early stage rejection test segment " termination " is broadcasted by event to the tool of each stage of its graphics processing pipeline
Have in its local domain(That is, in the stage of concern or the part of processing stage)All segments responsible corresponding generation
Reason.Each agency will be maintained at about the information of the segment in its local domain, and can be operated in response to its reception
Fragment label is to terminate by event by early stage rejection test segment " termination "(In vain), to avoid and/or stop to them
Unnecessary processing.Agency is configured to all segments in the local domain for concurrently testing them.
In response to broadcasting morning by early stage hierarchy depth and template test stage 4 and early stage depth and template test stage 13
Phase depth test " passes through " event segments and " slows down " signal(That is, instruction should determine the place of any segment in response to broadcast singal
Whether reason should slow down), as early stage rejection test " pass through " event as a result, receiving the processing assembly line of " slowing down " signal
Multi-stage broadcast determines whether the processing of any segment that they include currently answers followed by the location information in broadcast singal
This slows down.
By will currently occupy all segments of flow line stage(X, y)Position with by passing through early stage hierarchy depth and mould
The broadcast that board test stage 4 or early stage depth and template test stage 13 broadcast " slows down " signal designation(X, y)Position(That is,
With by early stage rejection test and trigger segment and/or sticking patch that segment " slows down " broadcast of signal(X, y)Position)Compared
Relatively execute the process(In this way, in fact, identification will be blocked by sticking patch or segment by early stage depth and template test
Currently any segment in this stage).
Be subject to also correspond to for postpone segment processing specific other standards, then slow down with and pass through morning
Phase rejection test and trigger segment " slow down " signal sticking patch or segment it is identical(X, y)The place of any current clip of position
Reason.Specifically, also checking for whether the potential segment by the assembly line being slowed should be continued based on any other reason
Handled, the reason for example, because its have such as with the associated side effect being still required of unsolved occlusion query.Such as
The segment being slowed is not had its subsidiary still effective occlusion query by fruit(And the side effect without other needs),
Then slow down its processing, but if it has its subsidiary effective occlusion query really(Or some other pairs being still required
Effect), then do not slow down its processing.This inspection is executed by the stage of the graphics processing pipeline of concern.
According to correspondence is executed by way of suitably guarding, this subtracts in early stage rejection test segment " slows down " " " event
The determination of the segment of its slow processing, to reduce the risk of incorrect or the irrelevantly segment in delay assembly line processing.
Test to each stage pipeline of graphics processing pipeline all segments in the stage.This makes assembly line rank
Section can be to produce the identical rate delay of the possible rate of " slowing down " chance with early stage rejection test by event(Subtract
Slowly)Segment.
Early stage rejection test segment " slowing down " is broadcasted by event to the tool of each stage of its graphics processing pipeline
Have in its local domain(That is, in the stage of concern or the part of processing stage)All segments responsible corresponding generation
Reason(It can be processing same agency of segment " termination " the early stage rejection test by event).Each agency will be about the segment
Information be maintained in its local domain, and can be operated in response to its reception early stage rejection test segment " slowing down " pass through
Fragment label is to go preferentially by event(Slow down)To slow down their processing.Agency is configured to concurrently test theirs
All segments in local domain.
The processing of " slowing down " segment is slower compared with normal, it should be noted that it is desirable that, the processing of segment is phase
Slow down or postpone for the speed that it is normally handled by assembly line, and un-segmented " being slowed down " at this time abandons(Stop forever
Only)To be not further processed by assembly line.
In the present embodiment, arrangement is so that the processing that the processing of " slowing down " segment slows to triggering segment slows down
Segment will be often beyond the degree of " slowing down " segment point in assembly line so as to triggering concern " slowing down " segment processing
The processing of the segment slowed down will often(It is likely to)Sub conditione is completed before the processing of " slowing down " segment in a pipeline is completed
Discarding test.Such as by description later, this then so that " triggering " segment can be used in(Potentially)It abandons(" termination ")
Slow down segment, is further processed by assembly line to prevent it.
In the present embodiment, the processing that the segment that will be slowed is processed to by following steps slows down:Pass through flowing water
Line goes their processing preferentially(That is, the priority by reducing their pipeline processes).This for " slowing down " segment by assigning
It gives for buffer area access and/or for the lower priority of other processing by assembly line(Relative to the segment not slowed down)
To realize.
It is " going preferential " by the fragment label that will identify that(For the processing priority with reduction)Segment " is gone excellent
First ".Related assembly line processing stage then checks whether segment is marked as " going excellent before carrying out any processing to segment
First ", and segment described in normal priority or the priority processing of reduction is therefore then used.
Each segment has " going preferential " bit associated with it(For example, one as its associated fragment data
Point)If the bit is set, it indicates that the processing of segment is gone preferentially.Processing stage then can check they receive with
" going preferential " bit of each segment handled.
The alternative arrangement of the processing for slowing down and postponing segment can be used as needed.For example, excellent with going
The segment queue of first label operated as buffer area is discharging queue provided with segment when removing preferential label(Buffer area)
Capable arrangement can be used as substituting or in addition use as needed.
Another suitable arrangement can be:Segment with instruction to be processed is arranged in segment pond, completion is worked as
When instruction, and when there is the cache hit for preparing for executing and instruction, suitable segment is then taken from segment pond
Go out and executes.It is used as and additionally examines by increases priority state when determining whether allow to take out segment from segment pond
Worry factor, segment then can be such that their processing priority reduces.
Similarly, segment can be such that their processing slows down by suspending them by the processing of assembly line(For example, and excellent
Selection of land, until " triggering " segment and/or sampled point complete the conditional discarding test of one or more).This stream can be achieved
The pause of segment processing in waterline, for example, being arranged in " pond of ossifing by any segment for being processed to be suspended
(zombie pool)”(Their processing suspends herein)In.
When as sticking patch by early stage hierarchy depth test 4 or segment triggered in advance by the result of early stage depth test 13
Segment " slows down " transmission of signal(Broadcast)Segment when undergoing its conditional discarding test, present embodiment is removed using attached
Condition discarding test discarding or continue with(Conventional)Segment is also used except the result of the sampled point of fragment association
By or the place of other segments earlier in graphics processing pipeline is not determined by the conditional result for abandoning test
Whether reason can stop or should be resumed.
Therefore, it is configured as shown in Figure 1, the conditional tinter assembly line 6 for abandoning test will be executed, is touched when in advance
The transmission that segment " slows down " signal is sent out(Broadcast)Segment when undergoing conditional discardings test, not only discarding segment or make
Segment advances to the next stage of its processing(Depending on test result), and will about conditional discarding test " passing through " or
The information of " not passing through " event was broadcasted to multiple stages of assembly line(As shown in the dotted line 20,21,22 and 23 in Fig. 1).
For the advance transmission for triggering segment and " slowing down " signal(Broadcast)All segments execute conditional discardings survey
The broadcast of " passing through " or " not passing through " event of examination.
In the present embodiment, tinter assembly line 6 determines conditional discarding test " passing through " or " not passing through " event
Whether should broadcast to assembly line and conditional test " passing through " or " not passing through " event that abandons and broadcast the shape that take
Formula.Broadcast further includes " timestamp " of primitive(To only primitive earlier(Potentially)By effect of signals).
When segment is tested by the final conditional discarding that it is experienced by(That is, being experienced by by it all attached
The discarding of condition is tested)When, conditional discarding test " passing through " event is broadcasted in triggering(It sends)It is described attached to assembly line
Discarding test " passing through " event of condition can trigger in graphics processing pipeline and triggering into graphics processing pipeline
By conditional discarding test " passing through " event broadcast(It sends)The processing of other segments before to the segment of assembly line stops.
Conditional discarding is not tested by the broadcast of " not passing through " event by the conditional segment triggering for abandoning test(Hair
It send)To assembly line, it is described it is conditional abandon test " not passing through " event can trigger graphics processing pipeline in and enter figure
Shape handles the broadcasting conditional discarding test " passing through " event in triggering of assembly line(It sends)To before the segment of assembly line
In advance slow down segment processing restore(It restores).
The test and more new logic that tinter flow line stage 6 includes combination, can be operated conditional to execute
Test is abandoned, and(If the satisfactory standard of segment,)Will by or do not pass through event and associated with it necessary believe
" broadcast " is ceased to the suitable stage of graphics pipeline.
In the present embodiment, when " qualified " segment(That is, meeting triggering " backward ", " stopping processing " or " restoring
(Restore)The segment of the standard of the transmission of processing " signal)When undergoing its conditional discarding test, tinter flow line stage 6
It will be by the segment covering of experience test(X, y)Broadcast 20,21 to fragment shading stage 6 and queue 12 in position(As needed, may be used
It also broadcasts to rasterizer 3 and early stage hierarchy depth and template test stage 4).Broadcast message further includes being about broadcast singal
It is no to be used to determine whether the processing of any segment stop(Whether any segment should be dropped)Or determine any segment
Whether processing should restore(It restores)Instruction(That is, broadcast singal is " segments end backward " signal or " segment backward
Restore " signal)With the timestamp of " new and old " of the segment of instruction concern.Such as by description later, graphics processing pipeline
These stages are then indicated using broadcast singal type and position and " new and old " information estimate that they are currently processed any
Whether whether the processing of segment can stop or should(Suitably)Restore.
In response to the conditional broadcast for abandoning test " passing through " event " segments end backward " signal(That is, instruction is rung
It should should determine whether the processing of any segment can stop in broadcast singal), " passing through " event is tested as conditional discarding
As a result, processing assembly line reception " terminations " signal broadcast stage determined followed by the location information in broadcast singal
It is to be processed whether any segment that they include currently no longer needs.By will currently occupy all of flow line stage(It is older
's)Segment(X, y)Position and broadcast " termination " signal designation by being broadcasted by tinter flow line stage 6(X, y)Position
It sets(That is, testing and triggering the segment for broadcasting segment " termination " signal backward by conditional abandon(X, y)Position)Into
Row relatively executes this processing(Actually will identify that so currently will be by final conditional by it in the stage
The segment of discarding test is blocked any(It is older)Segment).
It is subject to the specific other standards for making the processing of segment stop also corresponded to, and passes through its final sub conditione
Discarding test and trigger segment " termination " " backward " signal segment have it is identical(X, y)Position it is any(It is older)When
The processing of preceding segment stops immediately.Specifically, also checking in assembly line being potentially dropped(That is, will be blocked)Piece
Section whether continue to be handled based on any other reason, other reasons for example, because its have such as with it is unsolved
The associated side effect being still required of occlusion query.If the segment being blocked is looked into without its subsidiary still effectively blocking
It askes(And the side effect without other needs), then abandoned(It, which is handled, stops)When if it is subsidiary really with it
Effective occlusion query(Or some other side effects being still required), then do not abandoned(That is, continuing its processing).Pass through
The stage of the graphics processing pipeline of concern executes this inspection.
In conditional discarding test fragment " termination " " " event according to suitably guard by way of execute to not
The determination of segment to be treated again makes it no longer receive the risk of subsequent processing to reduce improperly discarding segment.
Test to each stage pipeline of graphics processing pipeline all segments in the stage.This makes assembly line rank
Section can with it is conditional abandon test by event produce possible rejecting machine can the identical rate discarding piece of rate
Section.
It is " termination " by the fragment label that will identify that(In vain)The processing of the segment in processing stage earlier is set to stop
Only.From the discussion above, therefore, make each segment that there is " termination " bit associated with it(For example, as its associated
A part for segment data)If be configured to the bit, it indicates that the segment is not required to be processed(And it can drop).
(Once again, alternative arrangement(Such as make the segment queue operated as buffer area with effective label
Queue is discharged when the invalid tag of segment is arranged(Buffer area)Row)It can be used as substituting, or in addition use as needed).)
Conditional discarding test " backward " segment " termination " is broadcasted by event to its graphics processing pipeline
Each stage have in its local domain(That is, in the stage of concern or the part of processing stage)All segments it is negative
The corresponding agency of duty.Preferably, the segment " termination " and " subtract which is sent with processing by depth test stage early stage
Slowly the agency of event broadcast is same agency ".Each agency will be maintained at about the information of the segment in its local domain, and can
Operated in response to the conditional discarding of its reception test " backward " segment " termination " by event by fragment label
To terminate(In vain), to avoid and/or stop the unnecessary processing to them.Agency is configured to concurrently test
All segments in their local domain.
This " segments end backward " signal operation allows segment(In advance triggering enter assembly line in the segment it
The processing " slowing down " of preceding other segments)It is subsequently used in " termination " by its all conditional result for abandoning test flowing
Any " segment slowed down " that the segment that is triggered in waterline is more than and blocks the segment that is actually triggered(Slow down at these
Segment is by assembly line by before thoroughly handling).Even if cannot determine new piece far and away enough in depth test stage early stage
Whether section will actually block segment in a pipeline, do so the segment later for also allowing access into assembly line for closing
In(Before them)Earlier into assembly line(In a pipeline before the segment later)Segment executes hidden
It eliminates in Tibetan face.
" not passing through " event " piece backward is tested in response to broadcasting conditional discarding by tinter flow line stage 6
Duan Huifu " signals(That is, instruction should determine whether the processing of any segment should restore in response to broadcast singal), as attached item
Part discarding test " not passing through " event as a result, processing assembly line reception " recoverys " signal broadcast stage then using extensively
Position in signal and " new and old " information are broadcast to determine whether the processing of any segment that they include currently should restore.Pass through
The all of flow line stage will currently be occupied and slow down segment in advance(X, y)Position and " newness degree " with by passing through tinter stream
Broadcast " recovery " signal designation that last pipeline stages 6 are broadcasted(X, y)Position and " newness degree "(That is, not lost by conditional
It abandons test and triggers the segment of broadcast segment " recovery " signal(X, y)Position and " newness degree ")It is compared to execute this
A processing(Actually will identify that so current currently known in this stage will not abandoned test by conditional
Segment is blocked any(It is older)Segment).
Each stage of graphics processing pipeline concurrently tests all segments in the stage again.This makes flowing water
The line stage can be not produce the identical speed of the possible rate of " recovery " chance with conditional discarding test by event
Rate is restored(Slow down)Segment.
In the present embodiment, pass through(Relative to its " slowing down ", remove priority status)Increase its processing priority to restore
Segment.Segment is restored initial to them(Normally)Processing priority and speed.By no longer by " recovery " fragment label be " go
Preferentially " realize this point.Therefore, when segment " will be restored ", update(Change)(It goes to be arranged)With the fragment association
Suitably " remove preferential " bit.
" segment backward is restored " is tested in conditional discarding not broadcast to its graphics processing pipeline by event
Each stage have in its local domain(That is, in the stage of concern or the part of processing stage)All segments it is negative
The corresponding agency of duty(Once again, the agency that the agency can pass through event etc. with processing segment " termination " is same agency).Respectively
A agency will be maintained at about the information of the segment in its local domain, and can be operated with the sub conditione in response to its reception
Discarding test fragment " recovery " by event by fragment label be do not go no longer it is preferential(No longer slow down), to restore(It restores)
Their processing.Agency is configured to all segments in the local domain for concurrently testing them.
(When other arrangements are used to slow down the processing of segment, segment should be restored according to suitable mode.For example,
Using with the segment queue operated as buffer area the discharging when removing preferential label in setting segment for removing preferential label
Queue(Buffer area)In the case of row, when segment will be restored, preferential label can be suitably updated.Similarly, in segment
In the case of so that their processing is slowed down by the processing of assembly line by suspending them, segment and/or sampled point can be by " stopping
Only suspend " their processing(For example, by by them from " rigid pond "(Their processing suspends herein)It removes and makes them
Back to assembly line to be handled according to normal mode)And restore.)
This " segment backward is restored " signal operation allows segment(In advance triggering enter assembly line in the segment it
The processing " slowing down " of preceding other segments)It is not subsequently used in by its conditional one result abandoned in test " extensive
It is multiple "(It restores)Any " piece slowed down that the segment that is triggered in a pipeline is more than and blocks the segment that is not triggered actually
Section ", to which the segment slowed down is then processed normally again.
In the present embodiment, if except the segment that the processing for triggering them slows down is not surveyed by conditional discarding then
Examination then restores(It restores)Except any " slowing down " segment under normal priority to be handled, the behaviour as present embodiment
Make as a result, if being abandoned by " forward segments end " signal(" termination ")The segment that their processing slows down is triggered, then is lost
It abandons(" termination ")" slowing down " segment.In this case, " termination " " is just slowing down " " forward segments end " letter of segment
Number being also used in same operation " termination " " has slowed down " segment.
From above it should be understood that in the present embodiment, if a segment can trigger by early stage depth test and sending
The signal that the processing of one or more segments in a pipeline slows down is then then surveyed when it undergoes its conditional discarding
When examination, is sent when it is tested by its all conditional discarding and can trigger stopping processing(It abandons)Its processing slows down in advance
One or more segments signal, or its not by its it is conditional abandon test in one when send triggering restore
It handles the signal of the processing of the one or more segments slowed down in advance.
Similarly, pass through in early days with depth template test as a result, what its processing had slowed down in advance as segment later
The processing of segment then can stop or restore(It restores), this is dependent firstly on the sub conditione for the segment for triggering the processing for slowing down segment
Discarding test result.
As shown in Figure 1, in the present embodiment, graphics processing pipeline includes the queue 12 that segment has to pass through, cloth
It sets before the fragment shader 6 of graphics processing pipeline.Queue 12 is configured to keep the one of complete tile-sized
Group segment, but other arrangements are certainly possible.
Queue 12 has increase can be after rejection test stage early stage(That is, in hierarchy depth and template test device 4 and early
After phase depth and template test device 13)Assembly line in number of fragments effect, to increase can be in the embodiment
Mode by the segment operated quantity.It can be significantly increased after only final visible segment reaches queue 12 using queue 12
The fragment shading stage 6(And it is handled by the fragment shading stage 6)Possibility.This is favourable, because fragment shading is usually to every
It is relatively expensive processing for segment, and to enter fragment shader better for therefore fewer segment.
Into the segment dequeue in that same order of enqueue 12, still " terminates " segment and triggered in dequeue
The releasing of resource.
From the above it can be seen that at least in a preferred embodiment of the invention, the present invention provides for further subtracting
The hidden surface that can occur in assembly line graphic system less(Final redundancy)The mechanism for the treatment of capacity.In addition, of the invention
Arrangement be:When the rendering order for classical rendering pipeline is best, will not interfere with(To with best
Minimal-overhead is obtained on the existing rendering pipeline arrangement of rendering order), but when rendering order and non-optimal, will rise
Effect, and in this case, at least in a preferred embodiment of the invention, segment from back to front and hidden can be eliminated
Tibetan face, to reach with often sampling in terms of hidden surface elimination or handle equally effective degree per segment pre-rendered sequence.It is wanting
In the case that the content of rendering prevents sort algorithm from easily detecting best sortord(For example, primitive intersects or has
Overlapping depth bounds), the present invention can also than sequence be more effectively carried out this operation.
The anti-aliased processing that the technology of the present invention is also independent of used multi-point sampling is horizontal, so that higher level
Multi-point sampling anti-aliased processing use it is obviously less expensive.
Using early stage rejection test by the result of event come determine any segment in a pipeline processing whether
The processing for being particularly advantageous to then stop the relatively early segment for entering assembly line should be slowed down, but cannot be in early stage rejection test rank
Section determines that segment later will generate it and blocks far and away, this is because segment for example later passes through graphics process stream at it
It will be tested by one or more conditional discardings in the processing procedure of waterline.In this way, therefore early with wherein exclusive use
Phase rejection test abandons immediately(" termination ")Can determine the arrangement for any segment blocked by segment later in assembly line
Mode is compared so that the processing of more multiple clips can stop before the end that they reach assembly line.
Herein it should be noted that present embodiment(And the present invention)This segment slow down and subsequent " termination " behaviour
Make and not simply locally sort again to segment in several cycles of current clip, but will have makes segment completely disengage order
The effect of sequence(Actually by the processing of the relatively early segment for entering assembly line of delay), and in addition, the operation can't be held
It is continuous necessarily to handle all segments, but operated to abandon and not handle any segment for finding no longer to need.
Claims (17)
1. a kind of method of operation graphics processing pipeline, the graphics processing pipeline includes multiple processing stages, multiple
Processing stage includes:Rasterizer, by input primitive rasterizing to generate graphics fragment to be processed, each graphics fragment tool
Have and the associated one or more sampled points of the graphics fragment;And renderer, to the piece generated by the rasterizer
Duan Jinhang processing the described method comprises the following steps with generating output fragment data:
The renderer is sent to before being handled, to be closed for the segment in the segment generated by the rasterizer
At least one sampled point of connection executes early stage rejection test;And
If at least one sampled point by the early stage rejection test, sends forward the segment to be handled,
And it is determined in the graphics processing pipeline by the early stage rejection test in response at least one sampled point
Whether the processing of another sampled point should slow down.
2. according to the method described in claim 1, wherein, to the place of another sampled point in the graphics processing pipeline
Whether whether the sampled point that the determination that should slow down is based upon the early stage rejection test also has one or more spies to reason
Determine attribute.
3. according to the method described in claim 2, wherein, the particular community includes that the sampled point is adopted by as to described
One or more conditional discarding tests of a part for the processing of sampling point.
4. method according to claim 1,2 or 3, this approach includes the following steps:
Slow down the place of another sampled point in assembly line by going preferentially the processing of the sampled point in assembly line
Reason.
5. according to the method described in claim 1, wherein, being rejected and being surveyed by the early stage in response at least one sampled point
It tries to determine that the step of whether processing of another sampled point in the graphics processing pipeline can slow down includes the following steps:
The sampled point of flow line stage and/or the position of segment will currently be occupied and by least one described in the early stage rejection test
The position of a sampled point is compared.
6. according to the method described in claim 1, wherein, being rejected and being surveyed by the early stage in response at least one sampled point
It tries to determine that the step of whether processing of another sampled point in the graphics processing pipeline can slow down further includes following step
Suddenly:Before the processing for slowing down another sampled point, other attributes of another sampled point are checked, it is described another with determination
Whether sampled point should still be handled with normal priority.
7. according to the method described in claim 1, this method is further comprising the steps of:
One or more sub conditiones are executed for at least one sampled point of the fragment association generated by the rasterizer
Discarding test, trigger another sampling in the graphics processing pipeline in advance by the segment that the rasterizer generates
Point processing whether the determination that should slow down;And
If at least one sampled point is tested by all conditional discardings that at least one sampled point to be subjected to,
And as at least one sampled point by the early stage rejection test as a result, determining in the graphics processing pipeline
The processing of another sampled point should slow down, then pass through as at least one sampled point and all conditional abandon test
As a result, determining whether the processing of another sampled point can stop;
Or
If at least one sampled point is not tested by least one sampled point conditional discarding to be subjected to, and
And as at least one sampled point by the early stage rejection test as a result, determining in the graphics processing pipeline
The processing of another sampled point should slow down, then do not pass through the conditional discarding test as at least one sampled point
As a result, determining whether the processing of another sampled point should restore.
8. a kind of method of operation graphics processing pipeline, the graphics processing pipeline includes multiple processing stages, multiple
Processing stage includes:Rasterizer, by input primitive rasterizing to generate graphics fragment to be processed, each graphics fragment tool
Have and the associated one or more sampled points of the graphics fragment;And renderer, to the piece generated by the rasterizer
Duan Jinhang processing the described method comprises the following steps with generating output fragment data:
It is tested for conditional discarding is executed at least one sampled point of the fragment association generated by the rasterizer;
If at least one sampled point is tested by the conditional discarding, described is sent forward in a pipeline
It section and will be broadcasted to the figure with by the conditional related information of at least one sampled point of test that abandons
Shape handles at least one of the assembly line stage, and
As at least one sampled point by the conditional discarding test as a result, in the graphics processing pipeline
At least one stage determined by using the information of broadcast in the graphics processing pipeline with currently described
Whether any segment of the fragment association in the stage or the processing of sampled point can stop.
9. a kind of graphics processing pipeline, the graphics processing pipeline include:
Multiple processing stages, multiple processing stage include:Rasterizer, input primitive rasterizing is to be processed to generate
Graphics fragment, each graphics fragment have and the associated one or more sampled points of the graphics fragment;Renderer, to by institute
The segment for stating rasterizer generation is handled to generate output fragment data;And rejection test stage early stage, by described
The segment that rasterizer generates is sent to the renderer so that before being handled, which is directed to and institute
The sampled point for stating fragment association executes early stage rejection test;Wherein, the graphics processing pipeline is configured as:
In response at least one sampled point with the fragment association generated by the rasterizer by the early stage rejection test,
The segment is sent forward to be handled, and determines that the processing of another sampled point in the graphics processing pipeline is
It is no to slow down.
10. graphics processing pipeline according to claim 9, wherein to another in the graphics processing pipeline
Whether whether also the determination that should slow down is based upon the sampled point of the early stage rejection test for the processing of one sampled point
With one or more particular communities.
11. graphics processing pipeline according to claim 10, wherein the particular community include the sampled point by
One or more conditional discarding tests of a part as the processing to the sampled point.
12. according to the graphics processing pipeline described in claim 9,10 or 11, wherein the place of another sampled point in assembly line
Slowing down for reason includes the following steps:The processing of the sampled point in assembly line is gone preferentially.
13. graphics processing pipeline according to claim 9, wherein the graphics processing pipeline is configured as:Pass through
The sampled point of flow line stage and/or the position of segment will currently be occupied and by least one described in the early stage rejection test
The position of a sampled point is compared, and in response at least one sampled point by the early stage rejection test, determines institute
Whether state the processing of another sampled point in graphics processing pipeline can slow down.
14. graphics processing pipeline according to claim 9, wherein the graphics processing pipeline is configured as:Subtracting
Before the processing of slow another sampled point, other attributes of another sampled point are checked, with determination another sampled point
Whether should still be handled with normal priority.
15. graphics processing pipeline according to claim 9, wherein the graphics processing pipeline is additionally configured to:
One or more sub conditiones are executed for at least one sampled point of the fragment association generated by the rasterizer
Discarding test, trigger another sampling in the graphics processing pipeline in advance by the segment that the rasterizer generates
Point processing whether the determination that should slow down;And
If at least one sampled point is tested by all conditional discardings that at least one sampled point to be subjected to,
And as at least one sampled point by the early stage rejection test as a result, determining in the graphics processing pipeline
The processing of another sampled point should slow down, then pass through as at least one sampled point and all conditional abandon test
As a result, determining whether the processing of another sampled point can stop;
Or
If at least one sampled point is not tested by least one sampled point conditional discarding to be subjected to, and
And as at least one sampled point by the early stage rejection test as a result, determining in the graphics processing pipeline
The processing of another sampled point should slow down, then do not pass through the conditional discarding test as at least one sampled point
As a result, determining whether the processing of another sampled point should restore.
16. a kind of graphics processing pipeline, the graphics processing pipeline include:
Multiple processing stages, multiple processing stage include:Rasterizer, input primitive rasterizing is to be processed to generate
Graphics fragment, each graphics fragment have and the associated one or more sampled points of the graphics fragment;And renderer, it is right
The segment generated by the rasterizer is handled to generate output fragment data, and wherein,
It is able to carry out and is tested for the conditional discarding with the sampled point of the fragment association generated by the rasterizer;And
Wherein, the graphics processing pipeline is configured as:
It is tested by conditional discarding in response at least one sampled point with the fragment association generated by the rasterizer,
Send the segment forward in a pipeline, and by with pass through the conditional at least one sampling for abandoning test
The related information of point was broadcasted at least one of the graphics processing pipeline stage;And
As at least one sampled point by the conditional discarding test as a result, being determined using the information of broadcast
In the graphics processing pipeline is with any segment of the fragment association currently in the stage or the processing of sampled point
It is no to stop.
17. a kind of computer program medium, record has computer program in the computer program medium, the computer program packet
Computer software is included, when the computer program is run on data processing equipment, the software performing is according to right
It is required that the method described in any one of 1 to 8.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/716,952 | 2012-12-17 | ||
US13/716,952 US9153070B2 (en) | 2012-12-17 | 2012-12-17 | Hidden surface removal in graphics processing systems |
US13/909,561 US9214006B2 (en) | 2013-06-04 | 2013-06-04 | Hidden surface removal in graphics processing systems |
US13/909,561 | 2013-06-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103871020A CN103871020A (en) | 2014-06-18 |
CN103871020B true CN103871020B (en) | 2018-10-16 |
Family
ID=50031027
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310693216.6A Active CN103871095B (en) | 2012-12-17 | 2013-12-17 | Hidden surface in graphic system is eliminated |
CN201310692576.4A Active CN103871020B (en) | 2012-12-17 | 2013-12-17 | Hidden surface in graphic system is eliminated |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310693216.6A Active CN103871095B (en) | 2012-12-17 | 2013-12-17 | Hidden surface in graphic system is eliminated |
Country Status (3)
Country | Link |
---|---|
KR (2) | KR102057163B1 (en) |
CN (2) | CN103871095B (en) |
GB (2) | GB2511177B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292898B2 (en) * | 2013-03-15 | 2016-03-22 | Intel Corporation | Conditional end of thread mechanism |
US9846959B2 (en) * | 2014-07-03 | 2017-12-19 | Mediatek Inc. | Apparatus and method for controlling early depth processing and post depth processing |
GB2540227B (en) * | 2015-12-21 | 2018-01-17 | Imagination Tech Ltd | Allocation of tiles to processing engines in a graphics processing system |
US10417815B2 (en) * | 2017-01-27 | 2019-09-17 | Advanced Micro Devices, Inc. | Out of order pixel shader exports |
GB2571979B8 (en) * | 2018-03-15 | 2023-07-12 | Advanced Risc Mach Ltd | Graphics processing |
CN112116519B (en) * | 2019-06-19 | 2022-12-27 | 畅想科技有限公司 | Coarse depth testing in graphics processing systems |
KR200491938Y1 (en) | 2020-05-06 | 2020-07-03 | 조현근 | Function multi scarf |
GB2608094A (en) * | 2021-01-27 | 2022-12-28 | Advanced Risc Mach Ltd | Graphics processing |
CN116894906A (en) * | 2023-09-11 | 2023-10-17 | 瀚博半导体(上海)有限公司 | Graphics rendering method and processor hardware architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6646639B1 (en) * | 1998-07-22 | 2003-11-11 | Nvidia Corporation | Modified method and apparatus for improved occlusion culling in graphics systems |
CN1512454A (en) * | 2002-12-24 | 2004-07-14 | ض� | Z-buffer technology for figure heightening |
CN101563712A (en) * | 2006-12-22 | 2009-10-21 | 高通股份有限公司 | Quick pixel rendering processing |
CN102822870A (en) * | 2010-03-19 | 2012-12-12 | 想象技术有限公司 | Processing of 3D computer graphics data on multiple shading engines |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000011602A2 (en) * | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | Method and apparatus for generating texture |
US8711155B2 (en) | 2004-05-14 | 2014-04-29 | Nvidia Corporation | Early kill removal graphics processing system and method |
US8072451B2 (en) * | 2004-12-29 | 2011-12-06 | Intel Corporation | Efficient Z testing |
JP4116648B2 (en) | 2006-05-22 | 2008-07-09 | 株式会社ソニー・コンピュータエンタテインメント | Occlusion culling method and drawing processing apparatus |
GB0801812D0 (en) * | 2008-01-31 | 2008-03-05 | Arm Noway As | Methods of and apparatus for processing computer graphics |
GB201116438D0 (en) * | 2011-09-22 | 2011-11-02 | Advanced Risc Mach Ltd | Occlusion queries in graphics processing |
-
2013
- 2013-12-17 CN CN201310693216.6A patent/CN103871095B/en active Active
- 2013-12-17 GB GB1322284.9A patent/GB2511177B/en active Active
- 2013-12-17 CN CN201310692576.4A patent/CN103871020B/en active Active
- 2013-12-17 KR KR1020130157252A patent/KR102057163B1/en active IP Right Grant
- 2013-12-17 GB GB1322278.1A patent/GB2511176B/en active Active
- 2013-12-17 KR KR1020130157253A patent/KR102057166B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6646639B1 (en) * | 1998-07-22 | 2003-11-11 | Nvidia Corporation | Modified method and apparatus for improved occlusion culling in graphics systems |
CN1512454A (en) * | 2002-12-24 | 2004-07-14 | ض� | Z-buffer technology for figure heightening |
CN101563712A (en) * | 2006-12-22 | 2009-10-21 | 高通股份有限公司 | Quick pixel rendering processing |
CN102822870A (en) * | 2010-03-19 | 2012-12-12 | 想象技术有限公司 | Processing of 3D computer graphics data on multiple shading engines |
Also Published As
Publication number | Publication date |
---|---|
GB2511176B (en) | 2015-04-15 |
KR20140078569A (en) | 2014-06-25 |
KR20140078568A (en) | 2014-06-25 |
GB2511177A (en) | 2014-08-27 |
GB2511176A (en) | 2014-08-27 |
GB201322284D0 (en) | 2014-01-29 |
GB2511177B (en) | 2015-04-15 |
KR102057163B1 (en) | 2019-12-18 |
KR102057166B1 (en) | 2019-12-18 |
CN103871095A (en) | 2014-06-18 |
CN103871020A (en) | 2014-06-18 |
GB201322278D0 (en) | 2014-01-29 |
CN103871095B (en) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103871020B (en) | Hidden surface in graphic system is eliminated | |
US9779536B2 (en) | Graphics processing | |
US11069024B2 (en) | Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers | |
US9552665B2 (en) | Hidden surface removal in graphics processing systems | |
CN104885123B (en) | The geometric figure processing method and graphics-rendering system rendered for figure | |
EP1738330B1 (en) | Scalable shader architecture | |
US11164365B2 (en) | Primitive processing in a graphics processing system | |
CN107038742A (en) | Multichannel in screen space pipeline is rendered | |
CN110036414A (en) | Overlapping fragments are removed or identified after Z- rejecting | |
US10769838B2 (en) | Hierarchical graphics processing for primitives | |
CN107438865A (en) | Graphic system | |
CN110276711A (en) | Graphics process | |
US11972503B2 (en) | Graphics processing | |
US20220358616A1 (en) | Graphics processing | |
GB2607002A (en) | Fragment dependency management for variable rate shading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |