Mesa (master): xlib: fix incorrect GL_ANGLE_texture_compression_dxt enable

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: becec657d6e4597fd43507e5cf5a5aef5c93ce12
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=becec657d6e4597fd43507e5cf5a5aef5c93ce12

Author: Brian Paul bri...@vmware.com
Date:   Sat Jan 26 09:43:07 2013 -0700

xlib: fix incorrect GL_ANGLE_texture_compression_dxt enable

Reviewed-by: Ian Romanick ian.d.roman...@intel.com

---

 src/mesa/drivers/x11/xm_api.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index 5931f5b..739e8ac 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -929,7 +929,8 @@ XMesaContext XMesaCreateContext( XMesaVisual v, 
XMesaContext share_list )
_mesa_enable_2_1_extensions(mesaCtx);
 if (mesaCtx-Mesa_DXTn) {
_mesa_enable_extension(mesaCtx, GL_EXT_texture_compression_s3tc);
-   _mesa_enable_extension(mesaCtx, GL_ANGLE_texture_compression_dxt);
+   _mesa_enable_extension(mesaCtx, GL_ANGLE_texture_compression_dxt3);
+   _mesa_enable_extension(mesaCtx, GL_ANGLE_texture_compression_dxt5);
 }
 _mesa_enable_extension(mesaCtx, GL_3DFX_texture_compression_FXT1);
 #if ENABLE_EXT_timer_query

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


Mesa (master): xlib: stop use _mesa_enable_extension(), just set the boolean flags

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 4e41ae5fc11c0a6d4804386224d85989931d7c0e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e41ae5fc11c0a6d4804386224d85989931d7c0e

Author: Brian Paul bri...@vmware.com
Date:   Mon Jan 28 12:58:53 2013 -0700

xlib: stop use _mesa_enable_extension(), just set the boolean flags

Reviewed-by: Ian Romanick ian.d.roman...@intel.com

---

 src/mesa/drivers/x11/xm_api.c |9 -
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index 739e8ac..f23755e 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -928,13 +928,12 @@ XMesaContext XMesaCreateContext( XMesaVisual v, 
XMesaContext share_list )
_mesa_enable_2_0_extensions(mesaCtx);
_mesa_enable_2_1_extensions(mesaCtx);
 if (mesaCtx-Mesa_DXTn) {
-   _mesa_enable_extension(mesaCtx, GL_EXT_texture_compression_s3tc);
-   _mesa_enable_extension(mesaCtx, GL_ANGLE_texture_compression_dxt3);
-   _mesa_enable_extension(mesaCtx, GL_ANGLE_texture_compression_dxt5);
+   mesaCtx-Extensions.EXT_texture_compression_s3tc = GL_TRUE;
+   mesaCtx-Extensions.ANGLE_texture_compression_dxt = GL_TRUE; 
 }
-_mesa_enable_extension(mesaCtx, GL_3DFX_texture_compression_FXT1);
+mesaCtx-Extensions.TDFX_texture_compression_FXT1 = GL_TRUE;
 #if ENABLE_EXT_timer_query
-_mesa_enable_extension(mesaCtx, GL_EXT_timer_query);
+mesaCtx-Extensions.EXT_timer_query = GL_TRUE;
 #endif
 
 

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


Mesa (master): st/mesa: set ctx-Const.MaxSamples = 0, not 1

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: d60da27273d2cdb68bc32cae2ca66718dab15f27
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d60da27273d2cdb68bc32cae2ca66718dab15f27

Author: Brian Paul bri...@vmware.com
Date:   Sat Jan 26 10:09:37 2013 -0700

st/mesa: set ctx-Const.MaxSamples = 0, not 1

The gallium docs for pipe_screen::is_format_supported() says that
samples==0 or samples==1 both mean that multisampling is not supported.
Return GL_MAX_SAMPLES==0 instead of 1 for consistency with other drivers.

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Marek Olšák mar...@gmail.com

---

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

diff --git a/src/mesa/state_tracker/st_extensions.c 
b/src/mesa/state_tracker/st_extensions.c
index af54cf7..f0d8a4c 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -653,6 +653,10 @@ void st_init_extensions(struct st_context *st)
  break;
   }
}
+   if (ctx-Const.MaxSamples == 1) {
+  /* one sample doesn't really make sense */
+  ctx-Const.MaxSamples = 0;
+   }
 
