Re: [Mesa-dev] [PATCH] i965: Delete pre-DRI2.3 viewport hacks.

2013-06-30 Thread Keith Packard
Kenneth Graunke  writes:

> The __DRI_USE_INVALIDATE extension was added in May 11th, 2010 by commit
> 4258e3a2e1c327.  At this point, it's unlikely that anyone's using the
> right mix of new and old components to hit this path.  Deleting it
> removes an untested code path and cleans up the driver a bit.

Thanks for the pointer; I'll definitely keep this patch in mind when I
re-add the viewport stuff to support the X Present extension.

Nice to at least have a reference to the right code ;-)

-- 
keith.pack...@intel.com


pgpqW66r7VhyP.pgp
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] i965: Delete pre-DRI2.3 viewport hacks.

2013-06-28 Thread Kenneth Graunke
The __DRI_USE_INVALIDATE extension was added in May 11th, 2010 by commit
4258e3a2e1c327.  At this point, it's unlikely that anyone's using the
right mix of new and old components to hit this path.  Deleting it
removes an untested code path and cleans up the driver a bit.

Cc: Kristian Høgsberg 
Cc: Keith Packard 
---
 src/mesa/drivers/dri/i965/intel_context.c   | 21 -
 src/mesa/drivers/dri/i965/intel_context.h   |  2 --
 src/mesa/drivers/dri/i965/intel_tex_image.c |  3 +--
 3 files changed, 1 insertion(+), 25 deletions(-)

I'm guessing this would break if you had an early-2010 X server or libGL
and modern i965_dri.so.  I'm not sure how to properly require this extension
to be present (and fail loading otherwise?).  Any advice?

diff --git a/src/mesa/drivers/dri/i965/intel_context.c 
b/src/mesa/drivers/dri/i965/intel_context.c
index 79420a2..491094f 100644
--- a/src/mesa/drivers/dri/i965/intel_context.c
+++ b/src/mesa/drivers/dri/i965/intel_context.c
@@ -292,21 +292,6 @@ intel_prepare_render(struct intel_context *intel)
}
 }
 
-static void
-intel_viewport(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h)
-{
-struct intel_context *intel = intel_context(ctx);
-__DRIcontext *driContext = intel->driContext;
-
-if (intel->saved_viewport)
-   intel->saved_viewport(ctx, x, y, w, h);
-
-if (_mesa_is_winsys_fbo(ctx->DrawBuffer)) {
-   dri2InvalidateDrawable(driContext->driDrawablePriv);
-   dri2InvalidateDrawable(driContext->driReadablePriv);
-}
-}
-
 static const struct dri_debug_control debug_control[] = {
{ "tex",   DEBUG_TEXTURE},
{ "state", DEBUG_STATE},
@@ -476,12 +461,6 @@ intelInitContext(struct intel_context *intel,
  dri_ctx_error))
   return false;
 
-   /* Can't rely on invalidate events, fall back to glViewport hack */
-   if (!driContextPriv->driScreenPriv->dri2.useInvalidate) {
-  intel->saved_viewport = functions->Viewport;
-  functions->Viewport = intel_viewport;
-   }
-
if (mesaVis == NULL) {
   memset(&visual, 0, sizeof visual);
   mesaVis = &visual;
diff --git a/src/mesa/drivers/dri/i965/intel_context.h 
b/src/mesa/drivers/dri/i965/intel_context.h
index 98def93..fff91db 100644
--- a/src/mesa/drivers/dri/i965/intel_context.h
+++ b/src/mesa/drivers/dri/i965/intel_context.h
@@ -252,8 +252,6 @@ struct intel_context
 
__DRIcontext *driContext;
struct intel_screen *intelScreen;
-   void (*saved_viewport)(struct gl_context * ctx,
- GLint x, GLint y, GLsizei width, GLsizei height);
 
/**
 * Configuration cache
diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c 
b/src/mesa/drivers/dri/i965/intel_tex_image.c
index 0d0c7f1..5a10a37 100644
--- a/src/mesa/drivers/dri/i965/intel_tex_image.c
+++ b/src/mesa/drivers/dri/i965/intel_tex_image.c
@@ -310,8 +310,7 @@ intelSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
if (!intelObj)
   return;
 
-   if (dPriv->lastStamp != dPriv->dri2.stamp ||
-   !pDRICtx->driScreenPriv->dri2.useInvalidate)
+   if (dPriv->lastStamp != dPriv->dri2.stamp)
   intel_update_renderbuffers(pDRICtx, dPriv);
 
rb = intel_get_renderbuffer(fb, BUFFER_FRONT_LEFT);
-- 
1.8.3.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev