Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Gallium3D

Name: Anonymous 2012-06-22 13:19

Is that piece of shit responsible for the terrible performance of open source graphics drivers?

Name: Anonymous 2012-06-22 14:26

Yes.

Name: Anonymous 2012-06-22 16:03

You should have seen them before we switched architecture

Name: Anonymous 2012-06-22 18:10

No. The complexity of modern graphics is responsible for the lack of 3D performance in free graphics drivers. As far as I know, writing modern graphic drivers is in the same complexity as writing a whole operating system.

Name: Anonymous 2012-06-22 18:21

It uses LLVM so it must be good.

Name: Anonymous 2012-06-22 18:41

>>4
How far do you know? Are you an expert on the subject-matter?

Name: Anonymous 2012-06-22 21:04

I think it has more to do with the fact that the developers are unpaid basement dwellers.

Name: Anonymous 2012-06-22 21:59

>>6
No, I am an expert in operating systems design, not modern graphics drivers. The only experience I have in graphics drivers are in writing framebuffer drivers for my toy operating systems.

Name: Anonymous 2012-06-22 23:36

>>6
>>4,8 is speaking the truth. Think about it. Modern GPUs are essentially massively parallel vector processors with thousands of in-order cores, with their own L1 and L2 cache, own on board RAM. The graphics driver is essentially an operating system for this whole other computer slotted into your PCIe bus.

It has to have a thread, warp, and wavefront scheduler (GPU cores can be merged into warps and wavefronts executing from a common instruction stream, or they can be split to execute different instruction streams, or you can have blocks of like 16 cores merged executing a common task, it can get pretty complex). The cores on modern GPUs are pretty much in-order general purpose CPU cores with a 1024-bit SIMD vector pipeline instead of an FPU.

It has to have it's own virtual memory system, and the driver has to manage page tables and mapping into the CPU address space on the PCIe bus.

And then the drivers have to implement both OpenGL and Direct3D as client interfaces, and across multiple versions of these specification, and across multiple platforms.

You better believe they're up in the 10's of millions of lines of code.

Name: Anonymous 2012-06-22 23:43

>>9
And I forget, they also now have to implement OpenCL and DirectCompute, and some even go further with supporting OpenMP/OpenAAC and their own proprietary stuff like CUDA. And then you have to have compilers for the shaders and compute kernels that run on the GPU (most use LLVM as the backend, and either Clang or EDG for their compiler front-ends).

Name: Anonymous 2012-06-23 1:22

>>It has to have a thread, warp, and wavefront scheduler
I hope you don't think that is done in software.

Name: Anonymous 2012-06-23 1:35

>>11
So that's actually printed into the hardware?

Name: Anonymous 2012-06-23 2:12

>>12
that type of adhoc execution scheduling stuff is best handled in hardware.

Name: Anonymous 2012-06-23 9:15

>>12
Hardware schedules, software manages memory. In truth, the only reason it's so hard to make quality drivers is that GPUs are frail pieces of junk that were designed to be used in one specific way with a shit-ton of vendor-specific optimizations in the driver. Set a register too soon? BOOM! Lockup.

Name: Anonymous 2012-06-23 10:28

>>14
They way I understand things is that GPUs process one type of data in parallel and very quickly. If this is the case, it makes sense that it was designed to process the data in a very specific way.

Name: Anonymous 2012-06-23 15:18

>>15
GPUs are massively parallelized pure functional general purpose vector processors. The problem is that in order to do 3D acceleration, which eventually draws something into a buffer, the modern GPU has a HUGE amount of registers. These are vendor specific and this is what drivers manage.

It's actually surprisingly insecure because of the incredible complexity, which is why the command stream checkers embedded in the kernel often fails. The problem with this complexity is that it was intended to be used in a very particular way in the driver; and that way isn't inherently obvious, even with full documentation. Sadly, I can't go to the HW engineer team at AMD and ask them how exactly they intended for this to be used and so I'm already at a huge disadvantage in the driver dev phase before I've even begun. At AMD and nVIDIA, the drivers are most likely developed in parallel with the hardware, meaning they get to influence each other and make informed decisions together to benefit performance. Again, I can't exactly do that. If AMD were to release their fglrx code, it'd be trivial to see how they optimize our biggest bottlenecks, and maybe even restructure our drivers to be more efficient overall.