if (ctx-Const.MaxDualSourceDrawBuffers  0)
   ctx-Extensions.ARB_blend_func_extended = GL_TRUE;

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


Mesa (master): xlib: use _mesa_generate_mipmap() for mipmap generation, not meta

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 89551ae04f4cf994c0f7f2ac3aef7e1c57936a29
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=89551ae04f4cf994c0f7f2ac3aef7e1c57936a29

Author: Brian Paul bri...@vmware.com
Date:   Sat Jan 26 10:58:37 2013 -0700

xlib: use _mesa_generate_mipmap() for mipmap generation, not meta

The swrast fragment program interpreter has trouble computing the
right texture LOD because it doesn't have easy access to input
derivatives.  This causes the GLSL-based meta generate mipmap code
to fetch texels from the wrong mipmap level.

One possible fix would be to set the GL_TEXTURE_MIN/MAX_LOD parameters
to limit sampling from the right level.  But let's just use the
_mesa_generate_mipmap() fallback since it's a lot faster than using
the fragment shader interpreter.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=54240

Note: This is a candidate for the 9.0 branch.

Reviewed-by: José Fonseca jfons...@vmware.com

---

 src/mesa/drivers/x11/xm_dd.c |3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c
index cdf06aa..cfbdeb5 100644
--- a/src/mesa/drivers/x11/xm_dd.c
+++ b/src/mesa/drivers/x11/xm_dd.c
@@ -34,6 +34,7 @@
 #include main/colormac.h
 #include main/fbobject.h
 #include main/macros.h
+#include main/mipmap.h
 #include main/image.h
 #include main/imports.h
 #include main/mtypes.h
@@ -869,6 +870,8 @@ xmesa_init_driver_functions( XMesaVisual xmvisual,
driver-MapRenderbuffer = xmesa_MapRenderbuffer;
driver-UnmapRenderbuffer = xmesa_UnmapRenderbuffer;
 
+   driver-GenerateMipmap = _mesa_generate_mipmap;
+
 #if ENABLE_EXT_timer_query
driver-NewQueryObject = xmesa_new_query_object;
driver-BeginQuery = xmesa_begin_query;

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


Mesa (master): osmesa: use _mesa_generate_mipmap() for mipmap generation, not meta

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 2180f3297285e96d7b69e1cef4414461ba42b0d2
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2180f3297285e96d7b69e1cef4414461ba42b0d2

Author: Brian Paul bri...@vmware.com
Date:   Sat Jan 26 11:07:35 2013 -0700

osmesa: use _mesa_generate_mipmap() for mipmap generation, not meta

See previous commit for more info.

Note: This is a candidate for the 9.0 branch.

Reviewed-by: José Fonseca jfons...@vmware.com

---

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

diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 755f371..c9685d8 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -42,6 +42,7 @@
 #include main/framebuffer.h
 #include main/imports.h
 #include main/macros.h
+#include main/mipmap.h
 #include main/mtypes.h
 #include main/renderbuffer.h
 #include main/version.h
@@ -783,6 +784,8 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, 
GLint stencilBits,
  ctx-Driver.MapRenderbuffer = osmesa_MapRenderbuffer;
  ctx-Driver.UnmapRenderbuffer = osmesa_UnmapRenderbuffer;
 
+ ctx-Driver.GenerateMipmap = _mesa_generate_mipmap;
+
  /* Extend the software rasterizer with our optimized line and triangle
   * drawing functions.
   */

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


Mesa (master): mesa: don' t enable GL_EXT_framebuffer_multisample for software drivers

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 8f3c81d0182b10d99976dd0a80f10eebebf54017
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f3c81d0182b10d99976dd0a80f10eebebf54017

Author: Brian Paul bri...@vmware.com
Date:   Mon Jan 28 11:31:33 2013 -0700

mesa: don't enable GL_EXT_framebuffer_multisample for software drivers

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Jose Fonseca jfons...@vmware.com

---

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

diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 7ae07fb..7a8195a 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -418,7 +418,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
ctx-Extensions.EXT_fog_coord = GL_TRUE;
ctx-Extensions.EXT_framebuffer_object = GL_TRUE;
ctx-Extensions.EXT_framebuffer_blit = GL_TRUE;
-   ctx-Extensions.EXT_framebuffer_multisample = GL_TRUE;
ctx-Extensions.EXT_packed_depth_stencil = GL_TRUE;
ctx-Extensions.EXT_pixel_buffer_object = GL_TRUE;
ctx-Extensions.EXT_point_parameters = GL_TRUE;

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


Mesa (master): st/mesa: only enable GL_EXT_framebuffer_multisample if GL_MAX_SAMPLES = 2

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: c80bacba2ed88bccc92ab7a7151e14ad32729249
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c80bacba2ed88bccc92ab7a7151e14ad32729249

Author: Brian Paul bri...@vmware.com
Date:   Mon Jan 28 11:32:13 2013 -0700

st/mesa: only enable GL_EXT_framebuffer_multisample if GL_MAX_SAMPLES = 2

We never really have multisampling with one sample per pixel.
See also http://bugs.freedesktop.org/show_bug.cgi?id=59873

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Jose Fonseca jfons...@vmware.com

---

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

diff --git a/src/mesa/state_tracker/st_extensions.c 
b/src/mesa/state_tracker/st_extensions.c
index f0d8a4c..34c0d7b 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -534,7 +534,6 @@ void st_init_extensions(struct st_context *st)
ctx-Extensions.EXT_blend_minmax = GL_TRUE;
ctx-Extensions.EXT_framebuffer_blit = GL_TRUE;
ctx-Extensions.EXT_framebuffer_object = GL_TRUE;
-   ctx-Extensions.EXT_framebuffer_multisample = GL_TRUE;
ctx-Extensions.EXT_fog_coord = GL_TRUE;
ctx-Extensions.EXT_gpu_program_parameters = GL_TRUE;
ctx-Extensions.EXT_pixel_buffer_object = GL_TRUE;
@@ -657,6 +656,9 @@ void st_init_extensions(struct st_context *st)
   /* one sample doesn't really make sense */
   ctx-Const.MaxSamples = 0;
}
+   else if (ctx-Const.MaxSamples = 2) {
+  ctx-Extensions.EXT_framebuffer_multisample = GL_TRUE;
+   }
 
