Mechanism to perform single precision floating point extended math operations
US-2020319851-A1 · Oct 8, 2020 · US
US11295408B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11295408-B2 |
| Application number | US-202017033765-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 26, 2020 |
| Priority date | Dec 31, 2019 |
| Publication date | Apr 5, 2022 |
| Grant date | Apr 5, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments are generally directed to methods and apparatuses for compression of graphics processing commands. An embodiment of a method for data processing comprising: capturing a first graphics processing command including vertex data; constructing a data array having a plurality of data vectors from the vertex data; determining whether the data array is of a specific data type; in response to the data array being of the specific data type, determining whether a semantic property of the data array is color; and in response to the semantic property being color, determining a plurality of representative data vectors that are different from each other in the plurality of data vectors; constructing a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generating a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers.
Opening claim text (preview).
What is claimed is: 1. A method for data processing, comprising: capturing a first graphics processing command including vertex data; constructing a data array having a plurality of data vectors from the vertex data; determining whether the data array is of a specific data type, the specific data type comprising an integer type and a float point type, where a difference between the value of each data element in a data array of the float point type and its rounded value is less than a threshold; in response to the data array being of the specific data type, determining whether a semantic property of the data array is color; and in response to the semantic property being color, determining a plurality of representative data vectors that are different from each other in the plurality of data vectors; constructing a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generating a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers, wherein a palette vector identifier in the sequence indicating one of the plurality of data vectors corresponding to one of the plurality of palette vectors with the same palette vector identifier. 2. The method of claim 1 , wherein in response to the data array not being of the specific data type, the method comprising: obtaining a maximum-value data element, a minimum-value data element, and a plurality of integer slot numbers corresponding to a plurality of data elements in each column of the data array for transmission, wherein the integer slot number corresponding to a data element is calculated by dividing a difference between the data element and the minimum-value data element by a slot size and rounding the result of the dividing. 3. The method of claim 2 , wherein the slot size being a difference between the maximum-value data element and the minimum-value data element, divided by a specified number, and the specified number being two to the power of a bit length of the integer slot number. 4. The method of claim 1 , wherein in response to the semantic property not being color, the method comprising: rearranging the data array having the plurality of data vectors on a column basis; and compressing the rearranged data array. 5. The method of claim 1 , wherein the semantic property being color when a count of data elements in each of the plurality of data vectors being four and a value of each of three consecutive data elements of the data elements being in a range of 0 to 255. 6. The method of claim 1 , wherein each data element in the data array of the float point type is rounded before the determining of the semantic property. 7. The method of claim 1 , further comprising: capturing a second graphics processing command including texture data; storing a copy of the second graphics processing command to a backup cache; replacing the texture data in the second graphics processing command with a hash code to obtain a modified second graphics processing command for transmission; and retrieving the copy of the second graphics processing command from the backup cache for transmission when receiving a message indicating a cache miss, wherein the modified second graphics processing command having a flag that indicates the texture data has been replaced. 8. The method of claim 1 , further comprising: moving the modified first graphics processing command to a compression pool; compressing all graphics processing commands in the compression pool when a size of the compression pool exceeds a predetermined size; compressing all graphics processing commands in the compression pool when a size of the compression pool does not exceed the predetermined size and the modified first graphics processing command requires a return value; and clearing the compression pool after the compressed graphics processing commands have been transmitted. 9. A system for data processing, comprising: a first memory; and a first processor coupled to the first memory, the first processor to: capture a first graphics processing command including vertex data; construct a data array having a plurality of data vectors from the vertex data; determine whether the data array is of a specific data type, the specific data type comprising an integer type and a float point type, where a difference between the value of each data element in a data array of the float point type and its rounded value is less than a threshold; in response to the data array being of the specific data type, determine whether a semantic property of the data array is color; and in response to the semantic property being color, determine a plurality of representative data vectors that are different from each other in the plurality of data vectors; construct a palette array having a plurality of palette vectors each containing data elements of a corresponding one of the plurality of representative data vectors and a palette vector identifier; and generate a modified first graphics processing command by replacing the data array with the palette array and a sequence of palette vector identifiers, wherein a palette vector identifier in the sequence indicating one of the plurality of data vectors corresponding to one of the plurality of palette vectors with the same palette vector identifier. 10. The system of claim 9 , wherein the first processor further to: obtain a maximum-value data element, a minimum-value data element, and a plurality of integer slot numbers corresponding to a plurality of data elements in each column of the data array for transmission to a second processor in the system in response to the data array not being of the specific data type, wherein the integer slot number corresponding to a data element is calculated by dividing a difference between the data element and the minimum-value data element by a slot size and rounding the result of the dividing, wherein the second processor comprising a graphics processing unit, and the first processor and the second processor are located on separate devices. 11. The system of claim 10 , wherein the second processor being further to: receive the maximum-value data element, the minimum-value data element, and the plurality of integer slot numbers in each column in the data array transmitted by the first processor; and determine each of the plurality of data elements in each column of the data array, wherein the data element is calculated by multiplying an integer slot number with the slot size and adding the minimum-value data element to the result of the multiplication. 12. The system of claim 10 , wherein the slot size being a difference between the maximum-value data element and the minimum-value data element, divided by a specified number, and the specified number being two to the power of a bit length of the integer slot number. 13. The system of claim 9 , wherein the first processor, in response to the semantic property not being color, further to: rearrange the data array having the plurality of data vectors on a column basis; and compress the rearranged data array. 14. The system of claim 9 , wherein the first processor being further to: capture a second graphics processing command including texture data; and replace the texture data in the second graphics processing command with a hash code to obtain a modified second graphics processing command for transmission to a second processor in the system, wherein the second processor comprising a gr
of compressed or encrypted instructions · CPC title
Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00) · CPC title
Processor architectures; Processor configuration, e.g. pipelining · CPC title
Memory management · CPC title
General purpose rendering architectures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.