Lines Matching full:vendor
33 * Defines the interface between the libglvnd server module and a vendor
36 * Each screen may have one vendor library assigned to it. The GLVND module
38 * it will forward that request to whichever vendor is assigned to that screen.
40 * Each vendor library is represented by an opaque __GLXServerVendor handle.
45 * InitExtensions. Drivers should use that callback to assign a vendor
50 * must ensure that all of the tags belong to the vendor that it forwards the
51 * request to. Otherwise, if a vendor library tries to look up the private
52 * data for the tag, it could get the data from another vendor and crash.
54 * then the dispatch stub should use the tag to select a vendor. If the
55 * request takes two or more tags, then the vendor must ensure that they all
56 * map to the same vendor.
73 * backwards compatibility with existing vendor libraries. The minor version
74 * number is incremented when there's a change but existing vendor libraries
85 * An opaque pointer representing a vendor library.
94 * Functions exported by libglvnd to the vendor library.
105 * assign a vendor to a screen from this callback.
129 * Creates a new vendor library handle.
134 * Destroys a vendor library handle.
136 * This function may not be called while the vendor handle is assigned to a
140 void (* destroyVendor) (GlxServerVendor *vendor);
143 * Sets the vendor library to use for a screen.
148 Bool (* setScreenVendor) (ScreenPtr screen, GlxServerVendor *vendor);
159 * XID's that are generated in the server should be added by the vendor
162 * Vendor libraries are responsible for keeping track of any additional
170 * \param vendor The vendor library to associate with \p id.
173 Bool (* addXIDMap) (XID id, GlxServerVendor *vendor);
176 * Returns the vendor and data for an XID, as added with \c addXIDMap.
180 * the vendor for whatever screen it's on.
183 * \return The vendor that owns the XID, or \c NULL if no matching vendor
201 * \return The vendor that owns the context tag, or \c NULL if the context
207 * Assigns a pointer to vendor-private data for a context tag.
233 * Forwards a request to a vendor library.
235 * \param vendor The vendor to send the request to.
238 int (* forwardRequest) (GlxServerVendor *vendor, ClientPtr client);
241 * Sets the vendor library to use for a screen for a specific client.
243 * This function changes which vendor should handle GLX requests for a
249 Bool (* setClientScreenVendor) (ClientPtr client, ScreenPtr screen, GlxServerVendor *vendor);
255 * Functions exported by the vendor library to libglvnd.
264 * so the callback may destroy any vendor handles.
266 * If the server is exiting, then GLVND will free any remaining vendor
280 * \param vendorCode The vendor opcode, if \p minorOpcode
282 * \return A dispatch function, or NULL if the vendor doesn't support this
290 * This function is called to handle any MakeCurrent request. The vendor
291 * library should deal with changing the current context. After the vendor
298 * tag and pass it to the vendor library.
300 * The vendor can use \c __GLXserverExports::getContextTagPrivate to look
303 * Likewise, the vendor can use \c __GLXserverExports::setContextTagPrivate