日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]一種基于雙Buffer架構下的紋理貼圖硬件加速器在審

專利信息
申請號: 201910495890.0 申請日: 2019-06-10
公開(公告)號: CN112070651A 公開(公告)日: 2020-12-11
發明(設計)人: 吳興濤;殷誠信;王磊 申請(專利權)人: 華夏芯(北京)通用處理器技術有限公司
主分類號: G06T1/20 分類號: G06T1/20;G06T11/00;G06T1/60
代理公司: 北京科家知識產權代理事務所(普通合伙) 11427 代理人: 陳娟
地址: 100080 北京市海淀區*** 國省代碼: 北京;11
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 一種 基于 buffer 架構 紋理 貼圖 硬件 加速器
【權利要求書】:

1.一種基于雙Buffer架構下的紋理貼圖硬件加速器,其特征在于,包括:

Image U0單元:對image基本信息進行存儲,當使能mipmap紋理時,通過target以及不同map層作為地址,存儲對應image的mode、width、height、depth、border、inte_format、format、type、base;當使能layer層時,通過target以及不同的layer層作為地址,存儲對應層的mode、width、height、depth、border、inte_format、format、type、base值,當使能cubemap時,將mipmap層的一個地址進行細分為6個,分別代表0,1,2,3,4,5不同的face信息,當使能layer層沒有map層信息時,不同layer層的mode、width、height、depth、border、inte_format、format、type相同,base不同;當使能layer并使能map層時的mode、width、height、depth、border、inte_format、format、type相同,base不同;支持1D、2D、3D、rectangle、cubemap、1D_ARRAY、2D_ARRAY、cubemap_array、2D_multisample、2D_multisample、2D_multisample_array模式下的寄存器配置;

LOD U1單元:完成對不同濾波模式下的level值計算,結合訪問target地址得到訪問image單元的地址;在計算level值之前,首先需要通過target和base_level值為level0讀取image單元,獲得image的基本信息作為后續level計算時的參考,然后level值的計算考慮兩種情況:當使能lod時,如果image為layer模式,此時,不同層的width、height信息相等,無論濾波模式為mag_filter還是min_filter,都取整取最靠近base_level方向的一個level值為level0讀取image信息的offset,而filter_type大小與請求的濾波大小相匹配;當使能lod時,如果image為mipmap模式,此時,不同層的width、height、depth不相等,考慮mag_filter在near和linear模式下取整取最靠近base_level值讀取image信息的offset,考慮min_filter模式下near、linear、near_mipmap_near、linear_mipmap_near取最不靠近base_level值為level0讀取image的offset,而filter_type分別和請求的濾波模式相匹配,考慮min_filter在near_mipmap_linear、linear_mipmap_linear模式下取整取臨近的兩層作為讀取image信息的offset,ratio_l為lod值減去level值的小數部分,此時稱為lod的整數部分為level0,level0加1為level1,如果lod值為min_lod,此時level0與level1相同,所以取fiter_type分別為near_mipmap_near和linear_mipmap_near濾波;同理,當使能偏導數作為lod時,按照raster傳遞過來的圖元類型primitive、dux、duy、dvx、dvy、dwx、dwy、delt_x、delt_y,分為polygon/point和line兩種情況,分別計算得到polygon/point和line的lod,如果image為layer模式,此時,不同層的width、height信息相等,無論濾波模式為mag_filter還是min_filter,都取整取最靠近base_level方向的一個level值為level0讀取image信息的offset,而filter_type大小與請求的濾波大小相匹配;如果image為mipmap模式,此時,不同層的width、height、depth不相等,考慮mag_filter在near和linear模式下取整取最靠近base_level值讀取image信息的offset,考慮min_filter模式下near、linear、near_mipmap_near、linear_mipmap_near取最不靠近base_level值為level0讀取image的offset,而filter_type分別和請求的濾波模式相匹配,考慮min_filter在near_mipmap_linear、linear_mipmap_linear模式下取整取臨近的兩層作為讀取image信息的offset,ratio_l為lod值減去level值的小數部分,此時稱為lod的整數部分為level0,level0加1為level1,如果lod值為min_lod,此時level0與level1相同,所以取fiter_type分別為near_mipmap_near和linear_mipmap_near濾波;如果使能了level0和level1,則考慮為trilinear濾波方式,有以下濾波方式:trilinear isotropic(near_mipmap_linear、linear_mipmap_linear)、trilinear anisotropic;如果只有level0有效,有以下濾波方式:point isotropic(near、near_mipmap_near)、bilinear isotropic(linear、linear_mipmap_near)、bilinear anisotropic;

