Merge branch '7.8'
authorIan Romanick <ian.d.romanick@intel.com>
Sun, 4 Apr 2010 23:54:00 +0000 (16:54 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Sun, 4 Apr 2010 23:54:00 +0000 (16:54 -0700)
1  2 
progs/xdemos/Makefile
src/gallium/state_trackers/vega/Makefile
src/glx/glxcmds.c

diff --combined progs/xdemos/Makefile
index 660c540657a7f2ae729ca9f4664e11810b99aaa0,d81caab4dd3d1999847f4bc47cc4960f32a33ca4..2663015b2c7b315a266f6bf41d5038907651fb86
@@@ -9,9 -9,9 +9,9 @@@ INCDIR = $(TOP)/includ
  LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
  
  # Add X11 and pthread libs to satisfy GNU gold.
 -APP_LIB_DEPS += -lX11 -lpthread
 +APP_LIB_DEPS += $(X11_LIBS) -lpthread
  
 -LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) $(APP_LIB_DEPS)
 +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(APP_LIB_DEPS)
  
  PROGS = \
        corender \
@@@ -53,17 -53,18 +53,18 @@@ EXTRA_PROGS = 
  
  ##### RULES #####
  
- .SUFFIXES:
- .SUFFIXES: .c
+ .o: $(LIB_DEP)
+       $(APP_CC) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
  
- .c: $(LIB_DEP)
-       $(APP_CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@
+ .c.o:
+       $(APP_CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) $< -c -o $@
  
  
  ##### TARGETS #####
  
  default: $(PROGS)
  
+ $(PROGS): $(PROGS:%=%.o)
  
  extra: $(EXTRA_PROGS)
  
@@@ -74,45 -75,29 +75,29 @@@ clean
  
  
  # special cases
+ pbutil.o: pbutil.h
+ pbinfo.o: pbutil.h
  pbinfo: pbinfo.o pbutil.o
        $(APP_CC) $(CFLAGS) $(LDFLAGS) pbinfo.o pbutil.o $(LIBS) -o $@
  
+ pbdemo.o: pbutil.h
  pbdemo: pbdemo.o pbutil.o
        $(APP_CC) $(CFLAGS) $(LDFLAGS) pbdemo.o pbutil.o $(LIBS) -o $@
  
- pbinfo.o: pbinfo.c pbutil.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbinfo.c
- pbdemo.o: pbdemo.c pbutil.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbdemo.c
- pbutil.o: pbutil.c pbutil.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbutil.c
+ glxgears_fbconfig.o: pbutil.h
  glxgears_fbconfig: glxgears_fbconfig.o pbutil.o
        $(APP_CC) $(CFLAGS) $(LDFLAGS) glxgears_fbconfig.o pbutil.o $(LIBS) -o $@
  
- glxgears_fbconfig.o: glxgears_fbconfig.c pbutil.h
-       $(APP_CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) -c -I. $(CFLAGS) glxgears_fbconfig.c
+ xuserotfont.o: xuserotfont.h
+ xrotfontdemo.o: xuserotfont.h
  xrotfontdemo: xrotfontdemo.o xuserotfont.o
        $(APP_CC) $(CFLAGS) $(LDFLAGS) xrotfontdemo.o xuserotfont.o $(LIBS) -o $@
  
- xuserotfont.o: xuserotfont.c xuserotfont.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) xuserotfont.c
- xrotfontdemo.o: xrotfontdemo.c xuserotfont.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) xrotfontdemo.c
+ ipc.o: ipc.h
+ corender.o: ipc.h
  corender: corender.o ipc.o
        $(APP_CC) $(CFLAGS) $(LDFLAGS) corender.o ipc.o $(LIBS) -o $@
  
- corender.o: corender.c ipc.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) corender.c
- ipc.o: ipc.c ipc.h
-       $(APP_CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) ipc.c
- yuvrect_client: yuvrect_client.c
-       $(APP_CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) $< $(LDFLAGS) $(LIBS) -l$(GLU_LIB) -o $@
+ yuvrect_client: yuvrect_client.o
+       $(APP_CC) $(CFLAGS) $< $(LDFLAGS) $(LIBS) -l$(GLU_LIB) -o $@
  
index 7c315de8271a9b676728ebc2185faa3bdd18bec1,f6d1ea029cecd7ee7521c8cec1c830beac17b621..8b5a31cf3154aa883d7d1ba822d16b80d014ea0a
@@@ -25,7 -25,6 +25,7 @@@ VG_SOURCES = 
             api_transform.c \
             vgu.c        \
             vg_context.c \
 +           vg_manager.c \
             vg_state.c   \
             vg_tracker.c \
             vg_translate.c \
