Když si přečtu DIIT, tak z toho celého článku po té selekci nabudu dojmu, že Khronos vzal AMD Mantle, udělal z toho OpenGL Next, vývojová větev Mantle se rozdělí na "OpenGL Next" a "Nativní Mantle" a v OpenGL Next se udělají změny, které umožní, aby to fungovalo na ostatních grafikách. Tak to jako sorry, ale něco takového v tom článku na Anandu, ze kterého to vychází, opravdu napsané není.
Mantle’s new focus in turn is going to be a testbed for future graphics API development. Along with releasing the specifications for “Mantle 1.0”, AMD will essentially keep the closed beta program open for the continued development of Mantle, building it in conjunction with a limited number of partners in a fashion similar to how Mantle has been developed so far.
In fact Khronos has confirmed that AMD has contributed Mantle towards the development of Vulkan, and though we need to be clear that Vulkan is not Mantle, Mantle was used to bootstrap the process and speed its development, making Vulkan a derivation of sorts of Mantle (think Unix family tree). What has changed from Mantle is that Khronos has gone through a period of refinement, keeping what worked in Vulkan and throwing out portions of Mantle that didn’t work well – particularly HLSL and anything that would prevent the API from being cross-vendor – replacing it with the other necessary/better functionality.
Meanwhile from a shader programing perspective, Vulkan will support multiple backends for shaders. GLSL will be Vulkan’s initial shading language, however long-term Khronos wants to enable additional languages to be used as shading languages, particularly C++ (something Apple’s Metal already supports). Bringing support for other languages as shaders will take some effort, as those languages will need graphics bindings extended into them.
Mantle 1.0 zůstává a je dál podporováno pro subjekty, které jsou zapsány v dosavadním programu.
AMD poskytlo Mantle Khronosu.
Khronos odebral limitaci na GCN a závislost na HLSL a přidal možnost programování v C++ skrze SPIR-V a použil GLSL jako základní SL
Všechno máš přímo z AnandTechu včetně linků. Co tedy no-X napsal blbě?
Vulkan is not yet complete – the specification itself is not being released in any form – but Khronos is further detailing the development and execution flows for how Vulkan will work.
In fact Khronos has confirmed that AMD has contributed Mantle towards the development of Vulkan, and though we need to be clear that Vulkan is not Mantle
Mantle was used to bootstrap the process and speed its development, making Vulkan a derivation of sorts of Mantle (think Unix family tree)
Prostě v podstatě nikdo nic neví, nikdo pořádně neřekl, co z mantle tam vlastně zůstane, co všechno tam přibude, co všechno bude stejné, co všechno bude jinak. Unix Family Tree může znamenat taky v podstatě cokoliv, zkuste nějakému příznivci FreeBSD říct, že je to stejně jako Linux v podstatě Unix, u kterého se udělaly nějaké ty změny.
Naposledy upravil(a) Adam Vágner dne stř 4. bře 2015, 14:46, celkem upraveno 1 x.
Now that doesn't mean Vulkan support would just be a matter of renaming functions to have a port. But this means Mantle was very likely used as a basis for Vulkan development.
Tohle s API calls už jsem tu linkoval 3x, Adam to prostě ignoruje
A to, že na čtvrtečním eventu bude Vulkan presentovat i Johann Anderson, jeden z hlavních vývojářů stojících za vývojem Mantle API, je taky jen náhoda.
Hladis píše:Mobilni herni sféra....... Unreal bude podporovat DX12 i Vulkan.
Hrat na mobilech nebo tabletech cokoliv narocnejsiho nez sachy / karty / angry birds je nesmysl... a tim padem neni na tyhle veci potreba OGL ani nic dalsho.
Myslim ze i novy Shield ti da odpoved. Ne nadarmo Valve s nV do tohohle rezou.
A: I can't comment on other people's plans, but the outlook is good.
Q: is Vulkan going to support existing hardware?
A: it will be limited to hardware that already exists and has exists for a wall. We set the bar at OpenGL 4.1. Whether you will get drivers from the vendors depends on the pressure you put on them, but we've seen good indications so far.
vkGetMultiGpuCompatibility(gpuA,gpuB, &compatInfo);
Compatibility info indicates
-
Full sharing, sharing of specific resources, or no compatibility at all.
Hm takze teoreticka moznost kombinovat GeForce/Radeon. Ale na 99% to aj ostane teoreticka moznost.
Vulkan is not “low level” – just a better abstraction of modern hardware
hej low level by som si predstavoval zapisovat do nejakych registrov na GPU aby som nieco vykreslil. oproti terajsiemu DX/OGL to fakt nie je az o tolko low level.
Nemuze to byt uplny low-level uz z podstaty věci, kdy to musí byt kompatibilni se vsim. Low-level muzou udelat Mantle, kdy to pisou primo na jednu architekturu, ne u univerzálního API.
Vulkan is not “low level” – just a better abstraction of modern hardware
hej low level by som si predstavoval zapisovat do nejakych registrov na GPU aby som nieco vykreslil. oproti terajsiemu DX/OGL to fakt nie je az o tolko low level.
del42sa:
Neni low-level tak, ze pristupuje primo k HW bez mezivrstvy s tim, ze to pocita primo s danou architekturou a je to tedy napsany HW na telo ? Když to ale delas univerzalni, tak nemuzes k tomu pristupovat stejne, jako když to mas napsany na konkretni HW ne ?
Low-level je dost subjektivne. Vulkan/DX12 su urcite viac low level pretoze davaju programatori omnoho explicitnejsi pristup k GPU a je tam menej abstrakcie. Ak porovnavame OGL a terajsie Vulkan tak samozrejme je Vulkan low level.
Ak si ale zoberie celu hierarchiu kernel, driver, api, engine, aplikacia tak OGL aj Vulkan su prakticky na tom istom mieste.
heh pekne prirovnanie o co je Vulkan viac low level
There are a lot of things which have previously gone on behind the scenes which are now exposed to the programmer, meaning uploading a texture isn't so simple. According to the talk, to upload a texture:
You have previously requested a block of gpu memory, probably over 1gb.
You ask the Driver, "So I have this texture in this colour format with the dimensions of X by Y pixels, how much memory do I need to upload it?"
The answer may not be what you expect, maybe because you asked for a RGB texture while the GPU can only sample RGBA textures, or the driver needs to pad your texture dimensions to multiples of 32.
You choose an address within your massive block of gpu memory big enough to store the uploaded texture.
You pass that address and your texture data to the driver, it converts the texture to whatever format is needed and swizzles it (for optimum cache usage) into the address you specified.
The texture is now "uploaded". Just point a shader at that memory later.
Ono prave jde o to, ze to musí fungovat s veskyrym HW, takze uplne low to proste byt nemůže. Anand treba psal
Mantle goes as low as is reasonably possible, with minimal levels of abstraction between the code and the hardware. Mantle is for all practical purposes an API for doing bare metal programming to GCN.
Kazdopadne pokud to ma byt univerzalni, tak proste není mozny jit az tak low, tedy psat to primo na telo.