RU2010107218A - Схема для упаковки и связывания переменной в графических системах - Google Patents
Схема для упаковки и связывания переменной в графических системах Download PDFInfo
- Publication number
- RU2010107218A RU2010107218A RU2010107218/08A RU2010107218A RU2010107218A RU 2010107218 A RU2010107218 A RU 2010107218A RU 2010107218/08 A RU2010107218/08 A RU 2010107218/08A RU 2010107218 A RU2010107218 A RU 2010107218A RU 2010107218 A RU2010107218 A RU 2010107218A
- Authority
- RU
- Russia
- Prior art keywords
- program
- variables
- shadow
- shared
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Devices For Executing Special Programs (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
1. Устройство, содержащее: ! носитель данных, имеющий множество совместно используемых М-мерных (MD) регистров; и ! устройство обработки для реализации набора операций для упаковки в каждый совместно используемый MD регистр одной или нескольких переменных величин программы построения теней, общее число компонентов которых равно М; ! отличающееся тем, что дополнительно содержит ! кэш вершин, имеющий множество MD регистров кэша; и ! в котором носитель данных включает в себя буфер упаковки с MD регистром для упаковки М компонентов из множества совместно используемых MD регистров последовательно в нем и переноса содержимого MD регистра буфера упаковки, когда он заполнен, в соответствующий MD регистр кэша в кэше вершин. ! 2. Устройство по п.1, в котором набор операций упаковывает одно из: двух 2D-векторных переменных величин программы построения теней; 3D-векторной переменной величины программы построения теней и переменной величины с плавающей точкой программы построения теней; 2D-векторной переменной величины программы построения теней и двух различных переменных величин с плавающей точкой программы построения теней; и четырех переменных величин с плавающей точкой программы построения теней. ! 3. Устройство по п.1, в котором устройство обработки реализует второй набор операций для связывания выходных переменных в кэше вершин с набором входных переменных для программы построения теней фрагментов. ! 4. Устройство по п.3, в котором второй набор операций включает в себя операции для согласования имен символов переменной, соответствующих выходным переменным в программе построения теней вершин, с соответствующими именами си
Claims (17)
1. Устройство, содержащее:
носитель данных, имеющий множество совместно используемых М-мерных (MD) регистров; и
устройство обработки для реализации набора операций для упаковки в каждый совместно используемый MD регистр одной или нескольких переменных величин программы построения теней, общее число компонентов которых равно М;
отличающееся тем, что дополнительно содержит
кэш вершин, имеющий множество MD регистров кэша; и
в котором носитель данных включает в себя буфер упаковки с MD регистром для упаковки М компонентов из множества совместно используемых MD регистров последовательно в нем и переноса содержимого MD регистра буфера упаковки, когда он заполнен, в соответствующий MD регистр кэша в кэше вершин.
2. Устройство по п.1, в котором набор операций упаковывает одно из: двух 2D-векторных переменных величин программы построения теней; 3D-векторной переменной величины программы построения теней и переменной величины с плавающей точкой программы построения теней; 2D-векторной переменной величины программы построения теней и двух различных переменных величин с плавающей точкой программы построения теней; и четырех переменных величин с плавающей точкой программы построения теней.
3. Устройство по п.1, в котором устройство обработки реализует второй набор операций для связывания выходных переменных в кэше вершин с набором входных переменных для программы построения теней фрагментов.
4. Устройство по п.3, в котором второй набор операций включает в себя операции для согласования имен символов переменной, соответствующих выходным переменным в программе построения теней вершин, с соответствующими именами символов переменной в наборе выходных переменных для программы построения теней фрагментов.
5. Устройство по п.1, дополнительно содержащее второй носитель данных, имеющий второе множество совместно используемых MD регистров; в котором переменные величины программы построения теней дополнительно содержат необходные входные атрибуты для ввода в программу построения теней вершин и обходные входные атрибуты; и в котором набор операций включает в себя операции для упаковки необходных входных атрибутов во втором множестве совместно используемых MD регистров и заполнения каких-либо остающихся необходных входных атрибутов во второй носитель данных для создания входного файла программы построения теней вершин.
6. Устройство по п.5, в котором кэш вершин дополнительно содержит второе множество MD регистров кэша; и в котором носитель данных включает в себя второй буфер упаковки с MD регистром для упаковки М компонентов обходных входных атрибутов последовательно в него и переноса содержимого MD регистра второго буфера упаковки, когда он заполнен, в каждый MD регистр кэша второго множества MD регистров кэша в кэше вершин.
7. Устройство по п.1, дополнительно содержащее второй носитель данных, имеющий второе множество совместно используемых MD регистров; в котором переменная величина программы построения теней содержит набор входных атрибутов для ввода в программу построения теней вершин; и в котором набор операций включает в себя операции для упаковки набора входных атрибутов во втором множестве совместно используемых MD регистров, пока компоненты остающихся неупакованных входных атрибутов не превысят М, если они упакованы, и заполнения остающихся входных атрибутов во второй носитель данных для создания входного файла программы построения теней вершин.
8. Устройство по п.1, в котором устройство обработки является частью одного устройства из: сотовый телефон, беспроводное устройство, устройство беспроводной связи, консоль видеоигр, электронный секретарь (PDA), портативный компьютер и аудио/видеоустройство.
9. Устройство по п.1, в котором носитель данных или устройство обработки содержатся в некоторой интегральной схеме.
10. Устройство по п.1, в котором носитель данных или устройство обработки содержатся в пределах некоторого процессора.
11. Устройство, содержащее:
средство хранения, имеющее множество совместно используемых М-мерных (MD) регистров, для хранения набора переменных величин программы построения теней; и
средство упаковки для упаковки в каждый совместно используемый MD регистр одной или нескольких переменных величин программы построения теней из набора переменных величин программы построения теней, общее число компонентов которых равно М;
отличающееся тем, что дополнительно содержит
средство кэширования вершин, имеющее множество MD регистров кэша; и
в котором средство хранения включает в себя буфер упаковки с MD регистром для упаковки М компонентов из множества совместно используемых MD регистров последовательно в нем и переноса содержимого MD регистра буфера упаковки, когда он заполнен, в соответствующий MD регистр кэша в средстве кэширования вершин.
12. Устройство по п.11, в котором средство упаковки содержит средство для упаковки по меньшей мере одного из: двух 2D-векторных переменных величин программы построения теней; 3D-векторной переменной величины программы построения теней и переменной величины с плавающей точкой программы построения теней; 2D-векторной переменной величины программы построения теней и двух различных переменных величин с плавающей точкой программы построения теней; и четырех переменных величин с плавающей точкой программы построения теней.
13. Устройство по п.11, в котором средство упаковки является частью одного устройства из: сотовый телефон, беспроводное устройство, устройство беспроводной связи, консоль видеоигр, электронный секретарь (PDA), портативный компьютер и аудио/видеоустройство.
14. Устройство по п.11, в котором носитель данных является считываемым компьютером носителем, имеющим команды чтобы заставить компьютер выполнять набор операций для упаковки в каждый совместно используемый MD регистр.
15. Способ, содержащий:
первую стадию упаковки, содержащий упаковку одной или нескольких переменных величин программы построения теней набора переменных величин программы построения теней, общее число компонентов которых равно М, в каждый совместно используемый М-мерный (MD) регистр из первого множества совместно используемых MD регистров; и
повторение упаковки в первое множество совместно используемых MD регистров, пока какие-либо остающиеся переменные величины программы построения теней не будут неупаковываемыми;
отличающийся тем, что способ дополнительно содержит
вторую стадию упаковки, предусматривающую последовательную упаковку М компонентов переменных величин программы построения теней из первого множества совместно используемых MD регистров в первую часть второго множества совместно используемых MD регистров; и
перенос содержимого первой части второго множества совместно используемых MD регистров, когда она заполнена, в соответствующий MD кэш-регистр кэша вершин.
16. Способ по п.16, в котором набор переменных величин программы построения теней содержит набор необходных входных атрибутов для программы построения теней вершин; и в котором упаковка включает в себя упаковку набора входных атрибутов в множество совместно используемых MD регистров.
17. Способ по п.16, дополнительно содержащий:
упаковку М компонентов обходных входных атрибутов последовательно в MD временный регистр буфера упаковки и перенос содержимого MD временного регистра, когда он заполнен, в соответствующий MD регистр кэша в кэше вершин.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/830,667 US8355028B2 (en) | 2007-07-30 | 2007-07-30 | Scheme for varying packing and linking in graphics systems |
| US11/830,667 | 2007-07-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2010107218A true RU2010107218A (ru) | 2011-09-10 |
| RU2448369C2 RU2448369C2 (ru) | 2012-04-20 |
Family
ID=39940557
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2010107218/08A RU2448369C2 (ru) | 2007-07-30 | 2008-07-30 | Схема для упаковки и связывания переменной в графических системах |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US8355028B2 (ru) |
| EP (1) | EP2023285B8 (ru) |
| JP (1) | JP5048836B2 (ru) |
| KR (1) | KR101118814B1 (ru) |
| CN (1) | CN101779219B (ru) |
| BR (1) | BRPI0813854B1 (ru) |
| CA (1) | CA2693344C (ru) |
| MX (1) | MX2010001064A (ru) |
| RU (1) | RU2448369C2 (ru) |
| TW (1) | TWI378355B (ru) |
| WO (1) | WO2009018385A2 (ru) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9123151B2 (en) * | 2008-08-05 | 2015-09-01 | Autodesk, Inc. | Exchanging data between vertex shaders and fragment shaders on a graphics processing unit |
| US8947444B1 (en) * | 2008-12-09 | 2015-02-03 | Nvidia Corporation | Distributed vertex attribute fetch |
| GB201103698D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphics processing |
| GB201103699D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphic processing |
| US9412193B2 (en) * | 2011-06-01 | 2016-08-09 | Apple Inc. | Run-time optimized shader program |
| US9214008B2 (en) * | 2013-01-18 | 2015-12-15 | Nvidia Corporation | Shader program attribute storage |
| US9395988B2 (en) * | 2013-03-08 | 2016-07-19 | Samsung Electronics Co., Ltd. | Micro-ops including packed source and destination fields |
| BR112015019510A2 (pt) | 2013-03-14 | 2017-12-12 | Intel Corp | suporte de compositor para funções gráficas. |
| US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
| US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
| US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
| US10134102B2 (en) | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
| WO2016090535A1 (en) * | 2014-12-08 | 2016-06-16 | Intel Corporation | Graphic rendering quality improvements through automated data type precision control |
| KR20160074154A (ko) | 2014-12-18 | 2016-06-28 | 삼성전자주식회사 | 컴파일러 |
| US10460513B2 (en) | 2016-09-22 | 2019-10-29 | Advanced Micro Devices, Inc. | Combined world-space pipeline shader stages |
| KR20180038793A (ko) * | 2016-10-07 | 2018-04-17 | 삼성전자주식회사 | 영상 데이터 처리 방법 및 장치 |
| CN108986014A (zh) * | 2018-07-19 | 2018-12-11 | 芯视图(常州)微电子有限公司 | 适用乱序顶点染色的图元装配单元 |
| US11748839B2 (en) | 2020-04-16 | 2023-09-05 | Samsung Electronics Co., Ltd. | Efficient fast random access enabled geometry attribute compression mechanism |
| US11508124B2 (en) | 2020-12-15 | 2022-11-22 | Advanced Micro Devices, Inc. | Throttling hull shaders based on tessellation factors in a graphics pipeline |
| US11776085B2 (en) * | 2020-12-16 | 2023-10-03 | Advanced Micro Devices, Inc. | Throttling shaders based on resource usage in a graphics pipeline |
| US11710207B2 (en) | 2021-03-30 | 2023-07-25 | Advanced Micro Devices, Inc. | Wave throttling based on a parameter buffer |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9413169D0 (en) | 1994-06-30 | 1994-08-24 | Thomson Consumer Electronics | Modulator data frame interfacing |
| GB2317464A (en) * | 1996-09-23 | 1998-03-25 | Advanced Risc Mach Ltd | Register addressing in a data processing apparatus |
| US5949421A (en) * | 1997-03-31 | 1999-09-07 | Cirrus Logic, Inc. | Method and system for efficient register sorting for three dimensional graphics |
| RU2249245C2 (ru) | 1999-09-01 | 2005-03-27 | Мацусита Электрик Индастриал Ко., Лтд. | Способ и устройство для обработки данных с авторскими правами |
| CA2348771A1 (en) | 1999-09-01 | 2001-03-08 | Matsushita Electric Industrial Co., Ltd. | Copyrighted data processing method and apparatus |
| US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
| US6829696B1 (en) * | 1999-12-30 | 2004-12-07 | Texas Instruments Incorporated | Data processing system with register store/load utilizing data packing/unpacking |
| US6900812B1 (en) * | 2000-08-02 | 2005-05-31 | Ati International Srl | Logic enhanced memory and method therefore |
| US6828975B2 (en) * | 2001-03-01 | 2004-12-07 | Microsoft Corporation | Method and system for managing graphics objects in a graphics display system |
| US7017154B2 (en) * | 2001-03-23 | 2006-03-21 | International Business Machines Corporation | Eliminating store/restores within hot function prolog/epilogs using volatile registers |
| US6704026B2 (en) * | 2001-05-18 | 2004-03-09 | Sun Microsystems, Inc. | Graphics fragment merging for improving pixel write bandwidth |
| DE10131254A1 (de) | 2001-07-01 | 2003-01-23 | Deutsche Post Ag | Verfahren zum Überprüfen der Gültigkeit von digitalen Freimachungsvermerken |
| US6831653B2 (en) * | 2001-07-31 | 2004-12-14 | Sun Microsystems, Inc. | Graphics pixel packing for improved fill rate performance |
| US6847369B2 (en) * | 2002-01-30 | 2005-01-25 | Sun Microsystems, Inc. | Optimized packing of loose data in a graphics queue |
| US7530062B2 (en) * | 2003-05-23 | 2009-05-05 | Microsoft Corporation | Optimizing compiler transforms for a high level shader language |
| US7746347B1 (en) * | 2004-07-02 | 2010-06-29 | Nvidia Corporation | Methods and systems for processing a geometry shader program developed in a high-level shading language |
| US7681187B2 (en) * | 2005-03-31 | 2010-03-16 | Nvidia Corporation | Method and apparatus for register allocation in presence of hardware constraints |
| US20080094408A1 (en) * | 2006-10-24 | 2008-04-24 | Xiaoqin Yin | System and Method for Geometry Graphics Processing |
-
2007
- 2007-07-30 US US11/830,667 patent/US8355028B2/en active Active
-
2008
- 2008-03-31 EP EP08006444.7A patent/EP2023285B8/en active Active
- 2008-07-29 TW TW097128649A patent/TWI378355B/zh not_active IP Right Cessation
- 2008-07-30 WO PCT/US2008/071655 patent/WO2009018385A2/en not_active Ceased
- 2008-07-30 RU RU2010107218/08A patent/RU2448369C2/ru not_active IP Right Cessation
- 2008-07-30 CA CA2693344A patent/CA2693344C/en not_active Expired - Fee Related
- 2008-07-30 JP JP2010520164A patent/JP5048836B2/ja not_active Expired - Fee Related
- 2008-07-30 KR KR1020107004551A patent/KR101118814B1/ko not_active Expired - Fee Related
- 2008-07-30 BR BRPI0813854A patent/BRPI0813854B1/pt active IP Right Grant
- 2008-07-30 CN CN2008801009326A patent/CN101779219B/zh active Active
- 2008-07-30 MX MX2010001064A patent/MX2010001064A/es unknown
Also Published As
| Publication number | Publication date |
|---|---|
| WO2009018385A2 (en) | 2009-02-05 |
| EP2023285B1 (en) | 2017-12-20 |
| WO2009018385A3 (en) | 2009-03-26 |
| CN101779219A (zh) | 2010-07-14 |
| RU2448369C2 (ru) | 2012-04-20 |
| US8355028B2 (en) | 2013-01-15 |
| TWI378355B (en) | 2012-12-01 |
| CA2693344C (en) | 2017-01-17 |
| EP2023285A1 (en) | 2009-02-11 |
| MX2010001064A (es) | 2010-03-03 |
| BRPI0813854B1 (pt) | 2020-01-14 |
| CA2693344A1 (en) | 2009-02-05 |
| BRPI0813854A2 (pt) | 2019-02-12 |
| KR20100038462A (ko) | 2010-04-14 |
| KR101118814B1 (ko) | 2012-03-20 |
| CN101779219B (zh) | 2013-03-27 |
| US20090033672A1 (en) | 2009-02-05 |
| TW200910110A (en) | 2009-03-01 |
| JP2010535393A (ja) | 2010-11-18 |
| JP5048836B2 (ja) | 2012-10-17 |
| EP2023285B8 (en) | 2018-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2010107218A (ru) | Схема для упаковки и связывания переменной в графических системах | |
| CN111580866B (zh) | 一种向量运算装置及运算方法 | |
| CN105843775B (zh) | 片上数据划分读写方法、系统及其装置 | |
| KR101625418B1 (ko) | 미디어 프로세싱 가속기들을 위한 수집 방법 및 장치 | |
| KR102810851B1 (ko) | 공유 스크래치패드 메모리를 사용한 벡터 축소들 | |
| US11443014B1 (en) | Sparse matrix multiplier in hardware and a reconfigurable data processor including same | |
| US10224956B2 (en) | Method and apparatus for hybrid compression processing for high levels of compression | |
| CN103810111A (zh) | 有源存储器件中的地址生成的方法及其处理元件 | |
| CN108805272A (zh) | 一种基于fpga的通用卷积神经网络加速器 | |
| KR20100029179A (ko) | 데이터 압축을 위한 회로 및 그 회로를 채택한 프로세서 | |
| CN118277328B (zh) | 数据处理方法、处理器、芯片及电子设备 | |
| US12200101B2 (en) | Semi-custom accelerator device for bootstrappable fully homomorphic encryption | |
| US11165428B1 (en) | Circuits and methods for updating lookup tables | |
| Brown | Accelerating advection for atmospheric modelling on Xilinx and Intel FPGAs | |
| CN105531602B (zh) | 利用多个加速处理部件(apc)实现时域有限差分模型的系统和方法 | |
| Muralitharan | TinyParrot: An Integration-Optimized Linux-Capable Host Multicore | |
| CN116301727A (zh) | 数据处理方法及加速单元 | |
| US20090326888A1 (en) | Vectorized parallel collision detection pipeline | |
| Melnyk | Self-Configurable FPGA-Based Computer Systems: Basics and Proof of Concep | |
| US20250005101A1 (en) | Techniques for twiddle factor generation for number-theoretic- transrom and inverse-number-theoretic-tranform computations | |
| KR20150065152A (ko) | 스레드 오프셋 카운터 | |
| Kim et al. | Cache register sharing structure for channel-level near-memory processing in NAND flash memory | |
| US8607033B2 (en) | Sequentially packing mask selected bits from plural words in circularly coupled register pair for transferring filled register bits to memory | |
| Haller et al. | Relieving capacity limits on FPGA-based SAT-solvers | |
| Dufrechou | Accelerating advanced preconditioning methods on hybrid architectures |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190731 |