hi,<br><br>- may i ask you how do you do it... i mean, where did you start, <br>are you building up on some existing source code or writing it from scratch? <br><br>- where does Mesa fit in your project, <br>are you using any source code derived from it?<br><br>- why do you need X? in my opinion graphic driver should be lower level than windowing system, so X uses/depends on the graphic driver and not the other way around<br><br><br><br>- are you aware of Trolltech Qt, Qtopia, Qt Embedded<br><a href="http://trolltech.com/downloads/">http://trolltech.com/downloads/</a><br><br><br>- are you aware of Scitech and MGL/SNAP drivers?<br><a href="http://scitechsoft.com/products/dev/sdk_home.html">http://scitechsoft.com/products/dev/sdk_home.html</a><br><br><br>if you developing drivers you might find this interesting -<br>"<font face="Arial,Helvetica" size="2">An approach to solving the "device driver crisis"<br><a
 href="http://www.linuxdevices.com/articles/AT4396090607.html">http://www.linuxdevices.com/articles/AT4396090607.html</a><br><br><br>here is my project page:<br></font><font color="#808080" face="Verdana" size="1">Linux         based OpenGL development system without X<br><a href="http://www.geocities.com/ze_aks/index.html">http://www.geocities.com/ze_aks/index.html<br></a><br></font><font face="Arial,Helvetica" size="2"><br><br><br>cheers,<br>zelko<br><br><br><br></font><br><br><b><i>michael giovinco &lt;gio@post.harvard.edu&gt;</i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> I hope this is not too much off topic but I'm working on developing<br>OpenGL ES drivers for NVIDIA chipsets. I'm currently working on<br>implementing EGL for use under X and I've run into some issue that<br>really confuse me. From reading the archives of this list, I've seen<br>that similar issues have come up before and
 maybe it's not just me who<br>has these concerns.<br><br>My main confusion is the over what EGL calls a "display". According to<br>the EGL 1.3 spec: "In most environments a display corresponds to a<br>physical screen." Notice is says "most", but not all. Later, when it<br>talks about how to use the function eglGetDisplay to get a display, it<br>uses X as an example: "... an EGL implementation under X windows would<br>require display_id to be an X Display...". This implies that an EGL<br>display is equivalent to an X display.<br><br>In X, a Display can consist of multiple X screens (a X screen being a<br>single head on a single device in most cases). These various screens<br>can refer to different heads on a single device or could even be<br>different heads on different devices. This means that an EGL display,<br>if it is truly equivalent to an X display, might actually refer to<br>different heads and maybe even different devices. Fortunately, when<br>creating a window
 surface in EGL we specify a window as a paramter. In<br>X, a window is confined to a single screen so this removes the<br>ambiguity as to which head and device that surface belongs to. The<br>problem exists when creating contexts though, since we only specify an<br>"EGLDisplay" when creating a context; we don't get to specify a screen<br>or head/device parameter.  Thus we don't know what screen the context<br>refers to until we bind it to a surface (in eglMakeCurrent). Later on<br>we could rebind that context to another surface with another call to<br>eglMakeCurrent and that surface might lie on a different device. You<br>can see the obvious issues that arise when this context refers to<br>texture or vertex buffer objects that live in the video memory of one<br>device but not the other.<br><br>I'm not sure what is the correct way to view this. In my opinion, it<br>seems to me that the EGL spec is just... wrong. GLX doesn't have this<br>problem because it requires you to
 specify the screen you are dealing<br>with when you are creating contexts and drawables. The GLX<br>specification also says that contexts and drawables must refer to the<br>same screen in order to be bound together. No such requirement exists<br>in the EGL spec, and in fact, it can't since EGL doesn't know this<br>information. So either the EGL display is NOT equivalent to an X<br>display or it is in which EGL actually allows contexts that could bind<br>to different devices. In the event that an EGL display shouldn't be<br>passed an X Display as the display_id parameter to eglGetDisplay,<br>well, then what is an appropriate parameter that should be used<br>instead? On the other hand, if an EGLDisplay is really meant to refer<br>to a X display then we are back to the issue of "screen-less contexts"<br>that I mentioned earlier. In addition, since creating pbuffers and<br>pixmaps doesn't require a window parameter those kinds of surfaces<br>would be without a screen too. How
 then would EGL determine on what<br>device they should live? Another solution is too perhaps simple use<br>the "default screen" as specified in the X Display structure. But this<br>isn't adequate either since it precludes the application from creating<br>a context on another screen in an X Display.<br><br>I'm sorry for the length of this post but I hope you can see my<br>confusion here, and I'd greatly appreciate if someone could clarify<br>this for me. Thanks.<br><br>- Mike<br>_______________________________________________<br>dri-egl mailing list<br>dri-egl@lists.freedesktop.org<br>http://lists.freedesktop.org/mailman/listinfo/dri-egl<br></blockquote><br>