CoordinateU2單元:完成對fetch、sampler模式下的s、t、r、q的坐標、地址轉換;當使能cubemap_array時,此時的Q坐標不為0,表示layer行號,s、t、r分別表示x,y,z方向上的大小,通過映射關系得到平面坐標內的s、t坐標;當使能rectangle模式,此時的s、t坐標不需要進行解歸一化處理;如果s、t、r坐標超出了各自的表示范圍,采用不同的wrap模式對坐標進行約束;當使能level0和level1時,從image單元得到level0和level1各自的width、height、depth值,分別與s、t、r相乘,得到解歸一化后的紋理坐標u0,v0,w0和u1,v1,w1,當只有level0有效時,從image單元得到level0的width、height、depth值,分別與s、t、r相乘,得到解歸一化后的紋理坐標u0,v0,w0;此時的ratio_u0、ratio_v0、ratio_w0分別為u0、v0、w0的小數部分,ratio_u1、ratio_v1、ratio_w1分別為u1、v1、w1的小數部分,inte_u0,inte_v0,inte_w0分別為u0、v0、w0的整數部分,inte_u1,inte_v1,inte_w1分別為u1、v1、w1的整數部分;執行wrap操作時,如果image內容中的borde值有值,并且此時地址已經溢出,此時disable請求紋素,并使能border_color值作為最終pixel階段的輸入;

Coordinate controller U3單元:當使能level0和level1時,filter_type為point模式時,mode為1D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinatebufferu1的數據為inte_u1;mode為2D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferv0的數據為inte_v0;寫入coordinate bufferu1的數據為inte_u1,寫入coordinate bufferv1的整數部分為inte_v1;mode為3D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferv0的數據為inte_v0,寫入coordinatebufferw0的數據為inte_w0,寫入coordinate bufferu1的數據為inte_u1,寫入coordinatebufferv1的數據為inte_v1,寫入coordinatew1的數據為inte_w1;filter_type為linear模式時,mode為1D時,寫入coordinate bufferu1的數據為inte_u1,寫入coordinatebufferu1的數據為inte_u1+1;寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferu0的數據為inte_u0+1;mode為2D時,寫入coordinate bufferu0、coordinate bufferv0的數據依次為:(inte_u0,inte_v0)、(inte_u0+1,inte_v0)、(inte_u0,inte_v0+1)、(inte_u0+1,inte_v0+1);寫入coordinate bufferu1、coordinatebufferv1的數據依次為:(inte_u1,inte_v1)、(inte_u1+1,inte_v1)、(inte_u1,inte_v1+1)、(inte_u1+1,inte_v1+1);mode為3D時,寫入coordinate bufferu0、coordinatebufferv0、coordinate bufferw0的數據依次為:(inte_u0,inte_v0,inte_w0)、(inte_u0+1,inte_v0,inte_w0)、(inte_u0,inte_v0+1,inte_w0)、(inte_u0+1,inte_v0+1,inte_w0)、(inte_u0,inte_v0,inte_w0+1)、(inte_u0+1,inte_v0,inte_w0+1)、(inte_u0,inte_v0+1,inte_w0+1)、(inte_u0+1,inte_v0+1,inte_w0+1);寫入coordinate bufferu1、coordinatebufferv1、coordinate bufferw1的數據依次為:(inte_u1,inte_v1,inte_w1)、(inte_u1+1,inte_v1,inte_w1)、(inte_u1,inte_v1+1,inte_w1)、(inte_u1+1,inte_v1+1,inte_w1)、(inte_u1,inte_v1,inte_w1+1)、(inte_u1+1,inte_v1,inte_w1+1)、(inte_u1,inte_v1+1,inte_w1+1)、(inte_u1+1,inte_v1+1,inte_w1+1);當使能level0時,filter_type為point模式時,mode為1D時,寫入coordinate bufferu0的數據為inte_u0;mode為2D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferv0的數據為inte_v0;mode為3D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferv0的數據為inte_v0,寫入coordinate bufferw0的數據為inte_w0;filter_type為linear模式時,mode為1D時,寫入coordinate bufferu0的數據為inte_u0,寫入coordinate bufferu0的數據為inte_u0+1;mode為2D時,寫入coordinate bufferu0、coordinate bufferv0的數據依次為:(inte_u0,inte_v0)、(inte_u0+1,inte_v0)、(inte_u0,inte_v0+1)、(inte_u0+1,inte_v0+1);mode為3D時,寫入coordinate bufferu0、coordinate bufferv0、coordinatebufferw0的數據依次為:(inte_u0,inte_v0,inte_w0)、(inte_u0+1,inte_v0,inte_w0)、(inte_u0,inte_v0+1,inte_w0)、(inte_u0+1,inte_v0+1,inte_w0)、(inte_u0,inte_v0,inte_w0+1)、(inte_u0+1,inte_v0,inte_w0+1)、(inte_u0,inte_v0+1,inte_w0+1)、(inte_u0+1,inte_v0+1,inte_w0+1)。

address controller U4單元:首先完成紋理坐標到紋理偏移地址的計算;對于level0有效時,mode為1D,在地址計算沒有溢出時的偏移量為size*u0;mode為2D,在地址計算沒有溢出時的偏移量為size*(width0*u0+v0);mode為3D,在地址計算沒有溢出時的偏移量為size*(width0*u0+v0)+w0*width0*height0;得到最終訪問texel cache的地址為base0+偏移量。然后根據偏移量的末尾與4字節對齊方式,得到不同inte_format條件下的地址個數,并將末尾數據保存于offset0 buffer中;由于level1無效,所以請求texel cache時,按照雙buffer操作方式,奇數個地址請求texel cache地址訪問cache0,偶數個地址請求訪問cache1,實現地址的并行性訪問。對于level0和level1均有效時,mode為1D,在地址計算沒有溢出時的偏移量為size*u0,size*u1;mode為2D,在地址計算沒有溢出時的偏移量為size*(width0*u0+v0),size*(width1*u1+v1);mode為3D,在地址計算沒有溢出時的偏移量為size*(width0*u0+v0)+w0*width0*height0,size*(width1*u1+v1)+w1*width1*height1。得到最終訪問texel cache的地址為base0+level0偏移量,base1+level1偏移量。此時,并行請求cache0和cache1。

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華夏芯(北京)通用處理器技術有限公司,未經華夏芯(北京)通用處理器技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/201910495890.0/1.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖流程工藝圖技術構造圖

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: **毛片在线免费观看| 538在线一区二区精品国产| 欧美日韩精品不卡一区二区三区 | 亚洲**毛茸茸| 国产精品一区二区日韩新区 | 四虎国产精品永久在线| 91视频国产一区| 91丝袜国产在线播放| 91午夜在线| 欧美一区二区三区视频在线观看| 国产一区二区电影在线观看| 91亚洲国产在人线播放午夜| 四虎国产精品永久在线国在线| 久久久综合亚洲91久久98| 日韩av电影手机在线观看| 日韩不卡毛片| 鲁丝一区二区三区免费| www.久久精品视频| 国产精品黑色丝袜的老师| 日本一区二区三区中文字幕 | 精品久久小视频| 久久中文一区二区| 野花社区不卡一卡二| 久久国产精品网站| 精品中文久久| 国产精品日韩在线观看| 国内精品久久久久影院日本| 精品国产一区二区三区麻豆免费观看完整版 | 一区二区久久精品66国产精品| 久久久久久久亚洲国产精品87| 99精品小视频| 国产精品一卡二卡在线观看| 国产精品高潮呻| 性xxxxfreexxxxx交| 国产日韩精品一区二区| 午夜免费一级片| 精品无码久久久久国产| 精品国产一区二区三区国产馆杂枝| 亚洲欧洲日本在线观看| 国产真实乱偷精品视频免| 国产乱码一区二区| 粉嫩久久久久久久极品| 亚洲精品一区中文字幕| 性old老妇做受| 狠狠色狠狠色合久久伊人| 制服丝袜视频一区| 夜夜精品视频一区二区 | 日韩一区二区精品| 免费a级毛片18以上观看精品| 欧美日韩中文字幕一区| 91丝袜国产在线播放| 2018亚洲巨乳在线观看| 日韩区欧美久久久无人区| 欧美黄色片一区二区| 国产乱码精品一区二区三区中文| 久久九九亚洲| 久久99精品一区二区三区| 国产精品日韩精品欧美精品| 欧美日韩国产精品一区二区亚洲| 日韩中文字幕亚洲精品欧美| 国产伦精品一区二区三区免| 亚洲三区在线| 国产一级大片| 自拍偷在线精品自拍偷无码专区| 国产乱了高清露脸对白| 国产伦精品一区二| 欧美极品少妇xx高潮| 91精品视频在线观看免费| 国产在线视频二区| 亚洲女人av久久天堂| 国产一区二区三区中文字幕| 欧美在线视频二区| 国产91精品高清一区二区三区| 国产精品69久久久| 国产精品一级片在线观看| 亚洲乱视频| 日韩精品少妇一区二区在线看| 国产精品免费一区二区区| 国产精品久久国产精品99| 91精品国产综合久久婷婷香| 91精品啪在线观看国产| 99久久免费精品国产男女性高好|