[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-unstable'



 configure.ac                                              |    2 
 src/gallium/auxiliary/draw/draw_vs.h                      |    3 
 src/gallium/auxiliary/draw/draw_vs_aos_io.c               |    4 
 src/gallium/winsys/r600/drm/radeon_pciid.c                |    5 
 src/glsl/ast_function.cpp                                 |    2 
 src/glsl/glcpp/glcpp-parse.c                              |    2 
 src/glsl/glcpp/glcpp-parse.y                              |    2 
 src/glsl/glsl_parser_extras.cpp                           |    2 
 src/mesa/drivers/dri/intel/intel_tex_copy.c               |   13 +
 src/mesa/drivers/dri/r300/compiler/memory_pool.c          |    2 
 src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c |  121 ++++++++++----
 src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.h |    6 
 src/mesa/drivers/dri/r300/compiler/radeon_optimize.c      |   12 -
 src/mesa/drivers/dri/radeon/radeon_chipset.h              |    5 
 src/mesa/drivers/dri/radeon/radeon_screen.c               |    5 
 src/mesa/main/dlist.c                                     |    6 
 src/mesa/main/teximage.c                                  |    2 
 17 files changed, 142 insertions(+), 52 deletions(-)

New commits:
commit eaadbacb5c646b8f01ae63f0a1f9ec831058f363
Author: Brian Paul <brianp@vmware.com>
Date:   Thu May 26 19:26:36 2011 -0600

    mesa: s/height/depth/ in texsubimage()
    
    Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37648
    
    (cherry picked from commit 4609e80288bacf19af99b0ed7656eef9bb280912)

diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index c5ae630..e72bb49 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -2616,7 +2616,7 @@ texsubimage(struct gl_context *ctx, GLuint dims, GLenum target, GLint level,
                                   format, type, texImage)) {
          /* error was recorded */
       }
-      else if (width > 0 && height > 0 && height > 0) {
+      else if (width > 0 && height > 0 && depth > 0) {
          /* If we have a border, offset=-1 is legal.  Bias by border width. */
          switch (dims) {
          case 3:

commit 9286d0ddd37e64c3e8c50bb7de1bd100969a5c98
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue Feb 1 00:20:01 2011 -0800

    glsl: Fix memory error when creating the supported version string.
    
    Passing ralloc_vasprintf_append a 0-byte allocation doesn't work.  If
    passed a non-NULL argument, ralloc calls strlen to find the end of the
    string.  Since there's no terminating '\0', it runs off the end.
    
    Fixes a crash introduced in 14880a510a1a288df0778395097d5a52806abfb0.
    
    (cherry-picked from commit a7d350790b4d0416117bc785aa77de52e9298a01)

diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index 3a17db8..3dffb33 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -97,7 +97,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *ctx,
       ? 100 : 110;
    const unsigned highest_version =
       (ctx->API == API_OPENGL) ? ctx->Const.GLSLVersion : 100;
-   char *supported = (char *) ralloc_context(this);
+   char *supported = ralloc_strdup(this, "");
 
    for (unsigned ver = lowest_version; ver <= highest_version; ver += 10) {
       const char *const prefix = (ver == lowest_version)

commit c66ffcf6639dffa53050fb2ed5da7c5287cdc19a
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Tue Mar 1 11:15:34 2011 -0800

    intel: Support glCopyTexImage() from ARGB8888 to XRGB8888.
    
    Nexuiz was hitting a software fallback.
    
    (cherry-picked from commit d1fc920f613aa349e6721963e22e12c6eb49e3f9)

diff --git a/src/mesa/drivers/dri/intel/intel_tex_copy.c b/src/mesa/drivers/dri/intel/intel_tex_copy.c
index c6bc3d9..de42ac3 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_copy.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_copy.c
@@ -78,6 +78,7 @@ do_copy_texsubimage(struct intel_context *intel,
 {
    struct gl_context *ctx = &intel->ctx;
    struct intel_renderbuffer *irb;
+   bool copy_supported = false;
    bool copy_supported_with_alpha_override = false;
 
    intel_prepare_render(intel);
@@ -90,13 +91,21 @@ do_copy_texsubimage(struct intel_context *intel,
       return GL_FALSE;
    }
 
+   copy_supported = intelImage->base.TexFormat == irb->Base.Format;
+
+   /* Converting ARGB8888 to XRGB8888 is trivial: ignore the alpha bits */
+   if (irb->Base.Format == MESA_FORMAT_ARGB8888 &&
+       intelImage->base.TexFormat == MESA_FORMAT_XRGB8888) {
+      copy_supported = true;
+   }
+
+   /* Converting XRGB8888 to ARGB8888 requires setting the alpha bits to 1.0 */
    if (irb->Base.Format == MESA_FORMAT_XRGB8888 &&
        intelImage->base.TexFormat == MESA_FORMAT_ARGB8888) {
       copy_supported_with_alpha_override = true;
    }
 
-   if (intelImage->base.TexFormat != irb->Base.Format &&
-       !copy_supported_with_alpha_override) {
+   if (!copy_supported && !copy_supported_with_alpha_override) {
       if (unlikely(INTEL_DEBUG & DEBUG_FALLBACKS))
 	 fprintf(stderr, "%s mismatched formats %s, %s\n",
 		 __FUNCTION__,

commit 4a14f76c69c71af8868747eed4999eed944af293
Author: José Fonseca <jfonseca@vmware.com>
Date:   Wed May 18 13:42:52 2011 -0600

    draw: Fix draw_variant_output::format's type.
    
    (cherry picked from commit b79b05e17e197a7cdc523deff8f7ea456a91e8d0)

diff --git a/src/gallium/auxiliary/draw/draw_vs.h b/src/gallium/auxiliary/draw/draw_vs.h
index f9a0387..08175dd 100644
--- a/src/gallium/auxiliary/draw/draw_vs.h
+++ b/src/gallium/auxiliary/draw/draw_vs.h
@@ -33,6 +33,7 @@
 
 #include "draw_context.h"
 #include "draw_private.h"
+#include "draw_vertex.h"
 
 
 struct draw_context;
@@ -48,7 +49,7 @@ struct draw_varient_input
 
 struct draw_varient_output
 {
-   enum pipe_format format;     /* output format */
+   enum attrib_emit format;     /* output format */
    unsigned vs_output:8;        /* which vertex shader output is this? */
    unsigned offset:24;          /* offset into output vertex */
 };
diff --git a/src/gallium/auxiliary/draw/draw_vs_aos_io.c b/src/gallium/auxiliary/draw/draw_vs_aos_io.c
index 8f8bbe7..f1dd448 100644
--- a/src/gallium/auxiliary/draw/draw_vs_aos_io.c
+++ b/src/gallium/auxiliary/draw/draw_vs_aos_io.c
@@ -384,7 +384,7 @@ static void emit_store_R8G8B8A8_UNORM( struct aos_compilation *cp,
 static boolean emit_output( struct aos_compilation *cp,
                             struct x86_reg ptr,
                             struct x86_reg dataXMM, 
-                            unsigned format )
+                            enum attrib_emit format )
 {
    switch (format) {
    case EMIT_1F:
@@ -422,7 +422,7 @@ boolean aos_emit_outputs( struct aos_compilation *cp )
    unsigned i;
    
    for (i = 0; i < cp->vaos->base.key.nr_outputs; i++) {
-      unsigned format = cp->vaos->base.key.element[i].out.format;
+      enum attrib_emit format = cp->vaos->base.key.element[i].out.format;
       unsigned offset = cp->vaos->base.key.element[i].out.offset;
       unsigned vs_output = cp->vaos->base.key.element[i].out.vs_output;
 

commit 068926aaea395983a76541b432ac9654747893e3
Author: Brian Paul <brianp@vmware.com>
Date:   Wed May 18 13:42:37 2011 -0600

    glsl: add cast to silence signed/unsigned comparison warning

diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
index 9ff0c0d..ae34a5b 100644
--- a/src/glsl/ast_function.cpp
+++ b/src/glsl/ast_function.cpp
@@ -199,7 +199,7 @@ match_function_by_name(exec_list *instructions, const char *name,
 
       const char *prefix = "candidates are: ";
 
-      for (int i = -1; i < state->num_builtins_to_link; i++) {
+      for (int i = -1; i < (int) state->num_builtins_to_link; i++) {
 	 glsl_symbol_table *syms = i >= 0 ? state->builtins_to_link[i]->symbols
 					  : state->symbols;
 	 f = syms->get_function(name);

commit a5c09690873d5b4726e48ab5e22063795a52fbc0
Author: Brian Paul <brianp@vmware.com>
Date:   Wed May 18 13:42:13 2011 -0600

    glsl: add static qualifier to silence warning

diff --git a/src/glsl/glcpp/glcpp-parse.c b/src/glsl/glcpp/glcpp-parse.c
index 78dd351..e5d7284 100644
--- a/src/glsl/glcpp/glcpp-parse.c
+++ b/src/glsl/glcpp/glcpp-parse.c
@@ -3154,7 +3154,7 @@ _token_list_trim_trailing_space (token_list_t *list)
 	}
 }
 
-int
+static int
 _token_list_is_empty_ignoring_space (token_list_t *l)
 {
 	token_node_t *n;
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index bf94592..678676a 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -829,7 +829,7 @@ _token_list_trim_trailing_space (token_list_t *list)
 	}
 }
 
-int
+static int
 _token_list_is_empty_ignoring_space (token_list_t *l)
 {
 	token_node_t *n;

commit b6bca2811362d36ffcebeb7d7de24f147e74a1ed
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon May 9 00:17:05 2011 -0400

    r300/compiler: align memory allocations to 8-bytes
    
    Eliminates unaligned accesses on strict architectures. Spotted by Jay
    Estabrook.
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>
    
    NOTE: This is a candidate for the 7.10 branch.
    (cherry picked from commit 86852236a396bd9932a6ab6e73def0c8ef2f23a5)

diff --git a/src/mesa/drivers/dri/r300/compiler/memory_pool.c b/src/mesa/drivers/dri/r300/compiler/memory_pool.c
index 76c7c60..ddcdddf 100644
--- a/src/mesa/drivers/dri/r300/compiler/memory_pool.c
+++ b/src/mesa/drivers/dri/r300/compiler/memory_pool.c
@@ -28,7 +28,7 @@
 
 
 #define POOL_LARGE_ALLOC 4096
-#define POOL_ALIGN 4
+#define POOL_ALIGN 8
 
 
 struct memory_block {

commit 348779a1fc2e106194992036f67c6a37dc574ad9
Author: José Fonseca <jose.r.fonseca@gmail.com>
Date:   Thu May 12 01:08:56 2011 +0100

    mesa: Fix GetVertexAttrib* inside display lists.
    
    GetVertexAttrib*{,ARB} is no longer aliased to the NV calls.
    
    This fixes tracing yofrankie with apitrace, given it requires accurate
    results from GetVertexAttribiv*.
    
    NOTE: This is a candidate for the stable branches.

diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 6c0c556..ef7829f 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -9587,9 +9587,9 @@ _mesa_create_save_table(void)
    SET_DeleteProgramsNV(table, _mesa_DeletePrograms);
    SET_GenProgramsNV(table, _mesa_GenPrograms);
    SET_IsProgramNV(table, _mesa_IsProgramARB);
-   SET_GetVertexAttribdvNV(table, _mesa_GetVertexAttribdvNV);
-   SET_GetVertexAttribfvNV(table, _mesa_GetVertexAttribfvNV);
-   SET_GetVertexAttribivNV(table, _mesa_GetVertexAttribivNV);
+   SET_GetVertexAttribdvARB(table, _mesa_GetVertexAttribdvARB);
+   SET_GetVertexAttribfvARB(table, _mesa_GetVertexAttribfvARB);
+   SET_GetVertexAttribivARB(table, _mesa_GetVertexAttribivARB);
    SET_GetVertexAttribPointervNV(table, _mesa_GetVertexAttribPointervNV);
    SET_ProgramEnvParameter4dARB(table, save_ProgramEnvParameter4dARB);
    SET_ProgramEnvParameter4dvARB(table, save_ProgramEnvParameter4dvARB);

commit abf9217ea4c6451de5890bdcc7ea16db45eee3c3
Author: Tom Stellard <tstellar@gmail.com>
Date:   Wed May 11 18:46:02 2011 -0700

    r300/compiler: Limit instructions to 3 source selects
    
    Some presubtract conversions were generating more than 3 source
    selects.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=36527
    
    (cherry picked from commit 4612554dce5d787fca9c85a67378024b336bd6ad)
    
    Conflicts:
    
    	src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c

diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c
index 2482fc6..97cde72 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.c
@@ -178,53 +178,71 @@ unsigned int rc_source_type_mask(unsigned int mask)
 	return ret;
 }
 
+struct src_select {
+	rc_register_file File;
+	int Index;
+	unsigned int SrcType;
+};
+
 struct can_use_presub_data {
-	struct rc_src_register RemoveSrcs[3];
-	unsigned int RGBCount;
-	unsigned int AlphaCount;
+	struct src_select Selects[5];
+	unsigned int SelectCount;
+	const struct rc_src_register * ReplaceReg;
+	unsigned int ReplaceRemoved;
 };
 
+static void can_use_presub_data_add_select(
+	struct can_use_presub_data * data,
+	rc_register_file file,
+	unsigned int index,
+	unsigned int src_type)
+{
+	struct src_select * select;
+
+	select = &data->Selects[data->SelectCount++];
+	select->File = file;
+	select->Index = index;
+	select->SrcType = src_type;
+}
+
+/**
+ * This callback function counts the number of sources in inst that are
+ * different from the sources in can_use_presub_data->RemoveSrcs.
+ */
 static void can_use_presub_read_cb(
 	void * userdata,
 	struct rc_instruction * inst,
-	rc_register_file file,
-	unsigned int index,
-	unsigned int mask)
+	struct rc_src_register * src)
 {
 	struct can_use_presub_data * d = userdata;
-	unsigned int src_type = rc_source_type_mask(mask);
-	unsigned int i;
 
-	if (file == RC_FILE_NONE)
+	if (!d->ReplaceRemoved && src == d->ReplaceReg) {
+		d->ReplaceRemoved = 1;
 		return;
-
-	for(i = 0; i < 3; i++) {
-		if (d->RemoveSrcs[i].File == file
-		    && d->RemoveSrcs[i].Index == index) {
-			src_type &=
-				~rc_source_type_swz(d->RemoveSrcs[i].Swizzle, 4);
-		}
 	}
 
-	if (src_type & RC_SOURCE_RGB)
-		d->RGBCount++;
+	if (src->File == RC_FILE_NONE)
+		return;
 
-	if (src_type & RC_SOURCE_ALPHA)
-		d->AlphaCount++;
+	can_use_presub_data_add_select(d, src->File, src->Index,
+					rc_source_type_swz(src->Swizzle, 4));
 }
 
 unsigned int rc_inst_can_use_presub(
 	struct rc_instruction * inst,
 	rc_presubtract_op presub_op,
 	unsigned int presub_writemask,
-	struct rc_src_register replace_reg,
-	struct rc_src_register presub_src0,
-	struct rc_src_register presub_src1)
+	const struct rc_src_register * replace_reg,
+	const struct rc_src_register * presub_src0,
+	const struct rc_src_register * presub_src1)
 {
 	struct can_use_presub_data d;
 	unsigned int num_presub_srcs;
+	unsigned int i;
 	const struct rc_opcode_info * info =
 					rc_get_opcode_info(inst->U.I.Opcode);
+	int rgb_count = 0, alpha_count = 0;
+	unsigned int src_type0, src_type1;
 
 	if (presub_op == RC_PRESUB_NONE) {
 		return 1;
@@ -244,15 +262,62 @@ unsigned int rc_inst_can_use_presub(
 	}
 
 	memset(&d, 0, sizeof(d));
-	d.RemoveSrcs[0] = replace_reg;
-	d.RemoveSrcs[1] = presub_src0;
-	d.RemoveSrcs[2] = presub_src1;
+	d.ReplaceReg = replace_reg;
 
-	rc_for_all_reads_mask(inst, can_use_presub_read_cb, &d);
+	rc_for_all_reads_src(inst, can_use_presub_read_cb, &d);
 
 	num_presub_srcs = rc_presubtract_src_reg_count(presub_op);
 
-	if (d.RGBCount + num_presub_srcs > 3 || d.AlphaCount + num_presub_srcs > 3) {
+	src_type0 = rc_source_type_swz(presub_src0->Swizzle, 4);
+	can_use_presub_data_add_select(&d,
+		presub_src0->File,
+		presub_src0->Index,
+		src_type0);
+
+	if (num_presub_srcs > 1) {
+		src_type1 = rc_source_type_swz(presub_src1->Swizzle, 4);
+		can_use_presub_data_add_select(&d,
+			presub_src1->File,
+			presub_src1->Index,
+			src_type1);
+
+		/* Even if both of the presub sources read from the same
+		 * register, we still need to use 2 different source selects
+		 * for them, so we need to increment the count to compensate.
+		 */
+		if (presub_src0->File == presub_src1->File
+		    && presub_src0->Index == presub_src1->Index) {
+			if (src_type0 & src_type1 & RC_SOURCE_RGB) {
+				rgb_count++;
+			}
+			if (src_type0 & src_type1 & RC_SOURCE_ALPHA) {
+				alpha_count++;
+			}
+		}
+	}
+
+	/* Count the number of source selects for Alpha and RGB.  If we
+	 * encounter two of the same source selects then we can ignore the
+	 * first one. */
+	for (i = 0; i < d.SelectCount; i++) {
+		unsigned int j;
+		unsigned int src_type = d.Selects[i].SrcType;
+		for (j = i + 1; j < d.SelectCount; j++) {
+			if (d.Selects[i].File == d.Selects[j].File
+			    && d.Selects[i].Index == d.Selects[j].Index) {
+				src_type &= ~d.Selects[j].SrcType;
+			}
+		}
+		if (src_type & RC_SOURCE_RGB) {
+			rgb_count++;
+		}
+
+		if (src_type & RC_SOURCE_ALPHA) {
+			alpha_count++;
+		}
+	}
+
+	if (rgb_count > 3 || alpha_count > 3) {
 		return 0;
 	}
 
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.h b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.h
index 461ab9f..fd0a38b 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.h
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_compiler_util.h
@@ -40,8 +40,8 @@ unsigned int rc_inst_can_use_presub(
 	struct rc_instruction * inst,
 	rc_presubtract_op presub_op,
 	unsigned int presub_writemask,
-	struct rc_src_register replace_reg,
-	struct rc_src_register presub_src0,
-	struct rc_src_register presub_src1);
+	const struct rc_src_register * replace_reg,
+	const struct rc_src_register * presub_src0,
+	const struct rc_src_register * presub_src1);
 
 #endif /* RADEON_PROGRAM_UTIL_H */
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
index 4c02246..1ab5418 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c
@@ -70,9 +70,9 @@ static void copy_propagate_scan_read(void * data, struct rc_instruction * inst,
 	if(!rc_inst_can_use_presub(inst,
 				reader_data->Writer->U.I.PreSub.Opcode,
 				rc_swizzle_to_writemask(src->Swizzle),
-				*src,
-				reader_data->Writer->U.I.PreSub.SrcReg[0],
-				reader_data->Writer->U.I.PreSub.SrcReg[1])) {
+				src,
+				&reader_data->Writer->U.I.PreSub.SrcReg[0],
+				&reader_data->Writer->U.I.PreSub.SrcReg[1])) {
 		reader_data->Abort = 1;
 		return;
 	}
@@ -424,9 +424,9 @@ static void presub_scan_read(
 
 	if (!rc_inst_can_use_presub(inst, *presub_opcode,
 			reader_data->Writer->U.I.DstReg.WriteMask,
-			*src,
-			reader_data->Writer->U.I.SrcReg[0],
-			reader_data->Writer->U.I.SrcReg[1])) {
+			src,
+			&reader_data->Writer->U.I.SrcReg[0],
+			&reader_data->Writer->U.I.SrcReg[1])) {
 		reader_data->Abort = 1;
 		return;
 	}

commit 0309089e5a588d829624feaad42d527b010f2a5f
Author: Alex Buell <alex.buell@munted.org.uk>
Date:   Fri May 6 12:01:35 2011 -0600

    configure: bump LIBDRM_REQUIRED to 2.4.24
    
    Signed-off-by: Brian Paul <brianp@vmware.com>

diff --git a/configure.ac b/configure.ac
index 6662b8a..ad9eb01 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR([bin])
 AC_CANONICAL_HOST
 
 dnl Versions for external dependencies
-LIBDRM_REQUIRED=2.4.15
+LIBDRM_REQUIRED=2.4.24
 LIBDRM_RADEON_REQUIRED=2.4.17
 DRI2PROTO_REQUIRED=2.1
 GLPROTO_REQUIRED=1.4.11

commit a8032483ecc8750ad58d89c4d96af6ef82a475e2
Author: Kostas Georgiou <georgiou@opengamma.com>
Date:   Fri May 6 13:10:38 2011 -0400

    r600c/g: Add pci id for FirePro 2270
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

diff --git a/src/gallium/winsys/r600/drm/radeon_pciid.c b/src/gallium/winsys/r600/drm/radeon_pciid.c
index c278d45..1be220f 100644
--- a/src/gallium/winsys/r600/drm/radeon_pciid.c
+++ b/src/gallium/winsys/r600/drm/radeon_pciid.c
@@ -206,6 +206,7 @@ struct pci_id radeon_pci_id[] = {
 	{0x1002, 0x68e8, CHIP_CEDAR},
 	{0x1002, 0x68e9, CHIP_CEDAR},
 	{0x1002, 0x68f1, CHIP_CEDAR},
+	{0x1002, 0x68f2, CHIP_CEDAR},
 	{0x1002, 0x68f8, CHIP_CEDAR},
 	{0x1002, 0x68f9, CHIP_CEDAR},
 	{0x1002, 0x68fe, CHIP_CEDAR},
diff --git a/src/mesa/drivers/dri/radeon/radeon_chipset.h b/src/mesa/drivers/dri/radeon/radeon_chipset.h
index 1c3924e..35a9576 100644
--- a/src/mesa/drivers/dri/radeon/radeon_chipset.h
+++ b/src/mesa/drivers/dri/radeon/radeon_chipset.h
@@ -407,6 +407,7 @@
 #define PCI_CHIP_CEDAR_68E8             0x68E8
 #define PCI_CHIP_CEDAR_68E9             0x68E9
 #define PCI_CHIP_CEDAR_68F1             0x68F1
+#define PCI_CHIP_CEDAR_68F2             0x68F2
 #define PCI_CHIP_CEDAR_68F8             0x68F8
 #define PCI_CHIP_CEDAR_68F9             0x68F9
 #define PCI_CHIP_CEDAR_68FE             0x68FE
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 6efec34..6a49b0e 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -1107,6 +1107,7 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
     case PCI_CHIP_CEDAR_68E8:
     case PCI_CHIP_CEDAR_68E9:
     case PCI_CHIP_CEDAR_68F1:
+    case PCI_CHIP_CEDAR_68F2:
     case PCI_CHIP_CEDAR_68F8:
     case PCI_CHIP_CEDAR_68F9:
     case PCI_CHIP_CEDAR_68FE:

commit 8963295b1be45fdeca9fa60e3f7f60de79abbf0d
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue May 3 16:20:24 2011 -0400

    r600g: add new pci ids
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

diff --git a/src/gallium/winsys/r600/drm/radeon_pciid.c b/src/gallium/winsys/r600/drm/radeon_pciid.c
index 4e1e746..c278d45 100644
--- a/src/gallium/winsys/r600/drm/radeon_pciid.c
+++ b/src/gallium/winsys/r600/drm/radeon_pciid.c
@@ -177,6 +177,7 @@ struct pci_id radeon_pci_id[] = {
 	{0x1002, 0x688A, CHIP_CYPRESS},
 	{0x1002, 0x6898, CHIP_CYPRESS},
 	{0x1002, 0x6899, CHIP_CYPRESS},
+	{0x1002, 0x689b, CHIP_CYPRESS},
 	{0x1002, 0x689c, CHIP_HEMLOCK},
 	{0x1002, 0x689d, CHIP_HEMLOCK},
 	{0x1002, 0x689e, CHIP_CYPRESS},
@@ -187,7 +188,9 @@ struct pci_id radeon_pci_id[] = {
 	{0x1002, 0x68b0, CHIP_JUNIPER},
 	{0x1002, 0x68b8, CHIP_JUNIPER},
 	{0x1002, 0x68b9, CHIP_JUNIPER},
+	{0x1002, 0x68ba, CHIP_JUNIPER},
 	{0x1002, 0x68be, CHIP_JUNIPER},
+	{0x1002, 0x68bf, CHIP_JUNIPER},
 	{0x1002, 0x68c0, CHIP_REDWOOD},
 	{0x1002, 0x68c1, CHIP_REDWOOD},
 	{0x1002, 0x68c8, CHIP_REDWOOD},
@@ -459,6 +462,7 @@ struct pci_id radeon_pci_id[] = {
 	{0x1002, 0x6729, CHIP_BARTS},
 	{0x1002, 0x6738, CHIP_BARTS},
 	{0x1002, 0x6739, CHIP_BARTS},
+	{0x1002, 0x673e, CHIP_BARTS},
 	{0x1002, 0x6740, CHIP_TURKS},
 	{0x1002, 0x6741, CHIP_TURKS},
 	{0x1002, 0x6742, CHIP_TURKS},

commit 3371397b1a36232d3f1ce4fa6e0610a022c99da5
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Tue May 3 16:18:58 2011 -0400

    r600c: add new pci ids
    
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>

diff --git a/src/mesa/drivers/dri/radeon/radeon_chipset.h b/src/mesa/drivers/dri/radeon/radeon_chipset.h
index 60943d1..1c3924e 100644
--- a/src/mesa/drivers/dri/radeon/radeon_chipset.h
+++ b/src/mesa/drivers/dri/radeon/radeon_chipset.h
@@ -427,7 +427,9 @@
 #define PCI_CHIP_JUNIPER_68B0           0x68B0
 #define PCI_CHIP_JUNIPER_68B8           0x68B8
 #define PCI_CHIP_JUNIPER_68B9           0x68B9
+#define PCI_CHIP_JUNIPER_68BA           0x68BA
 #define PCI_CHIP_JUNIPER_68BE           0x68BE
+#define PCI_CHIP_JUNIPER_68BF           0x68BF
 
 #define PCI_CHIP_CYPRESS_6880           0x6880
 #define PCI_CHIP_CYPRESS_6888           0x6888
@@ -435,6 +437,7 @@
 #define PCI_CHIP_CYPRESS_688A           0x688A
 #define PCI_CHIP_CYPRESS_6898           0x6898
 #define PCI_CHIP_CYPRESS_6899           0x6899
+#define PCI_CHIP_CYPRESS_689B           0x689B
 #define PCI_CHIP_CYPRESS_689E           0x689E
 
 #define PCI_CHIP_HEMLOCK_689C           0x689C
@@ -459,6 +462,7 @@
 #define PCI_CHIP_BARTS_6729             0x6729
 #define PCI_CHIP_BARTS_6738             0x6738
 #define PCI_CHIP_BARTS_6739             0x6739
+#define PCI_CHIP_BARTS_673E             0x673E
 
 #define PCI_CHIP_TURKS_6740             0x6740
 #define PCI_CHIP_TURKS_6741             0x6741
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 2a7e2d0..6efec34 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -1133,7 +1133,9 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
     case PCI_CHIP_JUNIPER_68B0:
     case PCI_CHIP_JUNIPER_68B8:
     case PCI_CHIP_JUNIPER_68B9:
+    case PCI_CHIP_JUNIPER_68BA:
     case PCI_CHIP_JUNIPER_68BE:
+    case PCI_CHIP_JUNIPER_68BF:
        screen->chip_family = CHIP_FAMILY_JUNIPER;
        screen->chip_flags = RADEON_CHIPSET_TCL;
        break;
@@ -1144,6 +1146,7 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
     case PCI_CHIP_CYPRESS_688A:
     case PCI_CHIP_CYPRESS_6898:
     case PCI_CHIP_CYPRESS_6899:
+    case PCI_CHIP_CYPRESS_689B:
     case PCI_CHIP_CYPRESS_689E:
        screen->chip_family = CHIP_FAMILY_CYPRESS;
        screen->chip_flags = RADEON_CHIPSET_TCL;
@@ -1177,6 +1180,7 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
    case PCI_CHIP_BARTS_6729:
    case PCI_CHIP_BARTS_6738:
    case PCI_CHIP_BARTS_6739:
+   case PCI_CHIP_BARTS_673E:
        screen->chip_family = CHIP_FAMILY_BARTS;
        screen->chip_flags = RADEON_CHIPSET_TCL;
        break;


Reply to: