[go: up one dir, main page]

RU2010107218A - Схема для упаковки и связывания переменной в графических системах - Google Patents

Схема для упаковки и связывания переменной в графических системах Download PDF

Info

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
Application number
RU2010107218/08A
Other languages
English (en)
Other versions
RU2448369C2 (ru
Inventor
Гофан ЦЗЯО (US)
Гофан ЦЗЯО
Алексей В. БОРД (US)
Алексей В. БОРД
Чунь ЮЙ (US)
Чунь ЮЙ
Линцзюнь ЧЭНЬ (US)
Линцзюнь ЧЭНЬ
Юнь ДУ (US)
Юнь ДУ
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39940557&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RU2010107218(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2010107218A publication Critical patent/RU2010107218A/ru
Application granted granted Critical
Publication of RU2448369C2 publication Critical patent/RU2448369C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General 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 регистр кэша в кэше вершин.
RU2010107218/08A 2007-07-30 2008-07-30 Схема для упаковки и связывания переменной в графических системах RU2448369C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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