@@@ -43,7 -42,8 +43,8 @@@
  
  VG_OBJECTS = $(VG_SOURCES:.c=.o)
  
- VG_LIBS = $(GALLIUM_AUXILIARIES) -lm
+ VG_LIBS = $(GALLIUM_AUXILIARIES)
+ VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lm
  
  ### Include directories
  
@@@ -54,7 -54,7 +55,7 @@@ INCLUDE_DIRS = 
  
  
  .c.o:
 -      $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
 +      $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
  
  default: depend $(TOP)/$(LIB_DIR)/$(VG_LIB_NAME)
  
@@@ -65,7 -65,7 +66,7 @@@ $(TOP)/$(LIB_DIR)/$(VG_LIB_NAME): $(VG_
                -minor $(VG_MINOR) \
                -patch $(VG_TINY) \
                -install $(TOP)/$(LIB_DIR) \
-               $(VG_OBJECTS) $(VG_LIBS)
+               $(VG_OBJECTS) $(VG_LIBS) $(VG_LIB_DEPS)
  
  ######################################################################
  # Generic stuff
diff --combined src/glx/glxcmds.c
index ea267f3dd8ace2f2f024ee4eefff0ea4c7e99c5b,51a75e352bbcdd84c2ee4e7f5f5ea1d7c4d19c0a..7cdd42caf028aa989dad0e1cc4011e7a876fdbc7
@@@ -1917,6 -1917,7 +1917,7 @@@ __glXSwapIntervalSGI(int interval
  #endif
     psc = GetGLXScreenConfigs( gc->currentDpy, gc->screen);
  
+ #ifdef GLX_DIRECT_RENDERING
     if (gc->driContext && psc->driScreen && psc->driScreen->setSwapInterval) {
        __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(gc->currentDpy,
                                                  gc->currentDrawable,
        psc->driScreen->setSwapInterval(pdraw, interval);
        return 0;
     }
+ #endif
  
     dpy = gc->currentDpy;
     opcode = __glXSetupForCommand(dpy);
@@@ -1974,6 -1976,7 +1976,7 @@@ __glXSwapIntervalMESA(unsigned int inte
     }
  #endif
  
+ #ifdef GLX_DIRECT_RENDERING
     if (gc != NULL && gc->driContext) {
        __GLXscreenConfigs *psc;
  
         return 0;
        }
     }
+ #endif
  
     return GLX_BAD_CONTEXT;
  }
@@@ -2009,6 -2013,8 +2013,8 @@@ __glXGetSwapIntervalMESA(void
        }
     }
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (gc != NULL && gc->driContext) {
        __GLXscreenConfigs *psc;
  
         return psc->driScreen->getSwapInterval(pdraw);
        }
     }
+ #endif
  
     return 0;
  }
