Compare commits
	
		
			5 Commits
		
	
	
		
			intel_2009
			...
			mesa_7_4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					bf1e6581a5 | ||
| 
						 | 
					80ec7843bc | ||
| 
						 | 
					366d6e8cd1 | ||
| 
						 | 
					63ed288396 | ||
| 
						 | 
					88ce34f400 | 
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@@ -174,7 +174,7 @@ ultrix-gcc:
 | 
			
		||||
 | 
			
		||||
# Rules for making release tarballs
 | 
			
		||||
 | 
			
		||||
VERSION=7.4-rc2
 | 
			
		||||
VERSION=7.4
 | 
			
		||||
DIRECTORY = Mesa-$(VERSION)
 | 
			
		||||
LIB_NAME = MesaLib-$(VERSION)
 | 
			
		||||
DEMO_NAME = MesaDemos-$(VERSION)
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
<H1>News</H1>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<h2>March ??, 2009</h2>
 | 
			
		||||
<h2>March 27, 2009</h2>
 | 
			
		||||
<p>
 | 
			
		||||
<a href="relnotes-7.4.html">Mesa 7.4</a> is released.
 | 
			
		||||
This is a stable release fixing bugs since the 7.3 release.
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@
 | 
			
		||||
 | 
			
		||||
<body bgcolor="#eeeeee">
 | 
			
		||||
 | 
			
		||||
<H1>Mesa 7.4 Release Notes / date TBD</H1>
 | 
			
		||||
<H1>Mesa 7.4 Release Notes / 27 March 2009</H1>
 | 
			
		||||
 | 
			
		||||
<p>
 | 
			
		||||
Mesa 7.4 is a stable development release fixing bugs since the 7.3 release.
 | 
			
		||||
 
 | 
			
		||||
