Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • panfrost/mesa
  • lima/mesa
  • anarsoul/mesa
  • mesa/mesa
  • kwg/mesa
  • curan/mesa
  • kusma/mesa
  • gfxstrand/mesa
  • ajax/mesa
  • FireBurn/mesa
  • bnieuwenhuizen/mesa
  • tarceri/mesa
  • chuckatkins/mesa
  • cmarcelo/mesa
  • anholt/mesa
  • rantogno/mesa
  • gerddie/mesa
  • keithp/mesa
  • chema/mesa
  • airlied/mesa
  • majanes/mesa
  • craftyguy/mesa
  • gurchetansingh/mesa
  • mvicomoya/mesa
  • kallisti5/mesa
  • bochecha/mesa
  • pauk.denis/mesa
  • dbaker/mesa
  • krh/mesa
  • jasuarez/mesa
  • sagarghuge/mesa
  • ofourdan/mesa
  • ickle/mesa
  • zzoon/mesa
  • Keenuts/mesa
  • tpohjola/mesa
  • velurimithun/mesa
  • cwabbott0/mesa
  • Richard_Yunchao/mesa
  • bkmgit/mesa
  • sima/mesa
  • GL/mesa
  • frkoenig/mesa
  • adelva1984/mesa
  • linyaa/mesa
  • slavslav/mesa
  • daniels/mesa
  • rellla/mesa
  • hakzsam/mesa
  • lyudess/panfrost-mesa
  • narmstrong/mesa-lima
  • robertfoss/mesa
  • nh/mesa
  • carlosg/mesa
  • jvesely/mesa
  • xlin16/mesa
  • narmstrong/panfrost-mesa
  • narmstrong/mesa
  • david.hanna11/mesa
  • idr/mesa
  • jljusten/mesa
  • antonovitch/mesa
  • arnomessiaen/mesa
  • mattst88/mesa
  • tpalli/mesa
  • mmha/mesa
  • llandwerlin/mesa
  • zumbi/mesa
  • rhyskidd/mesa
  • vlee/mesa
  • pmoreau/mesa
  • coypoop/mesa
  • jturney/mesa
  • strassek/mesa
  • olv/mesa
  • flto/mesa
  • iglosiggio/mesa
  • frohlich/mesa
  • karolherbst/mesa
  • elima/mesa
  • AtoningUnifex/mesa
  • tlonnber/mesa
  • samuelig/mesa
  • apinheiro/mesa
  • sjoerd/mesa
  • ahota/mesa
  • robh/mesa
  • daniel-schuermann/mesa
  • alistair23/mesa
  • linkmauve/mesa
  • elongbug/mesa
  • Haxk20/mesa
  • bartoldeman/mesa
  • daenzer/mesa
  • tjaalton/mesa
  • dhewg/mesa
  • Venemo/mesa
  • alyssa/mesa
  • Hi-Angel/mesa
  • carnaval/mesa
  • victure86/mesa
  • robclark/mesa
  • Vivek/mesa
  • tutankhamen/mesa
  • hopetech/mesa
  • marmeladema/mesa
  • ibriano/mesa
  • tanty/mesa
  • Oschowa/mesa
  • nroberts/mesa
  • zhanglei002/mesa
  • pal1000/mesa
  • xxxbxxx/mesa
  • lyudess/mesa
  • bentiss/mesa
  • afrantzis/mesa
  • yuq825/mesa
  • jamesxio/mesa
  • lkundrak/mesa
  • aphogat/mesa
  • ZeGentzy/mesa
  • aqxa1/mesa
  • mareko/mesa
  • austriancoder/mesa
  • jrtc27/mesa
  • skirk/mesa
  • grmat/mesa
  • heinrich.fink/mesa
  • el_christianito/mesa
  • davidriley/mesa
  • starnight/mesa
  • davidbepo/mesa
  • pendingchaos/mesa
  • icenowy/mesa
  • dominikd/mesa
  • zmike/mesa
  • tzimmermann/mesa
  • enunes/mesa
  • noblock/mesa
  • pzanoni/mesa
  • hygonsoc/mesa
  • lrusak/mesa
  • cap/mesa
  • pepp/mesa
  • axeldavy/mesa
  • domen55/mesa
  • john.stultz/mesa
  • jadahl/mesa
  • 10110111/mesa
  • alexvillacislasso/mesa
  • jzielins/mesa
  • pmanolova/mesa
  • nicholasbishop/mesa
  • david.boddie.puri.sm/mesa
  • agx/mesa
  • krzysztof.raszkowski/mesa
  • KhaledEmaraDev/mesa
  • itoral/mesa
  • shadeslayer/mesa
  • kszaq/mesa
  • haihao/mesa
  • wanderman.luck/mesa
  • Chunming-Zhou/mesa
  • emersion/mesa
  • agoldmints/mesa
  • marex/mesa
  • renchenglei/mesa
  • dbehr/mesa
  • zhen/mesa
  • ndufresne/mesa
  • abergmeier/mesa
  • grimkriegor/mesa
  • dlehman25/mesa
  • mmenzyns/mesa
  • jorgenatz/mesa
  • lostgoat/mesa
  • xexaxo/mesa
  • lynxeye/mesa
  • roman.stratiienko/mesa
  • brianp/mesa
  • Ericson2314/mesa
  • lfrb/mesa
  • dongwonk/mesa
  • pH5/mesa
  • q66/mesa
  • lepton/mesa
  • nia/mesa
  • AmanPatel599/mesa
  • currojerez/mesa
  • mol/mesa
  • danyspin97/mesa
  • zeising/mesa
  • mvlad/mesa
  • ssbertilson/mesa
  • Tofe/mesa
  • tomeu/mesa
  • kenmays/mesa
  • smbarber/mesa
  • dgstevens/mesa
  • YaLTeR/mesa
  • issor.oruam/mesa
  • cubanismo/mesa
  • bnf/mesa
  • libcg/mesa
  • bbrezillon/mesa
  • y2kenny/mesa
  • leandrohrb/mesa
  • psii/mesa
  • maos20008/mesa
  • MarijnS95/mesa
  • urjaman/mesa
  • banzr/mesa
  • rmader/mesa
  • daniels-test/mesa
  • thongthai/mesa
  • leoliu/mesa
  • baryluk/mesa
  • macieksolinski49/mesa
  • shikhar394/mesa
  • awatry/mesa
  • lordheavym/mesa
  • degasus/mesa
  • rg3igalia/mesa
  • miguelecasassanchez/mesa
  • italonicola/mesa
  • luis.mendes/mesa
  • bcrocker/mesa
  • pcercuei/mesa
  • Ikke/mesa
  • pelwell/mesa
  • John-Gee/mesa
  • Plagman/mesa
  • liyi42/mesa
  • Behem0th/mesa
  • kraj/mesa
  • abordado/mesa
  • romangg/mesa
  • sonny/mesa
  • ruanc/mesa
  • icecream95/mesa
  • tpyra/mesa
  • mariogrip/mesa
  • avdgrinten/mesa
  • Stephan/mesa
  • imbens/mesa
  • dh/mesa
  • stev47/mesa
  • haasn/mesa
  • RaspberryPiFan/mesa
  • sthibaul/mesa
  • zahraee.sm/mesa
  • brkho/mesa
  • lemon.py/mesa
  • sonicadvance1/mesa
  • Lasse/mesa
  • zhangjie/mesa
  • djogorchock/mesa
  • ShirishS/mesa
  • zhuravlev1134/mesa
  • castout/mesa
  • martin.fuzzey/mesa
  • idas/mesa
  • apesch/mesa
  • ngcortes/mesa
  • manu/mesa
  • JAYL/mesa
  • neochapay/mesa
  • w-flo/mesa
  • timkrause/mesa
  • ddavenport/mesa
  • thomash/mesa
  • andrzejuk.szymon/mesa
  • bkuhls/mesa
  • julianwi/mesa
  • aroth-fastprotect/mesa
  • DadSchoorse/mesa
  • berolinux/mesa
  • charmainel/mesa
  • shawn.p.huang/mesa
  • paska/mesa
  • hjl.tools/mesa
  • sroland/mesa
  • aacid/mesa
  • frog/mesa
  • scott-ph/mesa
  • awilfox/mesa
  • nyanmisaka/mesa
  • stalkerg/mesa
  • Cwiiis/mesa
  • imirkin/mesa
  • Bizjak/mesa
  • psreport/mesa
  • duncan.hopkins/mesa
  • maxice8/mesa
  • orbea/mesa
  • eschwartz/mesa
  • edmondo/mesa
  • jrfonseca/mesa
  • bbarladian/mesa
  • bhenden/mesa
  • alucowie/mesa
  • RAOF/mesa
  • leigh123linux/mesa
  • gtucker/mesa
  • LouisLi/mesa
  • sjnewbury/mesa
  • saavedra.pablo/mesa
  • ascent/mesa
  • wyqkp/mesa
  • Shao-Feng/mesa
  • jzhums/mesa
  • plevine457/mesa
  • tobiasjakobi/mesa
  • jpalus/mesa
  • yuzaipiaofei/mesa
  • jenatali/mesa
  • abhishek4/mesa
  • njha/mesa
  • konradybcio/mesa
  • mslusarz/mesa
  • fents290/mesa
  • edb/mesa
  • chewitt/mesa
  • ckolivas/mesa
  • blaztinn/mesa
  • cooperch/mesa
  • hikiko/mesa
  • adityaatluri/mesa
  • AniLeo/mesa
  • JibbityJobbity/mesa
  • rashedabdeltawab/mesa
  • ashafer/mesa
  • cme3000/mesa
  • farnoy/mesa
  • asheplyakov/mesa
  • kjliew/mesa
  • hanno/mesa
  • mikeroyal/mesa
  • ssingh/mesa
  • vitalyp/mesa
  • jpark37/mesa
  • mkasprza/mesa
  • WGH/mesa
  • mtmkls/mesa
  • vliaskov/mesa
  • kleinerm/mesa
  • hafixo/mesa
  • SureshG/mesa
  • mntmn/mesa
  • jbeich/mesa
  • yaongtime/mesa
  • xdontwox/mesa
  • jsg/mesa
  • EasyIP2023/mesa
  • Satyajit/mesa
  • jmunhoz/mesa
  • luigi.santivetti/mesa
  • italove/mesa
  • shawnguo/mesa
  • ricardoquesada/mesa
  • bcheng/mesa
  • Fahien/mesa
  • chrisf/mesa
  • alexhenrie/mesa
  • Yaong/mesa
  • gtskhadadze83/mesa
  • brightclark/mesa
  • gongmingqing/mesa
  • chturne/mesa
  • fjdegroo/mesa
  • dwg/mesa
  • hattrickcr7/mesa
  • Corngood/mesa
  • ccallawa/mesa
  • nh2/mesa
  • neobrain/mesa
  • yogeshmohan/mesa
  • felixonmars/mesa
  • hch12907/mesa
  • kode54/mesa
  • Sudland/mesa
  • woodychow/mesa
  • pichika/mesa
  • jschueller/mesa
  • tagr/mesa
  • Yang/mesa
  • ChaojiangLuo/mesa
  • vivekvpandya/mesa
  • yshui/mesa
  • av.linux.dev/mesa
  • DPA/mesa
  • m.tretter/mesa
  • mcoffin/mesa
  • johnkeeping/mesa
  • zhuyong/mesa
  • wareyang/mesa
  • jbates/mesa
  • boyzhang/mesa
  • padovan/mesa
  • xxmitsu/mesa
  • skarczew/mesa
  • alimon/mesa
  • RavenGSD/mesa
  • tguillem/mesa
  • mupuf/mesa
  • rui/mesa
  • ryanneph/mesa
  • Igortorrente/mesa
  • randrianasulu/mesa
  • dmrlawson/mesa
  • Jsn2win/mesa
  • krupatel/mesa
  • sahouston/mesa
  • tangm/mesa
  • qarmin/mesa
  • alex.kanavin/mesa
  • johnbradstreet/mesa
  • igor.v.kovalenko/mesa
  • OnikenX/mesa
  • martell/mesa
  • themaister/mesa
  • BranDougherty/mesa
  • MJDSys/mesa
  • segfaultxavi/mesa
  • pleath/mesa
  • tongwang-en/mesa
  • ptt-en/mesa
  • JoelLinn/mesa
  • Danil/mesa
  • theogen/mesa
  • luigifcruz/mesa
  • chenli/mesa
  • vjaquez/mesa
  • apopple/mesa
  • theozzhh79/mesa
  • BryanQuigley/mesa
  • rroohhh/mesa
  • caramelli/mesa
  • mforney/mesa
  • yannik/mesa
  • twoerner/mesa
  • zhangguoqing.kernel/mesa
  • swartzlib7/mesa
  • sergey042011/mesa
  • nicuborta123/mesa
  • lyintel/mesa
  • q4a/mesa-panfrost
  • q4a/mesa
  • alexander.kapshuk/mesa
  • stephane.marchesin/mesa
  • jeremyhu/mesa
  • bl4ckb0ne/mesa
  • geecandrey/mesa
  • wenxiaoming/mesa
  • billkris.ms/mesa
  • ella/mesa
  • luporl/mesa
  • danielzgtg/mesa
  • frediz/mesa
  • lubosz/mesa
  • gio/mesa
  • rsmith/mesa
  • neo.tzion/mesa
  • pundiramit/mesa
  • zongzi13545329/mesa
  • Mic92/mesa
  • mwnn/mesa
  • tamara-schmitz/mesa
  • luckyxxl/mesa
  • jcline/mesa
  • akihiko.odaki/mesa
  • yugang/mesa
  • lljgithub/mesa
  • leeball/mesa
  • dianders/mesa
  • tina/mesa
  • jschwartzentruber/mesa
  • maccraft/mesa
  • vsyrjala/mesa
  • timothee.chabat/mesa
  • adirat/mesa
  • egalli/mesa
  • zhenhanintel/mesa
  • ccrtnsp/mesa
  • tintou/mesa
  • mhenning/mesa
  • blaws05/mesa
  • Zamundaaa/mesa
  • retrooper/mesa
  • ernstp/mesa
  • xoddark/mesa
  • ericonr/mesa
  • axylp/mesa
  • Edgeworth/mesa
  • siyueyinghua/mesa
  • asahi/mesa
  • JN-Chen/mesa
  • alshi-msft/mesa
  • williamvds/mesa
  • kupper.pa/mesa
  • A-w-x/mesa
  • Lucretia/mesa
  • shannonliu011/mesa
  • bastianbeischer/mesa
  • CosineMath/mesa
  • zzyiwei/mesa
  • lucmann/mesa
  • spronovo/mesa
  • xgupta/mesa
  • oldherl/mesa
  • ezequielgarcia/mesa
  • mercuriete/mesa
  • lumag/mesa
  • msisov/mesa
  • jialina/mesa
  • Zakhrov/mesa
  • hexin.op/mesa
  • FrostKiwi/mesa
  • PaulKocialkowski/mesa
  • flightlessmango/mesa
  • arkamar/mesa
  • khfeng/mesa
  • mrisaacb/mesa
  • zhangxiaolin.a/mesa
  • chivay/mesa
  • Daft-Freak/mesa
  • iemaghni/mesa
  • amonakov/mesa
  • zhaofengli/mesa
  • mwalle/mesa
  • marcan/mesa
  • davidedmundson/mesa
  • qihangkong/mesa
  • philn/mesa
  • lfelipe/mesa
  • Mystro256/mesa
  • wicastC/mesa
  • Gofman/mesa
  • nurmukhametov/mesa
  • ishitatsuyuki/mesa
  • phomes/mesa
  • AlexZ/mesa
  • Ermine/mesa
  • mwen/mesa
  • zboszor/mesa
  • Tooniis/mesa
  • lorenz/mesa
  • tantan/mesa
  • liamwhite/mesa
  • dyang23/mesa
  • aswarup/mesa
  • shengyao/mesa
  • zhuyl/mesa
  • bvarner/mesa
  • jeff_shuai/mesa
  • jpewhacker/mesa
  • suijingfeng/mesa
  • svenny/mesa
  • xantares/mesa
  • nicuborta/mesa
  • rakko/mesa
  • WangChuan/mesa
  • thomas.wagner/mesa
  • janjanmostafa8/mesa
  • gallo/mesa
  • gh6h56j85ihg/mesa
  • quantum/mesa
  • liuyujun/mesa
  • edman007/mesa
  • mattvchandler/mesa
  • ebaker/mesa
  • mherrb/mesa
  • alxu/mesa
  • mikezackles/mesa
  • ArvindYadav/mesa-amd
  • satmandu/mesa
  • gdevi/mesa
  • gawin/mesa
  • rbrune/mesa
  • mwezdeck/mesa
  • derekf/mesa
  • amos/mesa
  • sadlerap/mesa
  • kbrenneman/mesa
  • augustin.zidek/mesa
  • arichardson/mesa
  • jasberc/mesa
  • Pokechu22/mesa
  • h0tc0d3/mesa
  • HayashiEsme/mesa
  • Lone_Wolf/mesa
  • maniraj87/mesa
  • bbeckett/mesa
  • scholzi1980/mesa
  • ssidhart/mesa
  • mstoeckl/mesa
  • shanshengwang/mesa
  • lukvec27/mesa
  • cristicc/mesa
  • autumnontape/mesa
  • smcv/mesa
  • elmarco/mesa
  • jchen10/mesa
  • rbernon/mesa
  • Cherser-s/mesa
  • mhillenbrand/mesa
  • t.clastres/mesa
  • jxzgithub/mesa
  • Daasin/mesa-bak
  • JoseExposito/mesa
  • stefandoesinger/mesa
  • lygstate/mesa
  • larumbe/mesa
  • renatopereyra/mesa
  • raininggibs/mesa
  • sin3point14/mesa
  • chris8136393/mesa
  • microlinux/mesa
  • Markus-included/mesa
  • Jason2013/mesa
  • xndcn/mesa
  • ryan.krattiger/mesa
  • badsector/mesa
  • hamarb123/mesa
  • frankbinns/mesa
  • yulang/mesa
  • mmp.dux/mesa
  • charles-lunarg/mesa
  • gt23263tq/mesa
  • KonstantinSeurer/mesa
  • ondracka/mesa
  • biju.das.au/mesa
  • apauk/mesa
  • zwuj/mesa
  • samael/mesa
  • croberts81/mesa
  • nanokatze/mesa
  • kwk/mesa
  • StefanBruens/mesa
  • parasyte/mesa
  • kvark/mesa
  • longxin2019/mesa
  • jorcrous/mesa
  • igor.torrente/mesa
  • AidoP/mesa
  • shmerl/mesa
  • preda/mesa
  • andrey-konovalov/mesa
  • peterh/mesa
  • otaviobp/mesa
  • zeekim/mesa
  • vkoul/mesa
  • bigon/mesa
  • 5l8yj2lv/mesa
  • alatiera/mesa
  • cvurdige/chandan-mesa
  • jesse.zhang/mesa
  • MTCoster/mesa
  • digetx/mesa
  • gbelgurr/mesa
  • akien/mesa
  • tales-aparecida/mesa
  • jocelyn/mesa
  • helen.fornazier/mesa
  • wingdeans/mesa
  • superm1/mesa
  • justsid/mesa
  • mallemsalam/mesa
  • rajnesh-kanwal/mesa
  • illiliti/mesa
  • ghishadow/mesa
  • YusufKhan-gamedev/mesa
  • jbillingsley/mesa
  • illwieckz/mesa
  • sergi/mesa
  • jevolk/mesa
  • arunpravin24/mesa
  • jeffk/mesa
  • bkylerussell/mesa
  • jjjighg/mesa
  • Ken2022/mesa
  • skywing/mesa
  • sharny/mesa
  • vitorhnn/mesa
  • a-wai/mesa
  • xperia64/mesa
  • yuesOctober/mesa
  • nouveau/mesa
  • zzag/mesa
  • yurikoles/mesa
  • dawnhan/mesa
  • garnet/mesa
  • andrescj-chromium/mesa
  • aleasto/mesa
  • zhangn1985/mesa
  • fangbaohui/mesa
  • tiago.shibata/mesa
  • flynnjiang/mesa
  • dikidiki26138/mesa
  • bnagappa/mesa
  • zhoubm/mesa
  • wuwh91/mesa
  • chandupokuru/mesa
  • JoniSt/mesa
  • pixelcluster/mesa
  • kuove/mesa
  • asahilina/mesa
  • evelez/mesa
  • skeller/mesa
  • limingchina1/mesa
  • panos-lunarg/mesa
  • zehortigoza/mesa
  • i509VCB/mesa
  • bigbear1385/mesa
  • tbettler/mesa
  • skyostil/mesa
  • Soroush/mesa
  • newbluemoon/mesa
  • jdtatz/mesa
  • chuansheng/mesa
  • jjun.9523/mesa
  • kai/mesa
  • jheaff1/mesa
  • TSnake41/mesa
  • flakylawww/mesa
  • alexfanqi/mesa
  • dakr/mesa
  • TheSpydog/mesa
  • ikshwaku.chauhan_amd/ikshwaku-mesa
  • justonli/mesa
  • Frogging101/mesa
  • sarojk/mesa
  • sjfricke/mesa
  • PixelyIon/mesa
  • adolfintel/mesa
  • vikramsingh0204/mesa
  • riteo/mesa
  • xphillyx/mesa
  • markboth/mesa
  • MaxKellermann/mesa
  • bitstreamout/mesa-fork
  • kg233/mesa-rkuixi-fork
  • zhililab/mesa
  • isinyaaa/mesa
  • swick/mesa
  • JeremyRand/mesa
  • thomas.devoogdt/mesa
  • Thaodan/mesa
  • delphij/mesa
  • zhanglianjie-163/mesa
  • d.ivo/mesa
  • os369510/mesa
  • shanep/mesa
  • alikates/mesa
  • Smokey365/mesa
  • nanotwerp/nanomesa
  • Beyley/mesa-glide
  • semjon00/mesa
  • andri/mesa
  • jadeja14890/mesa
  • bydavenet/mesa
  • mainiomano/mesa
  • flibitijibibo/mesa
  • endlesspring/mesa
  • kulikjak/mesa
  • lun/mesa
  • RandomShaper/mesa
  • georgeouzou/mesa
  • christophe-lunarg/mesa
  • Reiver/mesa
  • morphis/mesa
  • fvogt/mesa
  • Erdroy/mesa
  • antmonteiro/mesa
  • deathmist/mesa
  • michaelonchrome/mesa
  • sukhatri/mesa-sukhatri
  • tommydrum/mesa
  • jenneron/mesa
  • momo666750/mesa
  • antoniospg100/mesa
  • noah1510/mesa
  • mairacanal/mesa
  • rmckeever/mesa
  • jfoxwoosh/mesa
  • Triang3l/mesa
  • marysaka/mesa
  • morrisoncave56/mesa
  • MayeulC/mesa
  • himanshu.nayak/mesa-him
  • 8infy/mesa
  • ayaka/mesa
  • Chiitoo/mesa
  • jkqxz/mesa
  • zxs-un/mesa-riscv
  • zxs-un/mesa
  • pyuan/mesa
  • GermanAizek/mesa
  • StaticRocket/mesa
  • dwlsalmeida/mesa
  • heftig/mesa
  • mgorny/mesa
  • WebsterEndymion/mesa
  • qyliss/mesa
  • stilriv/mesa
  • zzcc231/mesa
  • davidwu2/mesa
  • iaguis/mesa
  • evan.quan/mesa
  • martty/mesa
  • nowrep/mesa
  • osy/mesa
  • Azedin1111/mesa
  • Quipyowert2/mesa
  • nihui/mesa
  • libyahhh519/mesa
  • filip.binkiewicz/mesa
  • Jing/mesa
  • ilikerackmounts/mesa
  • EmperorPenguin18/mesa
  • yixie/mesa
  • gustafullberg/mesa
  • etaash.mathamsetty/mesa
  • hongaoo/mesa
  • hlinander/mesa
  • crab2313/mesa
  • msahastr/mesa
  • driver1998/mesa
  • amber/mesa
  • CounterPillow/mesa
  • shangyatsen/mesa
  • rosefromthedead/mesa
  • ItzSwirlz/mesa
  • kwizart/mesa
  • sobkas/mesa
  • timvp/mesa
  • philipl/mesa
  • turol/mesa
  • antonino/mesa
  • valpackett/mesa
  • X547/mesa
  • alanc/mesa
  • soonray8989/mesa
  • xxlxng25/mesa
  • mivanchev/mesa
  • wangxiaoming321/mesa
  • yangyangdaji/mesa
  • atmitch75/mesa
  • Hazematman/mesa
  • gfx-ci-bot/mesa
  • zaps166/mesa
  • CFSworks/mesa
  • lynne/mesa
  • lorn10/mesa
  • MrPurple666/mesa
  • pino/mesa
  • ccawley2011/mesa
  • lukeyyyy/mesa
  • maririn312/mesa
  • mohamexiety/mesa
  • chenrui/mesa
  • gmitrano/mesa
  • ndeshpan/mesa
  • cheako/mesa
  • xzhan34/mesa
  • heitbaum/mesa
  • LunaFoxgirlVT/mesa
  • tengjinchung/mesa
  • wujiangGitHub/mesa
  • K900/mesa
  • lb90/mesa
  • DodoGTA/mesa-nvk
  • moiman/mesa
  • Rui511/mesa
  • andrealmeid/mesa
  • Macdu/mesa
  • raun/mesa
  • jannau/mesa
  • ouchuan/mesa
  • jdknight/mesa
  • weibinwu/mesa
  • davidre/mesa
  • fcui/mesa
  • rawoul/mesa
  • stolk/mesa
  • alan_previn_intel/mesa-alan-previn-features
  • Yogayaojia/mesa
  • lucaweiss/mesa
  • JiadongZhu/mesa
  • asriniva/mesa
  • nitin.reddy88/mesa
  • Sterophonick/mesa
  • Teddy-Kun/mesa
  • donaldrobson/mesa
  • jide/mesa
  • kkartaltepe/mesa
  • mbouron/mesa
  • pkubaj/mesa
  • nora/mesa
  • dvrogozh1/mesa
  • MrRobbin/mesa
  • Ristovski/mesa
  • veerabadhran/mesa
  • Kiskae/mesa
  • vaishali/mesa
  • gbeatty/mesa
  • doraskayo/mesa
  • benjaminl/mesa
  • Blisto/mesa
  • baikaishiuc/mesa
  • shanminchao/mesa
  • Samsuper/mesa
  • phodina/mesa
  • diederik/mesa
  • adamjoseph/mesa
  • xry111/mesa
  • dburkov05/mesa
  • penguin42/mesa
  • tpambor/mesa
  • stepri/mesa
  • vigneshraman/mesa
  • Julia/mesa
  • bishoman123/mesa
  • rosasco-wk/mesa
  • jani/mesa
  • smaeul/mesa
  • QwertyChouskie/mesa
  • K1ngst0m/mesa
  • conversy/mesa
  • WinLinux1028/mesa-fix
  • Nefsen402/mesa
  • tripzero/mesa
  • max8rr8/mesa
  • MaxVerevkin/mesa
  • BinHani/mesa
  • spencercw/mesa
  • jazzfool/mesa
  • renfeng/mesa
  • 246tnt/mesa
  • twisted89/mesa
  • iyes/mesa
  • krz/mesa
  • Conan_Kudo/mesa
  • kociap/mesa
  • huangrui666/mesa
  • mildsunrise/mesa
  • ids1024/mesa
  • VladSchillerimgtec/mesa
  • zwang20/mesa
  • LaserEyess/mesa
  • carsten.haitzler/mesa
  • doitsujin/mesa
  • fzatlouk/mesa
  • afd/mesa
  • ratatouillemorde/mesa
  • reillybrogan/mesa
  • vanvugt/mesa
  • ralphcampbell/mesa
  • llyyr/mesa
  • amdrexu/mesa
  • oreaus/mesa
  • liucong2/mesa
  • wangra/mesa
  • asuka-mio/mesa
  • slp/mesa
  • vimproved/mesa
  • antco/mesa
  • mtasaka/mesa
  • SoshyuCelia/mesa
  • cheyang/mesa
  • hmann/mesa
  • zfigura/mesa
  • haopiliu/upstream_vpelib
  • Sid127/mesa
  • jwillikers/mesa
  • 6by9/mesa
  • eerii/mesa
  • ElectrodeYT/mesa
  • rilian-la-te/mesa
  • yrlf/mesa
  • sunzhguy/mesa
  • andrewgazizov/mesa
  • nanonyme/mesa
  • lpy/mesa
  • parona/mesa
  • cgbowman/mesa
  • YukariChiba/mesa
  • jexposit/mesa
  • kiroma/mesa
  • theoparis/mesa
  • Tele42/mesa
  • Dudemanguy/mesa
  • blu/mesa
  • myelin/mesa
  • strongtz/mesa
  • detlev.c/mesa
  • MollySophia/mesa
  • dabrain34/mesa
  • jnoorman/mesa
  • leio/mesa
  • Reflux5231/mesa
  • lihongtao/mesa
  • anthony-linaro/mesa
  • tshikaboom/mesa
  • ramenguy99/mesa
  • vhorinek/mesa
  • GKraats/mesa_alu
  • russelltg/mesa
  • rgallaispou/mesa
  • pleasurefish/mesa
  • SupSuper/mesa
  • chaos_princess/mesa
  • chrisduerr/mesa
  • MouriNaruto/mesa
  • absurdistcode/mesa
  • daoxiang.gong/mesa
  • chyyran/mesa
  • Snowiiii/mesa
  • rooq/mesa
  • colinmarc/mesa
  • rpavlik/mesa
  • DarkFire01/mesa
  • VladimirTechMan/mesa
  • Anzel/mesa
  • catvinyl/mesa
  • h0lyalg0rithm/mesa
  • fweimer/mesa
  • Anorak/mesa
  • imagination/mesa
  • javierm/mesa
  • ericsmith/mesa
  • tranquillity-codes/mesa
  • dan.g.tob/mesa
  • ekurzinger/mesa
  • zdobersek/mesa-fork
  • dodger_mink/mesa
  • tursulin/mesa-llandwerlin
  • Vladimir-A/mesa
  • surafel911/mesa
  • thfr/mesa
  • City-busz/mesa
  • dtobolik/mesa
  • sarthakbhatt/mesa
  • Jorropo/mesa
  • rankinc/mesa
  • sushmave/mesa
  • IsaacMarovitz/mesa
  • vnovotny/mesa
  • smit-mayani/mesa
  • Yifan.Zhang/merge-gfx-patch
  • K0bin/mesa
  • qbojj/mesa
  • Valentine/mesa
  • SludgePhD/mesa
  • tong1wu/mesa
  • npopov/mesa
  • alexmrqt/mesa
  • chipitsine/mesa
  • Mstrodl/mesa
  • whot/mesa
  • cmsanta/mesa
  • kaiwenjon/mesa
  • ystreet/mesa
  • sixtyfourktec/mesa
  • yu-re-ka/mesa
  • vorporeal/mesa
  • MischaBaars/mesa
  • peytolee/mesa-radeonsi
  • zack/mesa
  • nadaouf/mesa
  • ahuillet/mesa
  • oscarbg/mesa
  • thsr/mesa
  • JCWasmx86/mesa
  • gonsolo/mesa
  • msizanoen1/mesa
  • subzeroxr3i/mesa
  • NaveenKumar/mesa
  • Civiloid/mesa
  • phreer/mesa
  • amazingfate/mesa
  • zsnow/mesa
  • aperezdc/mesa
  • cepsylon/mesa
  • Pipetto-crypto/mesa
  • yuanqingxiang520/mesa
  • jvutukur/mesa
  • zachary.battleman/mesa
  • ncopa/mesa
  • ao2/mesa
  • e.rosebrock/mesa
  • bbhtt/mesa
  • marvelrenju1/mesa
  • hmtheboy154/mesa
  • asurati/mesa
  • ahokananoevolution/mesa
  • FredFunk/mesa
  • zturtleman/mesa
  • MingcongBai/mesa
  • dbrouwer/mesa
  • wswsmao/mesa
  • dlundqvist/mesa
  • DDoSQc/mesa
  • mahkoh/mesa
  • TimHuang/mesa
  • jeremyg/mesa
  • n3rdopolis/mesa
  • CreativeCylon/mesa
  • rjodin/mesa
  • mastag/mesa
  • alihomafar/mesa
  • smartavionics/mesa
  • esdrastarsis/mesa
  • spottumu/mesa
  • ShenghuaLinINTEL/mesa
  • Calandracas/mesa
  • dougg3/mesa
  • jsimmons1/mesa
  • mcatanzaro/mesa
  • yinjiyao/mesa
  • Zhaojiale/mesa
  • agd5f/mesa
  • Jelgnum/add-RADV_UMR_EXTRA_ARGS-docs
  • jopadan/mesa
  • DeeptiPatil/mesa
  • alvinhochun/mesa
  • ShriramShastry/mesa
  • Jaakkonen/mesa
  • pmenzel/mesa
  • raki-huawei/mesa
  • xen0n/mesa
  • Zer0xFF/mesa
  • twitt-thornwaite/mesa
  • larsivsi/mesa
  • clemy/mesa
  • demarchi/mesa
  • calder/mesa
  • lemonflynn/mesa
  • asrivats/mesa
  • ketil.johnsen/mesa
  • Trigger.Huang/mesa
  • brad0/mesa
  • RussellLiu/mesa
  • quic_lkondred/mesa
  • mombasa/mesa
  • jmacnak/mesa
  • company/mesa
  • jna/mesa
  • utkuiseri-arm/mesa
  • ritalat/mesa
  • dsvensson/mesa
  • jules.blok/mesa
  • Drakulix/mesa
  • iforbes/mesa
  • zhanghe9702/mesa
  • slouken/mesa
  • chihchie/mesa
  • Guy1524/mesa
  • Hust-YL/hust-yl-mesa
  • ziyao233/mesa
  • MegWATTT/mesa
  • genhoayi/mesa
  • me-cafebabe/mesa
  • EBADBEEF/mesa
  • manueldun/mesa
  • xclaesse/mesa
  • chenyche_codegen/mesa
  • lcagustini/mesa
  • jkim/mesa
  • marc-hb/mesa
  • benh/mesa
  • shreeya/mesa
  • vladly/mesa
  • poweif/mesa
  • zeux/mesa
  • whao/mesa
  • Yanfeng-Mi/mesa
  • fuel-pcbox/mesa
  • sewn/mesa
  • JohannesKauffmann/mesa
  • barracuda156/mesa
  • provod/mesa
  • xytovl/mesa
  • dtgs1208/mesa
  • mbrost/mesa-bind-queues
  • fknfilewalker/mesa
  • benjarobin/mesa
  • jameshogan/mesa
  • caciottax86/mesa
  • Gobrosse/mesa
  • runderwo/mesa
  • orowith2os/oro-mesa
  • hnez/mesa
  • gizmo98/mesa-hwdb
  • tjk/mesa
  • sarbes/mesa
  • GabiAle97/mesa-termux
  • ashleysmithcol/mesa
  • SnowyCoder/mesa
  • aswolfers/mesa
1200 results
Show changes
Commits on Source (42)
Showing
with 346 additions and 55 deletions
......@@ -222,7 +222,7 @@ x86_build:
extends:
- .use-x86_build-base
variables:
FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-x86-2"
FDO_DISTRIBUTION_TAG: &x86_build "2020-08-08-glvnd"
.use-x86_build:
variables:
......
......@@ -92,7 +92,7 @@ rm -rf $WAYLAND_PROTOCOLS_VERSION
# The version of libglvnd-dev in debian is too old
# Check this page to see when this local compilation can be dropped in favour of the package:
# https://packages.debian.org/libglvnd-dev
GLVND_VERSION=1.2.0
GLVND_VERSION=1.3.2
wget https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$GLVND_VERSION/libglvnd-v$GLVND_VERSION.tar.gz
tar -xvf libglvnd-v$GLVND_VERSION.tar.gz && rm libglvnd-v$GLVND_VERSION.tar.gz
pushd libglvnd-v$GLVND_VERSION; ./autogen.sh; ./configure; make install; popd
......
......@@ -240,8 +240,8 @@ class UI:
{err}
You can either cancel, or resolve the conflicts, commit the
changes and select ok."""))
You can either cancel, or resolve the conflicts (`git mergetool`), finish the
cherry-pick (`git cherry-pick --continue`) and select ok."""))
can_btn = urwid.Button('Cancel')
urwid.connect_signal(can_btn, 'click', reset_cb)
......
......@@ -527,6 +527,9 @@ RADV driver environment variables
validate the LLVM IR before LLVM compiles the shader
``errors``
display more info about errors
``forcecompress``
Enables DCC,FMASK,CMASK,HTILE in situations where the driver supports it
but normally does not deem it beneficial.
``info``
show GPU-related information
``metashaders``
......
......@@ -589,6 +589,7 @@ The integer capabilities:
* ``PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE``: Whether mapping a buffer as unsynchronized from any thread is safe.
* ``PIPE_CAP_GLSL_ZERO_INIT``: Choose a default zero initialization some glsl variables. If `1`, then all glsl shader variables and gl_FragColor are initialized to zero. If `2`, then shader out variables are not initialized but function out variables are.
* ``PIPE_CAP_BLEND_EQUATION_ADVANCED``: Driver supports blend equation advanced without necessarily supporting FBFETCH.
* ``PIPE_CAP_NIR_ATOMICS_AS_DEREF``: Whether NIR atomics instructions should reference atomics as NIR derefs instead of by indices.
.. _pipe_capf:
......
......@@ -51,7 +51,7 @@ Configuration macro:
Max registerable TSS dtor number.
*/
// XXX: Retain XP compatability
// XXX: Retain XP compatibility
#if 0
#if _WIN32_WINNT >= 0x0600
// Prefer native WindowsAPI on newer environment.
......
......@@ -1553,7 +1553,7 @@ endif
dep_glvnd = null_dep
if with_glvnd
dep_glvnd = dependency('libglvnd', version : '>= 1.2.0')
dep_glvnd = dependency('libglvnd', version : '>= 1.3.2')
pre_args += '-DUSE_LIBGLVND=1'
endif
......
......@@ -936,6 +936,14 @@ void init_context(isel_context *ctx, nir_shader *shader)
ctx->allocated.reset(allocated.release());
ctx->cf_info.nir_to_aco.reset(nir_to_aco.release());
/* align and copy constant data */
while (ctx->program->constant_data.size() % 4u)
ctx->program->constant_data.push_back(0);
ctx->constant_data_offset = ctx->program->constant_data.size();
ctx->program->constant_data.insert(ctx->program->constant_data.end(),
(uint8_t*)shader->constant_data,
(uint8_t*)shader->constant_data + shader->constant_data_size);
}
Pseudo_instruction *add_startpgm(struct isel_context *ctx)
......@@ -1304,16 +1312,6 @@ lower_bit_size_callback(const nir_alu_instr *alu, void *_)
void
setup_nir(isel_context *ctx, nir_shader *nir)
{
Program *program = ctx->program;
/* align and copy constant data */
while (program->constant_data.size() % 4u)
program->constant_data.push_back(0);
ctx->constant_data_offset = program->constant_data.size();
program->constant_data.insert(program->constant_data.end(),
(uint8_t*)nir->constant_data,
(uint8_t*)nir->constant_data + nir->constant_data_size);
/* the variable setup has to be done before lower_io / CSE */
setup_variables(ctx, nir);
......
......@@ -56,6 +56,7 @@ enum {
RADV_DEBUG_NO_MEMORY_CACHE = 1 << 25,
RADV_DEBUG_DISCARD_TO_DEMOTE = 1 << 26,
RADV_DEBUG_LLVM = 1 << 27,
RADV_DEBUG_FORCE_COMPRESS = 1 << 28,
};
enum {
......
......@@ -523,6 +523,7 @@ static const struct debug_control radv_debug_options[] = {
{"metashaders", RADV_DEBUG_DUMP_META_SHADERS},
{"nomemorycache", RADV_DEBUG_NO_MEMORY_CACHE},
{"llvm", RADV_DEBUG_LLVM},
{"forcecompress", RADV_DEBUG_FORCE_COMPRESS},
{NULL, 0}
};
......@@ -4749,6 +4750,21 @@ VkResult radv_QueueSubmit(
return VK_SUCCESS;
}
static const char *
radv_get_queue_family_name(struct radv_queue *queue)
{
switch (queue->queue_family_index) {
case RADV_QUEUE_GENERAL:
return "graphics";
case RADV_QUEUE_COMPUTE:
return "compute";
case RADV_QUEUE_TRANSFER:
return "transfer";
default:
unreachable("Unknown queue family");
}
}
VkResult radv_QueueWaitIdle(
VkQueue _queue)
{
......@@ -4762,8 +4778,11 @@ VkResult radv_QueueWaitIdle(
if (!queue->device->ws->ctx_wait_idle(queue->hw_ctx,
radv_queue_family_to_ring(queue->queue_family_index),
queue->queue_idx))
return VK_ERROR_DEVICE_LOST;
queue->queue_idx)) {
return vk_errorf(queue->device->instance, VK_ERROR_DEVICE_LOST,
"Failed to wait for a '%s' queue to be idle. "
"GPU hang ?", radv_get_queue_family_name(queue));
}
return VK_SUCCESS;
}
......
......@@ -150,8 +150,12 @@ radv_surface_has_scanout(struct radv_device *device, const struct radv_image_cre
}
static bool
radv_image_use_fast_clear_for_image(const struct radv_image *image)
radv_image_use_fast_clear_for_image(const struct radv_device *device,
const struct radv_image *image)
{
if (device->instance->debug_flags & RADV_DEBUG_FORCE_COMPRESS)
return true;
if (image->info.samples <= 1 &&
image->info.width * image->info.height <= 512 * 512) {
/* Do not enable CMASK or DCC for small surfaces where the cost
......@@ -196,7 +200,7 @@ radv_use_dcc_for_image(struct radv_device *device,
vk_format_get_plane_count(format) > 1)
return false;
if (!radv_image_use_fast_clear_for_image(image))
if (!radv_image_use_fast_clear_for_image(device, image))
return false;
/* TODO: Enable DCC for mipmaps on GFX9+. */
......@@ -251,17 +255,21 @@ radv_use_dcc_for_image(struct radv_device *device,
}
static inline bool
radv_use_fmask_for_image(const struct radv_image *image)
radv_use_fmask_for_image(const struct radv_device *device,
const struct radv_image *image)
{
return image->info.samples > 1 &&
image->usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
((image->usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) ||
(device->instance->debug_flags & RADV_DEBUG_FORCE_COMPRESS));
}
static inline bool
radv_use_htile_for_image(const struct radv_image *image)
radv_use_htile_for_image(const struct radv_device *device,
const struct radv_image *image)
{
return image->info.levels == 1 &&
image->info.width * image->info.height >= 8 * 8;
((image->info.width * image->info.height >= 8 * 8) ||
(device->instance->debug_flags & RADV_DEBUG_FORCE_COMPRESS));
}
static bool
......@@ -479,7 +487,7 @@ radv_init_surface(struct radv_device *device,
if (is_depth) {
surface->flags |= RADEON_SURF_ZBUFFER;
if (!radv_use_htile_for_image(image) ||
if (!radv_use_htile_for_image(device, image) ||
(device->instance->debug_flags & RADV_DEBUG_NO_HIZ))
surface->flags |= RADEON_SURF_NO_HTILE;
if (radv_use_tc_compat_htile_for_image(device, pCreateInfo, image_format))
......@@ -498,7 +506,7 @@ radv_init_surface(struct radv_device *device,
if (!radv_use_dcc_for_image(device, image, pCreateInfo, image_format))
surface->flags |= RADEON_SURF_DISABLE_DCC;
if (!radv_use_fmask_for_image(image))
if (!radv_use_fmask_for_image(device, image))
surface->flags |= RADEON_SURF_NO_FMASK;
return 0;
......@@ -1230,16 +1238,18 @@ radv_image_override_offset_stride(struct radv_device *device,
}
static void
radv_image_alloc_single_sample_cmask(const struct radv_image *image,
radv_image_alloc_single_sample_cmask(const struct radv_device *device,
const struct radv_image *image,
struct radeon_surf *surf)
{
assert(image->info.storage_samples == 1 || surf->cmask_offset);
if (!surf->cmask_size || surf->cmask_offset || surf->bpe > 8 ||
image->info.levels > 1 || image->info.depth > 1 ||
radv_image_has_dcc(image) || !radv_image_use_fast_clear_for_image(image))
radv_image_has_dcc(image) ||
!radv_image_use_fast_clear_for_image(device, image))
return;
assert(image->info.storage_samples == 1);
surf->cmask_offset = align64(surf->total_size, surf->cmask_alignment);
surf->total_size = surf->cmask_offset + surf->cmask_size;
surf->alignment = MAX2(surf->alignment, surf->cmask_alignment);
......@@ -1313,7 +1323,7 @@ radv_image_create_layout(struct radv_device *device,
device->ws->surface_init(device->ws, &info, &image->planes[plane].surface);
if (!create_info.no_metadata_planes && image->plane_count == 1)
radv_image_alloc_single_sample_cmask(image, &image->planes[plane].surface);
radv_image_alloc_single_sample_cmask(device, image, &image->planes[plane].surface);
image->planes[plane].offset = align(image->size, image->planes[plane].surface.alignment);
image->size = image->planes[plane].offset + image->planes[plane].surface.total_size;
......@@ -1702,7 +1712,8 @@ bool radv_layout_can_fast_clear(const struct radv_image *image,
bool in_render_loop,
unsigned queue_mask)
{
return layout == VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
return layout == VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL &&
queue_mask == (1u << RADV_QUEUE_GENERAL);
}
bool radv_layout_dcc_compressed(const struct radv_device *device,
......
......@@ -194,10 +194,24 @@ radv_clear_mask(uint32_t *inout_mask, uint32_t clear_mask)
struct radv_image_view;
struct radv_instance;
VkResult __vk_errorf(struct radv_instance *instance, VkResult error, const char *file, int line, const char *format, ...);
#define vk_error(instance, error) __vk_errorf(instance, error, __FILE__, __LINE__, NULL);
#define vk_errorf(instance, error, format, ...) __vk_errorf(instance, error, __FILE__, __LINE__, format, ## __VA_ARGS__);
VkResult __vk_errorv(struct radv_instance *instance, const void *object,
VkDebugReportObjectTypeEXT type, VkResult error,
const char *file, int line, const char *format,
va_list args);
VkResult __vk_errorf(struct radv_instance *instance, const void *object,
VkDebugReportObjectTypeEXT type, VkResult error,
const char *file, int line, const char *format, ...)
radv_printflike(7, 8);
#define vk_error(instance, error) \
__vk_errorf(instance, NULL, \
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, \
error, __FILE__, __LINE__, NULL);
#define vk_errorf(instance, error, format, ...) \
__vk_errorf(instance, NULL, \
VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, \
error, __FILE__, __LINE__, format, ## __VA_ARGS__);
void __radv_finishme(const char *file, int line, const char *format, ...)
radv_printflike(3, 4);
......
......@@ -299,6 +299,36 @@ shared_var_info(const struct glsl_type *type, unsigned *size, unsigned *align)
*align = comp_size;
}
struct radv_spirv_debug_data {
struct radv_device *device;
const struct radv_shader_module *module;
};
static void radv_spirv_nir_debug(void *private_data,
enum nir_spirv_debug_level level,
size_t spirv_offset,
const char *message)
{
struct radv_spirv_debug_data *debug_data = private_data;
struct radv_instance *instance = debug_data->device->instance;
static const VkDebugReportFlagsEXT vk_flags[] = {
[NIR_SPIRV_DEBUG_LEVEL_INFO] = VK_DEBUG_REPORT_INFORMATION_BIT_EXT,
[NIR_SPIRV_DEBUG_LEVEL_WARNING] = VK_DEBUG_REPORT_WARNING_BIT_EXT,
[NIR_SPIRV_DEBUG_LEVEL_ERROR] = VK_DEBUG_REPORT_ERROR_BIT_EXT,
};
char buffer[256];
snprintf(buffer, sizeof(buffer), "SPIR-V offset %lu: %s",
(unsigned long)spirv_offset, message);
vk_debug_report(&instance->debug_report_callbacks,
vk_flags[level],
VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,
(uint64_t)(uintptr_t)debug_data->module,
0, 0, "radv", buffer);
}
nir_shader *
radv_shader_compile_to_nir(struct radv_device *device,
struct radv_shader_module *module,
......@@ -359,6 +389,11 @@ radv_shader_compile_to_nir(struct radv_device *device,
}
}
}
struct radv_spirv_debug_data spirv_debug_data = {
.device = device,
.module = module,
};
const struct spirv_to_nir_options spirv_options = {
.lower_ubo_ssbo_access_to_offsets = true,
.caps = {
......@@ -417,6 +452,10 @@ radv_shader_compile_to_nir(struct radv_device *device,
.push_const_addr_format = nir_address_format_logical,
.shared_addr_format = nir_address_format_32bit_offset,
.frag_coord_is_sysval = true,
.debug = {
.func = radv_spirv_nir_debug,
.private_data = &spirv_debug_data,
},
};
nir = spirv_to_nir(spirv, module->size / 4,
spec_entries, num_spec_entries,
......
......@@ -88,11 +88,12 @@ void radv_printflike(3, 4)
}
VkResult
__vk_errorf(struct radv_instance *instance, VkResult error, const char *file,
int line, const char *format, ...)
__vk_errorv(struct radv_instance *instance, const void *object,
VkDebugReportObjectTypeEXT type, VkResult error, const char *file,
int line, const char *format, va_list ap)
{
va_list ap;
char buffer[256];
char report[512];
const char *error_str = vk_Result_to_str(error);
......@@ -102,15 +103,37 @@ __vk_errorf(struct radv_instance *instance, VkResult error, const char *file,
#endif
if (format) {
va_start(ap, format);
vsnprintf(buffer, sizeof(buffer), format, ap);
va_end(ap);
fprintf(stderr, "%s:%d: %s (%s)\n", file, line, buffer, error_str);
snprintf(report, sizeof(report), "%s:%d: %s (%s)", file, line,
buffer, error_str);
} else {
fprintf(stderr, "%s:%d: %s\n", file, line, error_str);
snprintf(report, sizeof(report), "%s:%d: %s", file, line,
error_str);
}
if (instance) {
vk_debug_report(&instance->debug_report_callbacks,
VK_DEBUG_REPORT_ERROR_BIT_EXT, type,
(uint64_t)(uintptr_t) object, line, 0, "radv",
report);
}
fprintf(stderr, "%s\n", report);
return error;
}
VkResult
__vk_errorf(struct radv_instance *instance, const void *object,
VkDebugReportObjectTypeEXT type, VkResult error, const char *file,
int line, const char *format, ...)
{
va_list ap;
va_start(ap, format);
__vk_errorv(instance, object, type, error, file, line, format, ap);
va_end(ap);
return error;
}
#!/usr/bin/env python
import argparse
from generate.eglFunctionList import EGL_FUNCTIONS as GLVND_ENTRYPOINTS
PREFIX = 'EGL_ENTRYPOINT('
SUFFIX = ')'
# These entrypoints should *not* be in the GLVND entrypoints
GLVND_EXCLUDED_ENTRYPOINTS = [
# EGL_KHR_debug
'eglDebugMessageControlKHR',
'eglQueryDebugKHR',
'eglLabelObjectKHR',
]
def check_entrypoint_sorted(entrypoints):
print('Checking that EGL API entrypoints are sorted...')
for i, _ in enumerate(entrypoints):
# Can't compare the first one with the previous
if i == 0:
continue
if entrypoints[i - 1] > entrypoints[i]:
print('ERROR: ' + entrypoints[i] + ' should come before ' + entrypoints[i - 1])
exit(1)
print('All good :)')
def check_glvnd_entrypoints(egl_entrypoints, glvnd_entrypoints):
print('Checking the GLVND entrypoints against the plain EGL ones...')
success = True
for egl_entrypoint in egl_entrypoints:
if egl_entrypoint in GLVND_EXCLUDED_ENTRYPOINTS:
continue
if egl_entrypoint not in glvnd_entrypoints:
print('ERROR: ' + egl_entrypoint + ' is missing from the GLVND entrypoints (src/egl/generate/eglFunctionList.py)')
success = False
for glvnd_entrypoint in glvnd_entrypoints:
if glvnd_entrypoint not in egl_entrypoints:
print('ERROR: ' + glvnd_entrypoint + ' is missing from the plain EGL entrypoints (src/egl/main/eglentrypoint.h)')
success = False
for glvnd_entrypoint in GLVND_EXCLUDED_ENTRYPOINTS:
if glvnd_entrypoint in glvnd_entrypoints:
print('ERROR: ' + glvnd_entrypoint + ' is should *not* be in the GLVND entrypoints (src/egl/generate/eglFunctionList.py)')
success = False
if success:
print('All good :)')
else:
exit(1)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('header')
......@@ -20,17 +73,11 @@ def main():
assert line.endswith(SUFFIX)
entrypoints.append(line[len(PREFIX):-len(SUFFIX)])
print('Checking EGL API entrypoints are sorted')
check_entrypoint_sorted(entrypoints)
for i, _ in enumerate(entrypoints):
# Can't compare the first one with the previous
if i == 0:
continue
if entrypoints[i - 1] > entrypoints[i]:
print('ERROR: ' + entrypoints[i] + ' should come before ' + entrypoints[i - 1])
exit(1)
glvnd_entrypoints = [x[0] for x in GLVND_ENTRYPOINTS]
print('All good :)')
check_glvnd_entrypoints(entrypoints, glvnd_entrypoints)
if __name__ == '__main__':
main()
......@@ -294,6 +294,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_TGSI_TES_LAYER_VIEWPORT:
case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
case PIPE_CAP_TGSI_DIV:
case PIPE_CAP_NIR_ATOMICS_AS_DEREF:
return 0;
case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
......
......@@ -351,7 +351,8 @@ flush_region(struct pipe_context *pctx, struct pipe_transfer *ptrans,
const struct pipe_box *box)
{
struct u_transfer_helper *helper = pctx->screen->transfer_helper;
struct u_transfer *trans = u_transfer(ptrans);
/* using the function here hits an assert for the deinterleave cases */
struct u_transfer *trans = (struct u_transfer *)ptrans;
enum pipe_format iformat, format = ptrans->resource->format;
unsigned width = box->width;
unsigned height = box->height;
......@@ -544,3 +545,125 @@ u_transfer_helper_destroy(struct u_transfer_helper *helper)
{
free(helper);
}
/* these two functions 'deinterleave' are meant to be used without the corresponding
* resource_create/destroy hooks, as they perform the interleaving on-the-fly
*
* drivers should expect to be passed the same buffer repeatedly with the format changed
* to indicate which component is being mapped
*/
void *
u_transfer_helper_deinterleave_transfer_map(struct pipe_context *pctx,
struct pipe_resource *prsc,
unsigned level, unsigned usage,
const struct pipe_box *box,
struct pipe_transfer **pptrans)
{
struct u_transfer_helper *helper = pctx->screen->transfer_helper;
struct u_transfer *trans;
struct pipe_transfer *ptrans;
enum pipe_format format = prsc->format;
unsigned width = box->width;
unsigned height = box->height;
if (!((helper->separate_stencil && util_format_is_depth_and_stencil(format)) ||
(format == PIPE_FORMAT_Z32_FLOAT_S8X24_UINT && helper->separate_z32s8)))
return helper->vtbl->transfer_map(pctx, prsc, level, usage, box, pptrans);
debug_assert(box->depth == 1);
trans = calloc(1, sizeof(*trans));
if (!trans)
return NULL;
ptrans = &trans->base;
pipe_resource_reference(&ptrans->resource, prsc);
ptrans->level = level;
ptrans->usage = usage;
ptrans->box = *box;
ptrans->stride = util_format_get_stride(format, box->width);
ptrans->layer_stride = ptrans->stride * box->height;
trans->staging = malloc(ptrans->layer_stride);
if (!trans->staging)
goto fail;
trans->ptr = helper->vtbl->transfer_map(pctx, prsc, level, usage | PIPE_TRANSFER_DEPTH_ONLY, box,
&trans->trans);
if (!trans->ptr)
goto fail;
trans->ptr2 = helper->vtbl->transfer_map(pctx, prsc, level,
usage | PIPE_TRANSFER_STENCIL_ONLY, box, &trans->trans2);
if (needs_pack(usage)) {
switch (prsc->format) {
case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
util_format_z32_float_s8x24_uint_pack_z_float(trans->staging,
ptrans->stride,
trans->ptr,
trans->trans->stride,
width, height);
util_format_z32_float_s8x24_uint_pack_s_8uint(trans->staging,
ptrans->stride,
trans->ptr2,
trans->trans2->stride,
width, height);
break;
case PIPE_FORMAT_Z24_UNORM_S8_UINT:
util_format_z24_unorm_s8_uint_pack_separate(trans->staging,
ptrans->stride,
trans->ptr,
trans->trans->stride,
trans->ptr2,
trans->trans2->stride,
width, height);
break;
default:
unreachable("Unexpected format");
}
}
*pptrans = ptrans;
return trans->staging;
fail:
if (trans->trans)
helper->vtbl->transfer_unmap(pctx, trans->trans);
if (trans->trans2)
helper->vtbl->transfer_unmap(pctx, trans->trans2);
pipe_resource_reference(&ptrans->resource, NULL);
free(trans->staging);
free(trans);
return NULL;
}
void
u_transfer_helper_deinterleave_transfer_unmap(struct pipe_context *pctx,
struct pipe_transfer *ptrans)
{
struct u_transfer_helper *helper = pctx->screen->transfer_helper;
enum pipe_format format = ptrans->resource->format;
if ((helper->separate_stencil && util_format_is_depth_and_stencil(format)) ||
(format == PIPE_FORMAT_Z32_FLOAT_S8X24_UINT && helper->separate_z32s8)) {
struct u_transfer *trans = (struct u_transfer *)ptrans;
if (!(ptrans->usage & PIPE_TRANSFER_FLUSH_EXPLICIT)) {
struct pipe_box box;
u_box_2d(0, 0, ptrans->box.width, ptrans->box.height, &box);
flush_region(pctx, ptrans, &box);
}
helper->vtbl->transfer_unmap(pctx, trans->trans);
if (trans->trans2)
helper->vtbl->transfer_unmap(pctx, trans->trans2);
pipe_resource_reference(&ptrans->resource, NULL);
free(trans->staging);
free(trans);
} else {
helper->vtbl->transfer_unmap(pctx, ptrans);
}
}
......@@ -129,6 +129,16 @@ struct u_transfer_helper * u_transfer_helper_create(const struct u_transfer_vtbl
void u_transfer_helper_destroy(struct u_transfer_helper *helper);
void *
u_transfer_helper_deinterleave_transfer_map(struct pipe_context *pctx,
struct pipe_resource *prsc,
unsigned level, unsigned usage,
const struct pipe_box *box,
struct pipe_transfer **pptrans);
void
u_transfer_helper_deinterleave_transfer_unmap(struct pipe_context *pctx,
struct pipe_transfer *ptrans);
#ifdef __cplusplus
} // extern "C" {
#endif
......
......@@ -283,7 +283,7 @@ iris_get_monitor_result(struct pipe_context *ctx,
assert(gen_perf_is_query_ready(perf_ctx, monitor->query, batch));
unsigned bytes_written;
gen_perf_get_query_data(perf_ctx, monitor->query,
gen_perf_get_query_data(perf_ctx, monitor->query, batch,
monitor->result_size,
(unsigned*) monitor->result_buffer,
&bytes_written);
......
......@@ -214,7 +214,8 @@ iris_get_perf_query_data(struct pipe_context *pipe,
struct gen_perf_query_object *obj = perf_query->query;
struct gen_perf_context *perf_ctx = ice->perf_ctx;
gen_perf_get_query_data(perf_ctx, obj, data_size, data, bytes_written);
gen_perf_get_query_data(perf_ctx, obj, &ice->batches[IRIS_BATCH_RENDER],
data_size, data, bytes_written);
}
void
......