Name: Anonymous 2012-06-23 17:40

>>16
GPUs are pure functional
LOL

Name: Anonymous 2012-06-23 22:16

>>16
I see, thanks for that. I have an interest in contributing to free software drivers for the PowerVR SGX GPU in the future so information like this educates me about how things work. It's given me clues about what I need to find to get started.

Name: Anonymous 2012-06-25 12:07

䝱塕䅙↖桹✗⍴〔䒔瘅ሡ琠䈩䈄⤳ᢁ疁䍕ኀ鄶ͦ獔襷ᥲ㔄ᖙȈᑓ煀挰䉃ↁ䑃㕁鈰偑ᡤ顙蒕ᡨ㤈㍕卙ဴ朕ふ爲墅鑄荂㙂䆅蜲ㅗ考ᦅ㌳ᤖҖ㠔頉ᄅ鞓膄⥙斘昀玖ᆑ㚕I梖⎓て᜵䉹⅀ፒ獆厓嘴兰薇၄憈ℷᄂ㕠匦栃䝒ᄒ倧ቄ舣䌀桹挹褩ᕤ╄❷遢⍡晨ㅖ餧よܡ膅鄙䡹䚆鉲艗⊈禂ݣᜦ㔀ᦕ倴鞈ᢇ悀銒摉ጢ㐨眗ऱ≄爗㔢癢⡁顨偦場ក憕䜆㙁蜕㔦噄㔦锶慤啄蔄䚉ᢉ桹㊑恒天堨硰㎒፰䒄遖ᙸ⒉瀥䙄萆萱䎘&蕇吩ࡣ遲杙㥰ᤘኄ楀疗膃悈䒀䤦㕇㥨䑀ၱ㍣㙈脨愱⤴杣堡䕩睨適琔でő⤦陳ġ憔क़ᐨ鉥ℑ煅䙅挵㈳㥱抗⒔⢅蜢倗搶ㆅ覈倶员頒偄㒒ቑᝠ⠳❘礣匓⍱ነ䄸䈸衇4⤂җ睆ㅒݷ敐օᔑ覘攆砱镆䦐脅葨锇圠㘡㌷酔ũ䔴࢘ᐑㅈ扦蘆㙤蠈䐀ᤀͧ皙䂓⑐㎄畔夙垓┕㌔阄鈴䜦钗␰傄⦗䥕鈰䆑䌒ݒ႒ŧ阳䐥䁩㈠

Name: Anonymous 2012-06-25 12:23

扈愕✀邈頓圇閇硢ࡆሷ倐蘃Ζ襥倧蘠〰甗ݸᔖ猄啇甹ࠄःࡵ䝇䁑–㥰㆕圈ᠰ陳₈镧靳獱䍂⍦鐩ង薙ᝒ匡㞇餶噠钙爗儀Ї蘘呃吳脐恵ሖ葵襲搰萵㕙掑変䌄酔㡰鉗㥥艶䘑䊀錷璗頙頠硠ͥ昰ᅰ阙䢈✳⍱蠠㜙㘶╓㠥㘴ᠤ䠓瑑餅㕷Բᐱ㤑☴肅㕢ك∴ቒᝠ⎀阁煣村ጩŗ文✗䉇ᐩ逨灢䄨㑡䅴椐ɶ艹睴‥㥀馑鍔եऑ剹猧ቃ㐴䐙兤♓㜇陧ℒ憆ቱ瀈☤抅劅➒执鑆ই⡹➉㚀癖ቀ玀偔‒舵ᅦ怩䍹傇坳䘢ࠗࡰ倹猴禐䝔╣牰ᤖ慰∙夥嘠鉄㊐呙ű醆ᄈ圧呒وᔅ肒祸ᑥ䥁⌴䤧œ䄹㦐鄅⒐袆⥵መ眢㑙畅ᥗ墅ↁ㔉瑩枃虳椘㠤͒䉡墄蜅ᐔ眉䙔䅆ب㐄虀慲䉤艓✣馄䜈ᜉ⁉蜨瑗憘頂⍨鉡ޖ࡙㠤鍷敗≐фґ煇‗䤲㍱㈷荘扂倱㉓㖈ㅀ慩频衔ᅰ⍤䝶ᎀ䕥䜸ⅉȰ┩礃甇䕅覄䔀䙄ᔵ摩瑱坩蘢楰栐㥴戆顑䅳晉ƕ┠ᄀ⑧㝩ᦁ᠘抓䤥ᔴ㑒