if (ctx-Const.MaxDualSourceDrawBuffers  0)
   ctx-Extensions.ARB_blend_func_extended = GL_TRUE;

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


Mesa (master): docs: more VMware guest driver info, tips

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: d83336ce3ee5670e728a218ebd438cd72c7dd661
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d83336ce3ee5670e728a218ebd438cd72c7dd661

Author: Brian Paul bri...@vmware.com
Date:   Mon Jan 28 17:44:46 2013 -0700

docs: more VMware guest driver info, tips

---

 docs/vmware-guest.html |   17 +
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/docs/vmware-guest.html b/docs/vmware-guest.html
index ac5f03c..b5f136f 100644
--- a/docs/vmware-guest.html
+++ b/docs/vmware-guest.html
@@ -29,6 +29,7 @@ MacOS are all supported.
 p
 End users shouldn't have to go through all these steps once the driver is
 included in newer Linux distributions.
+Fedora 18 and Ubuntu 12.10 include the VMware guest GL driver, for example.
 /p
 
 p
@@ -162,6 +163,22 @@ Then
   sudo cp 00-vmwgfx.rules /etc/udev/rules.d
   sudo depmod -ae
   /pre
+
+Note: some distros put DRM kernel drivers in different directories.
+For example, sometimes vmwgfx.ko might be found in
+code/lib/modules/{version}/extra/vmwgfx.ko/code or in
+code/lib/modules/{version}/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko/code.
+p
+After installing vmwgfx.ko you might want to run the following command to
+check that the new kernel module is in the expected place:
+pre
+  find /lib/modules -name vmwgfx.ko -exec ls -l '{}' \;
+/pre
+If you see the kernel module listed in more than one place, you may need to
+move things around.
+p
+Finally, if you update your kernel you'll probably have to rebuild and
+reinstall the vmwgfx.ko module again.
 /ul
 
 

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


Mesa (master): docs/relnotes-9.1: document new features in radeon drivers

2013-01-29 Thread Marek Olšák
Module: Mesa
Branch: master
Commit: 845130951f9f62a1baba9ae9ea2b234e83ac5c94
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=845130951f9f62a1baba9ae9ea2b234e83ac5c94

Author: Marek Olšák mar...@gmail.com
Date:   Tue Jan 29 17:32:14 2013 +0100

