Mesa (master): glu/sgi: Initialize member of class Bin.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 977fa273608d6bab3973c6ccce3b303e26204364
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=977fa273608d6bab3973c6ccce3b303e26204364

Author: Vinson Lee 
Date:   Fri Feb 12 00:28:44 2010 -0800

glu/sgi: Initialize member of class Bin.

---

 src/glu/sgi/libnurbs/internals/bin.cc |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/glu/sgi/libnurbs/internals/bin.cc 
b/src/glu/sgi/libnurbs/internals/bin.cc
index 54b4061..ff75b86 100644
--- a/src/glu/sgi/libnurbs/internals/bin.cc
+++ b/src/glu/sgi/libnurbs/internals/bin.cc
@@ -49,6 +49,7 @@
 Bin::Bin()
 {
 head = NULL;
+current = NULL;
 }
 
 Bin::~Bin()

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


Mesa (master): glu/sgi: Initialize members of class Arc.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: b5b1b452cd6bc83291156871dbab1a00f73349d9
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5b1b452cd6bc83291156871dbab1a00f73349d9

Author: Vinson Lee 
Date:   Fri Feb 12 00:36:00 2010 -0800

glu/sgi: Initialize members of class Arc.

---

 src/glu/sgi/libnurbs/internals/arc.h |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/glu/sgi/libnurbs/internals/arc.h 
