<p>When you write a Gallium driver, it can be used by any frontend, including GL, VG, GLES, etc. The only real hardware requirement is that the hardware is *shaderful*; it needs to support vertex and fragment shaders.</p>
<p>Sending from a mobile, pardon the brevity. ~ C.</p>
<div class="gmail_quote">On Apr 18, 2011 7:11 AM, &quot;Awin&quot; &lt;<a href="mailto:awin0628@gmail.com">awin0628@gmail.com</a>&gt; wrote:<br type="attribution">&gt;   ©ó 2011/4/11 ¤U¤È 11:23, Corbin Simpson ´£¨ì:<br>&gt;&gt; On Fri, Apr 8, 2011 at 4:17 AM, Awin&lt;<a href="mailto:awin0628@gmail.com">awin0628@gmail.com</a>&gt;  wrote:<br>
&gt;&gt;&gt;   Hi all,<br>&gt;&gt;&gt;     I need to write a OpenGL driver for my company&#39;s IC, and base on gallium,<br>&gt;&gt;&gt; how do I get start? Is there any document or sample code to reference?<br>&gt;&gt; This is a remarkably candid question.<br>
&gt;&gt;<br>&gt;&gt; In the Mesa tree, the Gallium headers (src/gallium/include/**/*.h)<br>&gt;&gt; describe the objects Gallium passes around. There are also Sphinx docs<br>&gt;&gt; (src/gallium/docs/) which probably haven&#39;t really been maintained in a<br>
&gt;&gt; bit, but it&#39;s nice to think that they are somewhat accurate.<br>&gt;&gt;<br>&gt;&gt; Gallium is laid out like this: There is a struct called Winsys which<br>&gt;&gt; handles talking to your hardware backend (DRM, Windows kernel, etc.),<br>
&gt;&gt; a struct called Screen which helps to manage your GPU&#39;s information<br>&gt;&gt; and resources, and a struct called Context which is, well, a rendering<br>&gt;&gt; context.<br>&gt;&gt;<br>&gt;&gt; Which SoC is this? Do you have docs? Are you going to open-source any<br>
&gt;&gt; of your driver code?<br>&gt;&gt;<br>&gt;&gt; It&#39;s going to be a lot easier to answer your questions in realtime;<br>&gt;&gt; there&#39;s an IRC channel on Freenode, #dri-devel, which is the general<br>&gt;&gt; Gallium channel (among other things), and is a great place to ask<br>
&gt;&gt; questions.<br>&gt;&gt;<br>&gt;&gt; Hope this helps somewhat,<br>&gt;&gt; ~ C.<br>&gt;&gt;<br>&gt; Thanks for your reply,<br>&gt; The SoC is still on design, that&#39;s a DTV chip with OpenVG engine, and <br>&gt; some functions of OpenGL ES, that the reason I want to use gallium, I <br>
&gt; just need to implement driver interface(which can accelerate by HW) for <br>&gt; OpenVG and OpenGL ES state tracker, and others use softpipe to draw. So <br>&gt; I can use full function of SoC on VG or GL ES, am I right?<br>
</div>