docs/relnotes-9.1: document new features in radeon drivers

---

 docs/relnotes-9.1.html |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/docs/relnotes-9.1.html b/docs/relnotes-9.1.html
index 036290e..350ae27 100644
--- a/docs/relnotes-9.1.html
+++ b/docs/relnotes-9.1.html
@@ -54,6 +54,8 @@ Note: some of the new features are only available with 
certain drivers.
 liGL_ARB_texture_cube_map_array/li
 liGL_EXT_color_buffer_float/li
 liGL_OES_depth_texture_cube_map/li
+liOpenGL 3.1 core profile support on Radeon HD2000 up to HD6000 series /li
+liMultisample anti-aliasing support on Radeon X1000 series/li
 /ul
 
 

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


Mesa (9.1): docs/relnotes-9.1: document new features in radeon drivers

2013-01-29 Thread Marek Olšák
Module: Mesa
Branch: 9.1
Commit: d7ca04a7c3a7f9170469615affcb4f6eebd524e5
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7ca04a7c3a7f9170469615affcb4f6eebd524e5

Author: Marek Olšák mar...@gmail.com
Date:   Tue Jan 29 17:32:14 2013 +0100

docs/relnotes-9.1: document new features in radeon drivers

(cherry picked from commit 845130951f9f62a1baba9ae9ea2b234e83ac5c94)

---

 docs/relnotes-9.1.html |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/docs/relnotes-9.1.html b/docs/relnotes-9.1.html
index 036290e..350ae27 100644
--- a/docs/relnotes-9.1.html
+++ b/docs/relnotes-9.1.html
@@ -54,6 +54,8 @@ Note: some of the new features are only available with 
certain drivers.
 liGL_ARB_texture_cube_map_array/li
 liGL_EXT_color_buffer_float/li
 liGL_OES_depth_texture_cube_map/li
+liOpenGL 3.1 core profile support on Radeon HD2000 up to HD6000 series /li
+liMultisample anti-aliasing support on Radeon X1000 series/li
 /ul
 
 

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


Mesa (master): draw: fix draw_llvm_variant_key struct padding to avoid recompiles

2013-01-29 Thread Roland Scheidegger
Module: Mesa
Branch: master
Commit: 0eb588a37cc0427fd5c6a1ed2b212ed5d68f4dab
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0eb588a37cc0427fd5c6a1ed2b212ed5d68f4dab

Author: Roland Scheidegger srol...@vmware.com
Date:   Tue Jan 29 08:39:09 2013 -0800

draw: fix draw_llvm_variant_key struct padding to avoid recompiles

The struct padding got broken by c789b981b244333cfc903bcd1e2fefc010500013.
This caused serious performance regression because part of the key was
uninitialized and hence the shader always recompiled (at least on release
builds...).
While here also fix key size calculation when the number of samplers
and the number of sampler views are different.

v2: add comment

Reviewed-by: Jose Fonseca jfons...@vmware.com
Reviewed-by: Brian Paul bri...@vmware.com

---

 src/gallium/auxiliary/draw/draw_llvm.c|3 ++-
 src/gallium/auxiliary/draw/draw_llvm.h|7 ++-
 src/gallium/auxiliary/draw/draw_vs_llvm.c |5 +++--
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_llvm.c 
b/src/gallium/auxiliary/draw/draw_llvm.c
index afb10a6..dc83f80 100644
--- a/src/gallium/auxiliary/draw/draw_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_llvm.c
@@ -1378,7 +1378,8 @@ draw_llvm_make_variant_key(struct draw_llvm *llvm, char 
*store)
key-clip_halfz = !llvm-draw-rasterizer-gl_rasterization_rules;
key-need_edgeflags = (llvm-draw-vs.edgeflag_output ? TRUE : FALSE);
key-ucp_enable = llvm-draw-rasterizer-clip_plane_enable;
-   key-pad = 0;
+   key-pad1 = 0;
+   key-pad2 = 0;
 
