From: Eric Anholt Date: Wed, 4 Jul 2012 17:52:34 +0000 (-0700) Subject: intel: Replace the non-getBuffersWithFormat compat path with an error message. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1b4374d364f877d1b7d01e1231adeee2e0f63a4d;p=mesa.git intel: Replace the non-getBuffersWithFormat compat path with an error message. It's been broken (using NULL getBuffersWithFormat() instead of getBuffers()) due to a copy and paste error for a year now. GetBuffersWithFormat has been around since 2009, so I don't feel any guilt in not supporting it. Reviewed-by: Chad Versace Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 60e93f0dc3e..39a9a858dc4 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -872,27 +872,6 @@ intel_query_dri2_buffers(struct intel_context *intel, drawable->loaderPrivate); free(attachments); - } else if (screen->dri2.loader) { - - int i = 0; - const int max_attachments = 4; - unsigned *attachments = calloc(max_attachments, sizeof(unsigned)); - - if (intel_get_renderbuffer(fb, BUFFER_FRONT_LEFT)) - attachments[i++] = __DRI_BUFFER_FRONT_LEFT; - if (intel_get_renderbuffer(fb, BUFFER_BACK_LEFT)) - attachments[i++] = __DRI_BUFFER_BACK_LEFT; - - assert(i <= max_attachments); - - *buffers = screen->dri2.loader->getBuffersWithFormat(drawable, - &drawable->w, - &drawable->h, - attachments, i, - buffer_count, - drawable->loaderPrivate); - free(attachments); - } else { *buffers = NULL; *buffer_count = 0; diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index b514d8501dd..e52bf13cfb6 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -810,6 +810,14 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp) int color; __DRIconfig **configs = NULL; + if (psp->dri2.loader->base.version <= 2 || + psp->dri2.loader->getBuffersWithFormat == NULL) { + fprintf(stderr, + "\nERROR! DRI2 loader with getBuffersWithFormat() " + "support required\n"); + return false; + } + /* Allocate the private area */ intelScreen = CALLOC(sizeof *intelScreen); if (!intelScreen) {