CN101114381B - Frame buffer merging - Google Patents

Frame buffer merging Download PDF

Info

Publication number
CN101114381B
CN101114381B CN200710103747XA CN200710103747A CN101114381B CN 101114381 B CN101114381 B CN 101114381B CN 200710103747X A CN200710103747X A CN 200710103747XA CN 200710103747 A CN200710103747 A CN 200710103747A CN 101114381 B CN101114381 B CN 101114381B
Authority
CN
China
Prior art keywords
pixel
memory location
polygon
frame buffer
buffer zone
Prior art date
Application number
CN200710103747XA
Other languages
Chinese (zh)
Other versions
CN101114381A (en
Inventor
乔纳·M·阿尔本
约翰·M·丹斯金
亨利·P·莫尔顿
Original Assignee
辉达公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US80274606P priority Critical
Priority to US60/802,746 priority
Application filed by 辉达公司 filed Critical 辉达公司
Publication of CN101114381A publication Critical patent/CN101114381A/en
Application granted granted Critical
Publication of CN101114381B publication Critical patent/CN101114381B/en

Links

Abstract

A method for delayed frame buffer merging. The method includes accessing a polygon that relates to a group of pixels stored at a memory location, wherein each of the pixels has an existing color. A determination is made as to which of the pixels are covered by the polygon, wherein each pixel includes a plurality of samples. A coverage mask is generated corresponding the samples that are covered by the polygon. The group of pixels is updated by storing the coverage mask and a color of the polygon in the memory location. At a subsequent time, the group of pixels is merged into a frame buffer.

Description

Frame buffer zone merges
Technical field
The present invention relates generally to graphics computer system.The present invention discloses the delayed frame buffer zone that has compression at least and merges.
Background technology
Generally speaking, be fit to handle 3D rendering data computing machine system and except traditional C PU (CPU), also comprise specialized graphics processor unit (or GPU).GPU comprises the specialised hardware of the object that produces through the computing machine that is configured to handle 3D.GPU operates one group of data model and formation " pel " thereof (triangular polygon of normally describing with arithmetic form) through being configured to, and said " pel " defines shape, position and the attribute of object.The said object of the hardware handles of GPU is implemented in and produces the required calculating of 3D rendering true to nature on the display of computer system.
Typical graphics is played up the performance that processing performance depends on the bottom hardware of system to a great extent.The high-performance real-time graph is played up and is required storage 3D object data to have the wide and low latency of high data carousel with the storer that constitutes pel.Therefore, people have dropped into data access stand-by period that mass development work increases transmission bandwidth and reduces storer.
Therefore, more expensive prior art GPU subsystem (for example, being equipped with the graphics card of GPU etc.) generally includes special, expensive, this machine of high bandwidth graphic memory of big (for example, 128MB or bigger), is used for required feeds of data to GPU.This kind GPU generally includes on the bigger chip cache memory and has the registers group of low-down data access stand-by period.This type of this machine graphic memory that more cheap prior art GPU subsystem comprises is less (64MB or still less), and some the most cheap GPU subsystem do not have this machine graphic memory, comes graphics to play up data but depend on system storage.
The problem of each among the prior art GPU of the above-mentioned type is, the wide data carousel well below inner cache memory of GPU and register of the data carousel of system storage (or this machine graphic memory) is wide.For instance, GPU needs reading order stream and scene explanation, and each pixel of definite frame buffer zone receives the effect that each comprises the graph primitive of scene.This process possibly cause repeatedly reading and writing the frame buffer memory of storage pixel data.Though cache memory and register provide low-down access waiting time on the chip, a large amount of pixels in the given scenario (for example, 1280x1024,1600x1200 etc.) make inevitable to a large amount of accesses of frame buffer zone.
Therefore, overall figure render process is caused the mis-behave that brings out than the big stand-by period.For the GPU of its frame buffer zone of storage in system storage, mis-behave is serious far.The render process that need read and write a plurality of samples for each pixel (for example, anti-aliasing etc.) receives the influence of this type of mis-behave that is brought out by the stand-by period especially easily.
Therefore, need a kind of communication path that can reduce to this machine graphic memory and/or to the data transmission circumscribed solution that the stand-by period caused of the communication path of system storage.The present invention provides novel solution for above demand.
Summary of the invention
In one embodiment, the present invention is embodied as and is used for the method by GPU enforcement that delayed frame buffer zone merges.Said method comprises access and the relevant polygon of group's pixel (for example, one or more splice sheet) that is stored in the memory location place, and wherein each pixel has existing color.Confirm which pixel polygon has covered, and wherein each pixel comprises a plurality of samples.Generation is corresponding to the covering shade of the sample that is covered by polygon.Through being stored in, polygonal covering shade and color upgrade said group pixel in the memory location.Sometime afterwards, said group pixel is merged in the frame buffer zone.
In one embodiment, a plurality of polygons are updated in the pixel group a plurality of follow-up polygons (for example, partly covering the follow-up polygon of pixel) that the GPU access is relevant with pixel group whereby.For in the follow-up polygon each,, each follow-up polygonal indivedual covering shade and individual colors upgrade said group pixel in the memory location through being stored in.
In one embodiment, use label value to follow the tracks of the state of the memory location of storage group pixel, wherein upgrade label value according to follow-up polygon.In addition, can use label value to confirm when the memory location of the said group of storage pixel is full of, and when indication should merge to said group pixel in the frame buffer zone whereby.
In this way; Delayed frame buffer zone merging process of the present invention can be with (for example being accumulated to low latency time memorizer from the polygonal renewal that arrives; Register, cache memory) in pixel group in, therefore rather than must read and write and cause high latency performance to worsen to frame buffer zone.Therefore, delayed frame buffer zone merging process can improve the bottleneck that the higher data access waiting time of this machine graphic memory and system storage is caused.
Description of drawings
In each figure of accompanying drawing, the present invention is described, and in each figure of accompanying drawing, same reference numbers refers to treat similar components with the mode of way of illustration but not limitation.
Fig. 1 shows computer system according to an embodiment of the invention.
Fig. 2 shows the process flow diagram of the step of process according to an embodiment of the invention.
Fig. 3 shows the explanation that definite according to an embodiment of the invention polygon covers which pixel in the group.
Fig. 4 shows the figure of the gained sample describe according to an embodiment of the invention the coverage of polygon on group's pixel estimated.
Fig. 5 shows that being directed against group's pixel according to an embodiment of the invention is stored in the covering shade in the memory location.
Fig. 6 shows the follow-up polygon that covers said group pixel according to an embodiment of the invention.
Fig. 7 shows according to an embodiment of the invention by the sample of polygon covered pixels, wherein has a pixel not to be capped fully.
Fig. 8 shows that the polygonal gained in the quadrant that is stored in memory location according to an embodiment of the invention covers shade and color.
Fig. 9 shows the follow-up polygon that covers said group pixel according to an embodiment of the invention.
Figure 10 shows according to an embodiment of the invention by the sample of polygon covered pixels, wherein has a pixel not to be capped fully.
Figure 11 shows that the polygonal gained in the right lower quadrant that is stored in memory location according to an embodiment of the invention covers shade and color.
Figure 12 shows the follow-up polygon that covers pixel group according to an embodiment of the invention.
Figure 13 shows memory location according to an embodiment of the invention, and wherein first color is in the left upper quadrant of memory location.
Figure 14 shows the pixel group by delayed frame buffer zone merging process operation of the alternate embodiment according to the present invention.
Figure 15 is illustrated in the memory location according to storage colouring information under the scheme of the present invention.
Label value under the alternative plan of Figure 16 displaying alternate embodiment according to the present invention.
Figure 17 is illustrated in second explanation of the memory location of storage colouring information under the alternate embodiment of the present invention.
Figure 18 shows according to an embodiment of the invention two samples and by its corresponding color separately that covers shade indication.
Figure 19 shows according to two additional samples of the embodiment of the invention and the color separately of being indicated by its corresponding covering shade thereof.
Figure 20 shows the continuous state as the pixel group of colouring information synthetic according to one embodiment of the invention.
Figure 21 shows the figure of the relative mistake of data access between the stand-by period of illustrative system storer, this machine graphic memory and cache memory and register according to an embodiment of the invention.
Embodiment
Now will be in detail with reference to the preferred embodiments of the present invention, the instance of said embodiment is explained in the accompanying drawings.Although will describe the present invention in conjunction with the preferred embodiments, should be appreciated that and do not hope that it makes the present invention be limited to these embodiment.On the contrary, hope that the present invention contains replacement scheme, modification and the equivalent that is included in the spirit and scope of the present invention that defined by the claims of enclosing.In addition, in the detailed description of the following embodiment of the invention, state that many specific detail are so that provide thorough understanding of the present invention.Yet one of ordinary skill in the art will recognize not have putting into practice the present invention under the situation of these specific detail.In other cases, do not describe well-known method, program, assembly and circuit in detail, so that can obscure the each side of the embodiment of the invention necessarily.
Symbol and term
About to program, step, logical block, processing and other symbolic notation of the operation of data bit in the computer memory and propose some part of detailed description subsequently.These are described and representation is that the technician of technical field of data processing is used for the flesh and blood of its work is conveyed to most effectively others skilled in the art's mode.The step of (and usually) imagination program, computing machine execution, logical block, process etc. are for causing the self-consistent step or the instruction sequence of expected result herein.Said step is to carry out the step that entity is controlled to physical quantity.Usually (but unnecessary), this tittle adopts the form of electrical or magnetic signal, and said signal can be stored in computer system, transmits, makes up, relatively and with other mode control.Main from general reason, the fact proves that sometimes it is easily that these signals are called position, value, element, symbol, character, term, numeral etc.
Yet it will be appreciated that all these terms and similar terms will be associated with suitable physical quantity, and be merely the mark that makes things convenient for that is applied to this tittle.Only if according to following discussion obviously with other mode concrete regulation; Otherwise should be appreciated that in the present invention in full; Use the discussion of for example " processing " or " access " or " compression " or " storage " or terms such as " playing up " to refer to that all computer system (for example; The computer system 100 of Fig. 1) or the action and the process of similar computing electronics, its data manipulation that will be expressed as physics (electronics) amount in the RS of computer system with change other data that are expressed as the physical quantity in computer system memory or register or other this type of information storage, transmission or the display device similarly into.
Computer system platform:
Fig. 1 shows computer system 100 according to an embodiment of the invention.Computer system 100 is described the assembly of basic computer system, and said computer system is provided for certain based on hardware with based on functional execution platform of software.In general, computer system 100 comprises at least one CPU101, system storage 115 and at least one GPU (GPU) 110.CPU101 can be coupled to system storage 115 via bridge assembly 105, perhaps can be directly coupled to system storage 115 via the inner Memory Controller (not shown) of CPU101.Bridge assembly 105 (for example, north bridge) can support to connect the expansion bus (for example, expansion bus 106) of various I/O devices (for example, one or more hard disk drives, Ethernet Adaptation Unit, CD ROM, DVD etc.).GPU110 is coupled to display 112.Can be coupled to system 100 by optionally that one or more are extra GPU, with its computing power of further increase.GPU110 is coupled to CPU101 and system storage 115 via bridge assembly 105.System 100 can be configured as (for example) desktop computer systems or server computer system, and it has the strong universal cpu 101 that the dedicated graphics of being coupled to is played up GPU110.In this embodiment, can comprise the assembly that adds peripheral bus, special this machine graphic memory, IO device and analog.Similarly; System 100 (for example can be configured as hand-held device; Mobile phone etc.) or put top view game control table apparatus frequently, Xbox that for example can Microsoft Corporation of Redmond buys from Washington and PlayStation3 that can Sony Computer Entertainment Corporation buys from the Tokyo.
Should be appreciated that; GPU110 can be configured as discrete component, via connector (for example be designed to; AGP slot, PCI-Express slot etc.) (for example be coupled to the discrete graphics card of computer system 100, discrete integrated circuit die; Be directly installed on the motherboard), or be configured as the integrated GPU that (for example, is integrated in the bridging chip 105) in the integrated circuit die that is included in the computer system chipset assembly.In addition,, can optionally comprise this machine graphic memory 116, so that the storage of high bandwidth graph data to be provided for GPU110.
Embodiments of the invention:
Embodiments of the invention are implemented a kind of method that delayed frame buffer zone merges that is used for.In one embodiment, GPU utilizes the subdivision of label value and frame buffer zone splicing sheet (frame buffer tile) to store and covers shade (coveragemask).Cover the level of coverage (number of the sample that for example, be capped) of shade corresponding to the splicing sheet.The pixel that comprises frame buffer zone splicing sheet can be through storing with compressive state in the memory location that polygonal color and said polygonal covering shade is stored into the said splicing sheet of storage.In addition, be stored in said memory location, can extra polygon be rendered in the splicing sheet through being used for new polygonal follow-up covering shade and being used for said new polygonal color.
This makes and can under the situation that needn't carry out access to frame buffer zone and write, new polygon be rendered in the splicing sheet.For instance, can before the splicing sheet is full of, use delayed frame buffer zone merging process polygon to be rendered in the splicing sheet, when the splicing sheet is full of, can the splicing sheet be merged in the frame buffer zone.In this way; Delayed frame buffer zone merging process of the present invention can make be accumulated to GPU110 from the polygonal renewal that arrives low latency time memorizer (for example; Register, cache memory) limited size in the splicing sheet in; Therefore and nonessential frame buffer zone (for example, being stored in this machine graphic memory 116 or the system storage 115) is read and writes and causes that high latency performance worsens.Hereinafter is described delayed frame buffer zone merging process in more detail in Fig. 2.
Fig. 2 shows the process flow diagram of the step of process 200 according to an embodiment of the invention.Describe like Fig. 2, process 200 is described according to an embodiment of the invention (the operation steps that comprises in the delayed frame buffer zone merging process of for example, GPU110) implementing by the GPU of computer system (for example, computer system 100).
The step of process 200 embodiment of Fig. 2 is described under the situation of the illustrative computer system 100 of Fig. 1 and Fig. 3-13 and with reference to it.
Process 200 starts from step 201, wherein GPU110 access and the relevant polygon of group's pixel that is stored in a memory location.During render process, GPU110 receives the pel (being generally the triangle polygon) of the shape, position and the attribute that define the object that comprises the 3-D scene.The hardware handles pel of GPU also is implemented in the generation required calculating of 3D rendering true to nature on the display 112.At least one part of this process relates to polygon raster display and anti-aliasing in the pixel of frame buffer zone, and GPU110 confirms that each pixel of frame buffer zone is comprised each graph primitive effect of scene whereby.In one embodiment, GPU110 handles the pixel as group, and said group often is called as the splicing sheet.These groups or splicing sheet usually each splicing sheet comprise four pixels (for example, but also can implement to have 8,12,16 or the splicing sheet of more pixels).In one embodiment, GPU110 is through being configured to handle two contiguous concatenation sheets (for example, comprising eight pixels).
In step 202, process 200 confirms which pixel is covered by polygon in the group.Explain among Fig. 3 this is confirmed by what polygon covered that about which pixel Fig. 3 shows the figure that is just standing the polygon 301 of rasterisation to the group that comprises eight pixels.Fig. 3 shows two the splicing sheets side by side that respectively have four pixels.Each pixel further is divided into four subpixels, and wherein each sub-pixel has a sampled point, and it is depicted as " x " in Fig. 3, thereby obtains anti-aliasing middle 16 sampled points that use of (for example) 4x.Fig. 4 shows the sample of gained, whereby, and by the sampled point deepening of polygon covering, and the not deepening of sampled point that does not cover by polygon.As shown in Figure 4, pixel is labeled as A, B, C, D, E, F, G and H.Note that pixel H is not capped fully.
In step 203, produce covering shade corresponding to the sample that covers by polygon 301.In one embodiment, cover shade and can be embodied as a shade, wherein each sample of group respectively has one.Whether therefore, 16 samples of group can be represented in 16 positions, wherein be capped according to said sample and set each.Therefore; Polygon 301 parts cover the pixel of group and therefore part cover under the situation of said 16 samples; In the memory location that can store storage splicing sheet into this information (that is level of coverage) is updated in the group through covering shade and color with the gained of polygon 301.
Importantly, should notice that this renewal can take place in the inner storer of GPU110.This storer is storage pixel group to polygon raster display and rendered pixel group the time.Therefore, can and be rendered in the pixel group polygon raster display, and needn't and then will write back to frame buffer zone (for example, reading-revise-write) from frame buffer zone read pixel group, renewal pixel group through the pixel group that upgrades.
In step 204, through upgrading pixel group in the memory location that polygonal covering shade and respective color is stored into group.This shows in Fig. 5.It should be noted that covering shade is stored in owing to pixel H is not capped in the storer that causes for sky fully.Like Fig. 5 explanation, the memory location of storage pixel group is depicted as the rectangle 500 with four quadrants.The background color through compression of eight pixels of 1/4th (for example, left upper quadrant) storage in space, wherein (for example) single last polygon covers all eight pixels fully, and therefore can and be stored as a kind of color of each pixel with sample 4 to 1 compressions.The right upper quadrant storage covers shade 501 and is used for a kind of color of pixel A to G.As stated, covering which sample of shade indication is covered by polygon.
In this way; Delayed frame buffer zone merging process of the present invention can be with (for example being accumulated to low latency time memorizer from the polygonal renewal that arrives; Register, cache memory) in pixel group in, and nonessential frame buffer zone read and writes.
Still, in step 205, confirm whether memory location 500 is full of referring to the process 200 of Fig. 2.If the memory location underfill, process 200 can proceed to step 206 and continue and handle the follow-up polygon relevant with pixel group so, and for each follow-up polygon, execution in step 202 to 204.For instance; Fig. 6 shows the follow-up polygon 601 that covers pixel group; Fig. 7 shows that wherein pixel A is not capped fully by the sample of polygon 601 covered pixels, and Fig. 8 shows that the gained of the polygon 601 in the left lower quadrant that is stored in memory location 500 covers shade 801 and color.Fig. 9 then shows the follow-up polygon 901 that covers pixel group; Figure 10 shows the sample by polygon 901 covered pixels; Wherein pixel C, D, G and H are not capped fully, and Figure 11 shows that the gained of the polygon 901 in the right lower quadrant that is stored in memory location 500 covers shade 1101 and color.
In this way, delayed frame buffer zone merging process of the present invention can be with being accumulated in the pixel group from the polygonal renewal that arrives, and nonessential frame buffer zone is read, revises and writes.Therefore delayed frame buffer zone merging process has improved the bottleneck that the higher data access waiting time by this machine graphic memory and system storage causes.As stated, available follow-up polygon upgrades pixel group and need not force the merging entering to be used for each polygonal frame buffer zone.
In step 207, when shown in figure 11, when memory location 500 was full of, when follow-up polygon arrived, the informational needs decompress(ion) that is stored in the memory location 500 contractd synthetic with new polygon.Then can this information be merged in the frame buffer zone.In case merge in the frame buffer zone, information just can be left the form of uncompressed.
In one embodiment, after merging to information in the frame buffer zone, GPU110 is the colouring information of packed pixel group again, and with compressed format pixel group is stored in the low latency time memorizer.Can use above-mentioned covering shade and color to compress this colouring information.This process explains that in Figure 12 wherein follow-up polygon 1201 covers pixel group.Information decompress(ion) in being stored in memory location 500 contract with polygon 1201 synthetic after, information is compressed again and is stored in the memory location 500, shown in figure 13.Figure 13 shows memory location 500; Wherein first color in left upper quadrant (for example; Background color), cover shade 1301 and corresponding to second color that covers shade 1301 in right upper quadrant, and cover shade 1302 and corresponding to the 3rd color that covers shade 1302 in left lower quadrant.Therefore, after compressing again, the right lower quadrant of memory location 500 is opened to receive another polygon.
It should be noted that all samples in each pixel will have identical color so if receive the follow-up polygon of all pixels that cover group fully, and therefore can be stored in (for example) left upper quadrant through 4 to 1 compressions and as single color.Although it should be noted that in the situations of the many samplings of 4x and describe embodiments of the invention, the present invention is more useful in the application of situation neutralization except that anti-aliasing of the more high-grade many samplings of practice (for example, the many samplings of 8x etc.).
In addition, should notice in one embodiment that GPU110 uses label value to follow the tracks of the state of the memory location 500 that is used for pixel group.This label value can be followed the tracks of GPU110 and has been updated to the polygonal number in the memory location 500.For instance, in one embodiment, can label value be embodied as 3 place values; Wherein 4 to 1 compressions of a kind of color of (for example) label value 0 each pixel of indication, 4 to 1 compressions that two quadrants of label value 1 instruction memory position 500 are occupied, as shown in Figure 5; 4 to 1 compressions that three quadrants of label value 3 instruction memory positions 500 are occupied; As shown in Figure 8, and whole four quadrants of label value 4 instruction memory positions 500 occupied 4 to 1 the compression, shown in figure 11.
The delayed frame buffer zone merging process of Figure 14 to 16 explanation alternate embodiment according to the present invention.In alternate embodiment, label is embodied as the free pointer that points in the memory location 500.In this embodiment, memory location 500 can be supported nearly six renewals, and needn't carry out the merging with frame buffer zone.In this embodiment, can implement label value makes it have following meaning:
The 0=uncompressed;
1=compresses fully, the free pointer at sample 8 places;
Many segments of 2=, sample 12 place's free pointers;
The free pointer at 3=sample 16 places;
The free pointer at 4=sample 20 places;
The free pointer at 5=sample 24 places;
The free pointer at 6=sample 28 places;
9=memory location 500 is full of, but still unsettled.
Figure 14 shows to have color pixel group according to indicated sample position.Figure 15 shows memory location 500, stores colouring information under the scheme of wherein in the discussion of preceding text Fig. 2, describing.Figure 16 shows the label value according to alternate embodiment; Wherein label value 1 is shown as " 1 " at sample position 8 places that are stored in memory location 500; Label value 2 is shown as " 2 " that are stored in sample position 16 places, and similarly, is shown as " 6 " at sample position 28 places up to label value 6.Figure 17 shows memory location 500, wherein under the scheme of alternate embodiment of the present invention, stores colouring information.Therefore; Shown in figure 17; Pixel group can have background color and the color that reaches six kinds of new renewals, and wherein the covering shade 1701-1702 of gained is stored in sample position 12 and 8 respectively, and the color that is associated with covering shade 1701-1702 is adjacent and stores.
Figure 18 to 20 visually explains shade is caught renewal from the polygon of follow-up arrival the mode that covers.For instance, Figure 18 shows two samples and the color separately of being indicated by covering shade 1701 thereof, and Figure 19 shows two samples and the color separately of being indicated by covering shade 1702 thereof.Figure 20 shows four continuous states of pixel group; The mode of the end-state of pixel group is set up in its explanation in memory location 500; Wherein state 2002 is showed initial two samples; State 2003 shows that with latter two sample state 2004 is showed the color synthetic with background color, and end-state 2005 describes to be stored in the gained information in the memory location 500.
Therefore, according to alternate embodiment, need 16 bytes to write, it not necessarily writes more effective than 32 bytes, but still saves once reading from frame buffer zone.Through darker pixel or bigger pixel footprint area, still available 3 labels of alternate embodiment method play a role.In above-mentioned instance, pixel group comprises eight pixel footprint area.Comprise in the pixel footprint area under the situation of 16 pixel groups, process will then be come memory allocated with eight sample increments or 32 byte particles.Perhaps, under the situation that just writes 8 byte pixel, the 2x4 pixel group that uses like this paper fully works and writes to produce 32 bytes.
Figure 21 shows Figure 21 00 according to an embodiment of the invention, the relative mistake of data access between the stand-by period of its illustrative system storer 115, this machine graphic memory 116 and cache memory 2101 and register 2102.As stated; Delayed frame buffer zone merging process of the present invention can be with (for example being accumulated to low latency time memorizer from the polygonal renewal that arrives; Register 2102, cache memory 2101) in pixel group in; Reduce the number of times that reads and write whereby, and reduce the mis-behave that causes by the high storage access stand-by period whereby frame buffer zone.This attribute can improve performance at frame buffer zone (for example, graph data 2120) when being stored in this machine graphic memory 116, and when frame buffer zone (for example, graph data 2110) is stored in the system storage 115, can on much higher degree, improve performance.In this way, therefore delayed frame buffer zone merging process has improved the bottleneck that the higher data access waiting time by this machine graphic memory 116 and system storage 115 causes.
Simplified summary, the present invention discloses following content:
Notion is used for the method that frame buffer zone merges for 1. 1 kinds, and it comprises:
Access and the relevant polygon of pixel group that is stored in memory location, each in the wherein said pixel has existing color;
Confirm which pixel is covered by said polygon in the said pixel, wherein each pixel comprises a plurality of samples;
Generation is corresponding to the covering shade of the sample that is covered by said polygon;
Through being stored in, said polygonal said covering shade and color upgrade said pixel group in the said memory location; With
Subsequently said pixel group group is merged in the frame buffer zone.
Notion 2. is according to notion 1 described method, and it further comprises:
Access and the relevant a plurality of follow-up polygon of said pixel group; With
For in the said follow-up polygon each,, each follow-up polygonal indivedual covering shade and individual colors upgrade said pixel group in the said memory location through being stored in.
Notion 3. is according to notion 2 described methods, and it further comprises:
Use label value to follow the tracks of the state of the memory location of the said pixel of storage group; With
Upgrade said label value according to said follow-up polygon.
Notion 4. is according to notion 2 described methods, and it further comprises:
When the memory location of confirming the said pixel of storage group is full of; With
When memory location is full of, the pixel group group is merged in the frame buffer zone.
Notion 5. is according to notion 4 described methods, and it further comprises:
After merging, store in the memory location pixel group is compressed in the memory location through at least one being covered shade and at least a color according to color of pixel.
Notion 6. is according to notion 4 described methods, wherein said the pixel group group merged in the frame buffer zone through being configured to reduce the number of times to the access of said frame buffer zone.
Notion 7. is according to notion 1 described method, and wherein said pixel group is updated to causes 4 to 1 compressions in the memory location.
The computer-readable media of 8. 1 kinds of storage computation machines of notion readable code; Said computer-readable code causes said computer system to implement to be used for the computer-readable media that delayed frame buffer zone merges when being carried out by the computer system with the processor that is coupled to storer, and it comprises:
Access and the relevant polygon of pixel group that is stored in memory location, each in the wherein said pixel has existing color;
Confirm which pixel is covered by said polygon in the said pixel, wherein each pixel comprises a plurality of samples;
Generation is corresponding to the covering shade of the sample that is covered by said polygon;
Through being stored in, said polygonal said covering shade and color upgrade said pixel group in the said memory location;
Access and the relevant a plurality of follow-up polygon of said pixel group;
For in the said follow-up polygon each,, each follow-up polygonal indivedual covering shade and individual colors upgrade said pixel group in the said memory location through being stored in; With
Subsequently said pixel group group is merged in the frame buffer zone.
Notion 9. is according to notion 8 described computer-readable medias, and it further comprises:
Use label value to follow the tracks of the state of the memory location of the said pixel of storage group; With
Upgrade said label value according to said follow-up polygon.
Notion 10. is according to notion 8 described computer-readable medias, and it further comprises:
When the memory location of confirming the said pixel of storage group is full of; With
When memory location is full of, the pixel group group is merged in the frame buffer zone.
Notion 11. is according to notion 10 described computer-readable medias, and it further comprises:
After merging, store in the memory location pixel group is compressed in the memory location through at least one being covered shade and at least a color according to color of pixel.
Notion 12. is according to notion 10 described computer-readable medias, wherein said the pixel group group merged in the frame buffer zone through being configured to reduce the number of times to the access of said frame buffer zone.
Notion 13. is according to notion 8 described computer-readable medias, and wherein said pixel group is updated to causes 4 to 1 compressions in the memory location.
14. 1 kinds of computer systems of notion, it comprises:
Processor;
System storage, it is coupled to said processor; With
GPU; It is coupled to said processor; Wherein said graphic process unit is through being configured to computer readable code executed, and said computer-readable code causes said graphic process unit to implement a kind of method that delayed frame buffer zone merges that is used for, and said method comprises:
Access and the relevant polygon of pixel group that is stored in memory location, each in the wherein said pixel has existing color;
Confirm which pixel is covered by said polygon in the said pixel, wherein each pixel comprises a plurality of samples;
Generation is corresponding to the covering shade of the sample that is covered by said polygon;
Through being stored in, said polygonal said covering shade and color upgrade said pixel group in the said memory location;
Access and the relevant a plurality of follow-up polygon of said pixel group;
For in the said follow-up polygon each,, each follow-up polygonal indivedual covering shade and individual colors upgrade said pixel group in the said memory location through being stored in; With
Subsequently said pixel group group is merged in the frame buffer zone.
Notion 15. is according to notion 14 described computer systems, and it further comprises:
Use label value to follow the tracks of the state of the memory location of the said pixel of storage group; With
Upgrade said label value according to said follow-up polygon.
Notion 16. is according to notion 14 described computer systems, and it further comprises:
When the memory location of confirming the said pixel of storage group is full of; With
When memory location is full of, the pixel group group is merged in the frame buffer zone.
Notion 17. is according to notion 16 described computer systems, and it further comprises:
After merging, store in the memory location pixel group is compressed in the memory location through at least one being covered shade and at least a color according to color of pixel.
Notion 18. is according to notion 14 described computer systems, and it further comprises:
Use label value as free pointer, with the state of the memory location of following the tracks of storage pixel group; With
Upgrade said label value according to said follow-up polygon.
Notion 19. is according to notion 14 described computer systems, and wherein said frame buffer zone is stored in the system storage.
Notion 20. is according to notion 14 described computer systems, and wherein said frame buffer zone is stored in this machine graphic memory that is coupled to said GPU.
Broadly, the present invention discloses a kind of method that delayed frame buffer zone merges that is used at least.Said method can comprise access and the relevant polygon of pixel group that is stored in memory location, and each in the wherein said pixel has existing color.Can confirm which pixel is covered by said polygon in the said pixel, wherein each pixel comprises a plurality of samples.Can produce covering shade corresponding to the sample that is covered by said polygon.Can upgrade said pixel group in the said memory location through said polygonal said covering shade and color are stored in.In later time, can said pixel group group be merged in the frame buffer zone.
Presented above description from explanation and purpose of description to specific embodiment of the present invention.Do not hope that it is completely or limit the invention to the precise forms that disclosed, and according to above teaching, many modifications and variation are possible.Select and describe embodiment,, make others skilled in the art utilize the present invention best whereby and be suitable for expecting the various embodiment with various modifications of special-purpose so that explain principle of the present invention and practical application thereof best.Hope that scope of the present invention defines by being additional to claims of the present invention and equivalent thereof.

Claims (5)

1. one kind is used for the device that frame buffer zone merges, and it comprises:
First access unit is used for access and the relevant polygon of group's pixel that is stored in the memory location place, and each in the wherein said group pixel has existing color;
Confirm the unit, be used for confirming said polygon covers which pixel of said group pixel, and each pixel of wherein said group pixel comprises a plurality of samples;
Generation unit is used to produce the covering shade corresponding to the sample that is covered by said polygon;
First updating block is used for upgrading said group pixel through said polygonal said covering shade and color are stored in said memory location;
Second access unit is used for access and the relevant a plurality of follow-up polygon of said group pixel;
Second updating block is used for each for said follow-up polygon, upgrades said group pixel in the said memory location through each follow-up polygonal covering shade and color separately separately is stored in; With
Merge cells is used for subsequently said group pixel being merged to frame buffer zone;
Wherein in said memory location, upgrade said group pixel and cause at least 4 to 1 compression;
It is inner and at low latency time memorizer that wherein said memory location is arranged in GPU;
Wherein said frame buffer zone is stored in the system storage or is coupled in this machine graphic memory of said GPU.
2. the device that is used for the frame buffer zone merging according to claim 1, it further comprises:
Use label value to follow the tracks of the state of the memory location of the said group of storage pixel; With
Upgrade said label value according to said follow-up polygon.
3. the device that is used for the frame buffer zone merging according to claim 1, it further comprises:
When the memory location of confirming the said group of storage pixel is full of; With
When memory location is full of, said group pixel is merged in the said frame buffer zone.
4. the device that is used for the frame buffer zone merging according to claim 3, it further comprises:
After said merging, said group pixel is compressed in the said memory location through at least one covering shade being stored in the said memory location with at least one color according to said group color of pixel.
5. the device that is used for the frame buffer zone merging according to claim 1, it further comprises:
Use label value to follow the tracks of the state of the memory location of the said group of storage pixel as free pointer; With
Upgrade said label value according to said follow-up polygon.
CN200710103747XA 2006-05-22 2007-05-22 Frame buffer merging CN101114381B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US80274606P true 2006-05-22 2006-05-22
US60/802,746 2006-05-22

Publications (2)

Publication Number Publication Date
CN101114381A CN101114381A (en) 2008-01-30
CN101114381B true CN101114381B (en) 2012-02-22

Family

ID=39022709

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007101037484A CN101114382B (en) 2006-05-22 2007-05-22 Frame buffer merging
CN200710103747XA CN101114381B (en) 2006-05-22 2007-05-22 Frame buffer merging

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007101037484A CN101114382B (en) 2006-05-22 2007-05-22 Frame buffer merging

Country Status (2)

Country Link
CN (2) CN101114382B (en)
TW (2) TW200820131A (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200820131A (en) * 2006-05-22 2008-05-01 Nvidia Corp Frame buffer merging
GB0922126D0 (en) * 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
US9530189B2 (en) 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US10043234B2 (en) 2012-12-31 2018-08-07 Nvidia Corporation System and method for frame buffer decompression and/or compression
US9832388B2 (en) 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation
KR20160051154A (en) * 2014-10-31 2016-05-11 삼성전자주식회사 Rendering method and apparatus, and electronic apparatus
CN105045726B (en) * 2015-08-10 2019-10-11 Tcl集团股份有限公司 A kind of picture operation method and system based on parallel computation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
US6072500A (en) * 1993-07-09 2000-06-06 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US6128000A (en) * 1997-10-15 2000-10-03 Compaq Computer Corporation Full-scene antialiasing using improved supersampling techniques
US6490058B1 (en) * 1999-06-25 2002-12-03 Mitsubishi Denki Kabushiki Kaisha Image decoding and display device
CN1560830A (en) * 2003-09-23 2005-01-05 旭上绘图股份有限公司 Apparatus and method for reducing memory flow rate of graphic drawing system
CN1200396C (en) * 2001-04-04 2005-05-04 矽统科技股份有限公司 Method and device for compressing pixel data during computer drawing
CN101114382B (en) * 2006-05-22 2010-09-01 辉达公司 Frame buffer merging

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6518974B2 (en) * 1999-07-16 2003-02-11 Intel Corporation Pixel engine
US6529201B1 (en) * 1999-08-19 2003-03-04 International Business Machines Corporation Method and apparatus for storing and accessing texture maps
JP2002328846A (en) * 2001-02-20 2002-11-15 Sony Computer Entertainment Inc Copy management system, computer readable storage medium in which information processing program of client terminal is stored, computer readable storage medium in which information processing program of management server is stored, information processing program of client terminal, information processing program of management server, copy managing method, information processing method of client terminal and information processing method of managing server
US7564460B2 (en) * 2001-07-16 2009-07-21 Microsoft Corporation Systems and methods for providing intermediate targets in a graphics system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072500A (en) * 1993-07-09 2000-06-06 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
US6128000A (en) * 1997-10-15 2000-10-03 Compaq Computer Corporation Full-scene antialiasing using improved supersampling techniques
US6490058B1 (en) * 1999-06-25 2002-12-03 Mitsubishi Denki Kabushiki Kaisha Image decoding and display device
CN1200396C (en) * 2001-04-04 2005-05-04 矽统科技股份有限公司 Method and device for compressing pixel data during computer drawing
CN1560830A (en) * 2003-09-23 2005-01-05 旭上绘图股份有限公司 Apparatus and method for reducing memory flow rate of graphic drawing system
CN101114382B (en) * 2006-05-22 2010-09-01 辉达公司 Frame buffer merging

Also Published As

Publication number Publication date
TW200820132A (en) 2008-05-01
CN101114382B (en) 2010-09-01
TW200820131A (en) 2008-05-01
CN101114381A (en) 2008-01-30
TWI498850B (en) 2015-09-01
CN101114382A (en) 2008-01-30

Similar Documents

Publication Publication Date Title
US8446420B2 (en) Memory system and method for improved utilization of read and write bandwidth of a graphics processing system
US7988556B2 (en) Game console and emulator for the game console
JP5149985B2 (en) Graphics processing system with function expansion memory controller
US6074300A (en) Video signal reproducing apparatus
US6643744B1 (en) Method and apparatus for pre-fetching audio data
US5903281A (en) List controlled video operations
CN104662583B (en) For avoiding the GPU storage buffer preextraction of page fault and pre- backup signaling
US5793376A (en) Method of producing image data, image data processing apparatus, and recording medium
US6369823B2 (en) Picture processing apparatus and picture processing method
TW251407B (en)
US4642794A (en) Video update FIFO buffer
US7620530B2 (en) System with PPU/GPU architecture
CN1251155C (en) Method and apparatus fir the anti-alizasing supersampling
RU2445705C2 (en) Method of preparing data display in servers (versions) and machine-readable medium
US5949409A (en) Image processing in which the image is divided into image areas with specific color lookup tables for enhanced color resolution
JP3335695B2 (en) External memory system
US5664162A (en) Graphics accelerator with dual memory controllers
US6339428B1 (en) Method and apparatus for compressed texture caching in a video graphics system
US5515077A (en) Image processing system
EP0820036B1 (en) Image forming apparatus
US5848201A (en) Image processing system and its method and electronic system having an image processing system
CN104641396B (en) Delay preemption techniques for Dispatching Drawings processing unit command stream
CN103620641B (en) Maximize the parallel processing in graphics processor
US5969728A (en) System and method of synchronizing multiple buffers for display
KR101220072B1 (en) Systems and methods for virtualizing graphics subsystems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant