Mesa (mesa_7_5_branch): wgl: Optimize wglGetProcAddress.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Jul 1 12:57:42 UTC 2009


Module: Mesa
Branch: mesa_7_5_branch
Commit: e8c4663c11cfbb80ed23b1581cf1f3ccaef28bce
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8c4663c11cfbb80ed23b1581cf1f3ccaef28bce

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul  1 10:03:59 2009 +0100

wgl: Optimize wglGetProcAddress.

Do linear search only if prefix matches.

---

 .../state_trackers/wgl/shared/stw_getprocaddress.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/shared/stw_getprocaddress.c b/src/gallium/state_trackers/wgl/shared/stw_getprocaddress.c
index 4070cbd..8cacbb8 100644
--- a/src/gallium/state_trackers/wgl/shared/stw_getprocaddress.c
+++ b/src/gallium/state_trackers/wgl/shared/stw_getprocaddress.c
@@ -65,13 +65,13 @@ stw_get_proc_address(
 {
    const struct stw_extension_entry *entry;
 
-   PROC p = (PROC) _glapi_get_proc_address( lpszProc );
-   if (p)
-      return p;
+   if (lpszProc[0] == 'w' && lpszProc[1] == 'g' && lpszProc[2] == 'l')
+      for (entry = stw_extension_entries; entry->name; entry++)
+         if (strcmp( lpszProc, entry->name ) == 0)
+            return entry->proc;
 
-   for (entry = stw_extension_entries; entry->name; entry++)
-      if (strcmp( lpszProc, entry->name ) == 0)
-         return entry->proc;
+   if (lpszProc[0] == 'g' && lpszProc[1] == 'l')
+        return (PROC) _glapi_get_proc_address( lpszProc );
 
    return NULL;
 }




More information about the mesa-commit mailing list