egl: Remove st/egl probe code.
authorChia-I Wu <olv@lunarg.com>
Thu, 24 Jun 2010 16:41:56 +0000 (00:41 +0800)
committerChia-I Wu <olv@lunarg.com>
Tue, 29 Jun 2010 09:16:20 +0000 (17:16 +0800)
It is no longer needed.

src/egl/main/egldriver.c
src/egl/main/egldriver.h
src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/common/egl_g3d.h
src/gallium/state_trackers/egl/common/native.h
src/gallium/state_trackers/egl/common/native_probe.h [deleted file]
src/gallium/state_trackers/egl/fbdev/native_fbdev.c
src/gallium/state_trackers/egl/gdi/native_gdi.c
src/gallium/state_trackers/egl/kms/native_kms.c
src/gallium/state_trackers/egl/x11/native_x11.c

index f3a69409c778db4716a9e8def94188b86e5c3e83..447f67d88a76eef7b39c475c5ae8934727646f42 100644 (file)
@@ -98,13 +98,6 @@ library_suffix(void)
 #endif
 
 
-#define NUM_PROBE_CACHE_SLOTS 8
-static struct {
-   EGLint keys[NUM_PROBE_CACHE_SLOTS];
-   const void *values[NUM_PROBE_CACHE_SLOTS];
-} _eglProbeCache;
-
-
 /**
  * Open the named driver and find its bootstrap function: _eglMain().
  */
@@ -563,44 +556,3 @@ _eglSearchPathForEach(EGLBoolean (*callback)(const char *, size_t, void *),
    const char *search_path = _eglGetSearchPath();
    _eglPreloadForEach(search_path, callback, callback_data);
 }
-
-
-/**
- * Set the probe cache at the given key.
- *
- * A key, instead of a _EGLDriver, is used to allow the probe cache to be share
- * by multiple drivers.
- */
-void
-_eglSetProbeCache(EGLint key, const void *val)
-{
-   EGLint idx;
-
-   for (idx = 0; idx < NUM_PROBE_CACHE_SLOTS; idx++) {
-      if (!_eglProbeCache.keys[idx] || _eglProbeCache.keys[idx] == key)
-         break;
-   }
-   assert(key > 0);
-   assert(idx < NUM_PROBE_CACHE_SLOTS);
-
-   _eglProbeCache.keys[idx] = key;
-   _eglProbeCache.values[idx] = val;
-}
-
-
-/**
- * Return the probe cache at the given key.
- */
-const void *
-_eglGetProbeCache(EGLint key)
-{
-   EGLint idx;
-
-   for (idx = 0; idx < NUM_PROBE_CACHE_SLOTS; idx++) {
-      if (!_eglProbeCache.keys[idx] || _eglProbeCache.keys[idx] == key)
-         break;
-   }
-
-   return (idx < NUM_PROBE_CACHE_SLOTS && _eglProbeCache.keys[idx] == key) ?
-      _eglProbeCache.values[idx] : NULL;
-}
index 8b34c43b924dcba4873dbf479ea163cbd1b9815d..711de8ad2058128bc042c41bd737151f570940c0 100644 (file)
@@ -97,12 +97,4 @@ _eglSearchPathForEach(EGLBoolean (*callback)(const char *, size_t, void *),
                       void *callback_data);
 
 
-PUBLIC void
-_eglSetProbeCache(EGLint key, const void *val);
-
-
-PUBLIC const void *
-_eglGetProbeCache(EGLint key);
-
-
 #endif /* EGLDRIVER_INCLUDED */
index 494d6dd8b6d6b679a62cbc6c70434c547b7ded74..d7a2aa8b8ea6e4e32661a31ec2173f5d0c60ab13 100644 (file)
@@ -88,51 +88,6 @@ egl_g3d_get_platform(_EGLDriver *drv, _EGLPlatformType plat)
    return gdrv->platforms[plat];
 }
 
