diff --git a/.gitignore b/.gitignore index 2e356bc..dda81af 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ mesa-20100720.tar.bz2 /mesa-20110107.tar.xz /MesaLib-7.10.1.tar.bz2 /mesa-20110327.tar.xz +/mesa-20110330.tar.xz diff --git a/mesa-7.11-fixes.patch b/mesa-7.11-fixes.patch deleted file mode 100644 index 6335161..0000000 --- a/mesa-7.11-fixes.patch +++ /dev/null @@ -1,111 +0,0 @@ -diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c -index e7285d6..6eac1f7 100644 ---- a/src/gallium/drivers/r600/r600_shader.c -+++ b/src/gallium/drivers/r600/r600_shader.c -@@ -1526,9 +1526,13 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - unsigned src_gpr; - int r, i; - int opcode; -- boolean src_not_temp = -- inst->Src[0].Register.File != TGSI_FILE_TEMPORARY && -- inst->Src[0].Register.File != TGSI_FILE_INPUT; -+ /* Texture fetch instructions can only use gprs as source. -+ * Also they cannot negate the source or take the absolute value */ -+ const boolean src_requires_loading = -+ (inst->Src[0].Register.File != TGSI_FILE_TEMPORARY && -+ inst->Src[0].Register.File != TGSI_FILE_INPUT) || -+ ctx->src[0].neg || ctx->src[0].abs; -+ boolean src_loaded = FALSE; - - src_gpr = ctx->file_offset[inst->Src[0].Register.File] + inst->Src[0].Register.Index; - -@@ -1570,7 +1574,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; -- src_not_temp = FALSE; -+ src_loaded = TRUE; - src_gpr = ctx->temp_reg; - } - -@@ -1655,11 +1659,11 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - if (r) - return r; - -- src_not_temp = FALSE; -+ src_loaded = TRUE; - src_gpr = ctx->temp_reg; - } - -- if (src_not_temp) { -+ if (src_requires_loading && !src_loaded) { - for (i = 0; i < 4; i++) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV); -@@ -1673,6 +1677,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - if (r) - return r; - } -+ src_loaded = TRUE; - src_gpr = ctx->temp_reg; - } - -@@ -1691,10 +1696,18 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - tex.dst_sel_y = (inst->Dst[0].Register.WriteMask & 2) ? 1 : 7; - tex.dst_sel_z = (inst->Dst[0].Register.WriteMask & 4) ? 2 : 7; - tex.dst_sel_w = (inst->Dst[0].Register.WriteMask & 8) ? 3 : 7; -- tex.src_sel_x = 0; -- tex.src_sel_y = 1; -- tex.src_sel_z = 2; -- tex.src_sel_w = 3; -+ if (src_loaded) { -+ tex.src_sel_x = 0; -+ tex.src_sel_y = 1; -+ tex.src_sel_z = 2; -+ tex.src_sel_w = 3; -+ } else { -+ tex.src_sel_x = ctx->src[0].swizzle[0]; -+ tex.src_sel_y = ctx->src[0].swizzle[1]; -+ tex.src_sel_z = ctx->src[0].swizzle[2]; -+ tex.src_sel_w = ctx->src[0].swizzle[3]; -+ tex.src_rel = ctx->src[0].rel; -+ } - - if (inst->Texture.Texture == TGSI_TEXTURE_CUBE) { - tex.src_sel_x = 1; -@@ -1712,12 +1725,12 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) - - if (inst->Texture.Texture == TGSI_TEXTURE_1D_ARRAY) { - tex.coord_type_z = 0; -- tex.src_sel_z = 1; -+ tex.src_sel_z = tex.src_sel_y; - } else if (inst->Texture.Texture == TGSI_TEXTURE_2D_ARRAY) - tex.coord_type_z = 0; - - if (inst->Texture.Texture == TGSI_TEXTURE_SHADOW1D || inst->Texture.Texture == TGSI_TEXTURE_SHADOW2D) -- tex.src_sel_w = 2; -+ tex.src_sel_w = tex.src_sel_z; - - r = r600_bc_add_tex(ctx->bc, &tex); - if (r) -diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c -index 6d02a7d..25c95c7 100644 ---- a/src/mesa/state_tracker/st_cb_blit.c -+++ b/src/mesa/state_tracker/st_cb_blit.c -@@ -39,6 +39,7 @@ - #include "st_texture.h" - #include "st_cb_blit.h" - #include "st_cb_fbo.h" -+#include "st_atom.h" - - #include "util/u_blit.h" - -@@ -75,6 +76,8 @@ st_BlitFramebuffer(struct gl_context *ctx, - struct gl_framebuffer *readFB = ctx->ReadBuffer; - struct gl_framebuffer *drawFB = ctx->DrawBuffer; - -+ st_validate_state(st); -+ - if (!_mesa_clip_blit(ctx, &srcX0, &srcY0, &srcX1, &srcY1, - &dstX0, &dstY0, &dstX1, &dstY1)) { - return; /* nothing to draw/blit */ diff --git a/mesa.spec b/mesa.spec index 0898c70..bf9668e 100644 --- a/mesa.spec +++ b/mesa.spec @@ -12,13 +12,13 @@ %define _default_patch_fuzz 2 %define manpages gl-manpages-1.0.1 -%define gitdate 20110327 +%define gitdate 20110330 #% define snapshot Summary: Mesa graphics libraries Name: mesa Version: 7.11 -Release: 0.1.%{gitdate}.0%{?dist} +Release: 0.2.%{gitdate}.0%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -31,7 +31,6 @@ Source2: %{manpages}.tar.bz2 Source3: make-git-snapshot.sh Source4: llvmcore.mk -Patch1: mesa-7.11-fixes.patch Patch2: mesa-7.1-nukeglthread-debug.patch Patch3: mesa-no-mach64.patch Patch4: legacy-drivers.patch @@ -215,7 +214,6 @@ Requires: Xorg %(xserver-sdk-abi-requires ansic) %(xserver-sdk-abi-requires vide %prep #setup -q -n Mesa-%{version}%{?snapshot} -b0 -b2 %setup -q -n mesa-%{gitdate} -b2 -%patch1 -p1 -b .upstream %patch2 -p1 -b .intel-glthread %patch3 -p1 -b .no-mach64 %patch4 -p1 -b .classic @@ -487,6 +485,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libOSMesa.so %changelog +* Wed Mar 30 2011 Dave Airlie 7.11-0.2.20110330.0 +- snapshot upstream again to hopefully fix ILK bug + * Sun Mar 27 2011 Dave Airlie 7.11-0.1.20110327.0 - pull latest snapshot + 3 post snapshot fixes diff --git a/sources b/sources index e8deb48..1f3ea74 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 6ae05158e678f4594343f32c2ca50515 gl-manpages-1.0.1.tar.bz2 -3ad97eb2b70c9cd1ec8483e826f02b01 mesa-20110327.tar.xz +08d37442be3d2c40010aa3c5fa3eb787 mesa-20110330.tar.xz