Mesa (7.8): mesa: Add end of line to the end of a debug output.

2010-03-22 Thread Pauli Nieminen
Module: Mesa
Branch: 7.8
Commit: 361e8e911886784407c7aff91e09b9b2bfd5cde8
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=361e8e911886784407c7aff91e09b9b2bfd5cde8

Author: Pauli Nieminen suok...@gmail.com
Date:   Mon Mar 22 15:14:16 2010 +0200

mesa: Add end of line to the end of a debug output.

---

 src/mesa/main/matrix.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c
index 5c863f6..4b8c00b 100644
--- a/src/mesa/main/matrix.c
+++ b/src/mesa/main/matrix.c
@@ -322,7 +322,7 @@ _mesa_LoadIdentity( void )
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
if (MESA_VERBOSE  VERBOSE_API)
-  _mesa_debug(ctx, glLoadIdentity());
+  _mesa_debug(ctx, glLoadIdentity()\n);
 
_math_matrix_set_identity( ctx-CurrentStack-Top );
ctx-NewState |= ctx-CurrentStack-DirtyFlag;

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


Mesa (master): mesa: remove return, do as the comment says

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 5cb4a3524b54480418b4c4717c4a0f0a8669939c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cb4a3524b54480418b4c4717c4a0f0a8669939c

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 08:23:14 2010 -0600

mesa: remove return, do as the comment says

---

 src/mesa/main/bufferobj.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index dbaba29..1854b98 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1475,7 +1475,6 @@ _mesa_GetBufferParameteri64v(GLenum target, GLenum pname, 
GLint64 *params)
   return;
default:
   ; /* fall-through */
-  return;
}
 
 invalid_pname:

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


Mesa (7.8): glslcompiler: fix build breakage

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: 7.8
Commit: ca97f8b9bab80844be613a9253643b7da8e738c7
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca97f8b9bab80844be613a9253643b7da8e738c7

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 09:00:13 2010 -0600

glslcompiler: fix build breakage

---

 src/mesa/drivers/glslcompiler/Makefile |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/glslcompiler/Makefile 
b/src/mesa/drivers/glslcompiler/Makefile
index 080fe47..d340498 100644
--- a/src/mesa/drivers/glslcompiler/Makefile
+++ b/src/mesa/drivers/glslcompiler/Makefile
@@ -10,9 +10,10 @@ PROGRAM = glslcompiler
 OBJECTS = \
glslcompiler.o \
../../glapi/glapi.o \
+   ../../glapi/glapi_getproc.o \
+   ../../glapi/glapi_dispatch.o \
../../glapi/glapi_nop.o \
../../glapi/glthread.o \
-   ../../main/dispatch.o \
../common/driverfuncs.o \
../../libmesa.a
 

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


Mesa (master): 25 new commits

2010-03-22 Thread Brian Paul
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=98b4e7aee83c7874db0ea23f632851b6fb5ba62a
Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 09:08:09 2010 -0600

glslcompiler: fix build breakage

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=182c42c8da6edfa66819eef02f4dea310c1f68d7
Merge: 5cb4a3524b54480418b4c4717c4a0f0a8669939c 
ca97f8b9bab80844be613a9253643b7da8e738c7
Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 09:07:46 2010 -0600

Merge branch '7.8'

Conflicts:

src/gallium/drivers/cell/ppu/cell_screen.c
src/mesa/state_tracker/st_cb_drawpixels.c

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca97f8b9bab80844be613a9253643b7da8e738c7
Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 09:00:13 2010 -0600

glslcompiler: fix build breakage

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=361e8e911886784407c7aff91e09b9b2bfd5cde8
Author: Pauli Nieminen suok...@gmail.com
Date:   Mon Mar 22 15:14:16 2010 +0200

mesa: Add end of line to the end of a debug output.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fce72d58036eb8a993bda1a7c5d74b8fcc819a8c
Author: Vinson Lee v...@vmware.com
Date:   Sun Mar 21 19:21:11 2010 -0700

progs/tests: Add cva_huge to SCons build.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e7d65bb5b50efbd5812e7996910b7688eb27192
Author: Vinson Lee v...@vmware.com
Date:   Sun Mar 21 19:09:54 2010 -0700

progs/tests: Include stddef.h for ptrdiff_t on all platforms.

stddef.h is the standard C header that defines ptrdiff_t.

Fixes build of cva_huge on Mac OS X.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ea694a26b99835d0b5bc814cf024850874a9a83
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 23:23:21 2010 +0200

r200: Fix emit size prediction to account elt splitting.

Emit sizes prediction didn't account for render splitting in
hwtnl path.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0900544fb54cbc2127b8729393c9c1308cd218f9
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 22:55:13 2010 +0200

r200: Don't flush when closing elts in KMS.

Flush in middle of rendering in KMS is not allowed because
buffers are discarded in flush.

Fixes crash when emiting split indices with RADEON_DEBUG=all.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1968d8f31d0ac83557c9366dea39b15e92bb1516
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 20:16:17 2010 +0200

r200: Fix swtnl fallback to flush pending rendering before transition.

Flush after transition would emit wrong state that could cause
wrong state emited for pending rendering operation.

Fixes wan once from extrement tuxracer that is using per vertex
materials.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=44e3ec3c05f0806f0940887ed9e30d94bf0748e0
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 20:02:10 2010 +0200

r200: Fix mixed indetion in r200TclFallback.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a7acbccfbc061322be493633d5c5bf4afd302b5
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 12:42:10 2010 +0200

vbo: Fix vbo_split_copy to pass correct max_index to draw.

vbo_split_copy was passing one past the max_index to draw function
which caused _tnl_draw_prims function to read uninitialized values
from copied array.

Bug was spoted in valgrind report of progs/tests/cva_huge.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a81cd67a4f37233319281a69385f07feaa97fd13
Author: Pauli Nieminen suok...@gmail.com
Date:   Sun Mar 21 13:11:47 2010 +0200

tests: Add test for huge client arrays that has to be split.

When running this test case in valgrind report includes read of unitialized
value in _tnl_draw_prims. The bug doesn't cause any vissible errors.

Bug is caused by vbo_split_copy that is calling draw function with max_index
one past the end instead of the end.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d72c4ae78cfdad7d160b0960adb792c863b
Author: Marek Olšák mar...@gmail.com
Date:   Sat Mar 20 18:31:11 2010 +0100

r300/compiler: fix assertion failure in the r500-fragprog emission path

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0491c945cb5d10ef1c45f4e28e874dffba8be4b
Author: Brian Paul bri...@vmware.com
Date:   Sat Mar 20 10:33:10 2010 -0600

docs: remove the 'Last updated date'

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fed3a9fa0a87ae797f995de5b51eb9be3493fe0
Author: Chia-I Wu o...@lunarg.com
Date:   Sat Mar 20 23:58:15 2010 +0800

glapi: Fix aliases to non-static functions.

The bug is triggered by 41a87a43e11c664935349f938022d58d3e22da4e.
glBlitFramebuffer, for example, is an alias to the non-static
glBlitFramebufferEXT.  We should define glBlitFramebuffer 

Mesa (master): nvfx: fix sampler views support

2010-03-22 Thread Roland Scheidegger
Module: Mesa
Branch: master
Commit: 4e3b950c70721b826c712636d37197dd5a76b910
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e3b950c70721b826c712636d37197dd5a76b910

Author: Luca Barbieri l...@luca-barbieri.com
Date:   Mon Mar 22 18:36:16 2010 +0100

nvfx: fix sampler views support

The code was half converted, resulting in texturing being totally broken.