@@@ -2135,13 -2142,22 +2142,22 @@@ __glXGetVideoSyncSGI(unsigned int *coun
     int ret;
     GLXContext gc = __glXGetCurrentContext();
     __GLXscreenConfigs *psc;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw;
+ #endif
  
-    if (!gc || !gc->driContext)
+    if (!gc)
        return GLX_BAD_CONTEXT;
  
+ #ifdef GLX_DIRECT_RENDERING
+    if (!gc->driContext)
+       return GLX_BAD_CONTEXT;
+ #endif
     psc = GetGLXScreenConfigs(gc->currentDpy, gc->screen);
+ #ifdef GLX_DIRECT_RENDERING
     pdraw = GetGLXDRIDrawable(gc->currentDpy, gc->currentDrawable, NULL);
+ #endif
  
     /* FIXME: Looking at the GLX_SGI_video_sync spec in the extension registry,
      * FIXME: there should be a GLX encoding for this call.  I can find no
        return (ret == 0) ? 0 : GLX_BAD_CONTEXT;
     }
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (psc->driScreen && psc->driScreen->getDrawableMSC) {
        ret = psc->driScreen->getDrawableMSC(psc, pdraw, &ust, &msc, &sbc);
        *count = (unsigned) msc;
        return (ret == True) ? 0 : GLX_BAD_CONTEXT;
     }
+ #endif
  
     return GLX_BAD_CONTEXT;
  }
@@@ -2170,18 -2189,27 +2189,27 @@@ __glXWaitVideoSyncSGI(int divisor, int 
  {
     GLXContext gc = __glXGetCurrentContext();
     __GLXscreenConfigs *psc;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw;
+ #endif
     int64_t ust, msc, sbc;
     int ret;
  
     if (divisor <= 0 || remainder < 0)
        return GLX_BAD_VALUE;
  
-    if (!gc || !gc->driContext)
+    if (!gc)
        return GLX_BAD_CONTEXT;
  
+ #ifdef GLX_DIRECT_RENDERING
+    if (!gc->driContext)
+       return GLX_BAD_CONTEXT;
+ #endif
     psc = GetGLXScreenConfigs( gc->currentDpy, gc->screen);
+ #ifdef GLX_DIRECT_RENDERING
     pdraw = GetGLXDRIDrawable(gc->currentDpy, gc->currentDrawable, NULL);
+ #endif
  
  #ifdef __DRI_MEDIA_STREAM_COUNTER
     if (psc->msc != NULL && psc->driScreen ) {
        return (ret == 0) ? 0 : GLX_BAD_CONTEXT;
     }
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (psc->driScreen && psc->driScreen->waitForMSC) {
        ret = psc->driScreen->waitForMSC(pdraw, 0, divisor, remainder, &ust, &msc,
                                       &sbc);
        *count = (unsigned) msc;
        return (ret == True) ? 0 : GLX_BAD_CONTEXT;
     }
+ #endif
  
     return GLX_BAD_CONTEXT;
  }
@@@ -2354,13 -2385,17 +2385,17 @@@ __glXGetSyncValuesOML(Display * dpy, GL
  {
     __GLXdisplayPrivate * const priv = __glXInitialize(dpy);
     int i, ret;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw;
+ #endif
     __GLXscreenConfigs *psc;
  
     if (!priv)
        return False;
  
+ #ifdef GLX_DIRECT_RENDERING
     pdraw = GetGLXDRIDrawable(dpy, drawable, &i);
+ #endif
     psc = &priv->screenConfigs[i];
  
  #if defined(__DRI_SWAP_BUFFER_COUNTER) && defined(__DRI_MEDIA_STREAM_COUNTER)
               && ((*psc->sbc->getSBC)(pdraw->driDrawable, sbc) == 0)
               && (__glXGetUST(ust) == 0) );
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (pdraw && psc && psc->driScreen && psc->driScreen->getDrawableMSC) {
        ret = psc->driScreen->getDrawableMSC(psc, pdraw, ust, msc, sbc);
        return ret;
     }
+ #endif
  
     return False;
  }
@@@ -2491,12 -2529,19 +2529,19 @@@ __glXSwapBuffersMscOML(Display * dpy, G
  {
     GLXContext gc = __glXGetCurrentContext();
     int screen;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, &screen);
+ #endif
     __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);
  
-    if (!pdraw || !gc || !gc->driContext) /* no GLX for this */
+    if (!gc) /* no GLX for this */
        return -1;
  
+ #ifdef GLX_DIRECT_RENDERING
+    if (!pdraw || !gc->driContext)
+       return -1;
+ #endif
     /* The OML_sync_control spec says these should "generate a GLX_BAD_VALUE
      * error", but it also says "It [glXSwapBuffersMscOML] will return a value
      * of -1 if the function failed because of errors detected in the input
     if (divisor > 0 && remainder >= divisor)
        return -1;
  
 +   if (target_msc == 0 && divisor == 0 && remainder == 0)
 +      remainder = 1;
 +
  #ifdef __DRI_SWAP_BUFFER_COUNTER
     if (psc->counters != NULL)
        return (*psc->sbc->swapBuffersMSC)(pdraw->driDrawable, target_msc,
@@@ -2533,7 -2575,9 +2578,9 @@@ __glXWaitForMscOML(Display * dpy, GLXDr
                     int64_t * msc, int64_t * sbc)
  {
     int screen;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, &screen);
+ #endif
     __GLXscreenConfigs * const psc = GetGLXScreenConfigs( dpy, screen );
     int ret;
  
        return ((ret == 0) && (__glXGetUST(ust) == 0));
     }
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (pdraw && psc->driScreen && psc->driScreen->waitForMSC) {
        ret = psc->driScreen->waitForMSC(pdraw, target_msc, divisor, remainder,
                                       ust, msc, sbc);
        return ret;
     }
+ #endif
  
     return False;
  }
@@@ -2573,7 -2620,9 +2623,9 @@@ __glXWaitForSbcOML(Display * dpy, GLXDr
                     int64_t * msc, int64_t * sbc)
  {
     int screen;
+ #ifdef GLX_DIRECT_RENDERING
     __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, &screen);
+ #endif
     __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);
     int ret;
  
        return ((ret == 0) && (__glXGetUST(ust) == 0));
     }
  #endif
+ #ifdef GLX_DIRECT_RENDERING
     if (pdraw && psc->driScreen && psc->driScreen->waitForSBC) {
        ret = psc->driScreen->waitForSBC(pdraw, target_sbc, ust, msc, sbc);
        return ret;
     }
+ #endif
     return False;
  }