b/src/glu/sgi/libnurbs/internals/arc.h
index e986019..ca397f3 100644
--- a/src/glu/sgi/libnurbs/internals/arc.h
+++ b/src/glu/sgi/libnurbs/internals/arc.h
@@ -108,6 +108,9 @@ public:
 inline
 Arc::Arc( Arc *j, PwlArc *p )
 {
+prev = NULL;
+next = NULL;
+link = NULL;
 bezierArc = NULL;
 pwlArc = p;
 type = j->type;
@@ -123,6 +126,9 @@ Arc::Arc( Arc *j, PwlArc *p )
 inline
 Arc::Arc( arc_side side, long _nuid )
 {
+prev = NULL;
+next = NULL;
+link = NULL;
 bezierArc = NULL;
 pwlArc = NULL;
 type = 0;

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


Mesa (master): glu/sgi: Initialize member of class primStream.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: d0ec18e111a1d1cbf0bbbadc2763804e6ced2181
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0ec18e111a1d1cbf0bbbadc2763804e6ced2181

Author: Vinson Lee 
Date:   Fri Feb 12 00:41:01 2010 -0800

glu/sgi: Initialize member of class primStream.

---

 src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc 
b/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc
index 26d0534..dfdbd4e 100644
--- a/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc
+++ b/src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc
@@ -156,6 +156,8 @@ primStream::primStream(Int sizeLengths, Int sizeVertices)
   index_vertices = 0;
   size_lengths = sizeLengths;
   size_vertices = sizeVertices; 
+
+  counter = 0; 
 }
 
 primStream::~primStream()

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


Mesa (mesa_7_7_branch): wgl: Do not reach out and destroy contexts on cleanup.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: 426f607aaa28710b131d0be223ab6e9ae49cefd6
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=426f607aaa28710b131d0be223ab6e9ae49cefd6

Author: José Fonseca 
Date:   Fri Feb 12 11:00:22 2010 +

wgl: Do not reach out and destroy contexts on cleanup.

Simply skip cleanup when contexts are still active.

This addresses two issues:

- in some situations the ICD DLL may be unloaded before the DLL that is
  using GL contexts is, so we may receive GL calls after stw_cleanup.

- when aborting (exception, or control-c) the contexts may have been left
  in an inconsistent state and attempting to destroy can cause
  unpredictable results.

---

 src/gallium/state_trackers/wgl/stw_device.c |   22 --
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_device.c 
b/src/gallium/state_trackers/wgl/stw_device.c
index 7785aba..ce6fe5f 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -152,24 +152,26 @@ stw_cleanup_thread(void)
 void
 stw_cleanup(void)
 {
-   unsigned i;
+   DHGLRC dhglrc;
 
debug_printf("%s\n", __FUNCTION__);
 
if (!stw_dev)
   return;

+   /*
+* Abort cleanup if there are still active contexts. In some situations
+* this DLL may be unloaded before the DLL that is using GL contexts is.
+*/
pipe_mutex_lock( stw_dev->ctx_mutex );
-   {
-  /* Ensure all contexts are destroyed */
-  i = handle_table_get_first_handle(stw_dev->ctx_table);
-  while (i) {
- DrvDeleteContext(i);
- i = handle_table_get_next_handle(stw_dev->ctx_table, i);
-  }
-  handle_table_destroy(stw_dev->ctx_table);
-   }
+   dhglrc = handle_table_get_first_handle(stw_dev->ctx_table);
pipe_mutex_unlock( stw_dev->ctx_mutex );
+   if (dhglrc) {
+  debug_printf("%s: contexts still active -- cleanup aborted\n", 
__FUNCTION__);
+  return;
+   }
+
+   handle_table_destroy(stw_dev->ctx_table);
 
stw_framebuffer_cleanup();


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


Mesa (master): svgadump: Several improvements to shader dumping.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: ea8f7bd2e40dc69dbde079a29c169c5371244aef
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea8f7bd2e40dc69dbde079a29c169c5371244aef

Author: José Fonseca 
Date:   Thu Feb 11 14:09:53 2010 +

svgadump: Several improvements to shader dumping.

---

 src/gallium/drivers/svga/svgadump/svga_shader.h|   31 +-
 .../drivers/svga/svgadump/svga_shader_dump.c   |  520 +++-
 src/gallium/drivers/svga/svgadump/svga_shader_op.c |  194 
 src/gallium/drivers/svga/svgadump/svga_shader_op.h |2 +
 4 files changed, 411 insertions(+), 336 deletions(-)

diff --git a/src/gallium/drivers/svga/svgadump/svga_shader.h 
b/src/gallium/drivers/svga/svgadump/svga_shader.h
index 9217af2..5db64bf 100644
--- a/src/gallium/drivers/svga/svgadump/svga_shader.h
+++ b/src/gallium/drivers/svga/svgadump/svga_shader.h
@@ -98,21 +98,33 @@ struct sh_defi
 #define PS_TEXTURETYPE_CUBE  SVGA3DSAMP_CUBE
 #define PS_TEXTURETYPE_VOLUMESVGA3DSAMP_VOLUME
 
-struct ps_sampleinfo
+struct sh_sampleinfo
 {
unsigned unused:27;
unsigned texture_type:4;
unsigned is_reg:1;
 };
 
-struct vs_semantic
+struct sh_semantic
 {
-   unsigned usage:5;
-   unsigned unused1:11;
+   unsigned usage:4;
+   unsigned unused1:12;
unsigned usage_index:4;
-   unsigned unused2:12;
+   unsigned unused2:11;
+   unsigned is_reg:1;
 };
 
+#define SH_WRITEMASK_0  0x1
+#define SH_WRITEMASK_1  0x2
+#define SH_WRITEMASK_2  0x4
+#define SH_WRITEMASK_3  0x8
+#define SH_WRITEMASK_ALL0xf
+
+#define SH_DSTMOD_NONE  0x0
+#define SH_DSTMOD_SATURATE  0x1
+#define SH_DSTMOD_PARTIALPRECISION  0x2
+#define SH_DSTMOD_MSAMPCENTROID 0x4
+
 struct sh_dstreg
 {
unsigned number:11;
@@ -136,17 +148,12 @@ struct sh_dcl
 {
struct sh_op op;
union {
-  struct {
- struct ps_sampleinfo sampleinfo;
-  } ps;
-  struct {
- struct vs_semantic semantic;
-  } vs;
+  struct sh_sampleinfo sampleinfo;
+  struct sh_semantic semantic;
} u;
struct sh_dstreg reg;
 };
 
-
 struct sh_srcreg
 {
unsigned number:11;
diff --git a/src/gallium/drivers/svga/svgadump/svga_shader_dump.c 
b/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
index 70e27d8..d2bfb43 100644
--- a/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
+++ b/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
@@ -40,102 +40,139 @@
 
 struct dump_info
 {
-   SVGA3dShaderVersion version;
+   uint32 version;
boolean is_ps;
+   int indent;
 };
 
-static void dump_op( struct sh_op op, const char *mnemonic )
+#define DUMP_MAX_OP_SRC 4
+
+struct dump_op
 {
-   assert( op.predicated == 0 );
-   assert( op.is_reg == 0 );
+   struct sh_op op;
+   struct sh_dstreg dst;
+   struct sh_srcreg dstind;
+   struct sh_srcreg src[DUMP_MAX_OP_SRC];
+   struct sh_srcreg srcind[DUMP_MAX_OP_SRC];
+   struct sh_srcreg p0;
+};
 
-   if (op.coissue)
-  _debug_printf( "+" );
-   _debug_printf( "%s", mnemonic );
-   switch (op.control) {
-   case 0:
-  break;
-   case SVGA3DOPCONT_PROJECT:
-  _debug_printf( "p" );
-  break;
-   case SVGA3DOPCONT_BIAS:
-  _debug_printf( "b" );
-  break;
-   default:
-  assert( 0 );
+static void
+dump_indent(int indent)
+{
+   int i;
+
+   for (i = 0; i < indent; ++i) {
+  _debug_printf("  ");
}
 }
 
-
-static void dump_comp_op( struct sh_op op, const char *mnemonic )
+static void dump_op( struct sh_op op, const char *mnemonic )
 {
assert( op.is_reg == 0 );
 
+   if (op.predicated) {
+  _debug_printf("(p0) ");
+   }
if (op.coissue)
   _debug_printf( "+" );
_debug_printf( "%s", mnemonic );
-   switch (op.control) {
-   case SVGA3DOPCOMP_RESERVED0:
-  break;
-   case SVGA3DOPCOMP_GT:
-  _debug_printf("_gt");
-  break;
-   case SVGA3DOPCOMP_EQ:
-  _debug_printf("_eq");
-  break;
-   case SVGA3DOPCOMP_GE:
-  _debug_printf("_ge");
-  break;
-   case SVGA3DOPCOMP_LT:
-  _debug_printf("_lt");
-  break;
-   case SVGA3DOPCOMPC_NE:
-  _debug_printf("_ne");
+
+   switch (op.opcode) {
+   case SVGA3DOP_TEX:
+  switch (op.control) {
+  case 0:
+ break;
+  case 1 /* PROJECT */:
+ _debug_printf("p");
+ break;
+  case 2 /* BIAS */:
+ _debug_printf("b");
+ break;
+  default:
+ assert(0);
+  }
   break;
-   case SVGA3DOPCOMP_LE:
-  _debug_printf("_le");
+
+   case SVGA3DOP_IFC:
+   case SVGA3DOP_BREAKC:
+   case SVGA3DOP_SETP:
+  switch (op.control) {
+  case SVGA3DOPCOMP_GT:
+ _debug_printf("_gt");
+ break;
+  case SVGA3DOPCOMP_EQ:
+ _debug_printf("_eq");
+ break;
+  case SVGA3DOPCOMP_GE:
+ _debug_printf("_ge");
+ break;
+  case SVGA3DOPCOMP_LT:
+ _debug_printf("_lt");
+ break;
+  case SVGA3DOPCOMPC_NE:
+ _debug_printf("_ne");
+ break;
+  cas

Mesa (master): wgl: Fail gracefully whenever 3D could not be enabled for some reason.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: e6b66210def2c10f703c2a990b9652ea5419ebbe
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6b66210def2c10f703c2a990b9652ea5419ebbe

Author: José Fonseca 
Date:   Thu Feb 11 16:32:23 2010 +

wgl: Fail gracefully whenever 3D could not be enabled for some reason.

---

 src/gallium/state_trackers/wgl/stw_context.c   |6 ++
 src/gallium/state_trackers/wgl/stw_framebuffer.c   |   17 -
 .../state_trackers/wgl/stw_getprocaddress.c|5 +
 src/gallium/state_trackers/wgl/stw_pixelformat.c   |3 +++
 4 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_context.c 
b/src/gallium/state_trackers/wgl/stw_context.c
index 0785d2c..c2f9c75 100644
--- a/src/gallium/state_trackers/wgl/stw_context.c
+++ b/src/gallium/state_trackers/wgl/stw_context.c
@@ -75,6 +75,9 @@ DrvCopyContext(
struct stw_context *dst;
BOOL ret = FALSE;
 
+   if (!stw_dev)
+  return FALSE;
+
pipe_mutex_lock( stw_dev->ctx_mutex );

src = stw_lookup_context_locked( dhrcSource );
@@ -102,6 +105,9 @@ DrvShareLists(
struct stw_context *ctx2;
BOOL ret = FALSE;
 
+   if (!stw_dev)
+  return FALSE;
+
pipe_mutex_lock( stw_dev->ctx_mutex );

ctx1 = stw_lookup_context_locked( dhglrc1 );
diff --git a/src/gallium/state_trackers/wgl/stw_framebuffer.c 
b/src/gallium/state_trackers/wgl/stw_framebuffer.c
index 129a629..02de21c 100644
--- a/src/gallium/state_trackers/wgl/stw_framebuffer.c
+++ b/src/gallium/state_trackers/wgl/stw_framebuffer.c
@@ -179,7 +179,7 @@ stw_call_window_proc(
if(!tls_data)
   return 0;

-   if (nCode < 0)
+   if (nCode < 0 || !stw_dev)
return CallNextHookEx(tls_data->hCallWndProcHook, nCode, wParam, 
lParam);
 
if (pParams->message == WM_WINDOWPOSCHANGED) {
@@ -332,6 +332,9 @@ stw_framebuffer_cleanup( void )
struct stw_framebuffer *fb;
struct stw_framebuffer *next;
 
+   if (!stw_dev)
+  return;
+
pipe_mutex_lock( stw_dev->fb_mutex );
 
fb = stw_dev->fb_head;
@@ -387,6 +390,9 @@ stw_framebuffer_from_hdc(
 {
struct stw_framebuffer *fb;
 
+   if (!stw_dev)
+  return NULL;
+
pipe_mutex_lock( stw_dev->fb_mutex );
fb = stw_framebuffer_from_hdc_locked(hdc);
pipe_mutex_unlock( stw_dev->fb_mutex );
@@ -421,6 +427,9 @@ DrvSetPixelFormat(
uint index;
struct stw_framebuffer *fb;
 
+   if (!stw_dev)
+  return FALSE;
+
index = (uint) iPixelFormat - 1;
count = stw_pixelformat_get_extended_count();
if (index >= count)
@@ -475,6 +484,9 @@ DrvPresentBuffers(HDC hdc, PGLPRESENTBUFFERSDATA data)
struct pipe_screen *screen;
struct pipe_surface *surface;
 
+   if (!stw_dev)
+  return FALSE;
+
fb = stw_framebuffer_from_hdc( hdc );
if (fb == NULL)
   return FALSE;
@@ -576,6 +588,9 @@ DrvSwapBuffers(
struct stw_framebuffer *fb;
struct pipe_surface *surface = NULL;
 
+   if (!stw_dev)
+  return FALSE;
+
fb = stw_framebuffer_from_hdc( hdc );
if (fb == NULL)
   return FALSE;
diff --git a/src/gallium/state_trackers/wgl/stw_getprocaddress.c 
b/src/gallium/state_trackers/wgl/stw_getprocaddress.c
index 8875dc2..d43a55f 100644
--- a/src/gallium/state_trackers/wgl/stw_getprocaddress.c
+++ b/src/gallium/state_trackers/wgl/stw_getprocaddress.c
@@ -34,6 +34,8 @@
 
 #include "glapi/glapi.h"
 #include "stw_ext_gallium.h"
+#include "stw_device.h"
+#include "stw_icd.h"
 
 struct stw_extension_entry
 {
@@ -73,6 +75,9 @@ DrvGetProcAddress(
 {
const struct stw_extension_entry *entry;
 
+   if (!stw_dev)
+  return NULL;
+
if (lpszProc[0] == 'w' && lpszProc[1] == 'g' && lpszProc[2] == 'l')
   for (entry = stw_extension_entries; entry->name; entry++)
  if (strcmp( lpszProc, entry->name ) == 0)
diff --git a/src/gallium/state_trackers/wgl/stw_pixelformat.c 
b/src/gallium/state_trackers/wgl/stw_pixelformat.c
index 7d4c243..b750b03 100644
--- a/src/gallium/state_trackers/wgl/stw_pixelformat.c
+++ b/src/gallium/state_trackers/wgl/stw_pixelformat.c
@@ -302,6 +302,9 @@ DrvDescribePixelFormat(
 
(void) hdc;
 
+   if (!stw_dev)
+  return 0;
+
count = stw_pixelformat_get_extended_count();
index = (uint) iPixelFormat - 1;
 

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


Mesa (master): gdi: Never fail at DLL load time.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 8ce747defa2dafebfa99f03913342d6aca995341
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ce747defa2dafebfa99f03913342d6aca995341

Author: José Fonseca 
Date:   Thu Feb 11 16:34:43 2010 +

gdi: Never fail at DLL load time.

Windows doesn't really expect things to fail at this point -- it
will try many times until it finally gives up, worse, something bad
happens.

The WGL state tracker will gracefully decline to do work even when it
is loaded.

---

 src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c |   10 +-
 src/gallium/winsys/gdi/gdi_softpipe_winsys.c |   10 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c 
b/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
index 03dbd76..e9e5990 100644
--- a/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
+++ b/src/gallium/winsys/gdi/gdi_llvmpipe_winsys.c
@@ -251,13 +251,13 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID 
lpReserved)
 {
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
-  if (!stw_init(&stw_winsys)) {
- return FALSE;
-  }
-  return stw_init_thread();
+  stw_init(&stw_winsys);
+  stw_init_thread();
+  break;
 
case DLL_THREAD_ATTACH:
-  return stw_init_thread();
+  stw_init_thread();
+  break;
 
case DLL_THREAD_DETACH:
   stw_cleanup_thread();
diff --git a/src/gallium/winsys/gdi/gdi_softpipe_winsys.c 
b/src/gallium/winsys/gdi/gdi_softpipe_winsys.c
index 2078020..71360e5 100644
--- a/src/gallium/winsys/gdi/gdi_softpipe_winsys.c
+++ b/src/gallium/winsys/gdi/gdi_softpipe_winsys.c
@@ -297,13 +297,13 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID 
lpReserved)
 {
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
-  if (!stw_init(&stw_winsys)) {
- return FALSE;
-  }
-  return stw_init_thread();
+  stw_init(&stw_winsys);
+  stw_init_thread();
+  break;
 
case DLL_THREAD_ATTACH:
-  return stw_init_thread();
+  stw_init_thread();
+  break;
 
case DLL_THREAD_DETACH:
   stw_cleanup_thread();

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


Mesa (master): wgl: Do not reach out and destroy contexts on cleanup.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: e475ae920a4f6026b78b0bbe80c83cf4060f610e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e475ae920a4f6026b78b0bbe80c83cf4060f610e

Author: José Fonseca 
Date:   Fri Feb 12 11:00:22 2010 +

wgl: Do not reach out and destroy contexts on cleanup.

Simply skip cleanup when contexts are still active.

This addresses two issues:

- in some situations the ICD DLL may be unloaded before the DLL that is
  using GL contexts is, so we may receive GL calls after stw_cleanup.

- when aborting (exception, or control-c) the contexts may have been left
  in an inconsistent state and attempting to destroy can cause
  unpredictable results.

---

 src/gallium/state_trackers/wgl/stw_device.c |   22 --
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_device.c 
b/src/gallium/state_trackers/wgl/stw_device.c
index 7785aba..ce6fe5f 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -152,24 +152,26 @@ stw_cleanup_thread(void)
 void
 stw_cleanup(void)
 {
-   unsigned i;
+   DHGLRC dhglrc;
 
debug_printf("%s\n", __FUNCTION__);
 
if (!stw_dev)
   return;

+   /*
+* Abort cleanup if there are still active contexts. In some situations
+* this DLL may be unloaded before the DLL that is using GL contexts is.
+*/
pipe_mutex_lock( stw_dev->ctx_mutex );
-   {
-  /* Ensure all contexts are destroyed */
-  i = handle_table_get_first_handle(stw_dev->ctx_table);
-  while (i) {
- DrvDeleteContext(i);
- i = handle_table_get_next_handle(stw_dev->ctx_table, i);
-  }
-  handle_table_destroy(stw_dev->ctx_table);
-   }
+   dhglrc = handle_table_get_first_handle(stw_dev->ctx_table);
pipe_mutex_unlock( stw_dev->ctx_mutex );
+   if (dhglrc) {
+  debug_printf("%s: contexts still active -- cleanup aborted\n", 
__FUNCTION__);
+  return;
+   }
+
+   handle_table_destroy(stw_dev->ctx_table);
 
stw_framebuffer_cleanup();


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


Mesa (master): nouveau: nv30: Define number of texture samplers

2010-02-12 Thread Patrice Mandin
Module: Mesa
Branch: master
Commit: 1dd6e0b673bc0a5480a27e6f7d9b02545e65a6df
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dd6e0b673bc0a5480a27e6f7d9b02545e65a6df

Author: Patrice Mandin 
Date:   Fri Feb 12 13:23:48 2010 +0100

nouveau: nv30: Define number of texture samplers

Signed-off-by: Patrice Mandin 

---

 src/gallium/drivers/nv30/nv30_screen.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv30/nv30_screen.c 
b/src/gallium/drivers/nv30/nv30_screen.c
index 8f9b26e..1caeccc 100644
--- a/src/gallium/drivers/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nv30/nv30_screen.c
@@ -64,6 +64,8 @@ nv30_screen_get_param(struct pipe_screen *pscreen, int param)
case NOUVEAU_CAP_HW_VTXBUF:
case NOUVEAU_CAP_HW_IDXBUF:
return 1;
+   case PIPE_CAP_MAX_COMBINED_SAMPLERS:
+   return 4;
case PIPE_CAP_INDEP_BLEND_ENABLE:
return 0;
case PIPE_CAP_INDEP_BLEND_FUNC:

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


Mesa (master): util: Fix descriptors for R32_FLOAT and R32G32_FLOAT formats .

2010-02-12 Thread Michał Król
Module: Mesa
Branch: master
Commit: aa0b671422880b99dc178d43d1e4e1a3f766bf7f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa0b671422880b99dc178d43d1e4e1a3f766bf7f

Author: Michal Krol 
Date:   Fri Feb 12 13:32:35 2010 +0100

util: Fix descriptors for R32_FLOAT and R32G32_FLOAT formats.

Fill in ones for missing components.

---

 src/gallium/auxiliary/util/u_format.csv |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_format.csv 
b/src/gallium/auxiliary/util/u_format.csv
index 01f7931..3b5b280 100644
--- a/src/gallium/auxiliary/util/u_format.csv
+++ b/src/gallium/auxiliary/util/u_format.csv
@@ -25,8 +25,8 @@ PIPE_FORMAT_R64_FLOAT , array , 1, 1, f64 , , 
, , x001,
 PIPE_FORMAT_R64G64_FLOAT  , array , 1, 1, f64 , f64 , , , 
xy01, rgb
 PIPE_FORMAT_R64G64B64_FLOAT   , array , 1, 1, f64 , f64 , f64 , , 
xyz1, rgb
 PIPE_FORMAT_R64G64B64A64_FLOAT, array , 1, 1, f64 , f64 , f64 , f64 , 
xyzw, rgb
-PIPE_FORMAT_R32_FLOAT , array , 1, 1, f32 , , , , 
x001, rgb
-PIPE_FORMAT_R32G32_FLOAT  , array , 1, 1, f32 , f32 , , , 
xy01, rgb
+PIPE_FORMAT_R32_FLOAT , array , 1, 1, f32 , , , , 
x111, rgb
+PIPE_FORMAT_R32G32_FLOAT  , array , 1, 1, f32 , f32 , , , 
xy11, rgb
 PIPE_FORMAT_R32G32B32_FLOAT   , array , 1, 1, f32 , f32 , f32 , , 
xyz1, rgb
 PIPE_FORMAT_R32G32B32A32_FLOAT, array , 1, 1, f32 , f32 , f32 , f32 , 
xyzw, rgb
 PIPE_FORMAT_R32_UNORM , array , 1, 1, un32, , , , 
x001, rgb

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


Mesa (gallium-float-1111-format): gallium/docs: Resolve texture conventions for R and RG formats.

2010-02-12 Thread Michał Król
Module: Mesa
Branch: gallium-float--format
Commit: b35068e3cec6f61bddd0a8d51b834cf1394da369
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b35068e3cec6f61bddd0a8d51b834cf1394da369

Author: Michal Krol 
Date:   Fri Feb 12 15:02:32 2010 +0100

gallium/docs: Resolve texture conventions for R and RG formats.

---

 src/gallium/docs/source/tgsi.rst |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index c292cd3..1af0c16 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -1471,9 +1471,9 @@ well.
 ++--++--+
 | Texture Components | Gallium  | OpenGL | Direct3D 9   |
 ++==++==+
-| R  | XXX TBD  | (r, 0, 0, 1)   | (r, 1, 1, 1) |
+| R  | (r, 0, 0, 1)*| (r, 0, 0, 1)   | (r, 1, 1, 1) |
 ++--++--+
-| RG | XXX TBD  | (r, g, 0, 1)   | (r, g, 1, 1) |
+| RG | (r, g, 0, 1)*| (r, g, 0, 1)   | (r, g, 1, 1) |
 ++--++--+
 | RGB| (r, g, b, 1) | (r, g, b, 1)   | (r, g, b, 1) |
 ++--++--+
@@ -1494,6 +1494,8 @@ well.
 ||  | [#depth-tex-mode]_ |  |
 ++--++--+
 
+(*) R32__FLOAT and R32G32__FLOAT follow Direct3D 9 rules.
+
 .. [#envmap-bumpmap] 
http://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt
 .. [#depth-tex-mode] the default is (z, z, z, 1) but may also be (0, 0, 0, z)
or (z, z, z, z) depending on the value of GL_DEPTH_TEXTURE_MODE.

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


Mesa (master): Revert "util: Fix descriptors for R32_FLOAT and R32G32_FLOAT formats."

2010-02-12 Thread Michał Król
Module: Mesa
Branch: master
Commit: 69dd99ba863574258805b3e05787d5bdef314aa5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=69dd99ba863574258805b3e05787d5bdef314aa5

Author: Michal Krol 
Date:   Fri Feb 12 14:45:51 2010 +0100

Revert "util: Fix descriptors for R32_FLOAT and R32G32_FLOAT formats."

This reverts commit aa0b671422880b99dc178d43d1e4e1a3f766bf7f.

---

 src/gallium/auxiliary/util/u_format.csv |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_format.csv 
b/src/gallium/auxiliary/util/u_format.csv
index 3b5b280..01f7931 100644
--- a/src/gallium/auxiliary/util/u_format.csv
+++ b/src/gallium/auxiliary/util/u_format.csv
@@ -25,8 +25,8 @@ PIPE_FORMAT_R64_FLOAT , array , 1, 1, f64 , , 
, , x001,
 PIPE_FORMAT_R64G64_FLOAT  , array , 1, 1, f64 , f64 , , , 
xy01, rgb
 PIPE_FORMAT_R64G64B64_FLOAT   , array , 1, 1, f64 , f64 , f64 , , 
xyz1, rgb
 PIPE_FORMAT_R64G64B64A64_FLOAT, array , 1, 1, f64 , f64 , f64 , f64 , 
xyzw, rgb
-PIPE_FORMAT_R32_FLOAT , array , 1, 1, f32 , , , , 
x111, rgb
-PIPE_FORMAT_R32G32_FLOAT  , array , 1, 1, f32 , f32 , , , 
xy11, rgb
+PIPE_FORMAT_R32_FLOAT , array , 1, 1, f32 , , , , 
x001, rgb
+PIPE_FORMAT_R32G32_FLOAT  , array , 1, 1, f32 , f32 , , , 
xy01, rgb
 PIPE_FORMAT_R32G32B32_FLOAT   , array , 1, 1, f32 , f32 , f32 , , 
xyz1, rgb
 PIPE_FORMAT_R32G32B32A32_FLOAT, array , 1, 1, f32 , f32 , f32 , f32 , 
xyzw, rgb
 PIPE_FORMAT_R32_UNORM , array , 1, 1, un32, , , , 
x001, rgb

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


Mesa (mesa_7_7_branch): scons: Target Windows7.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: fea7a70a1a7cc7e5d2f6343451c48291a70dc94d
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fea7a70a1a7cc7e5d2f6343451c48291a70dc94d

Author: José Fonseca 
Date:   Fri Feb 12 13:22:59 2010 +

scons: Target Windows7.

---

 scons/gallium.py |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index 2d963a5..633b86b 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -255,8 +255,9 @@ def generate(env):
 '_WINDOWS',
 #'_UNICODE',
 #'UNICODE',
-('_WIN32_WINNT', '0x0501'), # minimum required OS version
-('WINVER', '0x0501'),
+# http://msdn.microsoft.com/en-us/library/aa383745.aspx
+('_WIN32_WINNT', '0x0601'),
+('WINVER', '0x0601'),
 # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx,
 'WIN32_LEAN_AND_MEAN',
 ]

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


Mesa (mesa_7_7_branch): wgl: Go into dormant state when DLL is unloaded unclealy.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: e541dceb67897dae1fed59fd6aeed4a320b1f03f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e541dceb67897dae1fed59fd6aeed4a320b1f03f

Author: José Fonseca 
Date:   Fri Feb 12 13:59:16 2010 +

wgl: Go into dormant state when DLL is unloaded unclealy.

When our DLL is unloaded, even if we leave the data structures in memory
for sake of future calls, the MS CRT will destroy the heap. Instead we
make all calls no-ops by setting stw_dev to NULL.

---

 src/gallium/state_trackers/wgl/stw_device.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_device.c 
b/src/gallium/state_trackers/wgl/stw_device.c
index ce6fe5f..e5fa6ac 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -168,6 +168,7 @@ stw_cleanup(void)
pipe_mutex_unlock( stw_dev->ctx_mutex );
if (dhglrc) {
   debug_printf("%s: contexts still active -- cleanup aborted\n", 
__FUNCTION__);
+  stw_dev = NULL;
   return;
}
 

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


Mesa (master): r600: be more exact in vb size calculation

2010-02-12 Thread Andre Maasikas
Module: Mesa
Branch: master
Commit: 08545799e37d519d70006a86d52854d294ce5a4d
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=08545799e37d519d70006a86d52854d294ce5a4d

Author: Andre Maasikas 
Date:   Fri Feb 12 16:20:50 2010 +0200

r600: be more exact in vb size calculation

to make kernel cs checker happier, last attribs don't need full stride of
space. Calculate as count-1*stride + size of attrib

---

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

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index a068cb6..a742dbc 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -200,7 +200,8 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 }
 else
 {
-nVBsize = paos->count * pStreamDesc->stride;
+nVBsize = (paos->count - 1) * pStreamDesc->stride
+  + pStreamDesc->size * getTypeSize(pStreamDesc->type);
 }
 
 uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;

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


Mesa (master): r600: support GL_SHORT attributes

2010-02-12 Thread Andre Maasikas
Module: Mesa
Branch: master
Commit: eeb49d3ad82861272e8987515df3cc5da4ed2d09
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeb49d3ad82861272e8987515df3cc5da4ed2d09

Author: Andre Maasikas 
Date:   Fri Feb 12 16:16:56 2010 +0200

r600: support GL_SHORT attributes

normalized seems to work with this setting.

---

 src/mesa/drivers/dri/r600/r700_chip.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index e0be749..a068cb6 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -218,11 +218,11 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_NORM,
 SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
 }
-//else
-//{
-//SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_INT,
-   // SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
-//}
+else
+{
+SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_SCALED,
+SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
+}
 
 if(1 == pStreamDesc->_signed)
 {

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


Mesa (mesa_7_7_branch): r600: be more exact in vb size calculation

2010-02-12 Thread Alex Deucher
Module: Mesa
Branch: mesa_7_7_branch
Commit: 0426bccaddf973f2a0b9c9bb8bac7dd07ce18e0a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0426bccaddf973f2a0b9c9bb8bac7dd07ce18e0a

Author: Andre Maasikas 
Date:   Fri Feb 12 16:20:50 2010 +0200

r600: be more exact in vb size calculation

to make kernel cs checker happier, last attribs don't need full stride of
space. Calculate as count-1*stride + size of attrib

---

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

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index 60229f4..817e434 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -176,7 +176,8 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 }
 else
 {
-nVBsize = paos->count * pStreamDesc->stride;
+nVBsize = (paos->count - 1) * pStreamDesc->stride
+  + pStreamDesc->size * getTypeSize(pStreamDesc->type);
 }
 
 uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;

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


Mesa (mesa_7_7_branch): r600: support GL_SHORT attributes

2010-02-12 Thread Alex Deucher
Module: Mesa
Branch: mesa_7_7_branch
Commit: 841333cd21864369317cf16698cd0a61772ff875
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=841333cd21864369317cf16698cd0a61772ff875

Author: Andre Maasikas 
Date:   Fri Feb 12 16:16:56 2010 +0200

r600: support GL_SHORT attributes

normalized seems to work with this setting.

---

 src/mesa/drivers/dri/r600/r700_chip.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index 7f1894d..60229f4 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -194,11 +194,11 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_NORM,
 SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
 }
-//else
-//{
-//SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_INT,
-   // SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
-//}
+else
+{
+SETfield(uSQ_VTX_CONSTANT_WORD2_0, SQ_NUM_FORMAT_SCALED,
+SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_shift, 
SQ_VTX_CONSTANT_WORD2_0__NUM_FORMAT_ALL_mask);
+}
 
 if(1 == pStreamDesc->_signed)
 {

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


Mesa (master): r600c: substract vbo offset to vbo size

2010-02-12 Thread Jerome Glisse
Module: Mesa
Branch: master
Commit: 325614a882f5371da512536e07c443a172ffb87c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=325614a882f5371da512536e07c443a172ffb87c

Author: Jerome Glisse 
Date:   Fri Feb 12 17:06:19 2010 +0100

r600c: substract vbo offset to vbo size

To avoid kernel complaining and to set proper boundary on
vbo, substract the vbo offset to the vbo size.

---

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

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index a742dbc..1aa351e 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -205,7 +205,7 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 }
 
 uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;
-uSQ_VTX_CONSTANT_WORD1_0 = nVBsize - 1;
+uSQ_VTX_CONSTANT_WORD1_0 = nVBsize - paos->offset - 1;
 
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, 0, BASE_ADDRESS_HI_shift, 
BASE_ADDRESS_HI_mask); /* TODO */
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, pStreamDesc->stride, 
SQ_VTX_CONSTANT_WORD2_0__STRIDE_shift,

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


Mesa (gallium-dynamicstencilref): cell: declare stencil_value variable

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: gallium-dynamicstencilref
Commit: 8a92c2b23c7b6fbd869119e33f4ed7ce3ac0faf5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a92c2b23c7b6fbd869119e33f4ed7ce3ac0faf5

Author: Brian Paul 
Date:   Fri Feb 12 09:43:18 2010 -0700

cell: declare stencil_value variable

---

 src/gallium/drivers/cell/ppu/cell_gen_fragment.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c 
b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
index b58fe37..8915dd1 100644
--- a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
+++ b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
@@ -1555,6 +1555,7 @@ gen_stencil_depth_test(struct spe_function *f,
int stencil_writemask_reg;
int zmask_reg;
int newS_reg;
+   unsigned stencil_value;
 
/* Stenciling is quite complex: up to six different configurable stencil 
 * operations/calculations can be required (three each for front-facing

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


Mesa (gallium-dynamicstencilref): cell: re-fix undeclared var

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: gallium-dynamicstencilref
Commit: 0ad0d8125a1882701dac416d1889e7721a58ee8a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ad0d8125a1882701dac416d1889e7721a58ee8a

Author: Brian Paul 
Date:   Fri Feb 12 09:47:34 2010 -0700

cell: re-fix undeclared var

---

 src/gallium/drivers/cell/ppu/cell_gen_fragment.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c 
b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
index 8915dd1..0282aa4 100644
--- a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
+++ b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
@@ -1555,7 +1555,7 @@ gen_stencil_depth_test(struct spe_function *f,
int stencil_writemask_reg;
int zmask_reg;
int newS_reg;
-   unsigned stencil_value;
+   unsigned ref_value;
 
/* Stenciling is quite complex: up to six different configurable stencil 
 * operations/calculations can be required (three each for front-facing

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


Mesa (gallium-dynamicstencilref): cell: include cell_context.h

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: gallium-dynamicstencilref
Commit: 6c35e178d352a8b00eda9bf1c5c45c975852226f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c35e178d352a8b00eda9bf1c5c45c975852226f

Author: Brian Paul 
Date:   Fri Feb 12 11:06:04 2010 -0700

cell: include cell_context.h

---

 src/gallium/drivers/cell/ppu/cell_screen.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c 
b/src/gallium/drivers/cell/ppu/cell_screen.c
index 7681e34..9214ac1 100644
--- a/src/gallium/drivers/cell/ppu/cell_screen.c
+++ b/src/gallium/drivers/cell/ppu/cell_screen.c
@@ -33,6 +33,7 @@
 #include "pipe/p_screen.h"
 
 #include "cell/common.h"
+#include "cell_context.h"
 #include "cell_screen.h"
 #include "cell_texture.h"
 #include "cell_winsys.h"

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


Mesa (gallium-dynamicstencilref): cell: remove unused var

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: gallium-dynamicstencilref
Commit: e4afe725ee280396c65e541a96467072f5293e77
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4afe725ee280396c65e541a96467072f5293e77

Author: Brian Paul 
Date:   Fri Feb 12 11:06:19 2010 -0700

cell: remove unused var

---

 src/gallium/drivers/cell/ppu/cell_gen_fragment.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c 
b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
index 0282aa4..70683bb 100644
--- a/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
+++ b/src/gallium/drivers/cell/ppu/cell_gen_fragment.c
@@ -1545,7 +1545,6 @@ gen_stencil_depth_test(struct spe_function *f,
boolean need_to_writemask_stencil_values;
 
struct pipe_stencil_state *stencil;
-   unsigned stencil_ref_value;
 
/* Registers.  We may or may not actually allocate these, depending
 * on whether the state values indicate that we need them.

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


Mesa (gallium-dynamicstencilref): cell: adjust structure padding

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: gallium-dynamicstencilref
Commit: 0087f9dc0690e5de139f89ea4577b1824b918757
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0087f9dc0690e5de139f89ea4577b1824b918757

Author: Brian Paul 
Date:   Fri Feb 12 11:07:01 2010 -0700

cell: adjust structure padding

The size of some core Gallium state structures has changed so the
padding on some cell structs needed to be adjusted to keep them
a multiple of 16 bytes.

---

 src/gallium/drivers/cell/common.h |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/cell/common.h 
b/src/gallium/drivers/cell/common.h
index 7f2b33c..bbb112f 100644
--- a/src/gallium/drivers/cell/common.h
+++ b/src/gallium/drivers/cell/common.h
@@ -230,6 +230,7 @@ struct cell_command_rasterizer
 {
opcode_t opcode;/**< CELL_CMD_STATE_RASTERIZER */
struct pipe_rasterizer_state rasterizer;
+   uint32_t pad[1];
 };
 
 
@@ -326,7 +327,7 @@ struct cell_command_sampler
opcode_t opcode; /**< CELL_CMD_STATE_SAMPLER */
uint unit;
struct pipe_sampler_state state;
-   uint32_t pad_[2];
+   uint32_t pad_[3];
 };
 
 

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


Mesa (master): nouveau: nv30: it may have 8 texture samplers (not 4), but shader engine has 16 texture units

2010-02-12 Thread Patrice Mandin
Module: Mesa
Branch: master
Commit: 536ae20f80e430a2765e19649eec5bdc9cdc4854
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=536ae20f80e430a2765e19649eec5bdc9cdc4854

Author: Patrice Mandin 
Date:   Fri Feb 12 19:22:41 2010 +0100

nouveau: nv30: it may have 8 texture samplers (not 4), but shader engine has 16 
texture units

Signed-off-by: Patrice Mandin 

---

 src/gallium/drivers/nv30/nv30_screen.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nv30/nv30_screen.c 
b/src/gallium/drivers/nv30/nv30_screen.c
index 1caeccc..aef37d3 100644
--- a/src/gallium/drivers/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nv30/nv30_screen.c
@@ -28,7 +28,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, int param)
 {
switch (param) {
case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS:
-   return 16;
+   return 8;
case PIPE_CAP_NPOT_TEXTURES:
return 0;
case PIPE_CAP_TWO_SIDED_STENCIL:
@@ -65,7 +65,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, int param)
case NOUVEAU_CAP_HW_IDXBUF:
return 1;
case PIPE_CAP_MAX_COMBINED_SAMPLERS:
-   return 4;
+   return 16;
case PIPE_CAP_INDEP_BLEND_ENABLE:
return 0;
case PIPE_CAP_INDEP_BLEND_FUNC:

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


Mesa (master): Revert "r600c: substract vbo offset to vbo size"

2010-02-12 Thread Jerome Glisse
Module: Mesa
Branch: master
Commit: 3a916b0e81cdbc695d0af317f7d5d8515af13c02
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a916b0e81cdbc695d0af317f7d5d8515af13c02

Author: Jerome Glisse 
Date:   Fri Feb 12 19:25:16 2010 +0100

Revert "r600c: substract vbo offset to vbo size"

This reverts commit 325614a882f5371da512536e07c443a172ffb87c.
Ok this was already fixed this commit actualy broke things

---

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

diff --git a/src/mesa/drivers/dri/r600/r700_chip.c 
b/src/mesa/drivers/dri/r600/r700_chip.c
index 1aa351e..a742dbc 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -205,7 +205,7 @@ static void r700SetupVTXConstants(GLcontext  * ctx,
 }
 
 uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;
-uSQ_VTX_CONSTANT_WORD1_0 = nVBsize - paos->offset - 1;
+uSQ_VTX_CONSTANT_WORD1_0 = nVBsize - 1;
 
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, 0, BASE_ADDRESS_HI_shift, 
BASE_ADDRESS_HI_mask); /* TODO */
 SETfield(uSQ_VTX_CONSTANT_WORD2_0, pStreamDesc->stride, 
SQ_VTX_CONSTANT_WORD2_0__STRIDE_shift,

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


Mesa (master): progs/tests: Add checks for GL_NV_vertex_program.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: af1052e2804ee5fbcde3c8f8618feeb2c17b51fd
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=af1052e2804ee5fbcde3c8f8618feeb2c17b51fd

Author: Vinson Lee 
Date:   Fri Feb 12 11:59:37 2010 -0800

progs/tests: Add checks for GL_NV_vertex_program.

---

 progs/tests/vpeval.c  |5 +
 progs/tests/vptest1.c |5 +
 progs/tests/vptest2.c |6 ++
 progs/tests/vptest3.c |5 +
 4 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/progs/tests/vpeval.c b/progs/tests/vpeval.c
index 3e8a732..a4024b5 100644
--- a/progs/tests/vpeval.c
+++ b/progs/tests/vpeval.c
@@ -145,6 +145,11 @@ myinit(int argc, char *argv[])
 
 printf("Using vertex program attribs? %s\n", program ? "yes" : "no");
 
+if (program && !glutExtensionSupported("GL_NV_vertex_program")) {
+   printf("Sorry, this requires GL_NV_vertex_program\n");
+   exit(1);
+}
+
 if (!program) {
 glMap2f(GL_MAP2_VERTEX_4,
 0.0, 1.0, 4, 4,
diff --git a/progs/tests/vptest1.c b/progs/tests/vptest1.c
index 6e32b03..d83f9ca 100644
--- a/progs/tests/vptest1.c
+++ b/progs/tests/vptest1.c
@@ -113,6 +113,11 @@ static void Init( void )
 
GLuint progs[5];
 
+   if (!glutExtensionSupported("GL_NV_vertex_program")) {
+  printf("Sorry, this program requires GL_NV_vertex_program\n");
+  exit(1);
+   }
+
glGenProgramsNV(2, progs);
assert(progs[0]);
assert(progs[1]);
diff --git a/progs/tests/vptest2.c b/progs/tests/vptest2.c
index 4161b03..89cd6b1 100644
--- a/progs/tests/vptest2.c
+++ b/progs/tests/vptest2.c
@@ -144,6 +144,12 @@ int main( int argc, char *argv[] )
glutReshapeFunc( Reshape );
glutKeyboardFunc( Key );
glutDisplayFunc( Display );
+
+   if (!glutExtensionSupported("GL_NV_vertex_program")) {
+  printf("Sorry, this program requires GL_NV_vertex_program\n");
+  exit(1);
+   }
+
Test1();
Test2();
Test3();
diff --git a/progs/tests/vptest3.c b/progs/tests/vptest3.c
index 4e4bfee..58ce227 100644
--- a/progs/tests/vptest3.c
+++ b/progs/tests/vptest3.c
@@ -93,6 +93,11 @@ static void Init( void )
 #endif
   "END\n";
 
+   if (!glutExtensionSupported("GL_NV_vertex_program")) {
+  printf("Sorry, this program requires GL_NV_vertex_program\n");
+  exit(1);
+   }
+
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1,
strlen(prog1),
(const GLubyte *) prog1);

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


Mesa (master): 29 new commits

2010-02-12 Thread Roland Scheidegger
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6602889d82d1402338f5d23e37a9f46db99e86c6
Merge: af1052e2804ee5fbcde3c8f8618feeb2c17b51fd 
0087f9dc0690e5de139f89ea4577b1824b918757
Author: Roland Scheidegger 
Date:   Fri Feb 12 21:39:29 2010 +0100

Merge branch 'gallium-dynamicstencilref'

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0087f9dc0690e5de139f89ea4577b1824b918757
Author: Brian Paul 
Date:   Fri Feb 12 11:07:01 2010 -0700

cell: adjust structure padding

The size of some core Gallium state structures has changed so the
padding on some cell structs needed to be adjusted to keep them
a multiple of 16 bytes.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4afe725ee280396c65e541a96467072f5293e77
Author: Brian Paul 
Date:   Fri Feb 12 11:06:19 2010 -0700

cell: remove unused var

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c35e178d352a8b00eda9bf1c5c45c975852226f
Author: Brian Paul 
Date:   Fri Feb 12 11:06:04 2010 -0700

cell: include cell_context.h

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ad0d8125a1882701dac416d1889e7721a58ee8a
Author: Brian Paul 
Date:   Fri Feb 12 09:47:34 2010 -0700

cell: re-fix undeclared var

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a92c2b23c7b6fbd869119e33f4ed7ce3ac0faf5
Author: Brian Paul 
Date:   Fri Feb 12 09:43:18 2010 -0700

cell: declare stencil_value variable

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebe12d50064370e4ddec21a1e087b24295940319
Author: Roland Scheidegger 
Date:   Fri Feb 12 00:43:38 2010 +0100

gallium: make max_anisotropy a unsigned bitfield member

saves us a dword in sampler state, hw can't do non-integer aniso degree 
anyway.
To allow aniso 1x (which seems of dubious value but some hardware (radeons)
have such a mode, and even d3d allows specifiying it) redefine anisotropic
filtering as disabled only if max_anistropy is 0.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=16d520f6d69edb112887d8db1e014a521a34f532
Author: Roland Scheidegger 
Date:   Thu Feb 11 23:11:03 2010 +0100

nouveau: fix compile errors...

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=67479eea365954396679714901c11175253bb13b
Author: Roland Scheidegger 
Date:   Thu Feb 11 22:48:39 2010 +0100

nv50: adapt to stencil ref changes

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc8c0959bd2b0fb9927f365d3e75e6a9e3c9cf14
Author: Roland Scheidegger 
Date:   Thu Feb 11 22:48:31 2010 +0100

nv40: adapt to stencil ref changes

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bedb6faec0882cf01ae8773f2ea685135471a87b
Author: Roland Scheidegger 
Date:   Thu Feb 11 20:55:33 2010 +0100

nv30: adapt to stencil ref changes

not sure if this has any hope of working

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed0f3b08b65679452132a9caeef1509a8dac23b9
Author: Roland Scheidegger 
Date:   Thu Feb 11 19:01:10 2010 +0100

gallium: make u_blitter code save/restore stencil ref values

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf4b0773c570017c1c3ec80da769bf5c39a685b2
Author: Roland Scheidegger 
Date:   Thu Feb 11 18:48:57 2010 +0100

r300g: adapt to stencil ref changes

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=94c035f61d38e198382c90b1a113817dc018ea36
Author: Roland Scheidegger 
Date:   Thu Feb 11 18:18:11 2010 +0100

cell: adapt to stencil ref changes

not betting this compiles, some of the code handling stencil test seems
incomplete and/or never called?

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b659dee69f82905677eadc3be5eb728a774ce9b
Author: Roland Scheidegger 
Date:   Thu Feb 11 18:16:52 2010 +0100

i965g: adapt to stencil ref changes

while there also potentially fix logic ops (were never enabled before)

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=388109c04dc92ed81d1dbe6209120c95bdbc83cd
Author: Roland Scheidegger 
Date:   Thu Feb 11 18:16:09 2010 +0100

i915g: adapt to stencil ref changes

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=263406addb90ca7599ddfb210944ab0dd63b973c
Author: Roland Scheidegger 
Date:   Thu Feb 11 18:15:10 2010 +0100

gallium: give pipe_stencil_ref its own cso_save/restore functions

seems cleaner, and other dynamic state like viewport is handled that way too

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b75adabc89e34083ac302ac9bafc8d80b62ac14c
Author: Roland Scheidegger 
Date:   Thu Feb 11 04:06:01 2010 +0100

gallium: also save/restore stencil_ref in 
cso_save/restore_depth_stencil_alpha

makes life of state trackers easier

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9381a2777c1a36c1b88de9edf04141c485569259
Author: Roland Scheidegger 
Date:   Wed Feb 10 21:21:30 2010 +0100

svga: adapt to stencil ref changes

also add some disabled code to handle blendcolor?

URL

Mesa (master): svga: enable code to emit blend color

2010-02-12 Thread Roland Scheidegger
Module: Mesa
Branch: master
Commit: 7082c47d1499bdc9348cf7a80ff3749d299898fa
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7082c47d1499bdc9348cf7a80ff3749d299898fa

Author: Roland Scheidegger 
Date:   Fri Feb 12 21:43:45 2010 +0100

svga: enable code to emit blend color

---

 src/gallium/drivers/svga/svga_state_rss.c |   14 +-
 1 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_rss.c 
b/src/gallium/drivers/svga/svga_state_rss.c
index 68828c2..15ead98 100644
--- a/src/gallium/drivers/svga/svga_state_rss.c
+++ b/src/gallium/drivers/svga/svga_state_rss.c
@@ -26,9 +26,7 @@
 #include "util/u_inlines.h"
 #include "pipe/p_defines.h"
 #include "util/u_math.h"
-#if 0
 #include "util/u_pack_color.h"
-#endif
 
 #include "svga_context.h"
 #include "svga_state.h"
@@ -103,8 +101,6 @@ static int emit_rss( struct svga_context *svga,
   }
}
 
-#if 0
-   /* FIXME: shouldn't we emit blend color here */
if (dirty & SVGA_NEW_BLEND_COLOR) {
   union util_color uc;
   ubyte r = float_to_ubyte(svga->curr.blend_color.color[0]);
@@ -117,9 +113,6 @@ static int emit_rss( struct svga_context *svga,
 
   EMIT_RS( svga, uc.ui, BLENDCOLOR, fail );
}
-#endif
-
-
 
if (dirty & (SVGA_NEW_DEPTH_STENCIL | SVGA_NEW_RAST)) {
   const struct svga_depth_stencil_state *curr = svga->curr.depth; 
@@ -252,13 +245,10 @@ static int emit_rss( struct svga_context *svga,
   memcpy( rs,
   queue.rs,
   queue.rs_count * sizeof queue.rs[0]);
-  
+
   SVGA_FIFOCommitAll( svga->swc );
}
 
-   /* Also blend color:
-*/
-
return 0;
 
 fail:
@@ -278,9 +268,7 @@ struct svga_tracked_state svga_hw_rss =
"hw rss state",
 
(SVGA_NEW_BLEND |
-#if 0
 SVGA_NEW_BLEND_COLOR |
-#endif
 SVGA_NEW_DEPTH_STENCIL |
 SVGA_NEW_STENCIL_REF |
 SVGA_NEW_RAST |

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


Mesa (mesa_7_7_branch): st/dri: don't expose visuals we' ll have trouble supporting

2010-02-12 Thread Zack Rusin
Module: Mesa
Branch: mesa_7_7_branch
Commit: df0c8d029d4285ca6edacf6712dcf3a672455254
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df0c8d029d4285ca6edacf6712dcf3a672455254

Author: Zack Rusin 
Date:   Wed Feb 10 22:15:24 2010 -0500

st/dri: don't expose visuals we'll have trouble supporting

without getBuffersWithFormat some visuals will just cause headaches (crashes),
so if we're running on an older system simply don't advertise them.

---

 src/gallium/state_trackers/dri/dri_screen.c |   29 ++
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri_screen.c 
b/src/gallium/state_trackers/dri/dri_screen.c
index 25c392e..c55daf9 100644
--- a/src/gallium/state_trackers/dri/dri_screen.c
+++ b/src/gallium/state_trackers/dri/dri_screen.c
@@ -99,12 +99,6 @@ dri_fill_in_modes(struct dri_screen *screen,
stencil_bits_array[0] = 0;
depth_buffer_factor = 1;
 
-   pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM,
- PIPE_TEXTURE_2D,
- PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
-   pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,
- PIPE_TEXTURE_2D,
- PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
pf_x8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8Z24_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
@@ -117,9 +111,6 @@ dri_fill_in_modes(struct dri_screen *screen,
pf_z24s8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24S8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
-   pf_r5g6b5 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_R5G6B5_UNORM,
-PIPE_TEXTURE_2D,
-PIPE_TEXTURE_USAGE_RENDER_TARGET, 
0);
pf_a8r8g8b8 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_A8R8G8B8_UNORM,
   PIPE_TEXTURE_2D,
   
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
@@ -127,6 +118,26 @@ dri_fill_in_modes(struct dri_screen *screen,
   PIPE_TEXTURE_2D,
   
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
 
+   /* we support buffers with different depths only if we can tell the driver
+* the actual depth of each of them. */
+   if (screen->sPriv->dri2.loader
+   && (screen->sPriv->dri2.loader->base.version > 2)
+   && (screen->sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
+  pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM,
+ PIPE_TEXTURE_2D,
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
+  pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,
+ PIPE_TEXTURE_2D,
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
+  pf_r5g6b5 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_R5G6B5_UNORM,
+PIPE_TEXTURE_2D,
+
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
+   } else {
+  pf_z16 = FALSE;
+  pf_z32 = FALSE;
+  pf_r5g6b5 = FALSE;
+   }
+
if (pf_z16) {
   depth_bits_array[depth_buffer_factor] = 16;
   stencil_bits_array[depth_buffer_factor++] = 0;

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


Mesa (mesa_7_7_branch): st/dri, st/xorg: fix buffers that have attachements of different depth

2010-02-12 Thread Zack Rusin
Module: Mesa
Branch: mesa_7_7_branch
Commit: 3477dc4c48fe7b82ba4a8464233c2733f400c4e1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3477dc4c48fe7b82ba4a8464233c2733f400c4e1

Author: Zack Rusin 
Date:   Wed Feb 10 19:00:35 2010 -0500

st/dri, st/xorg: fix buffers that have attachements of different depth

we actually need to specify the formats for different attachements, otherwise
if the color buffer is 24bpp and the app asks for 16bpp depth buffer than
we end up fetching the depth from the drawable which is 24bpp and end up
creating the wrong depth buffer. use the new getBuffersWithFormat extension
to pass the depth correctly.

---

 src/gallium/state_trackers/dri/dri_drawable.c |   84 +---
 src/gallium/state_trackers/xorg/xorg_dri2.c   |   24 +--
 2 files changed, 77 insertions(+), 31 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri_drawable.c 
b/src/gallium/state_trackers/dri/dri_drawable.c
index c20b71e..f3621c1 100644
--- a/src/gallium/state_trackers/dri/dri_drawable.c
+++ b/src/gallium/state_trackers/dri/dri_drawable.c
@@ -132,14 +132,22 @@ dri_get_buffers(__DRIdrawablePrivate * dPriv)
boolean have_depth = FALSE;
int i, count;
 
-   buffers = (*dri_screen->dri2.loader->getBuffers) (dri_drawable,
-&dri_drawable->w,
-&dri_drawable->h,
-drawable->attachments,
-drawable->
-num_attachments, &count,
-dri_drawable->
-loaderPrivate);
+   if ((dri_screen->dri2.loader
+&& (dri_screen->dri2.loader->base.version > 2)
+&& (dri_screen->dri2.loader->getBuffersWithFormat != NULL)))
+  buffers = (*dri_screen->dri2.loader->getBuffersWithFormat)
+(dri_drawable, &dri_drawable->w, &dri_drawable->h,
+ drawable->attachments, drawable->num_attachments,
+ &count, dri_drawable->loaderPrivate);
+   else
+  buffers = (*dri_screen->dri2.loader->getBuffers) (dri_drawable,
+&dri_drawable->w,
+&dri_drawable->h,
+drawable->attachments,
+drawable->
+num_attachments, 
&count,
+dri_drawable->
+loaderPrivate);
 
if (buffers == NULL) {
   return;
@@ -346,12 +354,12 @@ dri_create_buffer(__DRIscreenPrivate * sPriv,
case 24:
   if (visual->stencilBits == 0) {
 drawable->depth_stencil_format = (screen->d_depth_bits_last) ?
-   PIPE_FORMAT_X8Z24_UNORM:
-   PIPE_FORMAT_Z24X8_UNORM;
+  PIPE_FORMAT_X8Z24_UNORM:
+  PIPE_FORMAT_Z24X8_UNORM;
   } else {
 drawable->depth_stencil_format = (screen->sd_depth_bits_last) ?
-   PIPE_FORMAT_S8Z24_UNORM:
-   PIPE_FORMAT_Z24S8_UNORM;
+  PIPE_FORMAT_S8Z24_UNORM:
+  PIPE_FORMAT_Z24S8_UNORM;
   }
   break;
case 32:
@@ -375,23 +383,49 @@ dri_create_buffer(__DRIscreenPrivate * sPriv,
/* setup dri2 buffers information */
/* TODO incase of double buffer visual, delay fake creation */
i = 0;
-   drawable->attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
-   if (!screen->auto_fake_front)
-  drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
-   if (visual->doubleBufferMode)
-  drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
-   if (visual->depthBits && visual->stencilBits)
-  drawable->attachments[i++] = __DRI_BUFFER_DEPTH_STENCIL;
-   else if (visual->depthBits)
-  drawable->attachments[i++] = __DRI_BUFFER_DEPTH;
-   else if (visual->stencilBits)
-  drawable->attachments[i++] = __DRI_BUFFER_STENCIL;
-   drawable->num_attachments = i;
+   if (sPriv->dri2.loader
+   && (sPriv->dri2.loader->base.version > 2)
+   && (sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
+  drawable->attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
+  drawable->attachments[i++] = visual->rgbBits;
+  if (!screen->auto_fake_front)  {
+ drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
+ drawable->attachments[i++] = visual->rgbBits;
+  }
+  if (visual->doubleBufferMode) {
+ drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
+ drawable->attachments[i++] = visual->rgbBits;
+  }
+  if (visual->depthBits && visual->stencilBits) {

Mesa (master): st/dri, st/xorg: fix buffers that have attachements of different depth

2010-02-12 Thread Zack Rusin
Module: Mesa
Branch: master
Commit: 59b4146a5dbeb108b53fc9c4132095e264ba04be
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=59b4146a5dbeb108b53fc9c4132095e264ba04be

Author: Zack Rusin 
Date:   Wed Feb 10 19:00:35 2010 -0500

st/dri, st/xorg: fix buffers that have attachements of different depth

we actually need to specify the formats for different attachements, otherwise
if the color buffer is 24bpp and the app asks for 16bpp depth buffer than
we end up fetching the depth from the drawable which is 24bpp and end up
creating the wrong depth buffer. use the new getBuffersWithFormat extension
to pass the depth correctly.

---

 src/gallium/state_trackers/dri/dri_drawable.c |   84 +---
 src/gallium/state_trackers/xorg/xorg_dri2.c   |   24 +--
 2 files changed, 77 insertions(+), 31 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri_drawable.c 
b/src/gallium/state_trackers/dri/dri_drawable.c
index ff21f2f..97277c0 100644
--- a/src/gallium/state_trackers/dri/dri_drawable.c
+++ b/src/gallium/state_trackers/dri/dri_drawable.c
@@ -132,14 +132,22 @@ dri_get_buffers(__DRIdrawable * dPriv)
boolean have_depth = FALSE;
int i, count;
 
-   buffers = (*dri_screen->dri2.loader->getBuffers) (dri_drawable,
-&dri_drawable->w,
-&dri_drawable->h,
-drawable->attachments,
-drawable->
-num_attachments, &count,
-dri_drawable->
-loaderPrivate);
+   if ((dri_screen->dri2.loader
+&& (dri_screen->dri2.loader->base.version > 2)
+&& (dri_screen->dri2.loader->getBuffersWithFormat != NULL)))
+  buffers = (*dri_screen->dri2.loader->getBuffersWithFormat)
+(dri_drawable, &dri_drawable->w, &dri_drawable->h,
+ drawable->attachments, drawable->num_attachments,
+ &count, dri_drawable->loaderPrivate);
+   else
+  buffers = (*dri_screen->dri2.loader->getBuffers) (dri_drawable,
+&dri_drawable->w,
+&dri_drawable->h,
+drawable->attachments,
+drawable->
+num_attachments, 
&count,
+dri_drawable->
+loaderPrivate);
 
if (buffers == NULL) {
   return;
@@ -346,12 +354,12 @@ dri_create_buffer(__DRIscreen * sPriv,
case 24:
   if (visual->stencilBits == 0) {
 drawable->depth_stencil_format = (screen->d_depth_bits_last) ?
-   PIPE_FORMAT_X8Z24_UNORM:
-   PIPE_FORMAT_Z24X8_UNORM;
+  PIPE_FORMAT_X8Z24_UNORM:
+  PIPE_FORMAT_Z24X8_UNORM;
   } else {
 drawable->depth_stencil_format = (screen->sd_depth_bits_last) ?
-   PIPE_FORMAT_S8Z24_UNORM:
-   PIPE_FORMAT_Z24S8_UNORM;
+  PIPE_FORMAT_S8Z24_UNORM:
+  PIPE_FORMAT_Z24S8_UNORM;
   }
   break;
case 32:
@@ -375,23 +383,49 @@ dri_create_buffer(__DRIscreen * sPriv,
/* setup dri2 buffers information */
/* TODO incase of double buffer visual, delay fake creation */
i = 0;
-   drawable->attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
-   if (!screen->auto_fake_front)
-  drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
-   if (visual->doubleBufferMode)
-  drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
-   if (visual->depthBits && visual->stencilBits)
-  drawable->attachments[i++] = __DRI_BUFFER_DEPTH_STENCIL;
-   else if (visual->depthBits)
-  drawable->attachments[i++] = __DRI_BUFFER_DEPTH;
-   else if (visual->stencilBits)
-  drawable->attachments[i++] = __DRI_BUFFER_STENCIL;
-   drawable->num_attachments = i;
+   if (sPriv->dri2.loader
+   && (sPriv->dri2.loader->base.version > 2)
+   && (sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
+  drawable->attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
+  drawable->attachments[i++] = visual->rgbBits;
+  if (!screen->auto_fake_front)  {
+ drawable->attachments[i++] = __DRI_BUFFER_FAKE_FRONT_LEFT;
+ drawable->attachments[i++] = visual->rgbBits;
+  }
+  if (visual->doubleBufferMode) {
+ drawable->attachments[i++] = __DRI_BUFFER_BACK_LEFT;
+ drawable->attachments[i++] = visual->rgbBits;
+  }
+  if (visual->depthBits && visual->stencilBits) {
+ drawable->attachment

Mesa (master): st/dri: don't expose visuals we'll have trouble supporting

2010-02-12 Thread Zack Rusin
Module: Mesa
Branch: master
Commit: fd40b9ff32ac0ed02928a2b5516c8d678431806f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd40b9ff32ac0ed02928a2b5516c8d678431806f

Author: Zack Rusin 
Date:   Wed Feb 10 22:15:24 2010 -0500

st/dri: don't expose visuals we'll have trouble supporting

without getBuffersWithFormat some visuals will just cause headaches (crashes),
so if we're running on an older system simply don't advertise them.

---

 src/gallium/state_trackers/dri/dri_screen.c |   29 ++
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/gallium/state_trackers/dri/dri_screen.c 
b/src/gallium/state_trackers/dri/dri_screen.c
index 4064976..b36ea43 100644
--- a/src/gallium/state_trackers/dri/dri_screen.c
+++ b/src/gallium/state_trackers/dri/dri_screen.c
@@ -97,12 +97,6 @@ dri_fill_in_modes(struct dri_screen *screen,
stencil_bits_array[0] = 0;
depth_buffer_factor = 1;
 
-   pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM,
- PIPE_TEXTURE_2D,
- PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
-   pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,
- PIPE_TEXTURE_2D,
- PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0);
pf_x8z24 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_X8Z24_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
@@ -115,9 +109,6 @@ dri_fill_in_modes(struct dri_screen *screen,
pf_z24s8 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z24S8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
-   pf_r5g6b5 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_R5G6B5_UNORM,
-PIPE_TEXTURE_2D,
-PIPE_TEXTURE_USAGE_RENDER_TARGET, 
0);
pf_a8r8g8b8 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_A8R8G8B8_UNORM,
   PIPE_TEXTURE_2D,
   
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
@@ -125,6 +116,26 @@ dri_fill_in_modes(struct dri_screen *screen,
   PIPE_TEXTURE_2D,
   
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
 
+   /* we support buffers with different depths only if we can tell the driver
+* the actual depth of each of them. */
+   if (screen->sPriv->dri2.loader
+   && (screen->sPriv->dri2.loader->base.version > 2)
+   && (screen->sPriv->dri2.loader->getBuffersWithFormat != NULL)) {
+  pf_z16 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z16_UNORM,
+ PIPE_TEXTURE_2D,
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
+  pf_z32 = p_screen->is_format_supported(p_screen, PIPE_FORMAT_Z32_UNORM,
+ PIPE_TEXTURE_2D,
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 
0);
+  pf_r5g6b5 = p_screen->is_format_supported(p_screen, 
PIPE_FORMAT_R5G6B5_UNORM,
+PIPE_TEXTURE_2D,
+
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0);
+   } else {
+  pf_z16 = FALSE;
+  pf_z32 = FALSE;
+  pf_r5g6b5 = FALSE;
+   }
+
if (pf_z16) {
   depth_bits_array[depth_buffer_factor] = 16;
   stencil_bits_array[depth_buffer_factor++] = 0;

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


Mesa (mesa_7_7_branch): svga: emit blend color

2010-02-12 Thread Roland Scheidegger
Module: Mesa
Branch: mesa_7_7_branch
Commit: b685927156cdaec73fbd3639d710f095a05fbca3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b685927156cdaec73fbd3639d710f095a05fbca3

Author: Roland Scheidegger 
Date:   Fri Feb 12 22:12:10 2010 +0100

svga: emit blend color

---

 src/gallium/drivers/svga/svga_state_rss.c |   21 +
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_rss.c 
b/src/gallium/drivers/svga/svga_state_rss.c
index 2f9adae..b97e636 100644
--- a/src/gallium/drivers/svga/svga_state_rss.c
+++ b/src/gallium/drivers/svga/svga_state_rss.c
@@ -26,6 +26,7 @@
 #include "pipe/p_inlines.h"
 #include "pipe/p_defines.h"
 #include "util/u_math.h"
+#include "util/u_pack_color.h"
 
 #include "svga_context.h"
 #include "svga_state.h"
@@ -101,6 +102,20 @@ static int emit_rss( struct svga_context *svga,
}
 
 
+   if (dirty & SVGA_NEW_BLEND_COLOR) {
+  unsigned color = 0;
+  ubyte r = float_to_ubyte(svga->curr.blend_color.color[0]);
+  ubyte g = float_to_ubyte(svga->curr.blend_color.color[1]);
+  ubyte b = float_to_ubyte(svga->curr.blend_color.color[2]);
+  ubyte a = float_to_ubyte(svga->curr.blend_color.color[3]);
+
+  util_pack_color_ub( r, g, b, a,
+  PIPE_FORMAT_B8G8R8A8_UNORM, &color);
+
+  EMIT_RS( svga, color, BLENDCOLOR, fail );
+   }
+
+
if (dirty & (SVGA_NEW_DEPTH_STENCIL | SVGA_NEW_RAST)) {
   const struct svga_depth_stencil_state *curr = svga->curr.depth; 
   const struct svga_rasterizer_state *rast = svga->curr.rast; 
@@ -230,13 +245,10 @@ static int emit_rss( struct svga_context *svga,
   memcpy( rs,
   queue.rs,
   queue.rs_count * sizeof queue.rs[0]);
-  
+
   SVGA_FIFOCommitAll( svga->swc );
}
 
-   /* Also blend color:
-*/
-
return 0;
 
 fail:
@@ -256,6 +268,7 @@ struct svga_tracked_state svga_hw_rss =
"hw rss state",
 
(SVGA_NEW_BLEND |
+SVGA_NEW_BLEND_COLOR |
 SVGA_NEW_DEPTH_STENCIL |
 SVGA_NEW_RAST |
 SVGA_NEW_FRAME_BUFFER |

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


Mesa (master): dri: Store the loader private passed in at dri context creation

2010-02-12 Thread Kristian Høgsberg
Module: Mesa
Branch: master
Commit: 93931d9e684cd5a5659c3f28f8da7294ac174542
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=93931d9e684cd5a5659c3f28f8da7294ac174542

Author: Kristian Høgsberg 
Date:   Thu Feb 11 17:10:19 2010 -0500

dri: Store the loader private passed in at dri context creation

We just threw it away before, but we haven't had a use for it yet.

---

 src/mesa/drivers/dri/common/dri_util.c |3 ++-
 src/mesa/drivers/dri/common/dri_util.h |5 +
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/common/dri_util.c 
b/src/mesa/drivers/dri/common/dri_util.c
index 3649c29..f5e7923 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -581,7 +581,8 @@ driCreateNewContext(__DRIscreen *psp, const __DRIconfig 
*config,
 
 pcp->driScreenPriv = psp;
 pcp->driDrawablePriv = NULL;
-
+pcp->loaderPrivate = data;
+
 /* When the first context is created for a screen, initialize a "dummy"
  * context.
  */
diff --git a/src/mesa/drivers/dri/common/dri_util.h 
b/src/mesa/drivers/dri/common/dri_util.h
index 95df702..e9d5a9d 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -413,6 +413,11 @@ struct __DRIcontextRec {
  * Pointer to screen on which this context was created.
  */
 __DRIscreen *driScreenPriv;
+
+/**
+ * The loaders's private context data.  This structure is opaque.
+ */
+void *loaderPrivate;
 };
 
 /**

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


Mesa (master): intel: Track named regions and make sure we only have one region per named bo

2010-02-12 Thread Kristian Høgsberg
Module: Mesa
Branch: master
Commit: 2d99588b3556928a0879b4160210ac771dbf1f0b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d99588b3556928a0879b4160210ac771dbf1f0b

Author: Kristian Høgsberg 
Date:   Thu Feb 11 17:18:01 2010 -0500

intel: Track named regions and make sure we only have one region per named bo

---

 src/mesa/drivers/dri/intel/intel_regions.c |   24 +++-
 src/mesa/drivers/dri/intel/intel_regions.h |3 +++
 src/mesa/drivers/dri/intel/intel_screen.c  |   14 ++
 src/mesa/drivers/dri/intel/intel_screen.h  |1 +
 4 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_regions.c 
b/src/mesa/drivers/dri/intel/intel_regions.c
index e2859e4..881653f 100644
--- a/src/mesa/drivers/dri/intel/intel_regions.c
+++ b/src/mesa/drivers/dri/intel/intel_regions.c
@@ -42,6 +42,7 @@
 #include 
 #include 
 
+#include 
 #include "intel_context.h"
 #include "intel_regions.h"
 #include "intel_blit.h"
@@ -228,10 +229,24 @@ intel_region_alloc_for_handle(struct intel_context *intel,
  GLuint width, GLuint height, GLuint pitch,
  GLuint handle, const char *name)
 {
-   struct intel_region *region;
+   struct intel_region *region, *dummy;
dri_bo *buffer;
int ret;
 
+   region = _mesa_HashLookup(intel->intelScreen->named_regions, handle);
+   if (region != NULL) {
+  dummy = NULL;
+  if (region->width != width || region->height != height ||
+ region->cpp != cpp || region->pitch != pitch) {
+fprintf(stderr,
+"Region for name %d already exists but is not compatible\n",
+handle);
+return NULL;
+  }
+  intel_region_reference(&dummy, region);
+  return dummy;
+   }
+
buffer = intel_bo_gem_create_from_name(intel->bufmgr, name, handle);
 
region = intel_region_alloc_internal(intel, cpp,
@@ -248,6 +263,10 @@ intel_region_alloc_for_handle(struct intel_context *intel,
   return NULL;
}
 
+   region->name = handle;
+   region->screen = intel->intelScreen;
+   _mesa_HashInsert(intel->intelScreen->named_regions, handle, region);
+
return region;
 }
 
@@ -287,6 +306,9 @@ intel_region_release(struct intel_region **region_handle)
   region->pbo = NULL;
   dri_bo_unreference(region->buffer);
 
+  if (region->name > 0)
+_mesa_HashRemove(region->screen->named_regions, region->name);
+
   free(region);
}
*region_handle = NULL;
diff --git a/src/mesa/drivers/dri/intel/intel_regions.h 
b/src/mesa/drivers/dri/intel/intel_regions.h
index 860ae11..6d36f3d 100644
--- a/src/mesa/drivers/dri/intel/intel_regions.h
+++ b/src/mesa/drivers/dri/intel/intel_regions.h
@@ -67,6 +67,9 @@ struct intel_region
uint32_t tiling; /**< Which tiling mode the region is in */
uint32_t bit_6_swizzle; /**< GEM flag for address swizzling requirement */
struct intel_buffer_object *pbo; /* zero-copy uploads */
+
+   uint32_t name; /**< Global name for the bo */
+   struct intel_screen *screen;
 };
 
 
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c 
b/src/mesa/drivers/dri/intel/intel_screen.c
index 6dc20d0..f7ce87e 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -29,6 +29,7 @@
 #include "main/context.h"
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
+#include "main/hash.h"
 
 #include "utils.h"
 #include "xmlpool.h"
@@ -167,6 +168,11 @@ intel_get_param(__DRIscreen *psp, int param, int *value)
 }
 
 static void
+nop_callback(GLuint key, void *data, void *userData)
+{
+}
+
+static void
 intelDestroyScreen(__DRIscreen * sPriv)
 {
struct intel_screen *intelScreen = sPriv->private;
@@ -174,6 +180,12 @@ intelDestroyScreen(__DRIscreen * sPriv)
dri_bufmgr_destroy(intelScreen->bufmgr);
driDestroyOptionInfo(&intelScreen->optionCache);
 
+   /* Some regions may still have references to them at this point, so
+* flush the hash table to prevent _mesa_DeleteHashTable() from
+* complaining about the hash not being empty; */
+   _mesa_HashDeleteAll(intelScreen->named_regions, nop_callback, NULL);
+   _mesa_DeleteHashTable(intelScreen->named_regions);
+
FREE(intelScreen);
sPriv->private = NULL;
 }
@@ -324,6 +336,8 @@ intel_init_bufmgr(struct intel_screen *intelScreen)
else
   intelScreen->kernel_exec_fencing = GL_FALSE;
 
+   intelScreen->named_regions = _mesa_NewHashTable();
+
return GL_TRUE;
 }
 
diff --git a/src/mesa/drivers/dri/intel/intel_screen.h 
b/src/mesa/drivers/dri/intel/intel_screen.h
index c31b836..1ce476d 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.h
+++ b/src/mesa/drivers/dri/intel/intel_screen.h
@@ -47,6 +47,7 @@ struct intel_screen
GLboolean no_vbo;
dri_bufmgr *bufmgr;
GLboolean kernel_exec_fencing;
+   struct _mesa_HashTable *named_regions;
 
/**
* Configuration cache with default values for all contexts


Mesa (master): intel: Avoid dri_bo_flink() in intel_update_renderbuffers()

2010-02-12 Thread Kristian Høgsberg
Module: Mesa
Branch: master
Commit: 2f517b8e5ac1943f4ac60a8313ec53064cf6cc6a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f517b8e5ac1943f4ac60a8313ec53064cf6cc6a

Author: Kristian Høgsberg 
Date:   Thu Feb 11 17:19:34 2010 -0500

intel: Avoid dri_bo_flink() in intel_update_renderbuffers()

Now that we track the global name in struct intel_region, we can just
look it up there.

---

 src/mesa/drivers/dri/intel/intel_context.c |   10 ++
 1 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
b/src/mesa/drivers/dri/intel/intel_context.c
index e9315a5..f62f75c 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -324,11 +324,8 @@ intel_update_renderbuffers(__DRIcontext *context, 
__DRIdrawable *drawable)
if (rb == NULL)
  continue;
 
-   if (rb->region) {
- dri_bo_flink(rb->region->buffer, &name);
- if (name == buffers[i].name)
+   if (rb->region && rb->region->name == buffers[i].name)
 continue;
-   }
 
if (INTEL_DEBUG & DEBUG_DRI)
  fprintf(stderr,
@@ -360,11 +357,8 @@ intel_update_renderbuffers(__DRIcontext *context, 
__DRIdrawable *drawable)
  if (rb != NULL) {
 struct intel_region *stencil_region = NULL;
 
-if (rb->region) {
-   dri_bo_flink(rb->region->buffer, &name);
-   if (name == buffers[i].name)
+if (rb->region && rb->region->name == buffers[i].name)
   continue;
-}
 
 intel_region_reference(&stencil_region, region);
 intel_renderbuffer_set_region(rb, stencil_region);

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


Mesa (master): cell: implement PIPE_CAP_MAX_COMBINED_SAMPLERS query

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 3798cc81573a89c5ac221fd926385c45ba8da3b2
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3798cc81573a89c5ac221fd926385c45ba8da3b2

Author: Brian Paul 
Date:   Fri Feb 12 15:24:24 2010 -0700

cell: implement PIPE_CAP_MAX_COMBINED_SAMPLERS query

---

 src/gallium/drivers/cell/ppu/cell_screen.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c 
b/src/gallium/drivers/cell/ppu/cell_screen.c
index 9214ac1..449855f 100644
--- a/src/gallium/drivers/cell/ppu/cell_screen.c
+++ b/src/gallium/drivers/cell/ppu/cell_screen.c
@@ -59,6 +59,8 @@ cell_get_param(struct pipe_screen *screen, int param)
switch (param) {
case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS:
   return CELL_MAX_SAMPLERS;
+   case PIPE_CAP_MAX_COMBINED_SAMPLERS:
+  return CELL_MAX_SAMPLERS;
case PIPE_CAP_NPOT_TEXTURES:
   return 1;
case PIPE_CAP_TWO_SIDED_STENCIL:

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


Mesa (master): cell: remove -mcpu=cell from CFLAGS

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 8a61690e84a143f5393f36521f15477663baa9e8
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a61690e84a143f5393f36521f15477663baa9e8

Author: Brian Paul 
Date:   Fri Feb 12 12:35:18 2010 -0700

cell: remove -mcpu=cell from CFLAGS

This reverts part of commit ebe2f7609533645e7e9c8af4a55bc0127b9bc515
and allows things to build here.

---

 configs/linux-cell |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/configs/linux-cell b/configs/linux-cell
index 229ac73..016c900 100644
--- a/configs/linux-cell
+++ b/configs/linux-cell
@@ -25,7 +25,7 @@ OPT_FLAGS = -O3
 SDK = /opt/cell/sdk/usr
 
 
-CFLAGS = $(OPT_FLAGS) -mcpu=cell -Wall -Winline -Wmissing-prototypes \
+CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
-fPIC -m32 -std=c99 -mabi=altivec -maltivec \
-I. -I$(SDK)/include \
-DGALLIUM_CELL $(DEFINES)

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


Mesa (master): cell: fix-up C, CPP flags

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 2d6f5dd62b9afad90704ba6019829b478738bf0b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d6f5dd62b9afad90704ba6019829b478738bf0b

Author: Brian Paul 
Date:   Fri Feb 12 15:24:54 2010 -0700

cell: fix-up C, CPP flags

Flags like -Wmissing-prototypes don't apply to g++.

---

 configs/linux-cell |   10 +++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/configs/linux-cell b/configs/linux-cell
index 016c900..e89a08c 100644
--- a/configs/linux-cell
+++ b/configs/linux-cell
@@ -25,12 +25,16 @@ OPT_FLAGS = -O3
 SDK = /opt/cell/sdk/usr
 
 
-CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
-   -fPIC -m32 -std=c99 -mabi=altivec -maltivec \
+
+COMMON_C_CPP_FLAGS = $(OPT_FLAGS) -Wall -Winline \
+   -fPIC -m32 -mabi=altivec -maltivec \
-I. -I$(SDK)/include \
-DGALLIUM_CELL $(DEFINES)
 
-CXXFLAGS = $(CFLAGS)
+CFLAGS = $(COMMON_C_CPP_FLAGS) -Wmissing-prototypes -std=c99
+
+CXXFLAGS = $(COMMON_C_CPP_FLAGS)
+
 
 # Omitting glw here:
 SRC_DIRS = glsl mesa gallium gallium/winsys glu glut/glx glew

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


Mesa (master): intel: Remove unused variable.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 4be324386c50ddc67f95bbcd870a0577ceb814ab
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4be324386c50ddc67f95bbcd870a0577ceb814ab

Author: Vinson Lee 
Date:   Fri Feb 12 14:36:11 2010 -0800

intel: Remove unused variable.

---

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

diff --git a/src/mesa/drivers/dri/intel/intel_context.c 
b/src/mesa/drivers/dri/intel/intel_context.c
index f62f75c..fa2168b 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -195,7 +195,6 @@ intel_update_renderbuffers(__DRIcontext *context, 
__DRIdrawable *drawable)
__DRIscreen *screen;
int i, count;
unsigned int attachments[10];
-   uint32_t name;
const char *region_name;
 
if (INTEL_DEBUG & DEBUG_DRI)

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


Mesa (master): st/mesa: remove unused var

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: cd0a32924d9795fc693d6145baa546ad03650cc3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd0a32924d9795fc693d6145baa546ad03650cc3

Author: Brian Paul 
Date:   Fri Feb 12 14:46:10 2010 -0700

st/mesa: remove unused var

---

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

diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
b/src/mesa/state_tracker/st_cb_drawpixels.c
index 2a084ca..af2647f 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -767,7 +767,6 @@ st_DrawPixels(GLcontext *ctx, GLint x, GLint y, GLsizei 
width, GLsizei height,
struct st_fragment_program *stfp;
void *driver_vp;
struct st_context *st = st_context(ctx);
-   struct pipe_surface *ps;
const GLfloat *color;
 
if (format == GL_STENCIL_INDEX ||
@@ -783,13 +782,11 @@ st_DrawPixels(GLcontext *ctx, GLint x, GLint y, GLsizei 
width, GLsizei height,
st_validate_state(st);
 
if (format == GL_DEPTH_COMPONENT) {
-  ps = st->state.framebuffer.zsbuf;
   stfp = make_fragment_shader_z(st);
   driver_vp = st_make_passthrough_vertex_shader(st, GL_TRUE);
   color = ctx->Current.RasterColor;
}
else {
-  ps = st->state.framebuffer.cbufs[0];
   stfp = combined_drawpix_fragment_program(ctx);
   driver_vp = st_make_passthrough_vertex_shader(st, GL_FALSE);
   color = NULL;

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


Mesa (master): st/mesa: rename state -> tgsi, updated comments

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: b9b4e7724e5ae80121a053ca66cee73942cc16b7
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b4e7724e5ae80121a053ca66cee73942cc16b7

Author: Brian Paul 
Date:   Fri Feb 12 14:46:51 2010 -0700

st/mesa: rename state -> tgsi, updated comments

---

 src/mesa/state_tracker/st_atom_shader.c   |2 +-
 src/mesa/state_tracker/st_cb_program.c|   12 ++--
 src/mesa/state_tracker/st_debug.c |4 ++--
 src/mesa/state_tracker/st_draw_feedback.c |2 +-
 src/mesa/state_tracker/st_program.c   |   18 +-
 src/mesa/state_tracker/st_program.h   |8 +---
 6 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_shader.c 
b/src/mesa/state_tracker/st_atom_shader.c
index ea16719..ad151ed 100644
--- a/src/mesa/state_tracker/st_atom_shader.c
+++ b/src/mesa/state_tracker/st_atom_shader.c
@@ -59,7 +59,7 @@ static void
 translate_fp(struct st_context *st,
  struct st_fragment_program *stfp)
 {
-   if (!stfp->state.tokens) {
+   if (!stfp->tgsi.tokens) {
   assert(stfp->Base.Base.NumInstructions > 0);
 
   st_translate_fragment_program(st, stfp);
diff --git a/src/mesa/state_tracker/st_cb_program.c 
b/src/mesa/state_tracker/st_cb_program.c
index 82ef557..2361b2e 100644
--- a/src/mesa/state_tracker/st_cb_program.c
+++ b/src/mesa/state_tracker/st_cb_program.c
@@ -148,9 +148,9 @@ st_delete_program(GLcontext *ctx, struct gl_program *prog)
 stfp->driver_shader = NULL;
  }
  
- if (stfp->state.tokens) {
-st_free_tokens(stfp->state.tokens);
-stfp->state.tokens = NULL;
+ if (stfp->tgsi.tokens) {
+st_free_tokens(stfp->tgsi.tokens);
+stfp->tgsi.tokens = NULL;
  }
 
  if (stfp->bitmap_program) {
@@ -193,9 +193,9 @@ static GLboolean st_program_string_notify( GLcontext *ctx,
  stfp->driver_shader = NULL;
   }
 
-  if (stfp->state.tokens) {
- st_free_tokens(stfp->state.tokens);
- stfp->state.tokens = NULL;
+  if (stfp->tgsi.tokens) {
+ st_free_tokens(stfp->tgsi.tokens);
+ stfp->tgsi.tokens = NULL;
   }
 
   if (st->fp == stfp)
diff --git a/src/mesa/state_tracker/st_debug.c 
b/src/mesa/state_tracker/st_debug.c
index 6e699ca..5dbabfa 100644
--- a/src/mesa/state_tracker/st_debug.c
+++ b/src/mesa/state_tracker/st_debug.c
@@ -87,11 +87,11 @@ st_print_current(void)
 #endif
 
if (st->vp->varients)
-  tgsi_dump( st->vp->varients[0].state.tokens, 0 );
+  tgsi_dump( st->vp->varients[0].tgsi.tokens, 0 );
if (st->vp->Base.Base.Parameters)
   _mesa_print_parameter_list(st->vp->Base.Base.Parameters);
 
-   tgsi_dump( st->fp->state.tokens, 0 );
+   tgsi_dump( st->fp->tgsi.tokens, 0 );
if (st->fp->Base.Base.Parameters)
   _mesa_print_parameter_list(st->fp->Base.Base.Parameters);
 }
diff --git a/src/mesa/state_tracker/st_draw_feedback.c 
b/src/mesa/state_tracker/st_draw_feedback.c
index 75ad1a9..087f2f2 100644
--- a/src/mesa/state_tracker/st_draw_feedback.c
+++ b/src/mesa/state_tracker/st_draw_feedback.c
@@ -119,7 +119,7 @@ st_feedback_draw_vbo(GLcontext *ctx,
 
/* must get these after state validation! */
vp = ctx->st->vp;
-   vs = &st->vp_varient->state;
+   vs = &st->vp_varient->tgsi;
 
if (!st->vp_varient->draw_shader) {
   st->vp_varient->draw_shader = draw_create_vertex_shader(draw, vs);
diff --git a/src/mesa/state_tracker/st_program.c 
b/src/mesa/state_tracker/st_program.c
index 21ad6fe..6a86cf9 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -68,8 +68,8 @@ st_vp_release_varients( struct st_context *st,
   if (vpv->draw_shader)
  draw_delete_vertex_shader( st->draw, vpv->draw_shader );
   
-  if (vpv->state.tokens)
- st_free_tokens(vpv->state.tokens);
+  if (vpv->tgsi.tokens)
+ st_free_tokens(vpv->tgsi.tokens);
   
   FREE( vpv );
 
@@ -236,13 +236,13 @@ st_translate_vertex_program(struct st_context *st,
if (error)
   goto fail;
 
-   vpv->state.tokens = ureg_get_tokens( ureg, NULL );
-   if (!vpv->state.tokens)
+   vpv->tgsi.tokens = ureg_get_tokens( ureg, NULL );
+   if (!vpv->tgsi.tokens)
   goto fail;
 
ureg_destroy( ureg );
 
-   vpv->driver_shader = pipe->create_vs_state(pipe, &vpv->state);
+   vpv->driver_shader = pipe->create_vs_state(pipe, &vpv->tgsi);
 
if ((ST_DEBUG & DEBUG_TGSI) && (ST_DEBUG & DEBUG_MESA)) {
   _mesa_print_program(&stvp->Base.Base);
@@ -250,7 +250,7 @@ st_translate_vertex_program(struct st_context *st,
}
 
if (ST_DEBUG & DEBUG_TGSI) {
-  tgsi_dump( vpv->state.tokens, 0 );
+  tgsi_dump( vpv->tgsi.tokens, 0 );
   debug_printf("\n");
}
 
@@ -437,9 +437,9 @@ st_translate_fragment_program(struct st_context *st,
 fs_output_semantic_name,
 fs_output_semantic_index, FALS

Mesa (master): st/mesa: improved draw_range_elements code

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: ff37205f93eaf888e12c6587b8c7cd17d890c4e0
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff37205f93eaf888e12c6587b8c7cd17d890c4e0

Author: Brian Paul 
Date:   Fri Feb 12 15:40:57 2010 -0700

st/mesa: improved draw_range_elements code

Don't use pipe->draw_range_elements() if min_index=max_index=~0 since
that doesn't provide any useful info.

Also, implement the loop around pipe->draw_range_elements() when
nr_prims > 1.

---

 src/mesa/state_tracker/st_draw.c |   16 +++-
 1 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index e1dcb15..34df4d4 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -645,20 +645,18 @@ st_draw_vbo(GLcontext *ctx,
   }
 
   /* draw */
-  if (nr_prims == 1 && pipe->draw_range_elements != NULL) {
- i = 0;
-
+  if (pipe->draw_range_elements && min_index != ~0 && max_index != ~0) {
  /* XXX: exercise temporary path to pass min/max directly
   * through to driver & draw module.  These interfaces still
   * need a bit of work...
   */
- prim = translate_prim( ctx, prims[i].mode );
+ for (i = 0; i < nr_prims; i++) {
+prim = translate_prim( ctx, prims[i].mode );
 
- pipe->draw_range_elements(pipe, indexBuf, indexSize,
-   min_index,
-   max_index,
-   prim,
-   prims[i].start + indexOffset, 
prims[i].count);
+pipe->draw_range_elements(pipe, indexBuf, indexSize,
+  min_index, max_index, prim,
+  prims[i].start + indexOffset, 
prims[i].count);
+ }
   }
   else {
  for (i = 0; i < nr_prims; i++) {

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


Mesa (master): scons: Target Windows7.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 57617c8eba7093be3da9d818389ef5f18246e4ca
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=57617c8eba7093be3da9d818389ef5f18246e4ca

Author: José Fonseca 
Date:   Fri Feb 12 13:22:59 2010 +

scons: Target Windows7.

---

 scons/gallium.py |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index a40a957..15aa944 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -177,8 +177,11 @@ def generate(env):
 '_WINDOWS',
 #'_UNICODE',
 #'UNICODE',
-('_WIN32_WINNT', '0x0501'), # minimum required OS version
-('WINVER', '0x0501'),
+# http://msdn.microsoft.com/en-us/library/aa383745.aspx
+('_WIN32_WINNT', '0x0601'),
+('WINVER', '0x0601'),
+# http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx,
+'WIN32_LEAN_AND_MEAN',
 ]
 if msvc and env['toolchain'] != 'winddk':
 cppdefines += [

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


Mesa (master): wgl: Go into dormant state when DLL is unloaded unclealy.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: a80d988144efad54e7a99920f8681e28243e9e9a
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a80d988144efad54e7a99920f8681e28243e9e9a

Author: José Fonseca 
Date:   Fri Feb 12 13:59:16 2010 +

wgl: Go into dormant state when DLL is unloaded unclealy.

When our DLL is unloaded, even if we leave the data structures in memory
for sake of future calls, the MS CRT will destroy the heap. Instead we
make all calls no-ops by setting stw_dev to NULL.

---

 src/gallium/state_trackers/wgl/stw_device.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_device.c 
b/src/gallium/state_trackers/wgl/stw_device.c
index ce6fe5f..e5fa6ac 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -168,6 +168,7 @@ stw_cleanup(void)
pipe_mutex_unlock( stw_dev->ctx_mutex );
if (dhglrc) {
   debug_printf("%s: contexts still active -- cleanup aborted\n", 
__FUNCTION__);
+  stw_dev = NULL;
   return;
}
 

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


Mesa (mesa_7_7_branch): svga: Report the 2d/ 3d texture sizes supported by the host.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: 1ae976be4aacdc27c229b07cb14101d7c3de65de
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ae976be4aacdc27c229b07cb14101d7c3de65de

Author: José Fonseca 
Date:   Fri Feb 12 17:01:48 2010 +

svga: Report the 2d/3d texture sizes supported by the host.

---

 src/gallium/drivers/svga/svga_screen.c |   26 ---
 src/gallium/drivers/svga/svga_screen_texture.h |2 +-
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c 
b/src/gallium/drivers/svga/svga_screen.c
index cd1ed7b..3593d9a 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -104,7 +104,9 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return 80.0;
 
case PIPE_CAP_MAX_TEXTURE_ANISOTROPY:
-  return 4.0;
+  if(!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY, &result))
+ return 4.0;
+  return result.u;
 
case PIPE_CAP_MAX_TEXTURE_LOD_BIAS:
   return 16.0;
@@ -131,12 +133,28 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return 1;
case PIPE_CAP_TEXTURE_SHADOW_MAP:
   return 1;
+
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
-  return SVGA_MAX_TEXTURE_LEVELS;
+  {
+ unsigned levels = SVGA_MAX_TEXTURE_LEVELS;
+ if (sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_WIDTH, &result))
+levels = MIN2(util_logbase2(result.u) + 1, levels);
+ else
+levels = 12 /* 2048x2048 */;
+ if (sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_HEIGHT, &result))
+levels = MIN2(util_logbase2(result.u) + 1, levels);
+ else
+levels = 12 /* 2048x2048 */;
+ return levels;
+  }
+
case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
-  return 8;  /* max 128x128x128 */
+  if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VOLUME_EXTENT, &result))
+ return 8;  /* max 128x128x128 */
+  return MIN2(util_logbase2(result.u) + 1, SVGA_MAX_TEXTURE_LEVELS);
+
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-  return SVGA_MAX_TEXTURE_LEVELS;
+  return 12 /* 2048x2048 */;
 
case PIPE_CAP_TEXTURE_MIRROR_REPEAT: /* req. for GL 1.4 */
   return 1;
diff --git a/src/gallium/drivers/svga/svga_screen_texture.h 
b/src/gallium/drivers/svga/svga_screen_texture.h
index 8cfdfea..4257b49 100644
--- a/src/gallium/drivers/svga/svga_screen_texture.h
+++ b/src/gallium/drivers/svga/svga_screen_texture.h
@@ -38,7 +38,7 @@ struct svga_winsys_surface;
 enum SVGA3dSurfaceFormat;
 
 
-#define SVGA_MAX_TEXTURE_LEVELS 12 /* 2048x2048 */
+#define SVGA_MAX_TEXTURE_LEVELS 16
 
 
 /**

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


Mesa (mesa_7_7_branch): svga: Clamp max cube texture levels to supported max 2d levels.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: 3a4068474c25d91b52c6f3eb160cf8e6640df6d8
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a4068474c25d91b52c6f3eb160cf8e6640df6d8

Author: José Fonseca 
Date:   Fri Feb 12 21:30:33 2010 +

svga: Clamp max cube texture levels to supported max 2d levels.

---

 src/gallium/drivers/svga/svga_screen.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c 
b/src/gallium/drivers/svga/svga_screen.c
index 3593d9a..0bd28d3 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -154,7 +154,12 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return MIN2(util_logbase2(result.u) + 1, SVGA_MAX_TEXTURE_LEVELS);
 
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-  return 12 /* 2048x2048 */;
+  /*
+   * No mechanism to query the host, and at least limited to 2048x2048 on
+   * certain hardware.
+   */
+  return MIN2(screen->get_paramf(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS),
+  12.0 /* 2048x2048 */);
 
case PIPE_CAP_TEXTURE_MIRROR_REPEAT: /* req. for GL 1.4 */
   return 1;

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


Mesa (mesa_7_7_branch): svga: A few more tweaks to blend color state emission.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: mesa_7_7_branch
Commit: a1025ec041ff2700a0a58ee3586df6333caee593
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1025ec041ff2700a0a58ee3586df6333caee593

Author: José Fonseca 
Date:   Fri Feb 12 23:17:04 2010 +

svga: A few more tweaks to blend color state emission.

---

 src/gallium/drivers/svga/svga_pipe_blend.c |2 +-
 src/gallium/drivers/svga/svga_state_rss.c  |   16 +++-
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_pipe_blend.c 
b/src/gallium/drivers/svga/svga_pipe_blend.c
index c0cbda3..3f5d908 100644
--- a/src/gallium/drivers/svga/svga_pipe_blend.c
+++ b/src/gallium/drivers/svga/svga_pipe_blend.c
@@ -223,7 +223,7 @@ static void svga_set_blend_color( struct pipe_context *pipe,
 
svga->curr.blend_color = *blend_color;
 
-   svga->dirty |= SVGA_NEW_BLEND;
+   svga->dirty |= SVGA_NEW_BLEND_COLOR;
 }
 
 
diff --git a/src/gallium/drivers/svga/svga_state_rss.c 
b/src/gallium/drivers/svga/svga_state_rss.c
index b97e636..46a2d5e 100644
--- a/src/gallium/drivers/svga/svga_state_rss.c
+++ b/src/gallium/drivers/svga/svga_state_rss.c
@@ -26,7 +26,6 @@
 #include "pipe/p_inlines.h"
 #include "pipe/p_defines.h"
 #include "util/u_math.h"
-#include "util/u_pack_color.h"
 
 #include "svga_context.h"
 #include "svga_state.h"
@@ -103,14 +102,13 @@ static int emit_rss( struct svga_context *svga,
 
 
if (dirty & SVGA_NEW_BLEND_COLOR) {
-  unsigned color = 0;
-  ubyte r = float_to_ubyte(svga->curr.blend_color.color[0]);
-  ubyte g = float_to_ubyte(svga->curr.blend_color.color[1]);
-  ubyte b = float_to_ubyte(svga->curr.blend_color.color[2]);
-  ubyte a = float_to_ubyte(svga->curr.blend_color.color[3]);
-
-  util_pack_color_ub( r, g, b, a,
-  PIPE_FORMAT_B8G8R8A8_UNORM, &color);
+  uint32 color;
+  uint32 r = float_to_ubyte(svga->curr.blend_color.color[0]);
+  uint32 g = float_to_ubyte(svga->curr.blend_color.color[1]);
+  uint32 b = float_to_ubyte(svga->curr.blend_color.color[2]);
+  uint32 a = float_to_ubyte(svga->curr.blend_color.color[3]);
+
+  color = (a << 24) | (r << 16) | (g << 8) | b;
 
   EMIT_RS( svga, color, BLENDCOLOR, fail );
}

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


Mesa (master): svga: Report the 2d/3d texture sizes supported by the host.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 2bb4d75f28d1b693ebef3b4fb9188db304f46234
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bb4d75f28d1b693ebef3b4fb9188db304f46234

Author: José Fonseca 
Date:   Fri Feb 12 17:01:48 2010 +

svga: Report the 2d/3d texture sizes supported by the host.

---

 src/gallium/drivers/svga/svga_screen.c |   26 ---
 src/gallium/drivers/svga/svga_screen_texture.h |2 +-
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c 
b/src/gallium/drivers/svga/svga_screen.c
index 735cdfd..cad9b77 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -104,7 +104,9 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return SVGA_MAX_POINTSIZE;
 
case PIPE_CAP_MAX_TEXTURE_ANISOTROPY:
-  return 4.0;
+  if(!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY, &result))
+ return 4.0;
+  return result.u;
 
case PIPE_CAP_MAX_TEXTURE_LOD_BIAS:
   return 16.0;
@@ -133,12 +135,28 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return 1;
case PIPE_CAP_TEXTURE_SHADOW_MAP:
   return 1;
+
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
-  return SVGA_MAX_TEXTURE_LEVELS;
+  {
+ unsigned levels = SVGA_MAX_TEXTURE_LEVELS;
+ if (sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_WIDTH, &result))
+levels = MIN2(util_logbase2(result.u) + 1, levels);
+ else
+levels = 12 /* 2048x2048 */;
+ if (sws->get_cap(sws, SVGA3D_DEVCAP_MAX_TEXTURE_HEIGHT, &result))
+levels = MIN2(util_logbase2(result.u) + 1, levels);
+ else
+levels = 12 /* 2048x2048 */;
+ return levels;
+  }
+
case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
-  return 8;  /* max 128x128x128 */
+  if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VOLUME_EXTENT, &result))
+ return 8;  /* max 128x128x128 */
+  return MIN2(util_logbase2(result.u) + 1, SVGA_MAX_TEXTURE_LEVELS);
+
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-  return SVGA_MAX_TEXTURE_LEVELS;
+  return 12 /* 2048x2048 */;
 
case PIPE_CAP_TEXTURE_MIRROR_REPEAT: /* req. for GL 1.4 */
   return 1;
diff --git a/src/gallium/drivers/svga/svga_screen_texture.h 
b/src/gallium/drivers/svga/svga_screen_texture.h
index 43853d4..24c1f78 100644
--- a/src/gallium/drivers/svga/svga_screen_texture.h
+++ b/src/gallium/drivers/svga/svga_screen_texture.h
@@ -39,7 +39,7 @@ struct svga_winsys_surface;
 enum SVGA3dSurfaceFormat;
 
 
-#define SVGA_MAX_TEXTURE_LEVELS 12 /* 2048x2048 */
+#define SVGA_MAX_TEXTURE_LEVELS 16
 
 
 /**

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


Mesa (master): svga: Clamp max cube texture levels to supported max 2d levels.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 6af833add2a695922400d3f641e3c7fa09c00a46
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6af833add2a695922400d3f641e3c7fa09c00a46

Author: José Fonseca 
Date:   Fri Feb 12 21:30:33 2010 +

svga: Clamp max cube texture levels to supported max 2d levels.

---

 src/gallium/drivers/svga/svga_screen.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c 
b/src/gallium/drivers/svga/svga_screen.c
index cad9b77..414ac52 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -156,7 +156,12 @@ svga_get_paramf(struct pipe_screen *screen, int param)
   return MIN2(util_logbase2(result.u) + 1, SVGA_MAX_TEXTURE_LEVELS);
 
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
-  return 12 /* 2048x2048 */;
+  /*
+   * No mechanism to query the host, and at least limited to 2048x2048 on
+   * certain hardware.
+   */
+  return MIN2(screen->get_paramf(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS),
+  12.0 /* 2048x2048 */);
 
case PIPE_CAP_TEXTURE_MIRROR_REPEAT: /* req. for GL 1.4 */
   return 1;

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


Mesa (master): svga: A few more tweaks to blend color state emission.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: cd5d7608897a435623b26e3d5d6391734b9197e8
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd5d7608897a435623b26e3d5d6391734b9197e8

Author: José Fonseca 
Date:   Fri Feb 12 23:17:04 2010 +

svga: A few more tweaks to blend color state emission.

---

 src/gallium/drivers/svga/svga_pipe_blend.c |2 +-
 src/gallium/drivers/svga/svga_state_rss.c  |   16 +++-
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_pipe_blend.c 
b/src/gallium/drivers/svga/svga_pipe_blend.c
index 9dd6fb0..b60117f 100644
--- a/src/gallium/drivers/svga/svga_pipe_blend.c
+++ b/src/gallium/drivers/svga/svga_pipe_blend.c
@@ -228,7 +228,7 @@ static void svga_set_blend_color( struct pipe_context *pipe,
 
svga->curr.blend_color = *blend_color;
 
-   svga->dirty |= SVGA_NEW_BLEND;
+   svga->dirty |= SVGA_NEW_BLEND_COLOR;
 }
 
 
diff --git a/src/gallium/drivers/svga/svga_state_rss.c 
b/src/gallium/drivers/svga/svga_state_rss.c
index 15ead98..107cc40 100644
--- a/src/gallium/drivers/svga/svga_state_rss.c
+++ b/src/gallium/drivers/svga/svga_state_rss.c
@@ -26,7 +26,6 @@
 #include "util/u_inlines.h"
 #include "pipe/p_defines.h"
 #include "util/u_math.h"
-#include "util/u_pack_color.h"
 
 #include "svga_context.h"
 #include "svga_state.h"
@@ -102,16 +101,15 @@ static int emit_rss( struct svga_context *svga,
}
 
if (dirty & SVGA_NEW_BLEND_COLOR) {
-  union util_color uc;
-  ubyte r = float_to_ubyte(svga->curr.blend_color.color[0]);
-  ubyte g = float_to_ubyte(svga->curr.blend_color.color[1]);
-  ubyte b = float_to_ubyte(svga->curr.blend_color.color[2]);
-  ubyte a = float_to_ubyte(svga->curr.blend_color.color[3]);
+  uint32 color;
+  uint32 r = float_to_ubyte(svga->curr.blend_color.color[0]);
+  uint32 g = float_to_ubyte(svga->curr.blend_color.color[1]);
+  uint32 b = float_to_ubyte(svga->curr.blend_color.color[2]);
+  uint32 a = float_to_ubyte(svga->curr.blend_color.color[3]);
 
-  util_pack_color_ub( r, g, b, a,
-  PIPE_FORMAT_B8G8R8A8_UNORM, &uc);
+  color = (a << 24) | (r << 16) | (g << 8) | b;
 
-  EMIT_RS( svga, uc.ui, BLENDCOLOR, fail );
+  EMIT_RS( svga, color, BLENDCOLOR, fail );
}
 
if (dirty & (SVGA_NEW_DEPTH_STENCIL | SVGA_NEW_RAST)) {

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


Mesa (master): scons: Undo bad merge from cherry-pick.

2010-02-12 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: a4865e82ef0171a5280c98f1b0ae879cf013ad8b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4865e82ef0171a5280c98f1b0ae879cf013ad8b

Author: José Fonseca 
Date:   Fri Feb 12 23:52:18 2010 +

scons: Undo bad merge from cherry-pick.

---

 scons/gallium.py |2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index 15aa944..1d5e041 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -180,8 +180,6 @@ def generate(env):
 # http://msdn.microsoft.com/en-us/library/aa383745.aspx
 ('_WIN32_WINNT', '0x0601'),
 ('WINVER', '0x0601'),
-# http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx,
-'WIN32_LEAN_AND_MEAN',
 ]
 if msvc and env['toolchain'] != 'winddk':
 cppdefines += [

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


Mesa (mesa_7_7_branch): st/mesa: restore draw rasterization stage after rasterpos

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: mesa_7_7_branch
Commit: b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1

Author: Brian Paul 
Date:   Fri Feb 12 17:16:10 2010 -0700

st/mesa: restore draw rasterization stage after rasterpos

This fixes invalid calls to rastpos_point/line/tri() that can occur
when glRasterPos() is called while in feedback or selection mode.

---

 src/mesa/state_tracker/st_cb_rasterpos.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_rasterpos.c 
b/src/mesa/state_tracker/st_cb_rasterpos.c
index 42a1377..4692891 100644
--- a/src/mesa/state_tracker/st_cb_rasterpos.c
+++ b/src/mesa/state_tracker/st_cb_rasterpos.c
@@ -251,6 +251,14 @@ st_RasterPos(GLcontext *ctx, const GLfloat v[4])
 
/* draw the point */
st_feedback_draw_vbo(ctx, rs->arrays, &rs->prim, 1, NULL, GL_TRUE, 0, 1);
+
+   /* restore draw's rasterization stage depending on rendermode */
+   if (ctx->RenderMode == GL_FEEDBACK) {
+  draw_set_rasterize_stage(draw, st->feedback_stage);
+   }
+   else if (ctx->RenderMode == GL_SELECT) {
+  draw_set_rasterize_stage(draw, st->selection_stage);
+   }
 }
 
 

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


Mesa (master): st/mesa: restore draw rasterization stage after rasterpos

2010-02-12 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 282dafcdc7a809714f27fd609489b19d45360258
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=282dafcdc7a809714f27fd609489b19d45360258

Author: Brian Paul 
Date:   Fri Feb 12 17:22:10 2010 -0700

st/mesa: restore draw rasterization stage after rasterpos

This fixes invalid calls to rastpos_point/line/tri() that can occur
when glRasterPos() is called while in feedback or selection mode.

(cherry picked from commit b3c7dc6ff232eb4c5ff6b0ddcfa90bcb56f78df1)

---

 src/mesa/state_tracker/st_cb_rasterpos.c |8 
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_rasterpos.c 
b/src/mesa/state_tracker/st_cb_rasterpos.c
index 42a1377..4692891 100644
--- a/src/mesa/state_tracker/st_cb_rasterpos.c
+++ b/src/mesa/state_tracker/st_cb_rasterpos.c
@@ -251,6 +251,14 @@ st_RasterPos(GLcontext *ctx, const GLfloat v[4])
 
/* draw the point */
st_feedback_draw_vbo(ctx, rs->arrays, &rs->prim, 1, NULL, GL_TRUE, 0, 1);
+
+   /* restore draw's rasterization stage depending on rendermode */
+   if (ctx->RenderMode == GL_FEEDBACK) {
+  draw_set_rasterize_stage(draw, st->feedback_stage);
+   }
+   else if (ctx->RenderMode == GL_SELECT) {
+  draw_set_rasterize_stage(draw, st->selection_stage);
+   }
 }
 
 

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


Mesa (master): util: Properly init memory for blitter CSOs.

2010-02-12 Thread Corbin Simpson
Module: Mesa
Branch: master
Commit: 6a07a1738ce84a747ce1f51cf68d583d0ccb3bd5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a07a1738ce84a747ce1f51cf68d583d0ccb3bd5

Author: Corbin Simpson 
Date:   Fri Feb 12 20:43:20 2010 -0800

util: Properly init memory for blitter CSOs.

Fixes misrender on r300g.

---

 src/gallium/auxiliary/util/u_blitter.c |   13 +
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_blitter.c 
b/src/gallium/auxiliary/util/u_blitter.c
index 1f7e25b..18f8606 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -98,9 +98,9 @@ struct blitter_context_priv
 struct blitter_context *util_blitter_create(struct pipe_context *pipe)
 {
struct blitter_context_priv *ctx;
-   struct pipe_blend_state blend;
-   struct pipe_depth_stencil_alpha_state dsa;
-   struct pipe_rasterizer_state rs_state;
+   struct pipe_blend_state blend = { 0 };
+   struct pipe_depth_stencil_alpha_state dsa = { { 0 } };
+   struct pipe_rasterizer_state rs_state = { 0 };
struct pipe_sampler_state *sampler_state;
unsigned i;
 
@@ -121,7 +121,6 @@ struct blitter_context *util_blitter_create(struct 
pipe_context *pipe)
ctx->blitter.saved_num_sampler_states = ~0;
 
/* blend state objects */
-   memset(&blend, 0, sizeof(blend));
ctx->blend_keep_color = pipe->create_blend_state(pipe, &blend);
 
blend.rt[0].colormask = PIPE_MASK_RGBA;
@@ -211,7 +210,7 @@ void util_blitter_destroy(struct blitter_context *blitter)
pipe->delete_depth_stencil_alpha_state(pipe,
   ctx->dsa_write_depth_keep_stencil);
pipe->delete_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_stencil);
- 
+
pipe->delete_rasterizer_state(pipe, ctx->rs_state);
pipe->delete_vs_state(pipe, ctx->vs_col);
pipe->delete_vs_state(pipe, ctx->vs_tex);
@@ -526,6 +525,7 @@ void util_blitter_clear(struct blitter_context *blitter,
 {
struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter;
struct pipe_context *pipe = ctx->pipe;
+   struct pipe_stencil_ref sr = { { 0 } };
 
assert(num_cbufs <= PIPE_MAX_COLOR_BUFS);
 
@@ -538,8 +538,6 @@ void util_blitter_clear(struct blitter_context *blitter,
   pipe->bind_blend_state(pipe, ctx->blend_keep_color);
 
if (clear_buffers & PIPE_CLEAR_DEPTHSTENCIL) {
-  struct pipe_stencil_ref sr;
-  memset (&sr, 0, sizeof(sr));
   sr.ref_value[0] = stencil & 0xff;
   pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_stencil);
   pipe->set_stencil_ref(pipe, &sr);
@@ -555,7 +553,6 @@ void util_blitter_clear(struct blitter_context *blitter,
blitter_set_rectangle(ctx, 0, 0, width, height, depth);
blitter_draw_quad(ctx);
blitter_restore_CSOs(ctx);
-   /* XXX driver's responsibility to restore stencil refs? */
 }
 
 static boolean

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


Mesa (master): svga: Silence uninitialized variable warning.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: f61864163103dc7e086623f1fdbab9631ea97e28
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f61864163103dc7e086623f1fdbab9631ea97e28

Author: Vinson Lee 
Date:   Fri Feb 12 22:33:37 2010 -0800

svga: Silence uninitialized variable warning.

---

 .../drivers/svga/svgadump/svga_shader_dump.c   |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/svga/svgadump/svga_shader_dump.c 
b/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
index d2bfb43..705ca29 100644
--- a/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
+++ b/src/gallium/drivers/svga/svgadump/svga_shader_dump.c
@@ -360,7 +360,7 @@ dump_dstreg(struct sh_dstreg dstreg,
union {
   struct sh_reg reg;
   struct sh_dstreg dstreg;
-   } u;
+   } u = { { 0 } };
 
assert( (dstreg.modifier & (SVGA3DDSTMOD_SATURATE | 
SVGA3DDSTMOD_PARTIALPRECISION)) == dstreg.modifier );
 

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


Mesa (master): mesa: Remove unnecessary headers.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: e7a53c78aebdc8ed3032379314dcd507e2db5262
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7a53c78aebdc8ed3032379314dcd507e2db5262

Author: Vinson Lee 
Date:   Fri Feb 12 23:04:20 2010 -0800

mesa: Remove unnecessary headers.

---

 src/mesa/drivers/common/driverfuncs.c |2 --
 src/mesa/drivers/common/meta.c|1 -
 2 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/common/driverfuncs.c 
b/src/mesa/drivers/common/driverfuncs.c
index 5c5e178..49d4aae 100644
--- a/src/mesa/drivers/common/driverfuncs.c
+++ b/src/mesa/drivers/common/driverfuncs.c
@@ -26,7 +26,6 @@
 #include "main/glheader.h"
 #include "main/imports.h"
 #include "main/arrayobj.h"
-#include "main/buffers.h"
 #include "main/context.h"
 #include "main/framebuffer.h"
 #include "main/mipmap.h"
@@ -50,7 +49,6 @@
 #endif
 
 #include "shader/program.h"
-#include "shader/prog_execute.h"
 #include "shader/shader_api.h"
 #include "tnl/tnl.h"
 #include "swrast/swrast.h"
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index e500359..7116d92 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -56,7 +56,6 @@
 #include "main/stencil.h"
 #include "main/texobj.h"
 #include "main/texenv.h"
-#include "main/texformat.h"
 #include "main/teximage.h"
 #include "main/texparam.h"
 #include "main/texstate.h"

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


Mesa (master): dri: Remove unnecessary headers.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: fcd8ffe8e14861c22d1b937f898793dc5f6a1420
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcd8ffe8e14861c22d1b937f898793dc5f6a1420

Author: Vinson Lee 
Date:   Fri Feb 12 23:18:08 2010 -0800

dri: Remove unnecessary headers.

---

 src/mesa/drivers/dri/common/dri_metaops.c |8 
 src/mesa/drivers/dri/common/drirenderbuffer.c |1 -
 src/mesa/drivers/dri/common/xmlconfig.c   |7 ---
 3 files changed, 0 insertions(+), 16 deletions(-)

diff --git a/src/mesa/drivers/dri/common/dri_metaops.c 
b/src/mesa/drivers/dri/common/dri_metaops.c
index c7bea07..dfb7d64 100644
--- a/src/mesa/drivers/dri/common/dri_metaops.c
+++ b/src/mesa/drivers/dri/common/dri_metaops.c
@@ -27,17 +27,9 @@
  **/
 
 #include "main/arrayobj.h"
-#include "main/attrib.h"
-#include "main/blend.h"
 #include "main/bufferobj.h"
-#include "main/buffers.h"
-#include "main/depth.h"
 #include "main/enable.h"
 #include "main/matrix.h"
-#include "main/macros.h"
-#include "main/polygon.h"
-#include "main/shaders.h"
-#include "main/stencil.h"
 #include "main/texstate.h"
 #include "main/varray.h"
 #include "main/viewport.h"
diff --git a/src/mesa/drivers/dri/common/drirenderbuffer.c 
b/src/mesa/drivers/dri/common/drirenderbuffer.c
index 3126ea8..fe38f60 100644
--- a/src/mesa/drivers/dri/common/drirenderbuffer.c
+++ b/src/mesa/drivers/dri/common/drirenderbuffer.c
@@ -1,7 +1,6 @@
 
 #include "main/mtypes.h"
 #include "main/formats.h"
-#include "main/framebuffer.h"
 #include "main/renderbuffer.h"
 #include "main/imports.h"
 #include "drirenderbuffer.h"
diff --git a/src/mesa/drivers/dri/common/xmlconfig.c 
b/src/mesa/drivers/dri/common/xmlconfig.c
index 46ba2ff..477259e 100644
--- a/src/mesa/drivers/dri/common/xmlconfig.c
+++ b/src/mesa/drivers/dri/common/xmlconfig.c
@@ -39,13 +39,6 @@
 #include "dri_util.h"
 #include "xmlconfig.h"
 
-/*
- * OS dependent ways of getting the name of the running program
- */
-#if (defined(__unix__) || defined(unix)) && !defined(USG)
-#include 
-#endif
-
 #undef GET_PROGRAM_NAME
 
 #if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__)

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


Mesa (master): st/xlib: Remove unnecessary header.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 4123df20742eae7b37d580f32ab8329a00cc8ca3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4123df20742eae7b37d580f32ab8329a00cc8ca3

Author: Vinson Lee 
Date:   Fri Feb 12 23:24:22 2010 -0800

st/xlib: Remove unnecessary header.

---

 src/gallium/state_trackers/glx/xlib/glx_usefont.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/glx_usefont.c 
b/src/gallium/state_trackers/glx/xlib/glx_usefont.c
index 16e5ce6..e502198 100644
--- a/src/gallium/state_trackers/glx/xlib/glx_usefont.c
+++ b/src/gallium/state_trackers/glx/xlib/glx_usefont.c
@@ -33,7 +33,6 @@
 #include "main/context.h"
 #include "main/imports.h"
 #include 
-#include "pipe/p_compiler.h"
 
 
 /* Some debugging info.  */

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


Mesa (master): i965: Remove unnecessary headers.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 1213eb6cb4d9e29627b01350fe4e2ef0ad313713
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1213eb6cb4d9e29627b01350fe4e2ef0ad313713

Author: Vinson Lee 
Date:   Fri Feb 12 23:37:36 2010 -0800

i965: Remove unnecessary headers.

---

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

diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c 
b/src/mesa/drivers/dri/i965/brw_state_cache.c
index 5fc47b0..1369d97 100644
--- a/src/mesa/drivers/dri/i965/brw_state_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_state_cache.c
@@ -59,15 +59,7 @@
 #include "main/imports.h"
 #include "brw_state.h"
 #include "intel_batchbuffer.h"
-
-/* XXX: Fixme - have to include these to get the sizes of the prog_key
- * structs:
- */
 #include "brw_wm.h"
-#include "brw_vs.h"
-#include "brw_clip.h"
-#include "brw_sf.h"
-#include "brw_gs.h"
 
 
 static GLuint

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


Mesa (master): mesa: Remove unnecessary header.

2010-02-12 Thread Vinson Lee
Module: Mesa
Branch: master
Commit: 672f98baf7aa04e90d4bb5fe28f0c1acb6d8aa0b
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=672f98baf7aa04e90d4bb5fe28f0c1acb6d8aa0b

Author: Vinson Lee 
Date:   Fri Feb 12 23:47:45 2010 -0800

mesa: Remove unnecessary header.

---

 src/mesa/main/get.c  |1 -
 src/mesa/main/get_gen.py |1 -
 2 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 2724774..60fef55 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -7,7 +7,6 @@
 #include "context.h"
 #include "enable.h"
 #include "extensions.h"
-#include "fbobject.h"
 #include "get.h"
 #include "macros.h"
 #include "mtypes.h"
diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py
index 9ae3ce0..b37a373 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -1225,7 +1225,6 @@ def EmitHeader():
 #include "context.h"
 #include "enable.h"
 #include "extensions.h"
-#include "fbobject.h"
 #include "get.h"
 #include "macros.h"
 #include "mtypes.h"

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