@@ -533,7 +533,7 @@ intelFlush(GLcontext * ctx)
 | 
			
		||||
   intel_flush(ctx, GL_FALSE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
void
 | 
			
		||||
intel_glFlush(GLcontext *ctx)
 | 
			
		||||
{
 | 
			
		||||
   intel_flush(ctx, GL_TRUE);
 | 
			
		||||
 
 | 
			
		||||
@@ -440,6 +440,7 @@ extern void intelGetLock(struct intel_context *intel, GLuint flags);
 | 
			
		||||
 | 
			
		||||
extern void intelFinish(GLcontext * ctx);
 | 
			
		||||
extern void intelFlush(GLcontext * ctx);
 | 
			
		||||
extern void intel_glFlush(GLcontext *ctx);
 | 
			
		||||
 | 
			
		||||
extern void intelInitDriverFunctions(struct dd_function_table *functions);
 | 
			
		||||
extern void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging);
 | 
			
		||||
 
 | 
			
		||||
@@ -104,7 +104,7 @@ do_copy_texsubimage(struct intel_context *intel,
 | 
			
		||||
      return GL_FALSE;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   intelFlush(ctx);
 | 
			
		||||
   intel_glFlush(ctx);
 | 
			
		||||
   LOCK_HARDWARE(intel);
 | 
			
		||||
   {
 | 
			
		||||
      GLuint image_offset = intel_miptree_image_offset(intelImage->mt,
 | 
			
		||||
@@ -155,6 +155,7 @@ do_copy_texsubimage(struct intel_context *intel,
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   UNLOCK_HARDWARE(intel);
 | 
			
		||||
   intel_glFlush(ctx);
 | 
			
		||||
 | 
			
		||||
   /* GL_SGIS_generate_mipmap */
 | 
			
		||||
   if (intelImage->level == texObj->BaseLevel && texObj->GenerateMipmap) {
 | 
			
		||||
 
 | 
			
		||||
@@ -166,17 +166,27 @@ swrastFillInModes(__DRIscreen *psp,
 | 
			
		||||
    depth_buffer_factor = 4;
 | 
			
		||||
    back_buffer_factor = 2;
 | 
			
		||||
 | 
			
		||||
    if (pixel_bits == 8) {
 | 
			
		||||
    switch (pixel_bits) {
 | 
			
		||||
    case 8:
 | 
			
		||||
	fb_format = GL_RGB;
 | 
			
		||||
	fb_type = GL_UNSIGNED_BYTE_2_3_3_REV;
 | 
			
		||||
    }
 | 
			
		||||
    else if (pixel_bits == 16) {
 | 
			
		||||
	break;
 | 
			
		||||
    case 16:
 | 
			
		||||
	fb_format = GL_RGB;
 | 
			
		||||
	fb_type = GL_UNSIGNED_SHORT_5_6_5;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
	break;
 | 
			
		||||
    case 24:
 | 
			
		||||
	fb_format = GL_BGR;
 | 
			
		||||
	fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
 | 
			
		||||
	break;
 | 
			
		||||
    case 32:
 | 
			
		||||
	fb_format = GL_BGRA;
 | 
			
		||||
	fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
 | 
			
		||||
	break;
 | 
			
		||||
    default:
 | 
			
		||||
	fprintf(stderr, "[%s:%u] bad depth %d\n", __func__, __LINE__,
 | 
			
		||||
		pixel_bits);
 | 
			
		||||
	return NULL;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    configs = driCreateConfigs(fb_format, fb_type,
 | 
			
		||||
@@ -198,7 +208,7 @@ driCreateNewScreen(int scrn, const __DRIextension **extensions,
 | 
			
		||||
{
 | 
			
		||||
    static const __DRIextension *emptyExtensionList[] = { NULL };
 | 
			
		||||
    __DRIscreen *psp;
 | 
			
		||||
    __DRIconfig **configs8, **configs16, **configs32;
 | 
			
		||||
    const __DRIconfig **configs8, **configs16, **configs24, **configs32;
 | 
			
		||||
 | 
			
		||||
    (void) data;
 | 
			
		||||
 | 
			
		||||
@@ -215,11 +225,12 @@ driCreateNewScreen(int scrn, const __DRIextension **extensions,
 | 
			
		||||
 | 
			
		||||
    configs8  = swrastFillInModes(psp,  8,  8, 0, 1);
 | 
			
		||||
    configs16 = swrastFillInModes(psp, 16, 16, 0, 1);
 | 
			
		||||
    configs24 = swrastFillInModes(psp, 24, 24, 8, 1);
 | 
			
		||||
    configs32 = swrastFillInModes(psp, 32, 24, 8, 1);
 | 
			
		||||
 | 
			
		||||
    configs16 = (__DRIconfig **)driConcatConfigs(configs8, configs16);
 | 
			
		||||
 | 
			
		||||
    *driver_configs = driConcatConfigs(configs16, configs32);
 | 
			
		||||
    configs16 = driConcatConfigs(configs8, configs16);
 | 
			
		||||
    configs24 = driConcatConfigs(configs16, configs24);
 | 
			
		||||
    *driver_configs = driConcatConfigs(configs24, configs32);
 | 
			
		||||
 | 
			
		||||
    driInitExtensions( NULL, card_extensions, GL_FALSE );
 | 
			
		||||
 | 
			
		||||
@@ -251,19 +262,24 @@ static GLuint
 | 
			
		||||
choose_pixel_format(const GLvisual *v)
 | 
			
		||||
{
 | 
			
		||||
    if (v->rgbMode) {
 | 
			
		||||
	int bpp = v->rgbBits;
 | 
			
		||||
	int depth = v->rgbBits;
 | 
			
		||||
 | 
			
		||||
	if (bpp == 32
 | 
			
		||||
	if (depth == 32
 | 
			
		||||
	    && v->redMask   == 0xff0000
 | 
			
		||||
	    && v->greenMask == 0x00ff00
 | 
			
		||||
	    && v->blueMask  == 0x0000ff)
 | 
			
		||||
	    return PF_A8R8G8B8;
 | 
			
		||||
	else if (bpp == 16
 | 
			
		||||
	else if (depth == 24
 | 
			
		||||
	    && v->redMask   == 0xff0000
 | 
			
		||||
	    && v->greenMask == 0x00ff00
 | 
			
		||||
	    && v->blueMask  == 0x0000ff)
 | 
			
		||||
	    return PF_X8R8G8B8;
 | 
			
		||||
	else if (depth == 16
 | 
			
		||||
	    && v->redMask   == 0xf800
 | 
			
		||||
	    && v->greenMask == 0x07e0
 | 
			
		||||
	    && v->blueMask  == 0x001f)
 | 
			
		||||
	    return PF_R5G6B5;
 | 
			
		||||
	else if (bpp == 8
 | 
			
		||||
	else if (depth == 8
 | 
			
		||||
	    && v->redMask   == 0x07
 | 
			
		||||
	    && v->greenMask == 0x38
 | 
			
		||||
	    && v->blueMask  == 0xc0)
 | 
			
		||||
@@ -292,7 +308,6 @@ swrast_alloc_front_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
 | 
			
		||||
			   GLenum internalFormat, GLuint width, GLuint height)
 | 
			
		||||
{
 | 
			
		||||
    struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
 | 
			
		||||
    int bpp;
 | 
			
		||||
    unsigned mask = PITCH_ALIGN_BITS - 1;
 | 
			
		||||
 | 
			
		||||
    TRACE;
 | 
			
		||||
@@ -301,23 +316,8 @@ swrast_alloc_front_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
 | 
			
		||||
    rb->Width = width;
 | 
			
		||||
    rb->Height = height;
 | 
			
		||||
 | 
			
		||||
    switch (internalFormat) {
 | 
			
		||||
    case GL_RGB:
 | 
			
		||||
	bpp = rb->RedBits + rb->GreenBits + rb->BlueBits;
 | 
			
		||||
	break;
 | 
			
		||||
    case GL_RGBA:
 | 
			
		||||
	bpp = rb->RedBits + rb->GreenBits + rb->BlueBits + rb->AlphaBits;
 | 
			
		||||
	break;
 | 
			
		||||
    case GL_COLOR_INDEX8_EXT:
 | 
			
		||||
	bpp = rb->IndexBits;
 | 
			
		||||
	break;
 | 
			
		||||
    default:
 | 
			
		||||
	_mesa_problem( NULL, "unexpected format in %s", __FUNCTION__ );
 | 
			
		||||
	return GL_FALSE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* always pad to PITCH_ALIGN_BITS */
 | 
			
		||||
    xrb->pitch = ((width * bpp + mask) & ~mask) / 8;
 | 
			
		||||
    xrb->pitch = ((width * xrb->bpp + mask) & ~mask) / 8;
 | 
			
		||||
 | 
			
		||||
    return GL_TRUE;
 | 
			
		||||
}
 | 
			
		||||
@@ -373,6 +373,17 @@ swrast_new_renderbuffer(const GLvisual *visual, GLboolean front)
 | 
			
		||||
	xrb->Base.GreenBits = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.BlueBits  = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.AlphaBits = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->bpp = 32;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_X8R8G8B8:
 | 
			
		||||
	xrb->Base.InternalFormat = GL_RGB;
 | 
			
		||||
	xrb->Base._BaseFormat = GL_RGB;
 | 
			
		||||
	xrb->Base.DataType = GL_UNSIGNED_BYTE;
 | 
			
		||||
	xrb->Base.RedBits   = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.GreenBits = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.BlueBits  = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.AlphaBits = 0;
 | 
			
		||||
	xrb->bpp = 32;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_R5G6B5:
 | 
			
		||||
	xrb->Base.InternalFormat = GL_RGB;
 | 
			
		||||
@@ -382,6 +393,7 @@ swrast_new_renderbuffer(const GLvisual *visual, GLboolean front)
 | 
			
		||||
	xrb->Base.GreenBits = 6 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.BlueBits  = 5 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.AlphaBits = 0;
 | 
			
		||||
	xrb->bpp = 16;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_R3G3B2:
 | 
			
		||||
	xrb->Base.InternalFormat = GL_RGB;
 | 
			
		||||
@@ -391,12 +403,14 @@ swrast_new_renderbuffer(const GLvisual *visual, GLboolean front)
 | 
			
		||||
	xrb->Base.GreenBits = 3 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.BlueBits  = 2 * sizeof(GLubyte);
 | 
			
		||||
	xrb->Base.AlphaBits = 0;
 | 
			
		||||
	xrb->bpp = 8;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_CI8:
 | 
			
		||||
	xrb->Base.InternalFormat = GL_COLOR_INDEX8_EXT;
 | 
			
		||||
	xrb->Base._BaseFormat = GL_COLOR_INDEX;
 | 
			
		||||
	xrb->Base.DataType = GL_UNSIGNED_BYTE;
 | 
			
		||||
	xrb->Base.IndexBits = 8 * sizeof(GLubyte);
 | 
			
		||||
	xrb->bpp = 8;
 | 
			
		||||
	break;
 | 
			
		||||
    default:
 | 
			
		||||
	return NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -90,6 +90,8 @@ struct swrast_renderbuffer {
 | 
			
		||||
 | 
			
		||||
    /* renderbuffer pitch (in bytes) */
 | 
			
		||||
    GLuint pitch;
 | 
			
		||||
   /* bits per pixel of storage */
 | 
			
		||||
    GLuint bpp;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static INLINE __DRIcontext *
 | 
			
		||||
@@ -115,10 +117,10 @@ swrast_renderbuffer(struct gl_renderbuffer *rb)
 | 
			
		||||
 * Pixel formats we support
 | 
			
		||||
 */
 | 
			
		||||
#define PF_CI8        1		/**< Color Index mode */
 | 
			
		||||
#define PF_A8R8G8B8   2		/**< 32-bit TrueColor:  8-A, 8-R, 8-G, 8-B bits */
 | 
			
		||||
#define PF_R5G6B5     3		/**< 16-bit TrueColor:  5-R, 6-G, 5-B bits */
 | 
			
		||||
#define PF_R3G3B2     4		/**<  8-bit TrueColor:  3-R, 3-G, 2-B bits */
 | 
			
		||||
 | 
			
		||||
#define PF_A8R8G8B8   2		/**< 32bpp TrueColor:  8-A, 8-R, 8-G, 8-B bits */
 | 
			
		||||
#define PF_R5G6B5     3		/**< 16bpp TrueColor:  5-R, 6-G, 5-B bits */
 | 
			
		||||
#define PF_R3G3B2     4		/**<  8bpp TrueColor:  3-R, 3-G, 2-B bits */
 | 
			
		||||
#define PF_X8R8G8B8   5		/**< 32bpp TrueColor:  8-R, 8-G, 8-B bits */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Renderbuffer pitch alignment (in bits).
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,24 @@ static const GLubyte kernel[16] = {
 | 
			
		||||
   DST[BCOMP] = SRC[0]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 32-bit BGRX */
 | 
			
		||||
#define STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE) \
 | 
			
		||||
   DST[3] = 0xff; \
 | 
			
		||||
   DST[2] = VALUE[RCOMP]; \
 | 
			
		||||
   DST[1] = VALUE[GCOMP]; \
 | 
			
		||||
   DST[0] = VALUE[BCOMP]
 | 
			
		||||
#define STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE) \
 | 
			
		||||
   DST[3] = 0xff; \
 | 
			
		||||
   DST[2] = VALUE[RCOMP]; \
 | 
			
		||||
   DST[1] = VALUE[GCOMP]; \
 | 
			
		||||
   DST[0] = VALUE[BCOMP]
 | 
			
		||||
#define FETCH_PIXEL_X8R8G8B8(DST, SRC) \
 | 
			
		||||
   DST[ACOMP] = 0xff; \
 | 
			
		||||
   DST[RCOMP] = SRC[2]; \
 | 
			
		||||
   DST[GCOMP] = SRC[1]; \
 | 
			
		||||
   DST[BCOMP] = SRC[0]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 16-bit BGR */
 | 
			
		||||
#define STORE_PIXEL_R5G6B5(DST, X, Y, VALUE) \
 | 
			
		||||
   do { \
 | 
			
		||||
@@ -139,6 +157,24 @@ static const GLubyte kernel[16] = {
 | 
			
		||||
#include "swrast/s_spantemp.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 32-bit BGRX */
 | 
			
		||||
#define NAME(FUNC) FUNC##_X8R8G8B8
 | 
			
		||||
#define RB_TYPE GLubyte
 | 
			
		||||
#define SPAN_VARS \
 | 
			
		||||
   struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
 | 
			
		||||
#define INIT_PIXEL_PTR(P, X, Y) \
 | 
			
		||||
   GLubyte *P = (GLubyte *)xrb->Base.Data + YFLIP(xrb, Y) * xrb->pitch + (X) * 4;
 | 
			
		||||
#define INC_PIXEL_PTR(P) P += 4
 | 
			
		||||
#define STORE_PIXEL(DST, X, Y, VALUE) \
 | 
			
		||||
   STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE)
 | 
			
		||||
#define STORE_PIXEL_RGB(DST, X, Y, VALUE) \
 | 
			
		||||
   STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE)
 | 
			
		||||
#define FETCH_PIXEL(DST, SRC) \
 | 
			
		||||
   FETCH_PIXEL_X8R8G8B8(DST, SRC)
 | 
			
		||||
 | 
			
		||||
#include "swrast/s_spantemp.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 16-bit BGR */
 | 
			
		||||
#define NAME(FUNC) FUNC##_R5G6B5
 | 
			
		||||
#define RB_TYPE GLubyte
 | 
			
		||||
@@ -210,6 +246,24 @@ static const GLubyte kernel[16] = {
 | 
			
		||||
#include "swrast_spantemp.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 32-bit BGRX */
 | 
			
		||||
#define NAME(FUNC) FUNC##_X8R8G8B8_front
 | 
			
		||||
#define RB_TYPE GLubyte
 | 
			
		||||
#define SPAN_VARS \
 | 
			
		||||
   struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb);
 | 
			
		||||
#define INIT_PIXEL_PTR(P, X, Y) \
 | 
			
		||||
   GLubyte *P = (GLubyte *)row;
 | 
			
		||||
#define INC_PIXEL_PTR(P) P += 4
 | 
			
		||||
#define STORE_PIXEL(DST, X, Y, VALUE) \
 | 
			
		||||
   STORE_PIXEL_X8R8G8B8(DST, X, Y, VALUE)
 | 
			
		||||
#define STORE_PIXEL_RGB(DST, X, Y, VALUE) \
 | 
			
		||||
   STORE_PIXEL_RGB_X8R8G8B8(DST, X, Y, VALUE)
 | 
			
		||||
#define FETCH_PIXEL(DST, SRC) \
 | 
			
		||||
   FETCH_PIXEL_X8R8G8B8(DST, SRC)
 | 
			
		||||
 | 
			
		||||
#include "swrast_spantemp.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 16-bit BGR */
 | 
			
		||||
#define NAME(FUNC) FUNC##_R5G6B5_front
 | 
			
		||||
#define RB_TYPE GLubyte
 | 
			
		||||
@@ -279,6 +333,15 @@ swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb,
 | 
			
		||||
	xrb->Base.PutValues = put_values_A8R8G8B8;
 | 
			
		||||
	xrb->Base.PutMonoValues = put_mono_values_A8R8G8B8;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_X8R8G8B8:
 | 
			
		||||
	xrb->Base.GetRow = get_row_X8R8G8B8;
 | 
			
		||||
	xrb->Base.GetValues = get_values_X8R8G8B8;
 | 
			
		||||
	xrb->Base.PutRow = put_row_X8R8G8B8;
 | 
			
		||||
	xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8;
 | 
			
		||||
	xrb->Base.PutMonoRow = put_mono_row_X8R8G8B8;
 | 
			
		||||
	xrb->Base.PutValues = put_values_X8R8G8B8;
 | 
			
		||||
	xrb->Base.PutMonoValues = put_mono_values_X8R8G8B8;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_R5G6B5:
 | 
			
		||||
	xrb->Base.GetRow = get_row_R5G6B5;
 | 
			
		||||
	xrb->Base.GetValues = get_values_R5G6B5;
 | 
			
		||||
@@ -334,6 +397,15 @@ swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb,
 | 
			
		||||
	xrb->Base.PutValues = put_values_A8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutMonoValues = put_mono_values_A8R8G8B8_front;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_X8R8G8B8:
 | 
			
		||||
	xrb->Base.GetRow = get_row_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.GetValues = get_values_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutRow = put_row_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutRowRGB = put_row_rgb_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutMonoRow = put_mono_row_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutValues = put_values_X8R8G8B8_front;
 | 
			
		||||
	xrb->Base.PutMonoValues = put_mono_values_X8R8G8B8_front;
 | 
			
		||||
	break;
 | 
			
		||||
    case PF_R5G6B5:
 | 
			
		||||
	xrb->Base.GetRow = get_row_R5G6B5_front;
 | 
			
		||||
	xrb->Base.GetValues = get_values_R5G6B5_front;
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
#define MESA_MAJOR 7
 | 
			
		||||
#define MESA_MINOR 4
 | 
			
		||||
#define MESA_PATCH 0
 | 
			
		||||
#define MESA_VERSION_STRING "7.4-rc2"
 | 
			
		||||
#define MESA_VERSION_STRING "7.4"
 | 
			
		||||
 | 
			
		||||
/* To make version comparison easy */
 | 
			
		||||
#define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user