Name: Anonymous 2012-06-25 12:38

挖吕⥃ᚓ㌓‰堥い硢挖䎈㌇⚗㕀栐逳☰䜓攙艸☇愴㑥搢恨ㅷᎇᢂ䐑ᄘ遅↉܈餦兀ू吘占䉶ᑲ钁㥸蜑䉓脣԰唦㝧嘸厄覆㠩楸㆓邂甙䅧⌕ቦ䚆䥙蠖ѷᐵ癥券⑥灈㌅䦉瞇╕㕱䕘妇恈⁳☥唗∥鐳⠩䅒搲Ɇ外᜔㑵ʉ震犆愘噴塑牓饑㘈焷猐捁呥✒荰Ź☀摥衉⢄搰ቈ舱匶灱䈩阧鉈饓䥁葈ለ䅰陰葲⍑㖔ᅙ嘘馁⑐䠃ᑥ➑∳б┹睐̥ㅕᒂն攖蜲䉈⎃ڔↂࡕ搹療✴虸ၒ╩选䕑΁ڈ⌹䔒ᙘ荷ᘖ鄉艖䦃䙁眑䜃嘧鞘儑ᥦဲ䒃䙃喘∧衣億♈ॷ䙁䔤䡅ᙕ͡莁⤱⑉摩襷܉䞓脷㈄䉡獱鍉؁獡䍧❀Ѧन砅錕蝖䎗榓ᑥ᥀♥暒䜵঑䘠阁㑣श㔨莃吙䈑㘙祣連饘兹㞁儷䙧饧㢁
ㅰ䘶腲ٗ呧芗搔攨蘰㘡䅒⥷ဲ顢ူ搩萘ᤴᡘ萹球咙鎈挱ႄᅁ饡蘠္㕳㍢兀Ȧ礥Ԙ掂噔焅䞁☸吙㤧㐓儹兦昱鉈璆畇鑀霧䑑╨㜗桴儈瘐ᖗ䤧獧恑䒂䤡儂✙

Name: Anonymous 2012-06-25 12:53

や䞉暄ቇ数圃畅Բႉ梓䥱蔲蝄概暔╓ፔ㈇ɩ敀"Έ܅䜂ᡸび䈖冁␨⠥̡͗㌑椷〙鄢ᔱ蕵̆垃周٧ԓ垕撓ㅖሶ萐艇ࢗ␠卦掁锠焲蔃Ɣ㦇砖冔腗癖鑓䅳朸∂Ω犐ᐨ袆耳䑷ေ呅ࠔ蕒ᚅ䈁㕇㜰㢁⤩礡’酡悈蕀聵刑莇Ԙƈ㞁防┉䙴Ҙ蝅脰⅖嚉蔤ࡹ摀Ĉ攡䖑⍗ᜤ儰遱璗㈠蘕善锩s㎈葈扠礓男戓ᔣ抉指䅒耆捑ㆉ蘰焩㜉疑礙奵瑲㑆慢冘၅螑朡㤣䑴ᑇ瞁╠敷聶㡂靓朔隈ࡠ圗䅈茒锘鍓ঐ㕩荓眦З榒逡䡇癱芃薗噶ᤲᘷ儈䀅䔥㤸㠑暙㎓䡗甂ࢁ砆硦攘钉䤀⡄蔹䌳㡂碙吢选㙶嚖䥑憈礦茶ጕٸ眦㥸饧剳݃刓䊉㚉ㄣၴ搄䎔锰䉕㚅ځᎉ䝵Ť鈦ᙒ㙹┡▅ጙ呱ɕ〶؉暆ᚑ靉顙Ї戥䀔Ԓ遡耳㈸䎑䊉ⅹ㥩㙅颙萂嘇㒔ᐦ❡唨聅葶昙Ք憔袄晐癴晇䠵⑃Ř᐀ք䍐靃㥲技ህ剈ᦐ捀⥡饹゗顧ᐁ⦕垐䤙斂ėܶŔ瀘虥ɔ甐b皒硈⚔6

Name: bampu pantsu 2012-06-26 2:58

bampu pantsu

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List