---

 src/gallium/drivers/nvfx/nv30_fragtex.c |2 +-
 src/gallium/drivers/nvfx/nv40_fragtex.c |2 +-
 src/gallium/drivers/nvfx/nvfx_context.h |1 -
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/nvfx/nv30_fragtex.c 
b/src/gallium/drivers/nvfx/nv30_fragtex.c
index 2b56f45..54e4757 100644
--- a/src/gallium/drivers/nvfx/nv30_fragtex.c
+++ b/src/gallium/drivers/nvfx/nv30_fragtex.c
@@ -91,7 +91,7 @@ struct nouveau_stateobj *
 nv30_fragtex_build(struct nvfx_context *nvfx, int unit)
 {
struct nvfx_sampler_state *ps = nvfx-tex_sampler[unit];
-   struct nvfx_miptree *nv30mt = nvfx-tex_miptree[unit];
+   struct nvfx_miptree *nv30mt = (struct nvfx_miptree 
*)nvfx-fragment_sampler_views[unit]-texture;
struct pipe_texture *pt = nv30mt-base;
struct nouveau_bo *bo = nouveau_bo(nv30mt-buffer);
struct nv30_texture_format *tf;
diff --git a/src/gallium/drivers/nvfx/nv40_fragtex.c 
b/src/gallium/drivers/nvfx/nv40_fragtex.c
index 5889b5e..05506e2 100644
--- a/src/gallium/drivers/nvfx/nv40_fragtex.c
+++ b/src/gallium/drivers/nvfx/nv40_fragtex.c
@@ -109,7 +109,7 @@ struct nouveau_stateobj *
 nv40_fragtex_build(struct nvfx_context *nvfx, int unit)
 {
struct nvfx_sampler_state *ps = nvfx-tex_sampler[unit];
-   struct nvfx_miptree *nv40mt = nvfx-tex_miptree[unit];
+   struct nvfx_miptree *nv40mt = (struct nvfx_miptree 
*)nvfx-fragment_sampler_views[unit]-texture;
struct nouveau_bo *bo = nouveau_bo(nv40mt-buffer);
struct pipe_texture *pt = nv40mt-base;
struct nv40_texture_format *tf;
diff --git a/src/gallium/drivers/nvfx/nvfx_context.h 
b/src/gallium/drivers/nvfx/nvfx_context.h
index 001b19e..ab7225c 100644
--- a/src/gallium/drivers/nvfx/nvfx_context.h
+++ b/src/gallium/drivers/nvfx/nvfx_context.h
@@ -158,7 +158,6 @@ struct nvfx_context {
struct pipe_buffer *idxbuf;
unsigned idxbuf_format;
struct nvfx_sampler_state *tex_sampler[PIPE_MAX_SAMPLERS];
-   struct nvfx_miptree *tex_miptree[PIPE_MAX_SAMPLERS];
struct pipe_sampler_view *fragment_sampler_views[PIPE_MAX_SAMPLERS];
unsigned nr_samplers;
unsigned nr_textures;

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


Mesa (master): dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: c695e80017373caf6e8d7139b8d3df2d945ccce5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c695e80017373caf6e8d7139b8d3df2d945ccce5

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 14:15:52 2010 +0100

dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.

Fixes broken intermediate frames when a window is being resized
(regression caused by 878eef8c4).

---

 src/mesa/drivers/dri/nouveau/nouveau_context.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c 
b/src/mesa/drivers/dri/nouveau/nouveau_context.c
index be57d48..deb7b5b 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c
@@ -337,6 +337,8 @@ nouveau_validate_framebuffer(GLcontext *ctx)
update_framebuffer(dri_ctx, dri_read,
   dri_ctx-dri2.read_stamp);
 
-   if (nouveau_next_dirty_state(ctx) = 0)
+   if (nouveau_next_dirty_state(ctx) = 0) {
+   nouveau_state_emit(ctx);
FIRE_RING(context_chan(ctx));
+   }
 }

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


Mesa (master): dri/nouveau: Expose EXT_framebuffer_blit.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: fe7d0e6dc81c493b9ff7163c640d75db25386675
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe7d0e6dc81c493b9ff7163c640d75db25386675

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 18:21:13 2010 +0100

dri/nouveau: Expose EXT_framebuffer_blit.

---

 src/mesa/drivers/dri/nouveau/nouveau_context.c |1 +
 src/mesa/drivers/dri/nouveau/nouveau_driver.c  |1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c 
b/src/mesa/drivers/dri/nouveau/nouveau_context.c
index deb7b5b..42bec65 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c
@@ -54,6 +54,7 @@ static const struct dri_extension nouveau_extensions[] = {
{ GL_ARB_texture_env_dot3,NULL },
{ GL_ARB_texture_mirrored_repeat, NULL },
{ GL_EXT_fog_coord,   GL_EXT_fog_coord_functions },
+   { GL_EXT_framebuffer_blit,NULL },
{ GL_EXT_framebuffer_object,  GL_EXT_framebuffer_object_functions },
{ GL_EXT_secondary_color, GL_EXT_secondary_color_functions },
{ GL_EXT_stencil_wrap,NULL },
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.c 
b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
index 19daef1..4ec864c 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
@@ -138,4 +138,5 @@ nouveau_driver_functions_init(struct dd_function_table 
*functions)
functions-DrawPixels = _mesa_meta_DrawPixels;
functions-CopyPixels = _mesa_meta_CopyPixels;
functions-Bitmap = _mesa_meta_Bitmap;
+   functions-BlitFramebuffer = _mesa_meta_BlitFramebuffer;
 }

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


Mesa (master): dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: 199fab25b7cb047c0d7ac26ee12df3b2e1369723
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=199fab25b7cb047c0d7ac26ee12df3b2e1369723

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 18:25:30 2010 +0100

dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the 
same.

---

 src/mesa/drivers/dri/nouveau/nouveau_span.c |   30 ++-
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_span.c 
b/src/mesa/drivers/dri/nouveau/nouveau_span.c
index f1a56dd..1bfdecc 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_span.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_span.c
@@ -32,7 +32,6 @@
 #include swrast/swrast.h
 
 #define LOCAL_VARS \
-   struct gl_framebuffer *fb = ctx-DrawBuffer;\
struct nouveau_surface *s = to_nouveau_renderbuffer(rb)-surface; \
GLuint p;   \
(void)p;
@@ -45,12 +44,12 @@
 #define HW_CLIPLOOP() {
\
int minx = 0;   \
int miny = 0;   \
-   int maxx = fb-Width;   \
-   int maxy = fb-Height;
+   int maxx = rb-Width;   \
+   int maxy = rb-Height;
 
 #define HW_ENDCLIPLOOP() }
 
-#define Y_FLIP(y) (fb-Name ? (y) : rb-Height - 1 - (y))
+#define Y_FLIP(y) (rb-Name ? (y) : rb-Height - 1 - (y))
 
 /* RGB565 span functions */
 #define SPANTMP_PIXEL_FMT GL_RGB
@@ -144,17 +143,28 @@ texture_unit_map_unmap(GLcontext *ctx, struct 
gl_texture_unit *u, GLboolean map)
 }
 
 static void
-span_map_unmap(GLcontext *ctx, GLboolean map)
+framebuffer_map_unmap(struct gl_framebuffer *fb, GLboolean map)
 {
int i;
 
-   for (i = 0; i  ctx-DrawBuffer-_NumColorDrawBuffers; i++)
-   renderbuffer_map_unmap(ctx-DrawBuffer-_ColorDrawBuffers[i], 
map);
+   for (i = 0; i  fb-_NumColorDrawBuffers; i++)
+   renderbuffer_map_unmap(fb-_ColorDrawBuffers[i], map);
+
+   renderbuffer_map_unmap(fb-_ColorReadBuffer, map);
+
+   if (fb-_DepthBuffer)
+   renderbuffer_map_unmap(fb-_DepthBuffer-Wrapped, map);
+}
+
+static void
+span_map_unmap(GLcontext *ctx, GLboolean map)
+{
+   int i;
 
-   renderbuffer_map_unmap(ctx-DrawBuffer-_ColorReadBuffer, map);
+   framebuffer_map_unmap(ctx-DrawBuffer, map);
 
-   if (ctx-DrawBuffer-_DepthBuffer)
-   renderbuffer_map_unmap(ctx-DrawBuffer-_DepthBuffer-Wrapped, 
map);
+   if (ctx-ReadBuffer != ctx-DrawBuffer)
+   framebuffer_map_unmap(ctx-ReadBuffer, map);
 
for (i = 0; i  ctx-Const.MaxTextureUnits; i++)
texture_unit_map_unmap(ctx, ctx-Texture.Unit[i], map);

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


Mesa (master): dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: fc7890dc6c1f70a4f1c4bffb0fca7ae0cde30a2e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc7890dc6c1f70a4f1c4bffb0fca7ae0cde30a2e

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 14:23:40 2010 +0100

dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.

---

 src/mesa/drivers/dri/nouveau/nouveau_driver.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.c 
b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
index 1d12f43..19daef1 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.c
@@ -135,4 +135,7 @@ nouveau_driver_functions_init(struct dd_function_table 
*functions)
functions-Flush = nouveau_flush;
functions-Finish = nouveau_finish;
functions-Clear = nouveau_clear;
+   functions-DrawPixels = _mesa_meta_DrawPixels;
+   functions-CopyPixels = _mesa_meta_CopyPixels;
+   functions-Bitmap = _mesa_meta_Bitmap;
 }

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


Mesa (master): dri/nouveau: Rectangle texture fixes.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: fc14fb9d1a897dbcf750b8158d6cb08388a422c4
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc14fb9d1a897dbcf750b8158d6cb08388a422c4

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 18:10:25 2010 +0100

dri/nouveau: Rectangle texture fixes.

---

 src/mesa/drivers/dri/nouveau/nouveau_state.c   |1 +
 src/mesa/drivers/dri/nouveau/nouveau_texture.c |   73 +++-
 2 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c 
b/src/mesa/drivers/dri/nouveau/nouveau_state.c
index 7697090..a57df2d 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_state.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c
@@ -232,6 +232,7 @@ nouveau_enable(GLcontext *ctx, GLenum cap, GLboolean state)
case GL_TEXTURE_1D:
case GL_TEXTURE_2D:
case GL_TEXTURE_3D:
+   case GL_TEXTURE_RECTANGLE:
context_dirty_i(ctx, TEX_ENV, ctx-Texture.CurrentUnit);
context_dirty_i(ctx, TEX_OBJ, ctx-Texture.CurrentUnit);
break;
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c 
b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
index e890186..dbf9a5c 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c
@@ -283,7 +283,8 @@ nouveau_texture_validate(GLcontext *ctx, struct 
gl_texture_object *t)
struct nouveau_texture *nt = to_nouveau_texture(t);
int i, last = get_last_level(t);
 
-   if (!nt-surfaces[last].bo)
+   if (!teximage_fits(t, t-BaseLevel) ||
+   !teximage_fits(t, last))
return GL_FALSE;
 
if (nt-dirty) {
@@ -421,6 +422,40 @@ nouveau_teximage_3d(GLcontext *ctx, GLenum target, GLint 
level,
 }
 
 static void
+nouveau_texsubimage(GLcontext *ctx, GLint dims, GLenum target, GLint level,
+   GLint xoffset, GLint yoffset, GLint zoffset,
+   GLint width, GLint height, GLint depth,
+   GLenum format, GLenum type, const void *pixels,
+   const struct gl_pixelstore_attrib *packing,
+   struct gl_texture_object *t,
+   struct gl_texture_image *ti)
+{
+   struct nouveau_surface *s = to_nouveau_teximage(ti)-surface;
+   int ret;
+
+   pixels = _mesa_validate_pbo_teximage(ctx, dims, width, height, depth,
+format, type, pixels, packing,
+glTexSubImage);
+   if (pixels) {
+   nouveau_teximage_map(ctx, ti);
+
+   ret = _mesa_texstore(ctx, 3, ti-_BaseFormat, ti-TexFormat,
+ti-Data, xoffset, yoffset, zoffset,
+s-pitch, ti-ImageOffsets,
+width, height, depth, format, type,
+pixels, packing);
+   assert(ret);
+
+   nouveau_teximage_unmap(ctx, ti);
+   _mesa_unmap_teximage_pbo(ctx, packing);
+   }
+
+   if (!to_nouveau_texture(t)-dirty)
+   validate_teximage(ctx, t, level, xoffset, yoffset, zoffset,
+ width, height, depth);
+}
+
+static void
 nouveau_texsubimage_3d(GLcontext *ctx, GLenum target, GLint level,
   GLint xoffset, GLint yoffset, GLint zoffset,
   GLint width, GLint height, GLint depth,
@@ -429,15 +464,9 @@ nouveau_texsubimage_3d(GLcontext *ctx, GLenum target, 
GLint level,
   struct gl_texture_object *t,
   struct gl_texture_image *ti)
 {
-   nouveau_teximage_map(ctx, ti);
-   _mesa_store_texsubimage3d(ctx, target, level, xoffset, yoffset, zoffset,
- width, height, depth, format, type, pixels,
- packing, t, ti);
-   nouveau_teximage_unmap(ctx, ti);
-
-   if (!to_nouveau_texture(t)-dirty)
-   validate_teximage(ctx, t, level, xoffset, yoffset, zoffset,
- width, height, depth);
+   nouveau_texsubimage(ctx, 3, target, level, xoffset, yoffset, zoffset,
+   width, height, depth, format, type, pixels,
+   packing, t, ti);
 }
 
 static void
@@ -449,15 +478,9 @@ nouveau_texsubimage_2d(GLcontext *ctx, GLenum target, 
GLint level,
   struct gl_texture_object *t,
   struct gl_texture_image *ti)
 {
-   nouveau_teximage_map(ctx, ti);
-   _mesa_store_texsubimage2d(ctx, target, level, xoffset, yoffset,
- width, height, format, type, pixels,
- packing, t, ti);
-   nouveau_teximage_unmap(ctx, ti);
-
-   if (!to_nouveau_texture(t)-dirty)
-   validate_teximage(ctx, t, level, xoffset, yoffset, 0,
-

Mesa (master): dri/nouveau: Some render to texture fixes.

2010-03-22 Thread Francisco Jerez
Module: Mesa
Branch: master
Commit: bfdea90f251c1bc3cf4f8096f8c62a37b9ac78c1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfdea90f251c1bc3cf4f8096f8c62a37b9ac78c1

Author: Francisco Jerez curroje...@riseup.net
Date:   Mon Mar 22 18:28:51 2010 +0100

dri/nouveau: Some render to texture fixes.

---

 src/mesa/drivers/dri/nouveau/nouveau_fbo.c |6 +-
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_fbo.c 
b/src/mesa/drivers/dri/nouveau/nouveau_fbo.c
index 2ec3dc9..8be7edb 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_fbo.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_fbo.c
@@ -236,7 +236,7 @@ nouveau_render_texture(GLcontext *ctx, struct 
gl_framebuffer *fb,
/* Allocate a renderbuffer object for the texture if we
 * haven't already done so. */
if (!rb) {
-   rb = nouveau_renderbuffer_new(ctx, 0);
+   rb = nouveau_renderbuffer_new(ctx, ~0);
assert(rb);
 
rb-AllocStorage = NULL;
@@ -259,11 +259,7 @@ static void
 nouveau_finish_render_texture(GLcontext *ctx,
  struct gl_renderbuffer_attachment *att)
 {
-   struct nouveau_renderbuffer *nrb
-   = to_nouveau_renderbuffer(att-Renderbuffer);
-
texture_dirty(att-Texture);
-   nouveau_surface_ref(NULL, nrb-surface);
 }
 
 void

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


Mesa (7.8): Fix potential compilation issue in visual studio project file

2010-03-22 Thread Karl Schultz
Module: Mesa
Branch: 7.8
Commit: 092ca30366d15debb35939205d82a6ac2408fbb9
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=092ca30366d15debb35939205d82a6ac2408fbb9

Author: Karl Schultz karl.w.schu...@gmail.com
Date:   Mon Mar 22 12:18:02 2010 -0600

Fix potential compilation issue in visual studio project file

Add quotes around filespec in post-build event to allow paths
with embedded spaces.

---

 .../glsl_apps_compile/glsl_apps_compile.vcproj |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj 
b/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj
index 8995c03..6e9aef2 100644
--- a/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj
+++ b/windows/VC8/mesa/glsl_apps_compile/glsl_apps_compile.vcproj
@@ -89,7 +89,7 @@
/
Tool
Name=VCPostBuildEventTool
-   CommandLine=copy $(OutDir)\compile.exe 
..\..\..\..\src\glsl\apps
+   CommandLine=copy 
quot;$(OutDir)\compile.exequot; ..\..\..\..\src\glsl\apps
/
/Configuration
Configuration
@@ -166,7 +166,7 @@
/
Tool
Name=VCPostBuildEventTool
-   CommandLine=copy $(OutDir)\compile.exe 
..\..\..\..\src\glsl\apps
+   CommandLine=copy 
quot;$(OutDir)\compile.exequot; ..\..\..\..\src\glsl\apps
/
/Configuration
/Configurations

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


Mesa (master): cso: Remove unnecessary header.

2010-03-22 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 45d1dc26072ea83ee10cf1c8907cfdf5df51928e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=45d1dc26072ea83ee10cf1c8907cfdf5df51928e

Author: Vinson Lee v...@vmware.com
Date:   Mon Mar 22 11:34:18 2010 -0700

cso: Remove unnecessary header.

---

 src/gallium/auxiliary/cso_cache/cso_context.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c 
b/src/gallium/auxiliary/cso_cache/cso_context.c
index d6f8dd3..6fd4bd3 100644
--- a/src/gallium/auxiliary/cso_cache/cso_context.c
+++ b/src/gallium/auxiliary/cso_cache/cso_context.c
@@ -39,7 +39,6 @@
 #include util/u_inlines.h
 #include util/u_math.h
 #include util/u_memory.h
-#include util/u_sampler.h
 #include tgsi/tgsi_parse.h
 
 #include cso_cache/cso_context.h

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


Mesa (gallium-resources): gallium: Do not use `template` for formal parameter names.

2010-03-22 Thread Michał Król
Module: Mesa
Branch: gallium-resources
Commit: af9793ab9e5386b150d6b25c0d1978fdc67172e4
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=af9793ab9e5386b150d6b25c0d1978fdc67172e4

Author: Michal Krol mic...@vmware.com
Date:   Mon Mar 22 20:04:39 2010 +0100

gallium: Do not use `template` for formal parameter names.

---

 src/gallium/include/pipe/p_screen.h |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/include/pipe/p_screen.h 
b/src/gallium/include/pipe/p_screen.h
index cc9cebc..8fa648e 100644
--- a/src/gallium/include/pipe/p_screen.h
+++ b/src/gallium/include/pipe/p_screen.h
@@ -107,7 +107,7 @@ struct pipe_screen {
 * Create a new texture object, using the given template info.
 */
struct pipe_resource * (*resource_create)(struct pipe_screen *,
-const struct pipe_resource 
*template);
+const struct pipe_resource 
*templat);
 
/**
 * Create a texture from a winsys_handle. The handle is often created in
@@ -115,7 +115,7 @@ struct pipe_screen {
 * texture_get_handle.
 */
struct pipe_resource * (*resource_from_handle)(struct pipe_screen *,
- const struct pipe_resource 
*template,
+ const struct pipe_resource 
*templat,
  struct winsys_handle *handle);
 
/**

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


Mesa (master): glslcompiler: fix build again

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: master
Commit: f42acbeebf8267b61d89c0d1be5cb26009a30496
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f42acbeebf8267b61d89c0d1be5cb26009a30496

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 13:36:27 2010 -0600

glslcompiler: fix build again

Simply use the libglapi.a archive instead of individual .o files.
Fixes the non-debug build.

---

 src/mesa/drivers/glslcompiler/Makefile |9 ++---
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/src/mesa/drivers/glslcompiler/Makefile 
b/src/mesa/drivers/glslcompiler/Makefile
index 1b9a056..7dcf9a6 100644
--- a/src/mesa/drivers/glslcompiler/Makefile
+++ b/src/mesa/drivers/glslcompiler/Makefile
@@ -9,14 +9,9 @@ PROGRAM = glslcompiler
 
 OBJECTS = \
glslcompiler.o \
-   ../../glapi/glapi.o \
-   ../../glapi/glapi_entrypoint.o \
-   ../../glapi/glapi_getproc.o \
-   ../../glapi/glapi_dispatch.o \
-   ../../glapi/glapi_nop.o \
-   ../../glapi/glthread.o \
../common/driverfuncs.o \
-   ../../libmesa.a
+   ../../libmesa.a \
+   ../../libglapi.a
 
 INCLUDES = \
-I$(TOP)/include \

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


Mesa (gallium-resources): scons: Update file lists after gallium-resources changes.

2010-03-22 Thread Michał Król
Module: Mesa
Branch: gallium-resources
Commit: 9c1162d9d656062a490a529997def3f674cc61fc
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c1162d9d656062a490a529997def3f674cc61fc

Author: Michal Krol mic...@vmware.com
Date:   Mon Mar 22 20:50:49 2010 +0100

scons: Update file lists after gallium-resources changes.

---

 src/gallium/auxiliary/SConscript|3 +--
 src/gallium/drivers/softpipe/SConscript |1 -
 src/gallium/drivers/svga/SConscript |2 --
 3 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript
index 65e1dc8..6988de7 100644
--- a/src/gallium/auxiliary/SConscript
+++ b/src/gallium/auxiliary/SConscript
@@ -168,9 +168,8 @@ source = [
 'util/u_surface.c',
 'util/u_texture.c',
 'util/u_tile.c',
-'util/u_timed_winsys.c',
+'util/u_transfer.c',
 'util/u_upload_mgr.c',
-'util/u_simple_screen.c',
 # Disabling until pipe-video branch gets merged in
 #'vl/vl_bitstream_parser.c',
 #'vl/vl_mpeg12_mc_renderer.c',
diff --git a/src/gallium/drivers/softpipe/SConscript 
b/src/gallium/drivers/softpipe/SConscript
index 9949a53..6bd7e07 100644
--- a/src/gallium/drivers/softpipe/SConscript
+++ b/src/gallium/drivers/softpipe/SConscript
@@ -7,7 +7,6 @@ softpipe = env.ConvenienceLibrary(
source = [
'sp_fs_exec.c',
'sp_fs_sse.c',
-   'sp_buffer.c',
'sp_clear.c',
'sp_context.c',
'sp_draw_arrays.c',
diff --git a/src/gallium/drivers/svga/SConscript 
b/src/gallium/drivers/svga/SConscript
index 737b791..ba1b81d 100644
--- a/src/gallium/drivers/svga/SConscript
+++ b/src/gallium/drivers/svga/SConscript
@@ -39,9 +39,7 @@ sources = [
 'svga_pipe_vertex.c',
 'svga_pipe_vs.c',
 'svga_screen.c',
-'svga_screen_buffer.c',
 'svga_screen_cache.c',
-'svga_screen_texture.c',
 'svga_state.c',
 'svga_state_constants.c',
 'svga_state_framebuffer.c',

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


Mesa (master): st/mesa: Remove unnecessary headers.

2010-03-22 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 262961ef694d90fd008041c8384014fd7ed45594
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=262961ef694d90fd008041c8384014fd7ed45594

Author: Vinson Lee v...@vmware.com
Date:   Mon Mar 22 13:02:09 2010 -0700

st/mesa: Remove unnecessary headers.

---

 src/mesa/state_tracker/st_atom.c|2 --
 src/mesa/state_tracker/st_manager.c |1 -
 2 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c
index 9fa4dae..cf391f1 100644
--- a/src/mesa/state_tracker/st_atom.c
+++ b/src/mesa/state_tracker/st_atom.c
@@ -36,8 +36,6 @@
 #include st_program.h
 #include st_manager.h
 
-#include pipe/p_context.h
-
 
 /**
  * This is used to initialize st-atoms[].
diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index 6ec4c8d..ab86ed5 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -40,7 +40,6 @@
 #include main/teximage.h
 #include main/texstate.h
 #include main/texfetch.h
-#include main/fbobject.h
 #include main/framebuffer.h
 #include main/renderbuffer.h
 #include st_texture.h

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


Mesa (gallium-resources): gallium: Usage parameter of get_transfer/ transfer_inline_write is a bitfield.

2010-03-22 Thread Michał Król
Module: Mesa
Branch: gallium-resources
Commit: b33fd3ce3daf2921a895367d0ed3fd9c718a8575
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b33fd3ce3daf2921a895367d0ed3fd9c718a8575

Author: Michal Krol mic...@vmware.com
Date:   Mon Mar 22 21:03:26 2010 +0100

gallium: Usage parameter of get_transfer/transfer_inline_write is a bitfield.

---

 src/gallium/auxiliary/util/u_resource.c  |2 +-
 src/gallium/auxiliary/util/u_transfer.c  |4 ++--
 src/gallium/auxiliary/util/u_transfer.h  |   12 ++--
 src/gallium/drivers/cell/ppu/cell_texture.c  |2 +-
 src/gallium/drivers/i915/i915_resource_buffer.c  |2 +-
 src/gallium/drivers/identity/id_context.c|4 ++--
 src/gallium/drivers/llvmpipe/lp_texture.c|2 +-
 src/gallium/drivers/nv50/nv50_transfer.c |2 +-
 src/gallium/drivers/nv50/nv50_transfer.h |2 +-
 src/gallium/drivers/nvfx/nvfx_transfer.c |2 +-
 src/gallium/drivers/nvfx/nvfx_transfer.h |2 +-
 src/gallium/drivers/softpipe/sp_texture.c|2 +-
 src/gallium/drivers/svga/svga_resource_texture.c |2 +-
 src/gallium/drivers/trace/tr_context.c   |4 ++--
 src/gallium/include/pipe/p_context.h |4 ++--
 15 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_resource.c 
b/src/gallium/auxiliary/util/u_resource.c
index e0fa2dc..c37a68b 100644
--- a/src/gallium/auxiliary/util/u_resource.c
+++ b/src/gallium/auxiliary/util/u_resource.c
@@ -75,7 +75,7 @@ void u_transfer_unmap_vtbl( struct pipe_context *pipe,
 void u_transfer_inline_write_vtbl( struct pipe_context *pipe,
   struct pipe_resource *resource,
   struct pipe_subresource sr,
-  enum pipe_transfer_usage usage,
+  unsigned usage,
   const struct pipe_box *box,
   const void *data,
   unsigned stride,
diff --git a/src/gallium/auxiliary/util/u_transfer.c 
b/src/gallium/auxiliary/util/u_transfer.c
index 24a7873..02e714f 100644
--- a/src/gallium/auxiliary/util/u_transfer.c
+++ b/src/gallium/auxiliary/util/u_transfer.c
@@ -10,7 +10,7 @@
 void u_default_transfer_inline_write( struct pipe_context *pipe,
  struct pipe_resource *resource,
  struct pipe_subresource sr,
- enum pipe_transfer_usage usage,
+ unsigned usage,
  const struct pipe_box *box,
  const void *data,
  unsigned stride,
@@ -79,7 +79,7 @@ unsigned u_default_is_resource_referenced( struct 
pipe_context *pipe,
 struct pipe_transfer * u_default_get_transfer(struct pipe_context *context,
  struct pipe_resource *resource,
  struct pipe_subresource sr,
- enum pipe_transfer_usage usage,
+ unsigned usage,
  const struct pipe_box *box)
 {
struct pipe_transfer *transfer = CALLOC_STRUCT(pipe_transfer);
diff --git a/src/gallium/auxiliary/util/u_transfer.h 
b/src/gallium/auxiliary/util/u_transfer.h
index 4d67b85..eb07945 100644
--- a/src/gallium/auxiliary/util/u_transfer.h
+++ b/src/gallium/auxiliary/util/u_transfer.h
@@ -16,7 +16,7 @@ boolean u_default_resource_get_handle(struct pipe_screen 
*screen,
 void u_default_transfer_inline_write( struct pipe_context *pipe,
  struct pipe_resource *resource,
  struct pipe_subresource sr,
- enum pipe_transfer_usage usage,
+ unsigned usage,
  const struct pipe_box *box,
  const void *data,
  unsigned stride,
@@ -33,7 +33,7 @@ unsigned u_default_is_resource_referenced( struct 
pipe_context *pipe,
 struct pipe_transfer * u_default_get_transfer(struct pipe_context *context,
  struct pipe_resource *resource,
  struct pipe_subresource sr,
- enum pipe_transfer_usage usage,
+ unsigned usage,
  const struct pipe_box *box);
 
 void u_default_transfer_unmap( struct pipe_context *pipe,
@@ -63,7 +63,7 @@ struct u_resource_vtbl {
struct pipe_transfer *(*get_transfer)(struct pipe_context *,
 struct pipe_resource *resource,
 

Mesa (7.8): intel: Call intel_prepare_render() before looking up regions.

2010-03-22 Thread Kristian Høgsberg
Module: Mesa
Branch: 7.8
Commit: 62d54f0387610ec4f71cc3d0fb2a5d49e370a0ef
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62d54f0387610ec4f71cc3d0fb2a5d49e370a0ef

Author: Kristian Høgsberg k...@bitplanet.net
Date:   Mon Mar 22 17:54:35 2010 -0400

intel: Call intel_prepare_render() before looking up regions.

Fixes #27213.

---

 src/mesa/drivers/dri/intel/intel_blit.c|2 --
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c |2 ++
 src/mesa/drivers/dri/intel/intel_pixel_copy.c  |   11 +++
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_blit.c 
b/src/mesa/drivers/dri/intel/intel_blit.c
index f2769aa..4ad42a7 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel,
break;
} while (pass  2);
 
-   intel_prepare_render(intel);
-
if (pass = 2) {
   drm_intel_gem_bo_map_gtt(dst_buffer);
   drm_intel_gem_bo_map_gtt(src_buffer);
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index 4f14946..1b340af 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -520,6 +520,8 @@ intel_miptree_image_copy(struct intel_context *intel,
width = ALIGN(width, align_w);
}
 
+   intel_prepare_render(intel);
+
for (i = 0; i  depth; i++) {
   intel_miptree_get_image_offset(src, level, face, i, src_x, src_y);
   intel_miptree_get_image_offset(dst, level, face, i, dst_x, dst_y);
diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c 
b/src/mesa/drivers/dri/intel/intel_pixel_copy.c
index f4f3fd6..757f2f7 100644
--- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c
+++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c
@@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx,
GLint dstx, GLint dsty, GLenum type)
 {
struct intel_context *intel = intel_context(ctx);
-   struct intel_region *dst = intel_drawbuf_region(intel);
-   struct intel_region *src = copypix_src_region(intel, type);
+   struct intel_region *dst;
+   struct intel_region *src;
struct gl_framebuffer *fb = ctx-DrawBuffer;
struct gl_framebuffer *read_fb = ctx-ReadBuffer;
GLint orig_dstx;
@@ -133,13 +133,16 @@ do_blit_copypixels(GLcontext * ctx,
ctx-Pixel.ZoomX != 1.0F || ctx-Pixel.ZoomY != 1.0F)
   return GL_FALSE;
 
+   intel_prepare_render(intel);
+
+   dst = intel_drawbuf_region(intel);
+   src = copypix_src_region(intel, type);
+
if (!src || !dst)
   return GL_FALSE;
 
intelFlush(intel-ctx);
 
-   intel_prepare_render(intel);
-
/* XXX: We fail to handle different inversion between read and draw 
framebuffer. */
 
/* Clip to destination buffer. */

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


Mesa (master): intel: Call intel_prepare_render() before looking up regions .

2010-03-22 Thread Kristian Høgsberg
Module: Mesa
Branch: master
Commit: 6422cf387baef75df9e5dbbed5cea4c0f495fe41
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6422cf387baef75df9e5dbbed5cea4c0f495fe41

Author: Kristian Høgsberg k...@bitplanet.net
Date:   Mon Mar 22 17:54:35 2010 -0400

intel: Call intel_prepare_render() before looking up regions.

Fixes #27213.

---

 src/mesa/drivers/dri/intel/intel_blit.c|2 --
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c |2 ++
 src/mesa/drivers/dri/intel/intel_pixel_copy.c  |   11 +++
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_blit.c 
b/src/mesa/drivers/dri/intel/intel_blit.c
index 4617370..167140d 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -119,8 +119,6 @@ intelEmitCopyBlit(struct intel_context *intel,
break;
} while (pass  2);
 
-   intel_prepare_render(intel);
-
if (pass = 2)
   return GL_FALSE;
 
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index e671355..ef1966e 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -448,6 +448,8 @@ intel_miptree_image_copy(struct intel_context *intel,
width = ALIGN(width, align_w);
}
 
+   intel_prepare_render(intel);
+
for (i = 0; i  depth; i++) {
   intel_miptree_get_image_offset(src, level, face, i, src_x, src_y);
   intel_miptree_get_image_offset(dst, level, face, i, dst_x, dst_y);
diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c 
b/src/mesa/drivers/dri/intel/intel_pixel_copy.c
index 8efb7a6..56faf07 100644
--- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c
+++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c
@@ -108,8 +108,8 @@ do_blit_copypixels(GLcontext * ctx,
GLint dstx, GLint dsty, GLenum type)
 {
struct intel_context *intel = intel_context(ctx);
-   struct intel_region *dst = intel_drawbuf_region(intel);
-   struct intel_region *src = copypix_src_region(intel, type);
+   struct intel_region *dst;
+   struct intel_region *src;
struct gl_framebuffer *fb = ctx-DrawBuffer;
struct gl_framebuffer *read_fb = ctx-ReadBuffer;
GLint orig_dstx;
@@ -134,13 +134,16 @@ do_blit_copypixels(GLcontext * ctx,
ctx-Pixel.ZoomX != 1.0F || ctx-Pixel.ZoomY != 1.0F)
   return GL_FALSE;
 
+   intel_prepare_render(intel);
+
+   dst = intel_drawbuf_region(intel);
+   src = copypix_src_region(intel, type);
+
if (!src || !dst)
   return GL_FALSE;
 
intelFlush(intel-ctx);
 
-   intel_prepare_render(intel);
-
/* Clip to destination buffer. */
orig_dstx = dstx;
orig_dsty = dsty;

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


Mesa (master): st/glx: fix depth/stencil format selection code

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: master
Commit: ef2664da6c4db1b52ef351641e3ee949b87f9c7b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef2664da6c4db1b52ef351641e3ee949b87f9c7b

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 15:55:43 2010 -0600

st/glx: fix depth/stencil format selection code

This fixes a pretty big performance regression caused by commit
3475e88442c16fb2b50b903fe246b3ebe49da226.

When the user does not request a stencil buffer it's important that we
don't use a depth/stencil format (or at least make it our last choice).
If the user calls glClear(GL_DEPTH_BUFFER_BIT) when we have a combined
depth/stencil buffer, that causes us to hit the clear_with_quad() path
which can be much, much slower than calling pipe_context::clear().

Also, try to use a shallower depth format before a deeper one.

---

 src/gallium/state_trackers/glx/xlib/xm_api.c |   19 ---
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c 
b/src/gallium/state_trackers/glx/xlib/xm_api.c
index 62a2bfc..8dd5420 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -309,8 +309,9 @@ choose_pixel_format(XMesaVisual v)
return 0;
 }
 
+
 /**
- * Choose a depth/stencil format that is better than the given depth and
+ * Choose a depth/stencil format that satisfies the given depth and
  * stencil sizes.
  */
 static enum pipe_format
@@ -324,16 +325,20 @@ choose_depth_stencil_format(XMesaDisplay xmdpy, int 
depth, int stencil)
int count, i;
 
count = 0;
+
+   if (depth = 16  stencil == 0) {
+  formats[count++] = PIPE_FORMAT_Z16_UNORM;
+   }
+   if (depth = 24  stencil == 0) {
+  formats[count++] = PIPE_FORMAT_X8Z24_UNORM;
+  formats[count++] = PIPE_FORMAT_Z24X8_UNORM;
+   }
if (depth = 24  stencil = 8) {
   formats[count++] = PIPE_FORMAT_S8Z24_UNORM;
   formats[count++] = PIPE_FORMAT_Z24S8_UNORM;
}
-
-   if (!stencil) {
-  if (depth = 16)
- formats[count++] = PIPE_FORMAT_Z16_UNORM;
-  if (depth = 32)
- formats[count++] = PIPE_FORMAT_Z32_UNORM;
+   if (depth = 32  stencil == 0) {
+  formats[count++] = PIPE_FORMAT_Z32_UNORM;
}
 
fmt = PIPE_FORMAT_NONE;

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


Mesa (master): st/mesa: rename st_framebuffer() to st_ws_framebuffer()

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: master
Commit: af0b0e1172a14ca215777f6ef6569d1433f45af2
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=af0b0e1172a14ca215777f6ef6569d1433f45af2

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 15:49:38 2010 -0600

st/mesa: rename st_framebuffer() to st_ws_framebuffer()

Be clear that this function is not just a cast wrapper.

---

 src/mesa/state_tracker/st_manager.c |   21 -
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index ab86ed5..ca3a29c 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -59,10 +59,13 @@ void st_flush(struct st_context *st, uint pipeFlushFlags,
   struct pipe_fence_handle **fence);
 
 /**
+ * Cast wrapper to convert a GLframebuffer to an st_framebuffer.
+ * Return NULL if the GLframebuffer is a user-created framebuffer.
+ * We'll only return non-null for window system framebuffers.
  * Note that this function may fail.
  */
 static INLINE struct st_framebuffer *
-st_framebuffer(GLframebuffer *fb)
+st_ws_framebuffer(GLframebuffer *fb)
 {
/* FBO cannot be casted.  See st_new_framebuffer */
return (struct st_framebuffer *) ((fb  !fb-Name) ? fb : NULL);
@@ -473,9 +476,9 @@ st_context_notify_invalid_framebuffer(struct 
st_context_iface *stctxi,
struct st_framebuffer *stfb;
 
/* either draw or read winsys fb */
-   stfb = st_framebuffer(st-ctx-WinSysDrawBuffer);
+   stfb = st_ws_framebuffer(st-ctx-WinSysDrawBuffer);
if (!stfb || stfb-iface != stfbi)
-  stfb = st_framebuffer(st-ctx-WinSysReadBuffer);
+  stfb = st_ws_framebuffer(st-ctx-WinSysReadBuffer);
assert(stfb  stfb-iface == stfbi);
 
p_atomic_set(stfb-revalidate, TRUE);
@@ -616,7 +619,7 @@ st_api_make_current(struct st_api *stapi, struct 
st_context_iface *stctxi,
 
if (st) {
   /* reuse/create the draw fb */
-  stfb = st_framebuffer(st-ctx-WinSysDrawBuffer);
+  stfb = st_ws_framebuffer(st-ctx-WinSysDrawBuffer);
   if (stfb  stfb-iface == stdrawi) {
  stdraw = NULL;
  st_framebuffer_reference(stdraw, stfb);
@@ -626,7 +629,7 @@ st_api_make_current(struct st_api *stapi, struct 
st_context_iface *stctxi,
   }
 
   /* reuse/create the read fb */
-  stfb = st_framebuffer(st-ctx-WinSysReadBuffer);
+  stfb = st_ws_framebuffer(st-ctx-WinSysReadBuffer);
   if (!stfb || stfb-iface != streadi)
  stfb = stdraw;
   if (stfb  stfb-iface == streadi) {
@@ -698,7 +701,7 @@ st_api_destroy(struct st_api *stapi)
 void
 st_manager_flush_frontbuffer(struct st_context *st)
 {
-   struct st_framebuffer *stfb = st_framebuffer(st-ctx-DrawBuffer);
+   struct st_framebuffer *stfb = st_ws_framebuffer(st-ctx-DrawBuffer);
struct st_renderbuffer *strb = NULL;
 
if (stfb)
@@ -723,8 +726,8 @@ st_manager_flush_frontbuffer(struct st_context *st)
 void
 st_manager_validate_framebuffers(struct st_context *st)
 {
-   struct st_framebuffer *stdraw = st_framebuffer(st-ctx-DrawBuffer);
-   struct st_framebuffer *stread = st_framebuffer(st-ctx-ReadBuffer);
+   struct st_framebuffer *stdraw = st_ws_framebuffer(st-ctx-DrawBuffer);
+   struct st_framebuffer *stread = st_ws_framebuffer(st-ctx-ReadBuffer);
 
/* st_public.h */
if ((stdraw  !stdraw-iface) || (stread  !stread-iface)) {
@@ -747,7 +750,7 @@ boolean
 st_manager_add_color_renderbuffer(struct st_context *st, GLframebuffer *fb,
   gl_buffer_index idx)
 {
-   struct st_framebuffer *stfb = st_framebuffer(fb);
+   struct st_framebuffer *stfb = st_ws_framebuffer(fb);
 
/* FBO or st_public.h */
if (!stfb || !stfb-iface)

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


Mesa (master): i965: Optimize OPCODE_CMP by using BRW_SEL to choose results .

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 8a998342c6bf591f1969b432bdda1732d480ee56
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a998342c6bf591f1969b432bdda1732d480ee56

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 11:44:43 2010 -0700

i965: Optimize OPCODE_CMP by using BRW_SEL to choose results.

Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp.

---

 src/mesa/drivers/dri/i965/brw_wm_emit.c |6 +-
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c 
b/src/mesa/drivers/dri/i965/brw_wm_emit.c
index 1869fd0..5abc067 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c
@@ -620,14 +620,10 @@ void emit_cmp(struct brw_compile *p,
 
for (i = 0; i  4; i++) {
   if (mask  (1i)) { 
-brw_set_saturate(p, (mask  SATURATE) ? 1 : 0);
-brw_MOV(p, dst[i], arg2[i]);
-brw_set_saturate(p, 0);
-
 brw_CMP(p, brw_null_reg(), BRW_CONDITIONAL_L, arg0[i], brw_imm_f(0));
 
 brw_set_saturate(p, (mask  SATURATE) ? 1 : 0);
-brw_MOV(p, dst[i], arg1[i]);
+brw_SEL(p, dst[i], arg1[i], arg2[i]);
 brw_set_saturate(p, 0);
 brw_set_predicate_control_flag_value(p, 0xff);
   }

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


Mesa (master): i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 864f2bd61d2bad31b49a680a168fc6d7c04d1de1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=864f2bd61d2bad31b49a680a168fc6d7c04d1de1

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 12:27:38 2010 -0700

i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.

I keep finding the desire to force this path to debug it instead of
cooking up goofy-looking testcases to do so.

---

 src/mesa/drivers/dri/i965/brw_wm_glsl.c|3 +++
 src/mesa/drivers/dri/intel/intel_context.c |1 +
 src/mesa/drivers/dri/intel/intel_context.h |1 +
 3 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c 
b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
index 0b66cc6..d9d6dda 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
@@ -23,6 +23,9 @@ GLboolean brw_wm_is_glsl(const struct gl_fragment_program *fp)
 {
 int i;
 
+if (INTEL_DEBUG  DEBUG_GLSL_FORCE)
+   return GL_TRUE;
+
 for (i = 0; i  fp-Base.NumInstructions; i++) {
const struct prog_instruction *inst = fp-Base.Instructions[i];
switch (inst-Opcode) {
diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
b/src/mesa/drivers/dri/intel/intel_context.c
index c86dd1d..5289e95 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -444,6 +444,7 @@ static const struct dri_debug_control debug_control[] = {
{ sing,  DEBUG_SINGLE_THREAD },
{ thre,  DEBUG_SINGLE_THREAD },
{ wm,DEBUG_WM },
+   { glsl_force, DEBUG_GLSL_FORCE },
{ urb,   DEBUG_URB },
{ vs,DEBUG_VS },
{ NULL,0 }
diff --git a/src/mesa/drivers/dri/intel/intel_context.h 
b/src/mesa/drivers/dri/intel/intel_context.h
index 22736a9..6a68c90 100644
--- a/src/mesa/drivers/dri/intel/intel_context.h
+++ b/src/mesa/drivers/dri/intel/intel_context.h
@@ -342,6 +342,7 @@ extern int INTEL_DEBUG;
 #define DEBUG_WM0x80
 #define DEBUG_URB   0x100
 #define DEBUG_VS0x200
+#define DEBUG_GLSL_FORCE 0x400
 
 #define DBG(...) do {  \
if (INTEL_DEBUG  FILE_DEBUG_FLAG)  \

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


Mesa (master): i965: Allow FS constants to be used as immediates instead of push/pull.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 4fc57322258a750c0a9cabc77372b5ccde1fa877
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fc57322258a750c0a9cabc77372b5ccde1fa877

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 12:34:53 2010 -0700

i965: Allow FS constants to be used as immediates instead of push/pull.

The hope is to later take advantage of the reduced constant usage to
free up regs.  This only covers the GLSL path at the moment, because
the brw_wm_emit path doesn't get the information as to whether a float
value is a constant or a uniform.

---

 src/mesa/drivers/dri/i965/brw_wm.h  |2 +-
 src/mesa/drivers/dri/i965/brw_wm_emit.c |   38 +++
 src/mesa/drivers/dri/i965/brw_wm_glsl.c |   25 +++-
 3 files changed, 58 insertions(+), 7 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.h 
b/src/mesa/drivers/dri/i965/brw_wm.h
index 47b764d..5aade1c 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.h
+++ b/src/mesa/drivers/dri/i965/brw_wm.h
@@ -286,7 +286,7 @@ void brw_wm_pass0( struct brw_wm_compile *c );
 void brw_wm_pass1( struct brw_wm_compile *c );
 void brw_wm_pass2( struct brw_wm_compile *c );
 void brw_wm_emit( struct brw_wm_compile *c );
-
+GLboolean brw_wm_arg_can_be_immediate(enum prog_opcode, int arg);
 void brw_wm_print_value( struct brw_wm_compile *c,
 struct brw_wm_value *value );
 
diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c 
b/src/mesa/drivers/dri/i965/brw_wm_emit.c
index 5abc067..f79de5d 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c
@@ -61,6 +61,44 @@ static INLINE struct brw_reg sechalf( struct brw_reg reg )
return reg;
 }
 
+/* Return the SrcReg index of the channels that can be immediate float operands
+ * instead of usage of PROGRAM_CONSTANT values through push/pull.
+ */
+GLboolean
+brw_wm_arg_can_be_immediate(enum prog_opcode opcode, int arg)
+{
+   int opcode_array[] = {
+  [OPCODE_ADD] = 2,
+  [OPCODE_CMP] = 3,
+  [OPCODE_DP3] = 2,
+  [OPCODE_DP4] = 2,
+  [OPCODE_DPH] = 2,
+  [OPCODE_MAX] = 2,
+  [OPCODE_MIN] = 2,
+  [OPCODE_MOV] = 1,
+  [OPCODE_MUL] = 2,
+  [OPCODE_SEQ] = 2,
+  [OPCODE_SGE] = 2,
+  [OPCODE_SGT] = 2,
+  [OPCODE_SLE] = 2,
+  [OPCODE_SLT] = 2,
+  [OPCODE_SNE] = 2,
+  [OPCODE_XPD] = 2,
+   };
+
+   /* These opcodes get broken down in a way that allow two
+* args to be immediates.
+*/
+   if (opcode == OPCODE_MAD || opcode == OPCODE_LRP) {
+  if (arg == 1 || arg == 2)
+return GL_TRUE;
+   }
+
+   if (opcode  ARRAY_SIZE(opcode_array))
+  return GL_FALSE;
+
+   return arg == opcode_array[opcode] - 1;
+}
 
 /**
  * Computes the screen-space x,y position of the pixels.
diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c 
b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
index d9d6dda..d78fb4e 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c
@@ -570,12 +570,25 @@ static struct brw_reg get_src_reg(struct brw_wm_compile 
*c,
 const GLuint nr = 1;
 const GLuint component = GET_SWZ(src-Swizzle, channel);
 
-/* Extended swizzle terms */
-if (component == SWIZZLE_ZERO) {
-   return brw_imm_f(0.0F);
-}
-else if (component == SWIZZLE_ONE) {
-   return brw_imm_f(1.0F);
+/* Only one immediate value can be used per native opcode, and it
+ * has be in the src1 slot, so not all Mesa instructions will get
+ * to take advantage of immediate constants.
+ */
+if (brw_wm_arg_can_be_immediate(inst-Opcode, srcRegIndex)) {
+   const struct gl_program_parameter_list *params;
+
+   params = c-fp-program.Base.Parameters;
+
+   /* Extended swizzle terms */
+   if (component == SWIZZLE_ZERO) {
+ return brw_imm_f(0.0F);
+   } else if (component == SWIZZLE_ONE) {
+ return brw_imm_f(1.0F);
+   }
+
+   if (src-File == PROGRAM_CONSTANT) {
+ return brw_imm_f(params-ParameterValues[src-Index][component]);
+   }
 }
 
 if (c-fp-use_const_buffer 

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


Mesa (master): i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: a9acde6a723c8f343f65243d1ccac6836215ba0c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9acde6a723c8f343f65243d1ccac6836215ba0c

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 15:04:17 2010 -0700

i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.

Otherwise, we may not get the FFTID set up which would break freeing
of resources.

---

 src/mesa/drivers/dri/i965/brw_eu_emit.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c 
b/src/mesa/drivers/dri/i965/brw_eu_emit.c
index d2395de..c33c3de 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
@@ -1416,7 +1416,10 @@ void brw_urb_WRITE(struct brw_compile *p,
 * and the first message register index comes from src0.
 */
if (intel-gen = 6) {
+  brw_push_insn_state(p);
+  brw_set_mask_control( p, BRW_MASK_DISABLE );
   brw_MOV(p, brw_message_reg(msg_reg_nr), src0);
+  brw_pop_insn_state(p);
   src0 = brw_message_reg(msg_reg_nr);
}
 

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


Mesa (master): i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: d163d5fac0eb5e57a2afb77f557525110753359e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d163d5fac0eb5e57a2afb77f557525110753359e

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 15:57:50 2010 -0700

i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.

Just emit the URB write at END time.  Subroutine code that sits after
OPCODE_END won't be executed since we've ended the thread at the point
that the URB write is done.

---

 src/mesa/drivers/dri/i965/brw_vs_emit.c |   43 ++
 1 files changed, 3 insertions(+), 40 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c 
b/src/mesa/drivers/dri/i965/brw_vs_emit.c
index 14c3b93..2272614 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c
@@ -1361,31 +1361,6 @@ static void emit_vertex_write( struct brw_vs_compile *c)
}
 }
 
-
-/**
- * Called after code generation to resolve subroutine calls and the
- * END instruction.
- * \param end_inst  points to brw code for END instruction
- * \param last_inst  points to last instruction emitted before vertex write
- */
-static void 
-post_vs_emit( struct brw_vs_compile *c,
-  struct brw_instruction *end_inst,
-  struct brw_instruction *last_inst )
-{
-   GLint offset;
-
-   brw_resolve_cals(c-func);
-
-   /* patch up the END code to jump past subroutines, etc */
-   offset = last_inst - end_inst;
-   if (offset  1) {
-  brw_set_src1(end_inst, brw_imm_d(offset * 16));
-   } else {
-  end_inst-header.opcode = BRW_OPCODE_NOP;
-   }
-}
-
 static GLboolean
 accumulator_contains(struct brw_vs_compile *c, struct brw_reg val)
 {
@@ -1466,8 +1441,6 @@ void brw_vs_emit(struct brw_vs_compile *c )
struct intel_context *intel = brw-intel;
const GLuint nr_insns = c-vp-program.Base.NumInstructions;
GLuint insn, if_depth = 0, loop_depth = 0;
-   GLuint end_offset = 0;
-   struct brw_instruction *end_inst, *last_inst;
struct brw_instruction *if_inst[MAX_IF_DEPTH], *loop_inst[MAX_LOOP_DEPTH] = 
{ 0 };
const struct brw_indirect stack_index = brw_indirect(0, 0);   
GLuint index;
@@ -1751,12 +1724,8 @@ void brw_vs_emit(struct brw_vs_compile *c )
  brw_MOV(p, brw_ip_reg(), deref_1d(stack_index, 0));
 brw_set_access_mode(p, BRW_ALIGN_16);
 break;
-  case OPCODE_END: 
- end_offset = p-nr_insn;
- /* this instruction will get patched later to jump past subroutine
-  * code, etc.
-  */
- brw_ADD(p, brw_ip_reg(), brw_ip_reg(), brw_imm_d(1*16));
+  case OPCODE_END:
+emit_vertex_write(c);
  break;
   case OPCODE_PRINT:
  /* no-op */
@@ -1817,13 +1786,7 @@ void brw_vs_emit(struct brw_vs_compile *c )
   release_tmps(c);
}
 
-   end_inst = p-store[end_offset];
-   last_inst = p-store[p-nr_insn];
-
-   /* The END instruction will be patched to jump to this code */
-   emit_vertex_write(c);
-
-   post_vs_emit(c, end_inst, last_inst);
+   brw_resolve_cals(p);
 
brw_optimize(p);
 

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


Mesa (master): i965: Enable normal clipping on SNB.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 10069916c71d55ddaeca793f5dade203a8b42da5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=10069916c71d55ddaeca793f5dade203a8b42da5

Author: Eric Anholt e...@anholt.net
Date:   Mon Mar 22 09:04:25 2010 -0700

i965: Enable normal clipping on SNB.

Rejecting all doesn't seem to be helping get the pipeline lit up.

---

 src/mesa/drivers/dri/i965/gen6_clip_state.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c 
b/src/mesa/drivers/dri/i965/gen6_clip_state.c
index 06f8145..acc4b7f 100644
--- a/src/mesa/drivers/dri/i965/gen6_clip_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c
@@ -55,7 +55,7 @@ upload_clip_state(struct brw_context *brw)
OUT_BATCH(GEN6_CLIP_STATISTICS_ENABLE);
OUT_BATCH(GEN6_CLIP_ENABLE |
 GEN6_CLIP_API_OGL |
-GEN6_CLIP_MODE_REJECT_ALL | /* XXX: debug: get VS working */
+GEN6_CLIP_MODE_NORMAL |
 GEN6_CLIP_XY_TEST |
 depth_clamp |
 provoking);

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


Mesa (master): i965: Force single program flow in SNB GS, to match gen4 GS.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 7319b19fc94c3b49d19b8bf9ce52dc17db3ac6f3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7319b19fc94c3b49d19b8bf9ce52dc17db3ac6f3

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 17:14:12 2010 -0700

i965: Force single program flow in SNB GS, to match gen4 GS.

---

 src/mesa/drivers/dri/i965/gen6_gs_state.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen6_gs_state.c 
b/src/mesa/drivers/dri/i965/gen6_gs_state.c
index 161e7b8..cefc93b 100644
--- a/src/mesa/drivers/dri/i965/gen6_gs_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_gs_state.c
@@ -50,7 +50,8 @@ upload_gs_state(struct brw_context *brw)
   BEGIN_BATCH(7);
   OUT_BATCH(CMD_3D_GS_STATE  16 | (7 - 2));
   OUT_RELOC(brw-gs.prog_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-  OUT_BATCH((0  GEN6_GS_SAMPLER_COUNT_SHIFT) |
+  OUT_BATCH(GEN6_GS_SPF_MODE |
+   (0  GEN6_GS_SAMPLER_COUNT_SHIFT) |
(0  GEN6_GS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
   OUT_BATCH(0); /* scratch space base offset */
   OUT_BATCH((1  GEN6_GS_DISPATCH_START_GRF_SHIFT) |

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


Mesa (master): i965: Correct copy and wasted field shifts for SNB GS URB.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: 073f8d1c00165acccb60f878a2aa770c2b885aec
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=073f8d1c00165acccb60f878a2aa770c2b885aec

Author: Eric Anholt e...@anholt.net
Date:   Fri Mar 19 17:08:42 2010 -0700

i965: Correct copy and wasted field shifts for SNB GS URB.

---

 src/mesa/drivers/dri/i965/brw_defines.h |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_defines.h 
b/src/mesa/drivers/dri/i965/brw_defines.h
index 984e56d..6fe574b 100644
--- a/src/mesa/drivers/dri/i965/brw_defines.h
+++ b/src/mesa/drivers/dri/i965/brw_defines.h
@@ -831,8 +831,8 @@
 #define CMD_URB0x7805 /* GEN6+ */
 # define GEN6_URB_VS_SIZE_SHIFT16
 # define GEN6_URB_VS_ENTRIES_SHIFT 0
-# define GEN6_URB_GS_SIZE_SHIFT8
-# define GEN6_URB_GS_ENTRIES_SHIFT 0
+# define GEN6_URB_GS_ENTRIES_SHIFT 8
+# define GEN6_URB_GS_SIZE_SHIFT0
 
 #define CMD_VIEWPORT_STATE_POINTERS0x780d /* GEN6+ */
 # define GEN6_CC_VIEWPORT_MODIFY   (1  12)

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


Mesa (master): i965: Add disasm for SNB MATH opcode.

2010-03-22 Thread Eric Anholt
Module: Mesa
Branch: master
Commit: d9ea1af82c233a10adbf9b842546e9322480591b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9ea1af82c233a10adbf9b842546e9322480591b

Author: Eric Anholt e...@anholt.net
Date:   Mon Mar 22 10:17:19 2010 -0700

i965: Add disasm for SNB MATH opcode.

---

 src/mesa/drivers/dri/i965/brw_disasm.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c 
b/src/mesa/drivers/dri/i965/brw_disasm.c
index ad61770..db3fc50 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -57,6 +57,7 @@ struct {
 [BRW_OPCODE_DPH] = { .name = dph, .nsrc = 2, .ndst = 1 },
 [BRW_OPCODE_DP3] = { .name = dp3, .nsrc = 2, .ndst = 1 },
 [BRW_OPCODE_DP2] = { .name = dp2, .nsrc = 2, .ndst = 1 },
+[BRW_OPCODE_MATH] = { .name = math, .nsrc = 2, .ndst = 1 },
 
 [BRW_OPCODE_AVG] = { .name = avg, .nsrc = 2, .ndst = 1 },
 [BRW_OPCODE_ADD] = { .name = add, .nsrc = 2, .ndst = 1 },
@@ -797,7 +798,11 @@ int brw_disasm (FILE *file, struct brw_instruction *inst)
 err |= control (file, saturate, saturate, inst-header.saturate, NULL);
 err |= control (file, debug control, debug_ctrl, 
inst-header.debug_control, NULL);
 
-if (inst-header.opcode != BRW_OPCODE_SEND)
+if (inst-header.opcode == BRW_OPCODE_MATH) {
+   string (file,  );
+   err |= control (file, function, math_function,
+   inst-header.destreg__conditionalmod, NULL);
+} else if (inst-header.opcode != BRW_OPCODE_SEND)
err |= control (file, conditional modifier, conditional_modifier,
inst-header.destreg__conditionalmod, NULL);
 

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


Mesa (master): GLX/OML: honor OML semantics even if target, divisor and remainder are 0

2010-03-22 Thread Jesse Barnes
Module: Mesa
Branch: master
Commit: 8f4f2a0c3625de2bb2b8e955afc23b3ce8c95f93
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f4f2a0c3625de2bb2b8e955afc23b3ce8c95f93

Author: Jesse Barnes jbar...@virtuousgeek.org
Date:   Mon Mar 22 16:39:11 2010 -0700

GLX/OML: honor OML semantics even if target, divisor and remainder are 0

This change passes a remainder of 1 to the server with the
DRI2SwapBuffers request, causing it to honor the OML semantics for the
swap rather than falling through to glXSwapBuffers behavior.  The
remainder actually ends up ignored since the divisor is 0, but we need
to differentiate the OML and standard behavior somehow.

Reported-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
Signed-off-by: Jesse Barnes jbar...@virtuousgeek.org

---

 src/glx/glxcmds.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 49cbce7..ea267f3 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -2507,6 +2507,9 @@ __glXSwapBuffersMscOML(Display * dpy, GLXDrawable 
drawable,
if (divisor  0  remainder = divisor)
   return -1;
 
+   if (target_msc == 0  divisor == 0  remainder == 0)
+  remainder = 1;
+
 #ifdef __DRI_SWAP_BUFFER_COUNTER
if (psc-counters != NULL)
   return (*psc-sbc-swapBuffersMSC)(pdraw-driDrawable, target_msc,

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


Mesa (lp-surface-tiling): llvmpipe: remove/consolidate texture image code

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: lp-surface-tiling
Commit: 3cff0bde4b4ab980e1c3e812700419091527c76b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3cff0bde4b4ab980e1c3e812700419091527c76b

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 14:11:38 2010 -0600

llvmpipe: remove/consolidate texture image code

---

 src/gallium/drivers/llvmpipe/lp_setup.c   |4 +-
 src/gallium/drivers/llvmpipe/lp_texture.c |  102 +
 src/gallium/drivers/llvmpipe/lp_texture.h |   19 +-
 3 files changed, 50 insertions(+), 75 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c 
b/src/gallium/drivers/llvmpipe/lp_setup.c
index 5c3ab9b..0bdee98 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup.c
@@ -498,8 +498,8 @@ lp_setup_set_fragment_sampler_views(struct lp_setup_context 
*setup,
   (ubyte *) lp_tex-data + lp_tex-level_offset[j];
 #else
jit_tex-data[j] =
-  llvmpipe_get_linear_texture_image(lp_tex, 0, j,
-LP_TEXTURE_READ);
+  llvmpipe_get_texture_image(lp_tex, 0, j, LP_TEXTURE_READ,
+ LP_TEXTURE_LINEAR);
 #endif
jit_tex-row_stride[j] = lp_tex-stride[j];
 }
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c 
b/src/gallium/drivers/llvmpipe/lp_texture.c
index f36c49d..6d014ed 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -30,8 +30,6 @@
   *   Michel Dänzer mic...@tungstengraphics.com
   */
 
-#include stdio.h
-
 #include pipe/p_context.h
 #include pipe/p_defines.h
 
@@ -220,8 +218,9 @@ llvmpipe_texture_map(struct pipe_texture *texture,
   /* convert from linear to tiled layout? */
   if ()
   {
- void *tiled = llvmpipe_get_tiled_texture_image(lpt, 0, 0,
-   LP_TEXTURE_READ_WRITE);
+ void *tiled = llvmpipe_get_texture_image(lpt, 0, 0,
+  LP_TEXTURE_READ_WRITE,
+  LP_TEXTURE_TILED);
  lp_linear_to_tiled(map, tiled,
 lpt-base.width0, lpt-base.height0,
 lpt-base.format,
@@ -257,10 +256,8 @@ llvmpipe_texture_map(struct pipe_texture *texture,
  offset = 0;
   }
 
-  if (layout == LP_TEXTURE_LINEAR)
- map = llvmpipe_get_linear_texture_image(lpt, face, level, usage);
-  else
- map = llvmpipe_get_tiled_texture_image(lpt, face, level, usage);
+  map = llvmpipe_get_texture_image(lpt, face, level, usage, layout);
+
   map += offset;
}
 
@@ -291,8 +288,9 @@ llvmpipe_texture_unmap(struct pipe_texture *texture,
   /* convert from tiled to linear layout */
   if ()
   {
- void *tiled = llvmpipe_get_tiled_texture_image(lpt, 0, 0,
-   LP_TEXTURE_READ);
+ void *tiled = llvmpipe_get_texture_image(lpt, 0, 0,
+  LP_TEXTURE_READ,
+  LP_TEXTURE_TILED);
  lp_tiled_to_linear(tiled, lpt-dt_map,
 lpt-base.width0, lpt-base.height0,
 lpt-base.format,
@@ -535,30 +533,49 @@ tex_image_size(const struct llvmpipe_texture *lpt, 
unsigned level)
 
 
 /**
- * Comon/helper code used by llvmpipe_get_linear_texture_image() and
- * llvmpipe_get_tiled_texture_image().  Basically, return a pointer
- * to either linear or tiled texture data.  Allocate memory when needed
- * and convert from the other image format when its data is newer
+ * Return pointer to texture image data (either linear or tiled layout).
  * \param usage  one of LP_TEXTURE_READ/WRITE/READ_WRITE
+ * \param layout  either LP_TEXTURE_LINEAR or LP_TEXTURE_TILED
  */
-static void *
-get_texture_image_data(struct llvmpipe_texture *lpt,
-   unsigned level,
-   struct llvmpipe_texture_image *target_img,
-   struct llvmpipe_texture_image *other_img,
-   boolean getting_linear,
-   unsigned usage)
+void *
+llvmpipe_get_texture_image(struct llvmpipe_texture *lpt,
+   unsigned face, unsigned level,
+   unsigned usage, unsigned layout)
 {
-   void *target_data = target_img-data;
-   void *other_data = other_img-data;
+   /*
+* 'target' refers to the image which we're retrieving (either in
+* tiled or linear layout).
+* 'other' refers to the same image but in the other layout. (it may
+*  or may not exist.
+*/
+   struct llvmpipe_texture_image *target_img;
+   struct llvmpipe_texture_image *other_img;
+   void *target_data;
+   void *other_data;
+
+   /* which is target?  which is other? 

Mesa (lp-surface-tiling): llvmpipe: remove lp_rast_load_color()

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: lp-surface-tiling
Commit: e192a47552c5d20d2caef452ca7697e2cd852c9b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e192a47552c5d20d2caef452ca7697e2cd852c9b

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 14:38:51 2010 -0600

llvmpipe: remove lp_rast_load_color()

---

 src/gallium/drivers/llvmpipe/lp_rast.c  |   38 +--
 src/gallium/drivers/llvmpipe/lp_rast.h  |3 --
 src/gallium/drivers/llvmpipe/lp_setup.c |4 ---
 3 files changed, 1 insertions(+), 44 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c 
b/src/gallium/drivers/llvmpipe/lp_rast.c
index 967afac..1b1d6e3 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -232,40 +232,6 @@ lp_rast_clear_zstencil(struct lp_rasterizer_task *task,
 }
 
 
-/**
- * Load tile color from the framebuffer surface.
- * This is a bin command called during bin processing.
- */
-void
-lp_rast_load_color(struct lp_rasterizer_task *task,
-   const union lp_rast_cmd_arg arg)
-{
-#if 00
-   struct lp_rasterizer *rast = task-rast;
-   const unsigned x = task-x, y = task-y;
-   unsigned i;
-
-   LP_DBG(DEBUG_RAST, %s at %u, %u\n, __FUNCTION__, x, y);
-
-   for (i = 0; i  rast-state.nr_cbufs; i++) {
-  if (x = rast-cbuf[i].width || y = rast-cbuf[i].height)
-continue;
-
-#if 00
-  lp_tile_read_4ub(rast-cbuf[i].format,
-  task-tile.color[i],
-  rast-cbuf[i].map, 
-  rast-cbuf[i].stride,
-  x, y,
-  TILE_SIZE, TILE_SIZE);
-#endif
-
-  LP_COUNT(nr_color_tile_load);
-   }
-#endif
-}
-
-
 void
 lp_rast_set_state(struct lp_rasterizer_task *task,
   const union lp_rast_cmd_arg arg)
@@ -569,7 +535,6 @@ static struct {
const char *name;
 } cmd_names[] = 
 {
-   RAST(load_color),
RAST(clear_color),
RAST(clear_zstencil),
RAST(triangle),
@@ -627,8 +592,7 @@ is_empty_bin( const struct cmd_bin *bin )
}
 
for (i = 0; i  head-count; i++)
-  if (head-cmd[i] != lp_rast_load_color 
-  head-cmd[i] != lp_rast_set_state) {
+  if (head-cmd[i] != lp_rast_set_state) {
  return FALSE;
   }
 
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.h 
b/src/gallium/drivers/llvmpipe/lp_rast.h
index ae838f3..57abe90 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.h
+++ b/src/gallium/drivers/llvmpipe/lp_rast.h
@@ -217,9 +217,6 @@ void lp_rast_clear_color( struct lp_rasterizer_task *,
 void lp_rast_clear_zstencil( struct lp_rasterizer_task *, 
  const union lp_rast_cmd_arg );
 
-void lp_rast_load_color( struct lp_rasterizer_task *, 
- const union lp_rast_cmd_arg );
-
 void lp_rast_set_state( struct lp_rasterizer_task *, 
 const union lp_rast_cmd_arg );
 
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c 
b/src/gallium/drivers/llvmpipe/lp_setup.c
index 0bdee98..4e1941a 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup.c
@@ -161,10 +161,6 @@ begin_binning( struct lp_setup_context *setup )
  lp_scene_bin_everywhere( scene, 
  lp_rast_clear_color, 
  setup-clear.color );
-  else
- lp_scene_bin_everywhere( scene,
- lp_rast_load_color,
- lp_rast_arg_null() );
}
 
if (setup-fb.zsbuf) {

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


Mesa (lp-surface-tiling): llvmpipe: rename/repurpose lp_rast_store_color()

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: lp-surface-tiling
Commit: f2730a03839ee8984c1f537b7cbebba24961397a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2730a03839ee8984c1f537b7cbebba24961397a

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 14:41:58 2010 -0600

llvmpipe: rename/repurpose lp_rast_store_color()

---

 src/gallium/drivers/llvmpipe/lp_rast.c  |   43 +++---
 src/gallium/drivers/llvmpipe/lp_rast_priv.h |1 -
 2 files changed, 5 insertions(+), 39 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c 
b/src/gallium/drivers/llvmpipe/lp_rast.c
index 1b1d6e3..d32a6b9 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -49,7 +49,6 @@ lp_rast_begin( struct lp_rasterizer *rast,
struct lp_scene *scene )
 {
const struct pipe_framebuffer_state *fb = scene-fb;
-   boolean write_color = fb-nr_cbufs != 0;
boolean write_zstencil = fb-zsbuf != NULL;
int i;
 
@@ -59,7 +58,6 @@ lp_rast_begin( struct lp_rasterizer *rast,
 
rast-state.nr_cbufs = scene-fb.nr_cbufs;
rast-state.write_zstencil = write_zstencil;
-   rast-state.write_color = write_color;

for (i = 0; i  rast-state.nr_cbufs; i++) {
   struct pipe_surface *cbuf = scene-fb.cbufs[i];
@@ -416,44 +414,15 @@ outline_subtiles(uint8_t *tile)
 
 
 /**
- * Write the rasterizer's color tile to the framebuffer.
+ * Called when we're done writing to a color tile.
+ * This is just a debug hook.
  */
 static void
-lp_rast_store_color(struct lp_rasterizer_task *task)
+lp_rast_finish_color_tile(struct lp_rasterizer_task *task)
 {
struct lp_rasterizer *rast = task-rast;
unsigned i;
 
-#if 00
-   const unsigned x = task-x, y = task-y;
-   for (i = 0; i  rast-state.nr_cbufs; i++) {
-  if (x = rast-cbuf[i].width)
-continue;
-
-  if (y = rast-cbuf[i].height)
-continue;
-
-  LP_DBG(DEBUG_RAST, %s [%u] %d,%d\n, __FUNCTION__,
-task-thread_index, x, y);
-
-  if (LP_DEBUG  DEBUG_SHOW_SUBTILES)
- outline_subtiles(task-tile.color[i]);
-  else if (LP_DEBUG  DEBUG_SHOW_TILES)
- outline_tile(task-tile.color[i]);
-
-#if 00
-  lp_tile_write_4ub(rast-cbuf[i].format,
-   task-tile.color[i],
-   rast-cbuf[i].map, 
-   rast-cbuf[i].stride,
-   x, y,
-   TILE_SIZE, TILE_SIZE);
-#endif
-
-  LP_COUNT(nr_color_tile_store);
-   }
-
-#else
for (i = 0; i  rast-state.nr_cbufs; i++) {
   uint8_t *color = lp_rast_color_pointer(rast, i, task-x, task-y);
 
@@ -462,7 +431,6 @@ lp_rast_store_color(struct lp_rasterizer_task *task)
   else if (LP_DEBUG  DEBUG_SHOW_TILES)
  outline_tile(color);
}
-#endif
 }
 
 
@@ -517,10 +485,9 @@ rasterize_bin(struct lp_rasterizer_task *task,
   }
}
 
-   /* Write the rasterizer's tiles to the framebuffer.
+   /* Done writing colors to this tile.
 */
-   if (task-rast-state.write_color)
-  lp_rast_store_color(task);
+   lp_rast_finish_color_tile(task);
 
/* Free data for this bin.
 */
diff --git a/src/gallium/drivers/llvmpipe/lp_rast_priv.h 
b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
index 8833cf7..e25723d 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast_priv.h
+++ b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
@@ -87,7 +87,6 @@ struct lp_rasterizer
 
struct {
   unsigned nr_cbufs;
-  boolean write_color;
   boolean write_zstencil;
   unsigned clear_color;
   unsigned clear_depth;

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


Mesa (lp-surface-tiling): llvmpipe: checkpoint WIP: overhaul texture/ surface mapping

2010-03-22 Thread Brian Paul
Module: Mesa
Branch: lp-surface-tiling
Commit: e2ca8d1328316dc8b36d5f688c16d109e49a6870
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2ca8d1328316dc8b36d5f688c16d109e49a6870

Author: Brian Paul bri...@vmware.com
Date:   Mon Mar 22 18:53:11 2010 -0600

llvmpipe: checkpoint WIP: overhaul texture/surface mapping

Conversion between tiled and linear surfaces is working everywhere now.
The LP_TEXTURE_READ/READ_WRITE/WRITE_ALL flags let us avoid unnecessary
image layout conversions.

Still some loose ends, temporary/debug code, etc.
Need to implement tiled/linear conversion for depth/stencil images.

---

 src/gallium/drivers/llvmpipe/lp_jit.c   |4 +-
 src/gallium/drivers/llvmpipe/lp_jit.h   |4 +-
 src/gallium/drivers/llvmpipe/lp_rast.c  |   50 ++
 src/gallium/drivers/llvmpipe/lp_rast_priv.h |   32 +++---
 src/gallium/drivers/llvmpipe/lp_scene.c |   42 +++-
 src/gallium/drivers/llvmpipe/lp_scene.h |9 +++
 src/gallium/drivers/llvmpipe/lp_texture.c   |   96 ++-
 src/gallium/drivers/llvmpipe/lp_texture.h   |   34 ++
 8 files changed, 169 insertions(+), 102 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_jit.c 
b/src/gallium/drivers/llvmpipe/lp_jit.c
index 927e472..d15a34c 100644
--- a/src/gallium/drivers/llvmpipe/lp_jit.c
+++ b/src/gallium/drivers/llvmpipe/lp_jit.c
@@ -58,10 +58,10 @@ lp_jit_init_globals(struct llvmpipe_screen *screen)
   elem_types[LP_JIT_TEXTURE_DEPTH] = LLVMInt32Type();
   elem_types[LP_JIT_TEXTURE_LAST_LEVEL] = LLVMInt32Type();
   elem_types[LP_JIT_TEXTURE_ROW_STRIDE] =
- LLVMArrayType(LLVMInt32Type(), LP_MAX_TEXTURE_2D_LEVELS);
+ LLVMArrayType(LLVMInt32Type(), LP_MAX_TEXTURE_LEVELS);
   elem_types[LP_JIT_TEXTURE_DATA] =
  LLVMArrayType(LLVMPointerType(LLVMInt8Type(), 0),
-   LP_MAX_TEXTURE_2D_LEVELS);
+   LP_MAX_TEXTURE_LEVELS);
 
   texture_type = LLVMStructType(elem_types, Elements(elem_types), 0);
 
diff --git a/src/gallium/drivers/llvmpipe/lp_jit.h 
b/src/gallium/drivers/llvmpipe/lp_jit.h
index 4930ff0..3790a71 100644
--- a/src/gallium/drivers/llvmpipe/lp_jit.h
+++ b/src/gallium/drivers/llvmpipe/lp_jit.h
@@ -51,8 +51,8 @@ struct lp_jit_texture
uint32_t height;
uint32_t depth;
uint32_t last_level;
-   uint32_t row_stride[LP_MAX_TEXTURE_2D_LEVELS];
-   const void *data[LP_MAX_TEXTURE_2D_LEVELS];
+   uint32_t row_stride[LP_MAX_TEXTURE_LEVELS];
+   const void *data[LP_MAX_TEXTURE_LEVELS];
 };
 
 
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c 
b/src/gallium/drivers/llvmpipe/lp_rast.c
index d32a6b9..fa9724a 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -61,7 +61,9 @@ lp_rast_begin( struct lp_rasterizer *rast,

for (i = 0; i  rast-state.nr_cbufs; i++) {
   struct pipe_surface *cbuf = scene-fb.cbufs[i];
+#if 0
   rast-cbuf[i].map = scene-cbuf_map[i];
+#endif
   rast-cbuf[i].format = cbuf-texture-format;
   rast-cbuf[i].tiles_per_row = align(cbuf-width, TILE_SIZE) / TILE_SIZE;
   rast-cbuf[i].blocksize = 
@@ -136,7 +138,8 @@ lp_rast_clear_color(struct lp_rasterizer_task *task,
clear_color[2] == clear_color[3]) {
   /* clear to grayscale value {x, x, x, x} */
   for (i = 0; i  rast-state.nr_cbufs; i++) {
- void *ptr = lp_rast_color_pointer(rast, i, task-x, task-y);
+ void *ptr = lp_rast_get_color_tile_pointer(rast, i, task-x, task-y,
+LP_TEXTURE_WRITE_ALL);
 memset(ptr, clear_color[0], TILE_SIZE * TILE_SIZE * 4);
   }
}
@@ -148,7 +151,8 @@ lp_rast_clear_color(struct lp_rasterizer_task *task,
*/
   const unsigned chunk = TILE_SIZE / 4;
   for (i = 0; i  rast-state.nr_cbufs; i++) {
- uint8_t *c = lp_rast_color_pointer(rast, i, task-x, task-y);
+ uint8_t *c = lp_rast_get_color_tile_pointer(rast, i, task-x, task-y,
+ LP_TEXTURE_WRITE_ALL);
  unsigned j;
  for (j = 0; j  4 * TILE_SIZE; j++) {
 memset(c, clear_color[0], chunk);
@@ -201,7 +205,8 @@ lp_rast_clear_zstencil(struct lp_rasterizer_task *task,
 * TILE_VECTOR_HEIGHT x TILE_VECTOR_WIDTH pixels have consecutive offsets.
 */
 
-   dst = lp_rast_depth_pointer(rast, tile_x, tile_y);
+   dst = lp_rast_get_depth_tile_pointer(rast, tile_x, tile_y,
+LP_TEXTURE_WRITE_ALL);
 
switch (block_size) {
case 1:
@@ -266,17 +271,17 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
   for (x = 0; x  TILE_SIZE; x += 4) {
  uint8_t *color[PIPE_MAX_COLOR_BUFS];
  uint32_t *depth;
- unsigned block_offset, i;
-
- /* offset of the 16x16 pixel block within the tile */
- block_offset = ((y / 4) * (16 * 16) + (x / 4) * 16);
+ unsigned i;
 
  /* color buffer 

Mesa (master): r300g: Cleanup a few old warnings.

2010-03-22 Thread Corbin Simpson
Module: Mesa
Branch: master
Commit: ca49a72a55895f8fefb090405a79918cbaa805ee
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca49a72a55895f8fefb090405a79918cbaa805ee

Author: Corbin Simpson mostawesomed...@gmail.com
Date:   Mon Mar 22 03:10:19 2010 -0700

r300g: Cleanup a few old warnings.

Those paths aren't important anymore, and a debugging warning won't stop
a hardlock anyway.

---

 src/gallium/drivers/r300/r300_emit.c |   33 +
 1 files changed, 9 insertions(+), 24 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_emit.c 
b/src/gallium/drivers/r300/r300_emit.c
index c897df6..796e3ec 100644
--- a/src/gallium/drivers/r300/r300_emit.c
+++ b/src/gallium/drivers/r300/r300_emit.c
@@ -146,10 +146,8 @@ static const float * get_shader_constant(
 struct rc_constant * constant,
 struct r300_constant_buffer * externals)
 {
-struct r300_viewport_state* viewport =
-(struct r300_viewport_state*)r300-viewport_state.state;
-struct r300_textures_state* texstate =
-(struct r300_textures_state*)r300-textures_state.state;
+struct r300_viewport_state* viewport = r300-viewport_state.state;
+struct r300_textures_state* texstate = r300-textures_state.state;
 static float vec[4] = { 0.0, 0.0, 0.0, 1.0 };
 struct pipe_texture *tex;
 
@@ -900,12 +898,6 @@ void r300_emit_vs_state(struct r300_context* r300, 
unsigned size, void* state)
 
 CS_LOCALS(r300);
 
-if (!r300screen-caps-has_tcl) {
-debug_printf(r300: Implementation error: emit_vs_state called,
- but has_tcl is FALSE!\n);
-return;
-}
-
 BEGIN_CS(size);
 /* R300_VAP_PVS_CODE_CNTL_0
  * R300_VAP_PVS_CONST_CNTL
@@ -935,28 +927,19 @@ void r300_emit_vs_state(struct r300_context* r300, 
unsigned size, void* state)
 void r300_emit_vs_constant_buffer(struct r300_context* r300,
   struct rc_constant_list* constants)
 {
-int i;
 struct r300_screen* r300screen = r300_screen(r300-context.screen);
+unsigned i;
 CS_LOCALS(r300);
 
-if (!r300screen-caps-has_tcl) {
-debug_printf(r300: Implementation error: emit_vs_constant_buffer 
called,
- but has_tcl is FALSE!\n);
-return;
-}
-
-if (constants-Count == 0)
-return;
-
 BEGIN_CS(constants-Count * 4 + 3);
 OUT_CS_REG(R300_VAP_PVS_VECTOR_INDX_REG,
(r300screen-caps-is_r500 ?
R500_PVS_CONST_START : R300_PVS_CONST_START));
 OUT_CS_ONE_REG(R300_VAP_PVS_UPLOAD_DATA, constants-Count * 4);
 for (i = 0; i  constants-Count; i++) {
-const float * data = get_shader_constant(r300,
- constants-Constants[i],
- 
r300-shader_constants[PIPE_SHADER_VERTEX]);
+const float *data = get_shader_constant(r300,
+constants-Constants[i],
+
r300-shader_constants[PIPE_SHADER_VERTEX]);
 OUT_CS_32F(data[0]);
 OUT_CS_32F(data[1]);
 OUT_CS_32F(data[2]);
@@ -1167,7 +1150,9 @@ void r300_emit_dirty_state(struct r300_context* r300)
 
 if (r300-dirty_state  R300_NEW_VERTEX_SHADER_CONSTANTS) {
 struct r300_vertex_shader* vs = r300-vs_state.state;
-r300_emit_vs_constant_buffer(r300, vs-code.constants);
+if (vs-code.constants.Count) {
+r300_emit_vs_constant_buffer(r300, vs-code.constants);
+}
 r300-dirty_state = ~R300_NEW_VERTEX_SHADER_CONSTANTS;
 }
 

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


Mesa (master): radeong: Always initialize this variable.

2010-03-22 Thread Corbin Simpson
Module: Mesa
Branch: master
Commit: ed61faec7ea307ff22738b4fcc96933f910e4145
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed61faec7ea307ff22738b4fcc96933f910e4145

Author: Corbin Simpson mostawesomed...@gmail.com
Date:   Mon Mar 22 18:11:40 2010 -0700

radeong: Always initialize this variable.

May or may not be responsible for slight increases in ipers FPS.

---

 .../winsys/drm/radeon/core/radeon_drm_buffer.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c 
b/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c
index e36bad7..ec45abf 100644
--- a/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c
+++ b/src/gallium/winsys/drm/radeon/core/radeon_drm_buffer.c
@@ -70,7 +70,7 @@ radeon_drm_buffer_map(struct pb_buffer *_buf,
  unsigned flags)
 {
 struct radeon_drm_buffer *buf = radeon_drm_buffer(_buf);
-int write;
+int write = 0;
 
 if (flags  PIPE_BUFFER_USAGE_DONTBLOCK) {
if ((_buf-base.usage  PIPE_BUFFER_USAGE_VERTEX) ||
@@ -365,7 +365,7 @@ boolean radeon_drm_bufmgr_is_buffer_referenced(struct 
pb_buffer *_buf)
 return (radeon_bo_is_referenced_by_cs(buf-bo, buf-mgr-rws-cs) ||
radeon_bo_is_busy(buf-bo, domain));
 }
-   
+
 
 void radeon_drm_bufmgr_flush_maps(struct pb_manager *_mgr)
 {

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


Mesa (master): gallium/docs: Cleanup and clarify point ras info.

2010-03-22 Thread Corbin Simpson
Module: Mesa
Branch: master
Commit: d5b2cecb03e8985aae589f1a8118e60eb693452a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5b2cecb03e8985aae589f1a8118e60eb693452a

Author: Corbin Simpson mostawesomed...@gmail.com
Date:   Mon Mar 22 18:12:16 2010 -0700

gallium/docs: Cleanup and clarify point ras info.

...This state's interdependent? Really? Needs moar cleanup.

---

 src/gallium/docs/source/cso/rasterizer.rst |   76 
 1 files changed, 44 insertions(+), 32 deletions(-)

diff --git a/src/gallium/docs/source/cso/rasterizer.rst 
b/src/gallium/docs/source/cso/rasterizer.rst
index ccd9136..e8dc829 100644
--- a/src/gallium/docs/source/cso/rasterizer.rst
+++ b/src/gallium/docs/source/cso/rasterizer.rst
@@ -7,7 +7,7 @@ The rasterizer state controls the rendering of points, lines 
and triangles.
 Attributes include polygon culling state, line width, line stipple,
 multisample state, scissoring and flat/smooth shading.
 
-Members
+Shading
 ---
 
 flatshade
@@ -46,6 +46,49 @@ There are several important exceptions to the specification 
of this rule.
   second vertex, not the first. This permits each segment of the fan to have
   a different color.
 
+Points
+--
+
+sprite_coord_enable
+^^^
+
+Specifies if a texture unit has its texture coordinates replaced or not. This
+is a packed bitfield containing the enable for all texcoords -- if all bits
+are zero, point sprites are effectively disabled. If any bit is set, then
+point_smooth and point_quad_rasterization are ignored; point smoothing is
+disabled and points are always rasterized as quads. If enabled, the four
+vertices of the resulting quad will be assigned texture coordinates,
+according to sprite_coord_mode.
+
+sprite_coord_mode
+^
+
+Specifies how the value for each shader output should be computed when drawing
+point sprites. For PIPE_SPRITE_COORD_LOWER_LEFT, the lower-left vertex will
+have coordinates (0,0,0,1). For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left
+vertex will have coordinates (0,0,0,1).
+This state is used by :ref:`Draw` to generate texcoords.
+
+.. note::
+
+When geometry shaders are available, a special geometry shader could be
+used instead of this functionality, to convert incoming points into quads
+with the proper texture coordinates.
+
+point_quad_rasterization
+
+
+Determines if points should be rasterized as quads or points. Certain APIs,
+like Direct3D, always use quad rasterization for points, regardless of
+whether point sprites are enabled or not. If this state is enabled, point
+smoothing and antialiasing are disabled, and sprite coordinates are not
+generated.
+
+.. note::
+
+   Some renderers always internally translate points into quads; this state
+   still affects those renderers by overriding other rasterization state.
+
 Other Members
 ^
 
@@ -107,37 +150,6 @@ point_size_per_vertex
 Whether vertices have a point size element.
 point_size
 The size of points, if not specified per-vertex.
-sprite_coord_enable
-Specifies if a coord has its texture coordinates replaced or not. This
-is a packed bitfield containing the enable for all coords - if all are 0
-point sprites are effectively disabled, though points may still be
-rendered slightly different according to point_quad_rasterization.
-If any coord is non-zero, point_smooth should be disabled, and
-point_quad_rasterization enabled.
-If enabled, the four vertices of the resulting quad will be assigned
-texture coordinates, according to sprite_coord_mode.
-sprite_coord_mode
-Specifies how the value for each shader output should be computed when
-drawing sprites, for each coord which has sprite_coord_enable set.
-For PIPE_SPRITE_COORD_LOWER_LEFT, the lower left vertex will have
-coordinate (0,0,0,1).
-For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left vertex will have
-coordinate (0,0,0,1).
-This state is needed by :ref:`Draw` because that's where each
-point vertex is converted into four quad vertices.  There's no other
-place to emit the new vertex texture coordinates which are required for
-sprite rendering.
-Note that when geometry shaders are available, this state could be
-removed.  A special geometry shader defined by the state tracker could
-convert the incoming points into quads with the proper texture coords.
-point_quad_rasterization
-This determines if points should be rasterized as quads or points.
-d3d always uses quad rasterization for points, regardless if point sprites
-are enabled or not, but OGL has different rules. If 
point_quad_rasterization
-is set, point_smooth should be disabled, and points will be rendered as
-squares even if multisample is enabled.
-sprite_coord_enable should be zero if point_quad_rasterization is not
-enabled.
 
 scissor
 Whether the scissor test is enabled.


Mesa (7.8): mesa: set version string to 7.8-rc2

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: 7.8
Commit: 4eead425504057e0862bc214bceaa512775973f1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4eead425504057e0862bc214bceaa512775973f1

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Mar 22 18:09:15 2010 -0700

mesa: set version string to 7.8-rc2

---

 Makefile|2 +-
 src/mesa/main/version.h |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 68b5adf..733d57b 100644
--- a/Makefile
+++ b/Makefile
@@ -180,7 +180,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.8-rc1
+VERSION=7.8-rc2
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 7ed1e1a..23d74ee 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -35,7 +35,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 8
 #define MESA_PATCH 0
-#define MESA_VERSION_STRING 7.8-rc1
+#define MESA_VERSION_STRING 7.8-rc2
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (mesa_7_7_branch): mesa: set version string to 7.7.1-rc2

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: mesa_7_7_branch
Commit: e33121b2d84ddbbdbed6663490e05d7011c69e9a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e33121b2d84ddbbdbed6663490e05d7011c69e9a

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Mar 22 18:15:53 2010 -0700

mesa: set version string to 7.7.1-rc2

---

 Makefile|2 +-
 src/mesa/main/version.h |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index bd44a23..f148e9e 100644
--- a/Makefile
+++ b/Makefile
@@ -182,7 +182,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.7.1-rc1
+VERSION=7.7.1-rc2
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 3441592..bc61b52 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -32,7 +32,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 7
 #define MESA_PATCH 1
-#define MESA_VERSION_STRING 7.7.1-rc1
+#define MESA_VERSION_STRING 7.7.1-rc2
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (refs/tags/7.8-rc2): mesa: set version string to 7.8-rc2

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: refs/tags/7.8-rc2
Commit: 4eead425504057e0862bc214bceaa512775973f1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4eead425504057e0862bc214bceaa512775973f1

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Mar 22 18:09:15 2010 -0700

mesa: set version string to 7.8-rc2

---

 Makefile|2 +-
 src/mesa/main/version.h |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 68b5adf..733d57b 100644
--- a/Makefile
+++ b/Makefile
@@ -180,7 +180,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.8-rc1
+VERSION=7.8-rc2
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 7ed1e1a..23d74ee 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -35,7 +35,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 8
 #define MESA_PATCH 0
-#define MESA_VERSION_STRING 7.8-rc1
+#define MESA_VERSION_STRING 7.8-rc2
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (refs/tags/mesa_7_6_1_rc2): mesa: set version string to 7.6.1-rc2

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: refs/tags/mesa_7_6_1_rc2
Commit: 910aaed4daad319b584b68ae2468432c8f6bac21
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=910aaed4daad319b584b68ae2468432c8f6bac21

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Nov 30 17:55:21 2009 -0800

mesa: set version string to 7.6.1-rc2

---

 src/mesa/main/version.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 3e91439..e2fed57 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -32,7 +32,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 6
 #define MESA_PATCH 1
-#define MESA_VERSION_STRING 7.6.1-rc1
+#define MESA_VERSION_STRING 7.6.1-rc2
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (refs/tags/mesa_7_7_1_rc2): mesa: set version string to 7.7.1-rc2

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: refs/tags/mesa_7_7_1_rc2
Commit: e33121b2d84ddbbdbed6663490e05d7011c69e9a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e33121b2d84ddbbdbed6663490e05d7011c69e9a

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Mar 22 18:15:53 2010 -0700

mesa: set version string to 7.7.1-rc2

---

 Makefile|2 +-
 src/mesa/main/version.h |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index bd44a23..f148e9e 100644
--- a/Makefile
+++ b/Makefile
@@ -182,7 +182,7 @@ ultrix-gcc:
 
 # Rules for making release tarballs
 
-VERSION=7.7.1-rc1
+VERSION=7.7.1-rc2
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 DEMO_NAME = MesaDemos-$(VERSION)
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 3441592..bc61b52 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -32,7 +32,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 7
 #define MESA_PATCH 1
-#define MESA_VERSION_STRING 7.7.1-rc1
+#define MESA_VERSION_STRING 7.7.1-rc2
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (refs/tags/mesa_7_7_rc1): mesa: set version string to 7.7-rc1

2010-03-22 Thread Ian Romanick
Module: Mesa
Branch: refs/tags/mesa_7_7_rc1
Commit: f17dbe256bb38c35d885260be7e5856f1561de97
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f17dbe256bb38c35d885260be7e5856f1561de97

Author: Ian Romanick ian.d.roman...@intel.com
Date:   Mon Nov 30 17:56:07 2009 -0800

mesa: set version string to 7.7-rc1

---

 src/mesa/main/version.h |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 0cae186..fddb9a8 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -32,7 +32,7 @@
 #define MESA_MAJOR 7
 #define MESA_MINOR 7
 #define MESA_PATCH 0
-#define MESA_VERSION_STRING 7.7-devel
+#define MESA_VERSION_STRING 7.7-rc1
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a)  16) + ((b)  8) + (c))

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


Mesa (7.8): glx: Suppress BadDrawable from DRI2CopyRegion

2010-03-22 Thread Kristian Høgsberg
Module: Mesa
Branch: 7.8
Commit: 094c6fbc45cee1b53d9f1d7d4123d6da6a8958a3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=094c6fbc45cee1b53d9f1d7d4123d6da6a8958a3

Author: Kristian Høgsberg k...@bitplanet.net
Date:   Mon Mar 22 21:57:26 2010 -0400

glx: Suppress BadDrawable from DRI2CopyRegion

This can happen when an X window is destroyed behind our back.  We use
DRI2CopyRegion behind the scenes in many places (like flushing the fake
front to the real front) so we have to ignore X errors triggered in that
case.

The glean test cases trigger this consistently as they don't destroy the
GLX drawable nicely, they just destroy the X window.

---

 src/glx/dri2.c |   15 ++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index 5de55cd..9ca9b3e 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -62,6 +62,8 @@ static Bool
 DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire);
 static Status
 DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire);
+static int
+DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code);
 
 static /* const */ XExtensionHooks dri2ExtensionHooks = {
   NULL,   /* create_gc */
@@ -73,7 +75,7 @@ static /* const */ XExtensionHooks dri2ExtensionHooks = {
   DRI2CloseDisplay,   /* close_display */
   DRI2WireToEvent,/* wire_to_event */
   DRI2EventToWire,/* event_to_wire */
-  NULL,   /* error */
+  DRI2Error,  /* error */
   NULL,   /* error_string */
 };
 
@@ -160,6 +162,17 @@ DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire)
return Success;
 }
 
+static int
+DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code)
+{
+if (err-majorCode == codes-major_opcode 
+   err-errorCode == BadDrawable 
+   err-minorCode == X_DRI2CopyRegion)
+   return True;
+
+return False;
+}
+
 Bool
 DRI2QueryExtension(Display * dpy, int *eventBase, int *errorBase)
 {

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


Mesa (master): glx: Suppress BadDrawable from DRI2CopyRegion

2010-03-22 Thread Kristian Høgsberg
Module: Mesa
Branch: master
Commit: 7a0bcba9f9d7a4dcba11d06f207a5d494a330d5f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a0bcba9f9d7a4dcba11d06f207a5d494a330d5f

Author: Kristian Høgsberg k...@bitplanet.net
Date:   Mon Mar 22 21:57:26 2010 -0400

glx: Suppress BadDrawable from DRI2CopyRegion

This can happen when an X window is destroyed behind our back.  We use
DRI2CopyRegion behind the scenes in many places (like flushing the fake
front to the real front) so we have to ignore X errors triggered in that
case.

The glean test cases trigger this consistently as they don't destroy the
GLX drawable nicely, they just destroy the X window.

---

 src/glx/dri2.c |   15 ++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index 5de55cd..9ca9b3e 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -62,6 +62,8 @@ static Bool
 DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire);
 static Status
 DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire);
+static int
+DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code);
 
 static /* const */ XExtensionHooks dri2ExtensionHooks = {
   NULL,   /* create_gc */
@@ -73,7 +75,7 @@ static /* const */ XExtensionHooks dri2ExtensionHooks = {
   DRI2CloseDisplay,   /* close_display */
   DRI2WireToEvent,/* wire_to_event */
   DRI2EventToWire,/* event_to_wire */
-  NULL,   /* error */
+  DRI2Error,  /* error */
   NULL,   /* error_string */
 };
 
@@ -160,6 +162,17 @@ DRI2EventToWire(Display *dpy, XEvent *event, xEvent *wire)
return Success;
 }
 
+static int
+DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code)
+{
+if (err-majorCode == codes-major_opcode 
+   err-errorCode == BadDrawable 
+   err-minorCode == X_DRI2CopyRegion)
+   return True;
+
+return False;
+}
+
 Bool
 DRI2QueryExtension(Display * dpy, int *eventBase, int *errorBase)
 {

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