-/**
- * Get the probe result of the display.
- *
- * Note that this function may be called before the display is initialized.
- */
-static enum native_probe_result
-egl_g3d_get_probe_result(_EGLDriver *drv, _EGLDisplay *dpy)
-{
-   struct egl_g3d_driver *gdrv = egl_g3d_driver(drv);
-   struct native_probe *nprobe;
-   const struct native_platform *nplat;
-
-   nplat = egl_g3d_get_platform(drv, dpy->Platform);
-   if (!nplat || !nplat->create_probe)
-      return NATIVE_PROBE_UNKNOWN;
-
-   nprobe = (struct native_probe *) _eglGetProbeCache(gdrv->probe_key);
-   if (!nprobe || nprobe->display != dpy->PlatformDisplay) {
-      if (nprobe)
-         nprobe->destroy(nprobe);
-      nprobe = nplat->create_probe(dpy->PlatformDisplay);
-      _eglSetProbeCache(gdrv->probe_key, (void *) nprobe);
-   }
-
-   return nplat->get_probe_result(nprobe);
-}
-
-/**
- * Destroy the probe object of the display.  The display may be NULL.
- *
- * Note that this function may be called before the display is initialized.
- */
-static void
-egl_g3d_destroy_probe(_EGLDriver *drv, _EGLDisplay *dpy)
-{
-   struct egl_g3d_driver *gdrv = egl_g3d_driver(drv);
-   struct native_probe *nprobe;
-
-   nprobe = (struct native_probe *) _eglGetProbeCache(gdrv->probe_key);
-   if (nprobe && (!dpy || nprobe->display == dpy->PlatformDisplay)) {
-      nprobe->destroy(nprobe);
-      _eglSetProbeCache(gdrv->probe_key, NULL);
-   }
-}
-
 #ifdef EGL_MESA_screen_surface
 
 static void
@@ -510,9 +465,6 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy,
    struct egl_g3d_display *gdpy;
    const struct native_platform *nplat;
 
-   /* the probe object is unlikely to be needed again */
-   egl_g3d_destroy_probe(drv, dpy);
-
    nplat = egl_g3d_get_platform(drv, dpy->Platform);
    if (!nplat)
       return EGL_FALSE;
@@ -595,28 +547,7 @@ egl_g3d_get_proc_address(_EGLDriver *drv, const char *procname)
 static EGLint
 egl_g3d_probe(_EGLDriver *drv, _EGLDisplay *dpy)
 {
-   enum native_probe_result res;
-   EGLint score;
-
-   res = egl_g3d_get_probe_result(drv, dpy);
-
-   switch (res) {
-   case NATIVE_PROBE_UNKNOWN:
-   default:
-      score = 0;
-      break;
-   case NATIVE_PROBE_FALLBACK:
-      score = 40;
-      break;
-   case NATIVE_PROBE_SUPPORTED:
-      score = 50;
-      break;
-   case NATIVE_PROBE_EXACT:
-      score = 100;
-      break;
-   }
-
-   return score;
+   return (egl_g3d_get_platform(drv, dpy->Platform)) ? 90 : 0;
 }
 
 _EGLDriver *
@@ -637,9 +568,6 @@ egl_g3d_create_driver(const struct egl_g3d_loader *loader)
 
    gdrv->base.Probe = egl_g3d_probe;
 
-   /* the key is " EGL G3D" */
-   gdrv->probe_key = 0x0E61063D;
-
    /* to be filled by the caller */
    gdrv->base.Name = NULL;
    gdrv->base.Unload = NULL;
index d9ecb208e05babd7ad5307686fcd136c26cd7300..ed2b0409bb995aabe3e40c60edf06ecc928f18d5 100644 (file)
@@ -47,7 +47,6 @@ struct egl_g3d_driver {
    _EGLDriver base;
    const struct egl_g3d_loader *loader;
    const struct native_platform *platforms[_EGL_NUM_PLATFORMS];
-   EGLint probe_key;
 };
 
 struct egl_g3d_display {
index 7e84d74ea7c3474260ec21058543613ef6615d5f..9f34c517ef8cd9038cdbb5fad6ae340abe0ac818 100644 (file)
@@ -34,7 +34,6 @@
 #include "pipe/p_state.h"
 #include "state_tracker/sw_winsys.h"
 
-#include "native_probe.h"
 #include "native_modeset.h"
 
 /**
@@ -216,20 +215,6 @@ native_attachment_mask_test(uint mask, enum native_attachment att)
 struct native_platform {
    const char *name;
 
-   /**
-    * Return a probe object for the given display.
-    *
-    * Note that the returned object may be cached and used by different native
-    * display modules.  It allows fast probing when multiple modules probe the
-    * same display.
-    */
-   struct native_probe *(*create_probe)(void *dpy);
-
-   /**
-    * Probe the probe object.
-    */
-   enum native_probe_result (*get_probe_result)(struct native_probe *nprobe);
-
    struct native_display *(*create_display)(void *dpy,
                                             struct native_event_handler *handler,
                                             void *user_data);
diff --git a/src/gallium/state_trackers/egl/common/native_probe.h b/src/gallium/state_trackers/egl/common/native_probe.h
deleted file mode 100644 (file)
index c0b7f2a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.8
- *
- * Copyright (C) 2009-2010 Chia-I Wu <olv@0xlab.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _NATIVE_PROBE_H_
-#define _NATIVE_PROBE_H_
-
-#include "EGL/egl.h"  /* for EGL native types */
-
-/**
- * Enumerations for probe results.
- */
-enum native_probe_result {
-   NATIVE_PROBE_UNKNOWN,
-   NATIVE_PROBE_FALLBACK,
-   NATIVE_PROBE_SUPPORTED,
-   NATIVE_PROBE_EXACT,
-};
-
-/**
- * A probe object for display probe.
- */
-struct native_probe {
-   int magic;
-   void *display;
-   void *data;
-
-   void (*destroy)(struct native_probe *nprobe);
-};
-
-#endif /* _NATIVE_PROBE_H_ */
index 7c276c22f8c7afef427a9a4b71a5a9e114597c8c..e459402076db66d790a5202aaf08b98588f9ba0a 100644 (file)
@@ -457,8 +457,6 @@ native_create_display(void *dpy, struct native_event_handler *event_handler,
 
 static const struct native_platform fbdev_platform = {
    "FBDEV", /* name */
-   NULL, /* create_probe */
-   NULL, /* get_probe_result */
    native_create_display
 };
 
index ed955c4132de04981031dccdc8faa91fdbdd0a0b..06e3edfc391c6a95647aa2f84dcd04478dc593f2 100644 (file)
@@ -389,8 +389,6 @@ native_create_display(void *dpy, struct native_event_handler *event_handler,
 
 static const struct native_platform gdi_platform = {
    "GDI", /* name */
-   NULL, /* create_probe */
-   NULL, /* get_probe_result */
    native_create_display
 };
 
index 5833d27a250cce606e78912ab7955affa9986546..d4e8fbc9131fffa86553ff9dfb2c9a4291de5b06 100644 (file)
@@ -767,8 +767,6 @@ native_create_display(void *dpy, struct native_event_handler *event_handler,
 
 static const struct native_platform kms_platform = {
    "KMS", /* name */
-   NULL, /* create_probe */
-   NULL, /* get_probe_result */
    native_create_display
 };
 
index 8dc19d0dd9f5ea58207307c9276bb73ee36f155d..fc12720c428a143f7b3196347a1a245fd3fabbe7 100644 (file)
@@ -59,8 +59,6 @@ native_create_display(void *dpy, struct native_event_handler *event_handler,
 
 static const struct native_platform x11_platform = {
    "X11", /* name */
-   NULL, /* create_probe */
-   NULL, /* get_probe_result */
    native_create_display
 };