/* All variants of this shader will have the same value for
 * nr_samplers.  Not yet trying to compact away holes in the
diff --git a/src/gallium/auxiliary/draw/draw_llvm.h 
b/src/gallium/auxiliary/draw/draw_llvm.h
index a664857..17ca304 100644
--- a/src/gallium/auxiliary/draw/draw_llvm.h
+++ b/src/gallium/auxiliary/draw/draw_llvm.h
@@ -206,8 +206,13 @@ struct draw_llvm_variant_key
unsigned clip_halfz:1;
unsigned bypass_viewport:1;
unsigned need_edgeflags:1;
+   /*
+* it is important there are no holes in this struct
+* (and all padding gets zeroed).
+*/
+   unsigned pad1:1;
unsigned ucp_enable:PIPE_MAX_CLIP_PLANES;
-   unsigned pad:33-PIPE_MAX_CLIP_PLANES;
+   unsigned pad2:32-PIPE_MAX_CLIP_PLANES;
 
/* Variable number of vertex elements:
 */
diff --git a/src/gallium/auxiliary/draw/draw_vs_llvm.c 
b/src/gallium/auxiliary/draw/draw_vs_llvm.c
index 3e46f8c..ac3999e 100644
--- a/src/gallium/auxiliary/draw/draw_vs_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_vs_llvm.c
@@ -100,8 +100,9 @@ draw_create_vs_llvm(struct draw_context *draw,
 
vs-variant_key_size = 
   draw_llvm_variant_key_size(
-vs-base.info.file_max[TGSI_FILE_INPUT]+1,
-vs-base.info.file_max[TGSI_FILE_SAMPLER]+1);
+ vs-base.info.file_max[TGSI_FILE_INPUT]+1,
+ MAX2(vs-base.info.file_max[TGSI_FILE_SAMPLER]+1,
+  vs-base.info.file_max[TGSI_FILE_SAMPLER_VIEW]+1));
 
vs-base.state.stream_output = state-stream_output;
vs-base.draw = draw;

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


Mesa (master): llvmpipe: Fix deferred depth writes for Z16_UNORM.

2013-01-29 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 3b683700efe81f82ba2f978d6c645385e5ccfa97
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b683700efe81f82ba2f978d6c645385e5ccfa97

Author: José Fonseca jfons...@vmware.com
Date:   Tue Jan 29 10:45:01 2013 +

llvmpipe: Fix deferred depth writes for Z16_UNORM.

This special path hadn't been exercised by my earlier testing, and mask
values weren't being properly truncated to match the values.

This change fixes that.

Reviewed-by: Brian Paul bri...@vmware.com
Reviewed-by: Roland Scheidegger srol...@vmware.com

---

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

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c 
b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
index 1c899b3..24c997d 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c
+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
@@ -893,6 +893,7 @@ lp_build_deferred_depth_write(struct gallivm_state *gallivm,
struct lp_build_context z_bld;
LLVMValueRef z_dst;
LLVMBuilderRef builder = gallivm-builder;
+   LLVMValueRef mask_value;
 
/* XXX: pointlessly redo type logic:
 */
@@ -904,11 +905,15 @@ lp_build_deferred_depth_write(struct gallivm_state 
*gallivm,
 
z_dst = LLVMBuildLoad(builder, zs_dst_ptr, zsbufval);
 
+   mask_value = lp_build_mask_value(mask);
+
if (z_type.width  z_src_type.width) {
+  /* Truncate incoming ZS and mask values (e.g., when writing to 
Z16_UNORM) */
   zs_value = LLVMBuildTrunc(builder, zs_value, z_bld.vec_type, );
+  mask_value = LLVMBuildTrunc(builder, mask_value, z_bld.int_vec_type, );
}
 
-   z_dst = lp_build_select(z_bld, lp_build_mask_value(mask), zs_value, z_dst);
+   z_dst = lp_build_select(z_bld, mask_value, zs_value, z_dst);
 
LLVMBuildStore(builder, z_dst, zs_dst_ptr);
 }

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


Mesa (master): llvmpipe: Don't advertise S8_UNORM ( with feeble attempt at supporting it).

2013-01-29 Thread Jose Fonseca
Module: Mesa
Branch: master
Commit: 42f762dcf682957a8a5c85ca1d30b28f41ea4bd0
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=42f762dcf682957a8a5c85ca1d30b28f41ea4bd0

Author: José Fonseca jfons...@vmware.com
Date:   Tue Jan 29 13:27:44 2013 +

llvmpipe: Don't advertise S8_UNORM (with feeble attempt at supporting it).

S8_UNORM was inadvertedly supported together with Z16_UNORM.

I tried to update the code to accomodate stencil-only -- it seemed a simple
thing to do -- but fbo-stencil clear GL_STENCIL_INDEX8 still fails,
and it's not worth debugging.

Therefore although this change tries to update for S8_UNORM, it also
disables it completely.

Reviewed-by: Brian Paul bri...@vmware.com
Reviewed-by: Roland Scheidegger srol...@vmware.com

---

 src/gallium/drivers/llvmpipe/lp_bld_depth.c |   75 ++
 src/gallium/drivers/llvmpipe/lp_screen.c|7 ++-
 2 files changed, 46 insertions(+), 36 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c 
b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
index 24c997d..b9dbdc5 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c
+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c
@@ -306,35 +306,35 @@ lp_depth_type(const struct util_format_description 
*format_desc,
   unsigned length)
 {
struct lp_type type;
-   unsigned swizzle;
+   unsigned z_swizzle;
 
assert(format_desc-colorspace == UTIL_FORMAT_COLORSPACE_ZS);
assert(format_desc-block.width == 1);
assert(format_desc-block.height == 1);
 
-   swizzle = format_desc-swizzle[0];
-   assert(swizzle  4);
-
memset(type, 0, sizeof type);
type.width = format_desc-block.bits;
 
-   if(format_desc-channel[swizzle].type == UTIL_FORMAT_TYPE_FLOAT) {
-  type.floating = TRUE;
-  assert(swizzle == 0);
-  assert(format_desc-channel[swizzle].size == format_desc-block.bits);
-   }
-   else if(format_desc-channel[swizzle].type == UTIL_FORMAT_TYPE_UNSIGNED) {
-  assert(format_desc-block.bits = 32);
-  assert(format_desc-channel[swizzle].normalized);
-  if (format_desc-channel[swizzle].size  format_desc-block.bits) {
- /* Prefer signed integers when possible, as SSE has less support
-  * for unsigned comparison;
-  */
- type.sign = TRUE;
+   z_swizzle = format_desc-swizzle[0];
+   if (z_swizzle  4) {
+  if (format_desc-channel[z_swizzle].type == UTIL_FORMAT_TYPE_FLOAT) {
+ type.floating = TRUE;
+ assert(z_swizzle == 0);
+ assert(format_desc-channel[z_swizzle].size == 
format_desc-block.bits);
+  }
+  else if(format_desc-channel[z_swizzle].type == 
UTIL_FORMAT_TYPE_UNSIGNED) {
+ assert(format_desc-block.bits = 32);
+ assert(format_desc-channel[z_swizzle].normalized);
+ if (format_desc-channel[z_swizzle].size  format_desc-block.bits) {
+/* Prefer signed integers when possible, as SSE has less support
+ * for unsigned comparison;
+ */
+type.sign = TRUE;
+ }
   }
+  else
+ assert(0);
}
-   else
-  assert(0);
 
type.length = length;
 
@@ -604,24 +604,29 @@ lp_build_depth_stencil_test(struct gallivm_state *gallivm,
   assert(format_desc-block.height == 1);
 
   if (stencil[0].enabled) {
- assert(format_desc-format == PIPE_FORMAT_Z24_UNORM_S8_UINT ||
-format_desc-format == PIPE_FORMAT_S8_UINT_Z24_UNORM);
+ assert(s_swizzle  4);
+ assert(format_desc-channel[s_swizzle].type == 
UTIL_FORMAT_TYPE_UNSIGNED);
+ assert(format_desc-channel[s_swizzle].pure_integer);
+ assert(!format_desc-channel[s_swizzle].normalized);
+ assert(format_desc-channel[s_swizzle].size == 8);
   }
 
-  assert(z_swizzle  4);
-  assert(format_desc-block.bits = z_type.width);
-  if (z_type.floating) {
- assert(z_swizzle == 0);
- assert(format_desc-channel[z_swizzle].type ==
-UTIL_FORMAT_TYPE_FLOAT);
- assert(format_desc-channel[z_swizzle].size ==
-format_desc-block.bits);
-  }
-  else {
- assert(format_desc-channel[z_swizzle].type ==
-UTIL_FORMAT_TYPE_UNSIGNED);
- assert(format_desc-channel[z_swizzle].normalized);
- assert(!z_type.fixed);
+  if (depth-enabled) {
+ assert(z_swizzle  4);
+ assert(format_desc-block.bits = z_type.width);
+ if (z_type.floating) {
+assert(z_swizzle == 0);
+assert(format_desc-channel[z_swizzle].type ==
+   UTIL_FORMAT_TYPE_FLOAT);
+assert(format_desc-channel[z_swizzle].size ==
+   format_desc-block.bits);
+ }
+ else {
+assert(format_desc-channel[z_swizzle].type ==
+   UTIL_FORMAT_TYPE_UNSIGNED);
+assert(format_desc-channel[z_swizzle].normalized);
+assert(!z_type.fixed);
+ }
   }
}
 
diff --git 

Mesa (master): mesa: fix comment typo: s/formaat/format/

2013-01-29 Thread Brian Paul
Module: Mesa
Branch: master
Commit: 70c5297439cc5401045ec842a6abeda118296f69
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=70c5297439cc5401045ec842a6abeda118296f69

Author: Brian Paul bri...@vmware.com
Date:   Tue Jan 29 11:52:39 2013 -0700

mesa: fix comment typo: s/formaat/format/

---

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

diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index 47a1d68..1c9e633 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -2649,7 +2649,7 @@ _mesa_format_to_type_and_comps(gl_format format,
 }
 
 /**
- * Check if a gl_format exactly matches a GL formaat/type combination
+ * Check if a gl_format exactly matches a GL format/type combination
  * such that we can use memcpy() from one to the other.
  * \param gl_format  a MESA_FORMAT_x value
  * \param format  the user-specified image format

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


Mesa (master): glx: Check that swap_buffers_reply is non-NULL before using it

2013-01-29 Thread Stephane Marchesin
Module: Mesa
Branch: master
Commit: 67e7263e4567f36e59009a1ca076a2854a6c1b0e
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=67e7263e4567f36e59009a1ca076a2854a6c1b0e

Author: Stéphane Marchesin marc...@chromium.org
Date:   Mon Jan 28 15:04:00 2013 -0800

glx: Check that swap_buffers_reply is non-NULL before using it

Check that the return value from xcb_dri2_swap_buffers_reply is
non-NULL before accessing the struct members.

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Brian Paul bri...@vmware.com

---

 src/glx/dri2_glx.c |8 +---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index a51716f..78a2a42 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -789,9 +789,11 @@ dri2XcbSwapBuffers(Display *dpy,
 
swap_buffers_reply =
   xcb_dri2_swap_buffers_reply(c, swap_buffers_cookie, NULL);
-   ret = merge_counter(swap_buffers_reply-swap_hi,
-   swap_buffers_reply-swap_lo);
-   free(swap_buffers_reply);
+   if (swap_buffers_reply) {
+  ret = merge_counter(swap_buffers_reply-swap_hi,
+  swap_buffers_reply-swap_lo);
+  free(swap_buffers_reply);
+   }
return ret;
 }
 

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


Mesa (9.1): build: Add missing comma in AS_IF

2013-01-29 Thread Matt Turner
Module: Mesa
Branch: 9.1
Commit: ff515c4e7cbd9f549e6b9054609ac380bec18468
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff515c4e7cbd9f549e6b9054609ac380bec18468

Author: Matt Turner matts...@gmail.com
Date:   Tue Jan 29 11:22:06 2013 -0800

build: Add missing comma in AS_IF

Reported-by: Lauri Kasanencur...@operamail.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47248#c15

---

 configure.ac |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 1e352db..564ca3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,10 +57,10 @@ LT_PREREQ([2.2])
 LT_INIT([disable-static])
 
 AX_PROG_BISON([],
-  AS_IF([test ! -f $srcdir/src/glsl/glcpp/glcpp-parse.c]
+  AS_IF([test ! -f $srcdir/src/glsl/glcpp/glcpp-parse.c],
 [AC_MSG_ERROR([bison not found - unable to compile 
glcpp-parse.y])]))
 AX_PROG_FLEX([],
- AS_IF([test ! -f $srcdir/src/glsl/glcpp/glcpp-lex.c]
+ AS_IF([test ! -f $srcdir/src/glsl/glcpp/glcpp-lex.c],
[AC_MSG_ERROR([flex not found - unable to compile 
glcpp-lex.l])]))
 
 AC_PATH_PROG([PERL], [perl])

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