Re: [Mesa-dev] GL_ARB_debug_output from drivers

2013-02-23 Thread Jose Fonseca


- Original Message -
> One of the features Valve asked for, that they expected after using other
> drivers, is that they can easily get information about performance traps
> (and other important stuff) from drivers.  We wrote INTEL_DEBUG=perf this
> summer as a quick fix, but it's not how most drivers integrate this sort
> of feedback.  Instead, you make a debug context, and you take a bit of a
> performance hit but you get GL_ARB_debug_output messages from the driver.
> 
> I didn't want to just dump the same ID in every message, since that's
> definitely not what the spec intends you to do, so I'd been delaying the
> ARB_debug_output work until I could decide how to make that possible.
> This is what I came up with after a few false starts.  I haven't fixed up
> the current messages to have unique IDs, though.  I'd like to do something
> that doesn't involve spamming a static msg_id into each caller, but to
> avoid that I need a #define with varargs.  Is __VA_ARGS__ or some
> equivalent standard enough that we can rely on it outside of drivers?

I thought that __VA_ARGS__ didn't work on MSVC, but according to 
http://msdn.microsoft.com/en-us/library/ms177415.aspx it does. Actually galahad 
uses it on src/gallium/drivers/galahad/glhd_context.h so it must be working 
everywhere we care.

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


[Mesa-dev] [Bug 61333] New: Gallium drivers no longer link with shared libglsl

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61333

  Priority: medium
Bug ID: 61333
  Assignee: mesa-dev@lists.freedesktop.org
   Summary: Gallium drivers no longer link with shared libglsl
  Severity: minor
Classification: Unclassified
OS: Linux (All)
  Reporter: cur...@operamail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: git
 Component: Other
   Product: Mesa

In 8.0, gallium drivers linked with shared dricore and glsl. In 9.0 and master
of today, they don't.

This is causing every driver to be ~8mb bigger than in 8.0.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 59187] [Steam] Implement GLSL 1.30 (for older chipsets than SandyBridge)

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=59187

matthewjohnruss...@gmail.com changed:

   What|Removed |Added

 CC||matthewjohnruss...@gmail.co
   ||m

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v2] vl: Fix off-by-one error in device_name_length allocation.

2013-02-23 Thread Michel Dänzer
On Sam, 2013-02-23 at 05:37 +0100, Vinson Lee wrote: 
> Fixes out-of-bounds write reported by Coverity.
> 
> Signed-off-by: Vinson Lee 

Reviewed-by: Michel Dänzer 


-- 
Earthling Michel Dänzer   |   http://www.amd.com
Libre software enthusiast |  Debian, X and DRI developer
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 61333] Gallium drivers no longer link with shared libglsl

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61333

--- Comment #1 from Fabio Pedretti  ---
See:
https://bugs.launchpad.net/ubuntu/precise/+source/mesa-lts-quantal/+bug/1117417
http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/mesa.git;a=tree;f=debian/patches;hb=refs/heads/ubuntu

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 4/4] r600g: enable CP DMA on r6xx (v2)

2013-02-23 Thread Marek Olšák
For the series:

Reviewed-by: Marek Olšák 

Marek

On Fri, Feb 22, 2013 at 8:38 PM,   wrote:
> From: Alex Deucher 
>
> With the previous flushing changes this seems to work
> reliably now.
>
> v2: add R600_CONTEXT_FLUSH_AND_INV
>
> Signed-off-by: Alex Deucher 
> ---
>  src/gallium/drivers/r600/r600_blit.c   |3 +--
>  src/gallium/drivers/r600/r600_hw_context.c |9 ++---
>  2 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_blit.c 
> b/src/gallium/drivers/r600/r600_blit.c
> index 046eab5..019b456 100644
> --- a/src/gallium/drivers/r600/r600_blit.c
> +++ b/src/gallium/drivers/r600/r600_blit.c
> @@ -508,8 +508,7 @@ void r600_copy_buffer(struct pipe_context *ctx, struct 
> pipe_resource *dst, unsig
>  {
> struct r600_context *rctx = (struct r600_context*)ctx;
>
> -   /* CP DMA doesn't work on R600 (flushing seems to be unreliable). */
> -   if (rctx->screen->info.drm_minor >= 27 && rctx->chip_class >= R700) {
> +   if (rctx->screen->info.drm_minor >= 27) {
> r600_cp_dma_copy_buffer(rctx, dst, dstx, src, src_box->x, 
> src_box->width);
> }
> else if (rctx->screen->has_streamout &&
> diff --git a/src/gallium/drivers/r600/r600_hw_context.c 
> b/src/gallium/drivers/r600/r600_hw_context.c
> index 735fdf2..1736414 100644
> --- a/src/gallium/drivers/r600/r600_hw_context.c
> +++ b/src/gallium/drivers/r600/r600_hw_context.c
> @@ -1115,12 +1115,6 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
> struct radeon_winsys_cs *cs = rctx->rings.gfx.cs;
>
> assert(size);
> -   assert(rctx->chip_class != R600);
> -
> -   /* CP DMA doesn't work on R600 (flushing seems to be unreliable). */
> -   if (rctx->chip_class == R600) {
> -   return;
> -   }
>
> dst_offset += r600_resource_va(&rctx->screen->screen, dst);
> src_offset += r600_resource_va(&rctx->screen->screen, src);
> @@ -1174,7 +1168,8 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
> }
>
> /* Invalidate the read caches. */
> -   rctx->flags |= R600_CONTEXT_INVAL_READ_CACHES;
> +   rctx->flags |= R600_CONTEXT_INVAL_READ_CACHES |
> +   R600_CONTEXT_FLUSH_AND_INV;
>  }
>
>  void r600_need_dma_space(struct r600_context *ctx, unsigned num_dw)
> --
> 1.7.7.5
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] util/dump: Use static assertion to detect string table size mismatches.

2013-02-23 Thread jfonseca
From: José Fonseca 

Suggested by Brian Paul.

Could probably be extended to other enums.
---
 src/gallium/auxiliary/util/u_dump_defines.c |   19 ++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_dump_defines.c 
b/src/gallium/auxiliary/util/u_dump_defines.c
index 2a996b2..cc62687 100644
--- a/src/gallium/auxiliary/util/u_dump_defines.c
+++ b/src/gallium/auxiliary/util/u_dump_defines.c
@@ -73,6 +73,23 @@ util_dump_enum_continuous(unsigned value,
}
 
 
+/**
+ * Same as DEFINE_UTIL_DUMP_CONTINUOUS but with static assertions to detect
+ * failures to update lists.
+ */
+#define DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(_name, _count) \
+   const char * \
+   util_dump_##_name(unsigned value, boolean shortened) \
+   { \
+  STATIC_ASSERT(Elements(util_dump_##_name##_names) == _count); \
+  STATIC_ASSERT(Elements(util_dump_##_name##_short_names) == _count); \
+  if(shortened) \
+ return util_dump_enum_continuous(value, 
Elements(util_dump_##_name##_short_names), util_dump_##_name##_short_names); \
+  else \
+ return util_dump_enum_continuous(value, 
Elements(util_dump_##_name##_names), util_dump_##_name##_names); \
+   }
+
+
 static const char *
 util_dump_blend_factor_names[] = {
UTIL_DUMP_INVALID_NAME, /* 0x0 */
@@ -282,7 +299,7 @@ util_dump_tex_target_short_names[] = {
"cube_array",
 };
 
-DEFINE_UTIL_DUMP_CONTINUOUS(tex_target)
+DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(tex_target, PIPE_MAX_TEXTURE_TYPES)
 
 
 static const char *
-- 
1.7.10.4

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


Re: [Mesa-dev] [PATCH 6/6] r600g: enable CP DMA on r6xx (v3)

2013-02-23 Thread Marek Olšák
For the series:

Reviewed-by: Marek Olšák 

Marek

On Fri, Feb 22, 2013 at 11:59 PM,   wrote:
> From: Alex Deucher 
>
> With the previous flushing changes this seems to work
> reliably now.
>
> v2: add R600_CONTEXT_FLUSH_AND_INV
> v3: just enable CP DMA
>
> Signed-off-by: Alex Deucher 
> ---
>  src/gallium/drivers/r600/r600_blit.c   |3 +--
>  src/gallium/drivers/r600/r600_hw_context.c |6 --
>  2 files changed, 1 insertions(+), 8 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_blit.c 
> b/src/gallium/drivers/r600/r600_blit.c
> index 046eab5..019b456 100644
> --- a/src/gallium/drivers/r600/r600_blit.c
> +++ b/src/gallium/drivers/r600/r600_blit.c
> @@ -508,8 +508,7 @@ void r600_copy_buffer(struct pipe_context *ctx, struct 
> pipe_resource *dst, unsig
>  {
> struct r600_context *rctx = (struct r600_context*)ctx;
>
> -   /* CP DMA doesn't work on R600 (flushing seems to be unreliable). */
> -   if (rctx->screen->info.drm_minor >= 27 && rctx->chip_class >= R700) {
> +   if (rctx->screen->info.drm_minor >= 27) {
> r600_cp_dma_copy_buffer(rctx, dst, dstx, src, src_box->x, 
> src_box->width);
> }
> else if (rctx->screen->has_streamout &&
> diff --git a/src/gallium/drivers/r600/r600_hw_context.c 
> b/src/gallium/drivers/r600/r600_hw_context.c
> index 8c92030..0537916 100644
> --- a/src/gallium/drivers/r600/r600_hw_context.c
> +++ b/src/gallium/drivers/r600/r600_hw_context.c
> @@ -1108,12 +1108,6 @@ void r600_cp_dma_copy_buffer(struct r600_context *rctx,
> struct radeon_winsys_cs *cs = rctx->rings.gfx.cs;
>
> assert(size);
> -   assert(rctx->chip_class != R600);
> -
> -   /* CP DMA doesn't work on R600 (flushing seems to be unreliable). */
> -   if (rctx->chip_class == R600) {
> -   return;
> -   }
>
> dst_offset += r600_resource_va(&rctx->screen->screen, dst);
> src_offset += r600_resource_va(&rctx->screen->screen, src);
> --
> 1.7.7.5
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] util/dump: Use static assertion to detect string table size mismatches.

2013-02-23 Thread Brian Paul

On 02/23/2013 03:51 AM, jfons...@vmware.com wrote:

From: José Fonseca

Suggested by Brian Paul.

Could probably be extended to other enums.
---
  src/gallium/auxiliary/util/u_dump_defines.c |   19 ++-
  1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_dump_defines.c 
b/src/gallium/auxiliary/util/u_dump_defines.c
index 2a996b2..cc62687 100644
--- a/src/gallium/auxiliary/util/u_dump_defines.c
+++ b/src/gallium/auxiliary/util/u_dump_defines.c
@@ -73,6 +73,23 @@ util_dump_enum_continuous(unsigned value,
 }


+/**
+ * Same as DEFINE_UTIL_DUMP_CONTINUOUS but with static assertions to detect
+ * failures to update lists.
+ */
+#define DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(_name, _count) \
+   const char * \
+   util_dump_##_name(unsigned value, boolean shortened) \
+   { \
+  STATIC_ASSERT(Elements(util_dump_##_name##_names) == _count); \
+  STATIC_ASSERT(Elements(util_dump_##_name##_short_names) == _count); \
+  if(shortened) \
+ return util_dump_enum_continuous(value, 
Elements(util_dump_##_name##_short_names), util_dump_##_name##_short_names); \
+  else \
+ return util_dump_enum_continuous(value, 
Elements(util_dump_##_name##_names), util_dump_##_name##_names); \
+   }
+
+
  static const char *
  util_dump_blend_factor_names[] = {
 UTIL_DUMP_INVALID_NAME, /* 0x0 */
@@ -282,7 +299,7 @@ util_dump_tex_target_short_names[] = {
 "cube_array",
  };

-DEFINE_UTIL_DUMP_CONTINUOUS(tex_target)
+DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(tex_target, PIPE_MAX_TEXTURE_TYPES)


  static const char *


Reviewed-by: Brian Paul 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] util/u_blitter: Set pipe_sampler_state::normalized_coords correctly.

2013-02-23 Thread jfonseca
From: José Fonseca 

We might want to revisit the normalized_coords semantics, but this is
the current expected behavior.

Fixes fdo bug 61091.
---
 src/gallium/auxiliary/util/u_blitter.c |   26 ++
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_blitter.c 
b/src/gallium/auxiliary/util/u_blitter.c
index 9522402..e37be4e 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -103,7 +103,10 @@ struct blitter_context_priv
void *velem_state_readbuf;
 
/* Sampler state. */
-   void *sampler_state, *sampler_state_linear;
+   void *sampler_state;
+   void *sampler_state_linear;
+   void *sampler_state_rect;
+   void *sampler_state_rect_linear;
 
/* Rasterizer state. */
void *rs_state, *rs_state_scissor, *rs_discard_state;
@@ -223,10 +226,15 @@ struct blitter_context *util_blitter_create(struct 
pipe_context *pipe)
sampler_state.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
sampler_state.normalized_coords = 1;
ctx->sampler_state = pipe->create_sampler_state(pipe, &sampler_state);
+   sampler_state.normalized_coords = 0;
+   ctx->sampler_state_rect = pipe->create_sampler_state(pipe, &sampler_state);
 
sampler_state.min_img_filter = PIPE_TEX_FILTER_LINEAR;
sampler_state.mag_img_filter = PIPE_TEX_FILTER_LINEAR;
+   sampler_state.normalized_coords = 1;
ctx->sampler_state_linear = pipe->create_sampler_state(pipe, 
&sampler_state);
+   sampler_state.normalized_coords = 0;
+   ctx->sampler_state_rect_linear = pipe->create_sampler_state(pipe, 
&sampler_state);
 
/* rasterizer state */
memset(&rs_state, 0, sizeof(rs_state));
@@ -365,8 +373,10 @@ void util_blitter_destroy(struct blitter_context *blitter)
  ctx->delete_fs_state(pipe, ctx->fs_col_int[i]);
}
 
-   pipe->delete_sampler_state(pipe, ctx->sampler_state);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect_linear);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect);
pipe->delete_sampler_state(pipe, ctx->sampler_state_linear);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state);
u_upload_destroy(ctx->upload);
FREE(ctx);
 }
@@ -1317,9 +1327,17 @@ void util_blitter_blit_generic(struct blitter_context 
*blitter,
src_samples <= 1 &&
(dstbox->width != abs(srcbox->width) ||
 dstbox->height != abs(srcbox->height))) {
-  sampler_state = ctx->sampler_state_linear;
+  if (src_target == PIPE_TEXTURE_RECT) {
+ sampler_state = ctx->sampler_state_rect_linear;
+  } else {
+ sampler_state = ctx->sampler_state_linear;
+  }
} else {
-  sampler_state = ctx->sampler_state;
+  if (src_target == PIPE_TEXTURE_RECT) {
+ sampler_state = ctx->sampler_state_rect;
+  } else {
+ sampler_state = ctx->sampler_state;
+  }
}
 
/* Set samplers. */
-- 
1.7.10.4

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


[Mesa-dev] [PATCH 1/9] st/mesa: remove #include mfeatures.h

2013-02-23 Thread Brian Paul
None of these were needed.
---
 src/mesa/state_tracker/st_cb_bitmap.c |1 -
 src/mesa/state_tracker/st_cb_bitmap.h |1 -
 src/mesa/state_tracker/st_cb_blit.c   |1 -
 src/mesa/state_tracker/st_cb_blit.h   |1 -
 src/mesa/state_tracker/st_cb_drawpixels.c |1 -
 src/mesa/state_tracker/st_cb_drawpixels.h |1 -
 src/mesa/state_tracker/st_cb_drawtex.c|1 -
 src/mesa/state_tracker/st_cb_drawtex.h|1 -
 src/mesa/state_tracker/st_cb_eglimage.c   |1 -
 src/mesa/state_tracker/st_cb_eglimage.h   |1 -
 src/mesa/state_tracker/st_cb_fbo.c|1 -
 src/mesa/state_tracker/st_cb_feedback.c   |1 -
 src/mesa/state_tracker/st_cb_feedback.h   |1 -
 src/mesa/state_tracker/st_cb_queryobj.c   |1 -
 src/mesa/state_tracker/st_cb_queryobj.h   |1 -
 src/mesa/state_tracker/st_cb_rasterpos.c  |1 -
 src/mesa/state_tracker/st_cb_rasterpos.h  |1 -
 src/mesa/state_tracker/st_cb_texture.c|1 -
 src/mesa/state_tracker/st_cb_xformfb.c|1 -
 src/mesa/state_tracker/st_cb_xformfb.h|1 -
 src/mesa/state_tracker/st_draw.c  |1 -
 src/mesa/state_tracker/st_extensions.c|1 -
 src/mesa/state_tracker/st_format.c|1 -
 src/mesa/state_tracker/st_program.c   |1 -
 24 files changed, 0 insertions(+), 24 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_bitmap.c 
b/src/mesa/state_tracker/st_cb_bitmap.c
index 36fffe9..4d36f4e 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -34,7 +34,6 @@
 #include "main/image.h"
 #include "main/bufferobj.h"
 #include "main/macros.h"
-#include "main/mfeatures.h"
 #include "main/pbo.h"
 #include "program/program.h"
 #include "program/prog_print.h"
diff --git a/src/mesa/state_tracker/st_cb_bitmap.h 
b/src/mesa/state_tracker/st_cb_bitmap.h
index d1c1805..cc9f5f5 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.h
+++ b/src/mesa/state_tracker/st_cb_bitmap.h
@@ -31,7 +31,6 @@
 
 
 #include "main/compiler.h"
-#include "main/mfeatures.h"
 
 struct dd_function_table;
 struct st_context;
diff --git a/src/mesa/state_tracker/st_cb_blit.c 
b/src/mesa/state_tracker/st_cb_blit.c
index c463e3b..01a45d6 100644
--- a/src/mesa/state_tracker/st_cb_blit.c
+++ b/src/mesa/state_tracker/st_cb_blit.c
@@ -33,7 +33,6 @@
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/macros.h"
-#include "main/mfeatures.h"
 
 #include "st_context.h"
 #include "st_texture.h"
diff --git a/src/mesa/state_tracker/st_cb_blit.h 
b/src/mesa/state_tracker/st_cb_blit.h
index 159c6ca..9e94e44 100644
--- a/src/mesa/state_tracker/st_cb_blit.h
+++ b/src/mesa/state_tracker/st_cb_blit.h
@@ -30,7 +30,6 @@
 
 
 #include "main/compiler.h"
-#include "main/mfeatures.h"
 
 struct dd_function_table;
 struct st_context;
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
b/src/mesa/state_tracker/st_cb_drawpixels.c
index e282bf9..da4b4ba 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -35,7 +35,6 @@
 #include "main/bufferobj.h"
 #include "main/format_pack.h"
 #include "main/macros.h"
-#include "main/mfeatures.h"
 #include "main/mtypes.h"
 #include "main/pack.h"
 #include "main/pbo.h"
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.h 
b/src/mesa/state_tracker/st_cb_drawpixels.h
index 6209dca..6cd6a4e 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.h
+++ b/src/mesa/state_tracker/st_cb_drawpixels.h
@@ -31,7 +31,6 @@
 
 
 #include "main/compiler.h"
-#include "main/mfeatures.h"
 
 struct dd_function_table;
 struct st_context;
diff --git a/src/mesa/state_tracker/st_cb_drawtex.c 
b/src/mesa/state_tracker/st_cb_drawtex.c
index 5ca0970..58657ff 100644
--- a/src/mesa/state_tracker/st_cb_drawtex.c
+++ b/src/mesa/state_tracker/st_cb_drawtex.c
@@ -15,7 +15,6 @@
 #include "main/imports.h"
 #include "main/image.h"
 #include "main/macros.h"
-#include "main/mfeatures.h"
 #include "program/program.h"
 #include "program/prog_print.h"
 
diff --git a/src/mesa/state_tracker/st_cb_drawtex.h 
b/src/mesa/state_tracker/st_cb_drawtex.h
index ccb615e..9794ccc 100644
--- a/src/mesa/state_tracker/st_cb_drawtex.h
+++ b/src/mesa/state_tracker/st_cb_drawtex.h
@@ -11,7 +11,6 @@
 
 
 #include "main/compiler.h"
-#include "main/mfeatures.h"
 
 struct dd_function_table;
 struct st_context;
diff --git a/src/mesa/state_tracker/st_cb_eglimage.c 
b/src/mesa/state_tracker/st_cb_eglimage.c
index 8c78e5e..b162870 100644
--- a/src/mesa/state_tracker/st_cb_eglimage.c
+++ b/src/mesa/state_tracker/st_cb_eglimage.c
@@ -26,7 +26,6 @@
  *Chia-I Wu 
  */
 
-#include "main/mfeatures.h"
 #include "main/texobj.h"
 #include "main/teximage.h"
 #include "util/u_inlines.h"
diff --git a/src/mesa/state_tracker/st_cb_eglimage.h 
b/src/mesa/state_tracker/st_cb_eglimage.h
index 1750b91..c6ddec6 100644
--- a/src/mesa/state_tracker/st_cb_eglimage.h
+++ b/src/mesa/state_tracker/st_cb_eglimage.h
@@ -30,7 +30,6 @@
 #define ST_CB_EGLIMAGE_H
 
 #include "main/compiler.h"

[Mesa-dev] [PATCH 2/9] mesa: remove #ifdef FEATURE_ES2, add some comments instead

2013-02-23 Thread Brian Paul
---
 src/mesa/main/shaderapi.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index be69467..8b160bc 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -1451,8 +1451,10 @@ _mesa_ValidateProgram(GLhandleARB program)
validate_program(ctx, program);
 }
 
-#ifdef FEATURE_ES2
 
+/**
+ * For OpenGL ES 2.0, GL_ARB_ES2_compatibility
+ */
 void GLAPIENTRY
 _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,
GLint* range, GLint* precision)
@@ -1505,6 +1507,9 @@ _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum 
precisiontype,
 }
 
 
+/**
+ * For OpenGL ES 2.0, GL_ARB_ES2_compatibility
+ */
 void GLAPIENTRY
 _mesa_ReleaseShaderCompiler(void)
 {
@@ -1512,6 +1517,9 @@ _mesa_ReleaseShaderCompiler(void)
 }
 
 
+/**
+ * For OpenGL ES 2.0, GL_ARB_ES2_compatibility
+ */
 void GLAPIENTRY
 _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat,
const void* binary, GLint length)
@@ -1525,7 +1533,6 @@ _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum 
binaryformat,
_mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__);
 }
 
-#endif /* FEATURE_ES2 */
 
 void GLAPIENTRY
 _mesa_GetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length,
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 3/9] mesa: remove old comment about FEATURE_GL

2013-02-23 Thread Brian Paul
---
 src/mesa/main/get.c |3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index da1e01c..524418e 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -394,8 +394,7 @@ extra_NV_read_buffer_api_gl[] = {
  * remaining combinations. To look up the enums valid in a given API
  * we will use a hash table specific to that API. These tables are in
  * turn generated at build time and included through get_hash.h.
- * The different sections are guarded by #if FEATURE_GL etc to make
- * sure we only compile in the enums we may need. */
+ */
 
 #include "get_hash.h"
 
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 4/9] st/mesa: remove #if FEATURE_GL/ES tests

2013-02-23 Thread Brian Paul
---
 src/mesa/state_tracker/st_manager.c |7 ---
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index a3a6771..cf96cba 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -28,7 +28,6 @@
 
 #include "main/mtypes.h"
 #include "main/context.h"
-#include "main/mfeatures.h"
 #include "main/texobj.h"
 #include "main/teximage.h"
 #include "main/texstate.h"
@@ -885,16 +884,10 @@ st_manager_add_color_renderbuffer(struct st_context *st,
 static const struct st_api st_gl_api = {
"Mesa " MESA_VERSION_STRING,
ST_API_OPENGL,
-#if FEATURE_GL
ST_PROFILE_DEFAULT_MASK |
ST_PROFILE_OPENGL_CORE_MASK |
-#endif
-#if FEATURE_ES1
ST_PROFILE_OPENGL_ES1_MASK |
-#endif
-#if FEATURE_ES2
ST_PROFILE_OPENGL_ES2_MASK |
-#endif
0,
ST_API_FEATURE_MS_VISUALS_MASK,
st_api_destroy,
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 5/9] glapi: remove FEATURE_remap_table test (it's always defined)

2013-02-23 Thread Brian Paul
---
 src/mapi/glapi/gen/gl_table.py |   15 ---
 1 files changed, 0 insertions(+), 15 deletions(-)

diff --git a/src/mapi/glapi/gen/gl_table.py b/src/mapi/glapi/gen/gl_table.py
index 382eaaf..99957f6 100644
--- a/src/mapi/glapi/gen/gl_table.py
+++ b/src/mapi/glapi/gen/gl_table.py
@@ -147,17 +147,6 @@ class PrintRemapTable(gl_XML.gl_print_base):
 for f, index in abi_functions:
 print '#define _gloffset_%s %d' % (f.name, f.offset)
 
-print ''
-print '#if !FEATURE_remap_table'
-print ''
-
-for f, index in functions:
-print '#define _gloffset_%s %d' % (f.name, f.offset)
-
-print ''
-print '#else /* !FEATURE_remap_table */'
-print ''
-
 if self.es:
 remap_table = "esLocalRemapTable"
 
@@ -180,8 +169,6 @@ class PrintRemapTable(gl_XML.gl_print_base):
 print '#define _gloffset_%s %s[%s_remap_index]' % (f.name, 
remap_table, f.name)
 
 print ''
-print '#endif /* !FEATURE_remap_table */'
-print ''
 
 for f, index in abi_functions + functions:
 arg_string = gl_XML.create_parameter_string( f.parameters, 0 )
@@ -209,12 +196,10 @@ class PrintRemapTable(gl_XML.gl_print_base):
 print '#define SET_%s(disp, fn) SET_%s(disp, fn)' % 
(name, f.name)
 print ''
 
-print '#if FEATURE_remap_table'
 for f in alias_functions:
 for name in f.entry_points:
 if name != f.name:
 print '#define %s_remap_index %s_remap_index' % (name, 
f.name)
-print '#endif /* FEATURE_remap_table */'
 print ''
 
 return
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 6/9] mesa: remove FEATURE_remap_table from remap.[ch]

2013-02-23 Thread Brian Paul
It was always defined.
---
 src/mesa/main/remap.c |6 --
 src/mesa/main/remap.h |   34 --
 2 files changed, 0 insertions(+), 40 deletions(-)

diff --git a/src/mesa/main/remap.c b/src/mesa/main/remap.c
index a098705..bc4ac9b 100644
--- a/src/mesa/main/remap.c
+++ b/src/mesa/main/remap.c
@@ -37,9 +37,6 @@
  */
 
 #include "mfeatures.h"
-
-#if FEATURE_remap_table
-
 #include "remap.h"
 #include "imports.h"
 #include "glapi/glapi.h"
@@ -223,6 +220,3 @@ _mesa_init_remap_table(void)
 driDispatchRemapTable_size,
 MESA_remap_table_functions);
 }
-
-
-#endif /* FEATURE_remap_table */
diff --git a/src/mesa/main/remap.h b/src/mesa/main/remap.h
index fa31724..6f20c3e 100644
--- a/src/mesa/main/remap.h
+++ b/src/mesa/main/remap.h
@@ -42,8 +42,6 @@ struct gl_function_remap {
 };
 
 
-#if FEATURE_remap_table
-
 extern int
 driDispatchRemapTable[];
 
@@ -62,37 +60,5 @@ _mesa_map_static_functions(void);
 extern void
 _mesa_init_remap_table(void);
 
-#else /* FEATURE_remap_table */
-
-static inline const char *
-_mesa_get_function_spec(int func_index)
-{
-   return NULL;
-}
-
-static inline int
-_mesa_map_function_spec(const char *spec)
-{
-   return -1;
-}
-
-static inline void
-_mesa_map_function_array(const struct gl_function_remap *func_array)
-{
-}
-
-static inline void
-_mesa_map_static_functions(void)
-{
-}
-
-
-static inline void
-_mesa_init_remap_table(void)
-{
-}
-
-#endif /* FEATURE_remap_table */
-
 
 #endif /* REMAP_H */
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 7/9] mesa: remove #include "mfeatures.h"

2013-02-23 Thread Brian Paul
None of the remaining FEATURE_x symbols in mfeatures.h are used anymore.
---
 src/mesa/drivers/dri/intel/intel_buffer_objects.c |1 -
 src/mesa/drivers/dri/intel/intel_extensions.c |1 -
 src/mesa/drivers/dri/intel/intel_fbo.c|1 -
 src/mesa/drivers/dri/intel/intel_screen.c |1 -
 src/mesa/drivers/dri/intel/intel_tex_image.c  |1 -
 src/mesa/drivers/dri/nouveau/nouveau_driver.c |1 -
 src/mesa/drivers/dri/nouveau/nouveau_fbo.c|1 -
 src/mesa/drivers/dri/r200/r200_context.c  |1 -
 src/mesa/drivers/dri/r200/r200_tex.c  |1 -
 src/mesa/drivers/dri/radeon/radeon_context.c  |1 -
 src/mesa/drivers/dri/radeon/radeon_fbo.c  |1 -
 src/mesa/drivers/dri/radeon/radeon_tex.c  |1 -
 src/mesa/drivers/dri/radeon/radeon_texture.c  |1 -
 src/mesa/drivers/dri/radeon/radeon_texture.h  |1 -
 src/mesa/main/accum.c |1 -
 src/mesa/main/accum.h |1 -
 src/mesa/main/api_arrayelt.c  |1 -
 src/mesa/main/api_arrayelt.h  |1 -
 src/mesa/main/api_loopback.c  |1 -
 src/mesa/main/api_loopback.h  |2 --
 src/mesa/main/api_validate.c  |1 -
 src/mesa/main/api_validate.h  |1 -
 src/mesa/main/arrayobj.c  |1 -
 src/mesa/main/atifragshader.c |1 -
 src/mesa/main/atifragshader.h |1 -
 src/mesa/main/attrib.c|1 -
 src/mesa/main/attrib.h|1 -
 src/mesa/main/bufferobj.c |1 -
 src/mesa/main/bufferobj.h |1 -
 src/mesa/main/colortab.c  |1 -
 src/mesa/main/colortab.h  |1 -
 src/mesa/main/context.c   |1 -
 src/mesa/main/convolve.c  |1 -
 src/mesa/main/convolve.h  |1 -
 src/mesa/main/debug.h |1 -
 src/mesa/main/depth.h |1 -
 src/mesa/main/dlist.c |1 -
 src/mesa/main/dlist.h |1 -
 src/mesa/main/drawpix.c   |1 -
 src/mesa/main/drawpix.h   |1 -
 src/mesa/main/drawtex.c   |1 -
 src/mesa/main/drawtex.h   |1 -
 src/mesa/main/enable.c|1 -
 src/mesa/main/enums.h |1 -
 src/mesa/main/es1_conversion.c|1 -
 src/mesa/main/eval.c  |1 -
 src/mesa/main/eval.h  |1 -
 src/mesa/main/extensions.c|1 -
 src/mesa/main/extensions.h|1 -
 src/mesa/main/fbobject.c  |1 -
 src/mesa/main/feedback.c  |1 -
 src/mesa/main/feedback.h  |1 -
 src/mesa/main/ffvertex_prog.c |1 -
 src/mesa/main/fog.h   |1 -
 src/mesa/main/formatquery.c   |1 -
 src/mesa/main/formats.c   |1 -
 src/mesa/main/get.c   |1 -
 src/mesa/main/getstring.c |1 -
 src/mesa/main/hint.h  |1 -
 src/mesa/main/histogram.c |1 -
 src/mesa/main/histogram.h |1 -
 src/mesa/main/image.c |1 -
 src/mesa/main/light.h |1 -
 src/mesa/main/matrix.c|1 -
 src/mesa/main/mtypes.h|1 -
 src/mesa/main/pixel.c |1 -
 src/mesa/main/pixel.h |1 -
 src/mesa/main/pixelstore.c|1 -
 src/mesa/main/querymatrix.h   |1 -
 src/mesa/main/queryobj.c  |1 -
 src/mesa/main/queryobj.h  |1 -
 src/mesa/main/rastpos.c   |1 -
 src/mesa/main/rastpos.h   |1 -
 src/mesa/main/remap.c |1 -
 src/mesa/main/remap.h |1 -
 src/mesa/main/samplerobj.c|1 -
 src/mesa/main/shaderapi.c |1 -
 src/mesa/main/shaderobj.c |1 -
 src/mesa/main/shared.c|1 -
 src/mesa/main/syncobj.c   |1 -
 src/mesa/main/syncobj.h   |1 -
 src/mesa/main/tests/dispatch_sanity.cpp   |4 ---

[Mesa-dev] [PATCH 8/9] glapi: no longer emit #include "mfeatures.h" in generated files

2013-02-23 Thread Brian Paul
None of the symbols in mfeatures.h are used anymore.
---
 src/mapi/glapi/gen/gl_enums.py   |1 -
 src/mapi/glapi/gen/gl_genexec.py |1 -
 src/mapi/glapi/gen/gl_table.py   |6 --
 3 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/src/mapi/glapi/gen/gl_enums.py b/src/mapi/glapi/gen/gl_enums.py
index 0bf8b0a..3bd511e 100644
--- a/src/mapi/glapi/gen/gl_enums.py
+++ b/src/mapi/glapi/gen/gl_enums.py
@@ -43,7 +43,6 @@ class PrintGlEnums(gl_XML.gl_print_base):
 
 def printRealHeader(self):
 print '#include "main/glheader.h"'
-print '#include "main/mfeatures.h"'
 print '#include "main/enums.h"'
 print '#include "main/imports.h"'
 print '#include "main/mtypes.h"'
diff --git a/src/mapi/glapi/gen/gl_genexec.py b/src/mapi/glapi/gen/gl_genexec.py
index a85b447..8267298 100644
--- a/src/mapi/glapi/gen/gl_genexec.py
+++ b/src/mapi/glapi/gen/gl_genexec.py
@@ -44,7 +44,6 @@ header = """/**
  */
 
 
-#include "main/mfeatures.h"
 #include "main/accum.h"
 #include "main/api_loopback.h"
 #include "main/api_exec.h"
diff --git a/src/mapi/glapi/gen/gl_table.py b/src/mapi/glapi/gen/gl_table.py
index 99957f6..fd38468 100644
--- a/src/mapi/glapi/gen/gl_table.py
+++ b/src/mapi/glapi/gen/gl_table.py
@@ -97,12 +97,6 @@ class PrintRemapTable(gl_XML.gl_print_base):
  * can SET_FuncName, are used to get and set the dispatch pointer for the
  * named function in the specified dispatch table.
  */
-
-/* GLXEXT is defined when building the GLX extension in the xserver.
- */
-#if !defined(GLXEXT)
-#include "main/mfeatures.h"
-#endif
 """
 return
 
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 9/9] mesa: remove mfeatures.h

2013-02-23 Thread Brian Paul
No longer needed.
---
 src/mesa/main/mfeatures.h |   53 -
 1 files changed, 0 insertions(+), 53 deletions(-)
 delete mode 100644 src/mesa/main/mfeatures.h

diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h
deleted file mode 100644
index 55e9cf9..000
--- a/src/mesa/main/mfeatures.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  7.1
- *
- * Copyright (C) 1999-2008  Brian Paul   All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-/**
- * \file mfeatures.h
- * Flags to enable/disable specific parts of the API.
- */
-
-#ifndef FEATURES_H
-#define FEATURES_H
-
-#ifndef FEATURE_ES1
-#define FEATURE_ES1 0
-#endif
-#ifndef FEATURE_ES2
-#define FEATURE_ES2 0
-#endif
-
-#define FEATURE_ES (FEATURE_ES1 || FEATURE_ES2)
-
-#ifndef FEATURE_GL
-#define FEATURE_GL !FEATURE_ES
-#endif
-
-#if defined(IN_DRI_DRIVER) || (FEATURE_GL + FEATURE_ES1 + FEATURE_ES2 > 1)
-#define FEATURE_remap_table   1
-#else
-#define FEATURE_remap_table   0
-#endif
-
-#endif /* FEATURES_H */
-- 
1.7.3.4

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


[Mesa-dev] [PATCH 0/9] remove mfeatures.h file

2013-02-23 Thread Brian Paul
This series removes the dependencies on the mfeatures.h file and the 
file itself.


I'd appreciated someone doing a test build of this series to 
double-check my work.


The last thing left to do is remove the -DFEATURE_GL/ES1/ES2 stuff 
from the autoconf and scons files.


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


Re: [Mesa-dev] [PATCH] util/u_blitter: Set pipe_sampler_state::normalized_coords correctly.

2013-02-23 Thread Brian Paul

On 02/23/2013 06:50 AM, jfons...@vmware.com wrote:

From: José Fonseca

We might want to revisit the normalized_coords semantics, but this is
the current expected behavior.

Fixes fdo bug 61091.
---
  src/gallium/auxiliary/util/u_blitter.c |   26 ++
  1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_blitter.c 
b/src/gallium/auxiliary/util/u_blitter.c
index 9522402..e37be4e 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -103,7 +103,10 @@ struct blitter_context_priv
 void *velem_state_readbuf;

 /* Sampler state. */
-   void *sampler_state, *sampler_state_linear;
+   void *sampler_state;
+   void *sampler_state_linear;
+   void *sampler_state_rect;
+   void *sampler_state_rect_linear;

 /* Rasterizer state. */
 void *rs_state, *rs_state_scissor, *rs_discard_state;
@@ -223,10 +226,15 @@ struct blitter_context *util_blitter_create(struct 
pipe_context *pipe)
 sampler_state.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
 sampler_state.normalized_coords = 1;
 ctx->sampler_state = pipe->create_sampler_state(pipe,&sampler_state);
+   sampler_state.normalized_coords = 0;
+   ctx->sampler_state_rect = pipe->create_sampler_state(pipe,&sampler_state);

 sampler_state.min_img_filter = PIPE_TEX_FILTER_LINEAR;
 sampler_state.mag_img_filter = PIPE_TEX_FILTER_LINEAR;
+   sampler_state.normalized_coords = 1;
 ctx->sampler_state_linear = 
pipe->create_sampler_state(pipe,&sampler_state);
+   sampler_state.normalized_coords = 0;
+   ctx->sampler_state_rect_linear = 
pipe->create_sampler_state(pipe,&sampler_state);

 /* rasterizer state */
 memset(&rs_state, 0, sizeof(rs_state));
@@ -365,8 +373,10 @@ void util_blitter_destroy(struct blitter_context *blitter)
   ctx->delete_fs_state(pipe, ctx->fs_col_int[i]);
 }

-   pipe->delete_sampler_state(pipe, ctx->sampler_state);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect_linear);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect);
 pipe->delete_sampler_state(pipe, ctx->sampler_state_linear);
+   pipe->delete_sampler_state(pipe, ctx->sampler_state);
 u_upload_destroy(ctx->upload);
 FREE(ctx);
  }
@@ -1317,9 +1327,17 @@ void util_blitter_blit_generic(struct blitter_context 
*blitter,
 src_samples<= 1&&
 (dstbox->width != abs(srcbox->width) ||
  dstbox->height != abs(srcbox->height))) {
-  sampler_state = ctx->sampler_state_linear;
+  if (src_target == PIPE_TEXTURE_RECT) {
+ sampler_state = ctx->sampler_state_rect_linear;
+  } else {
+ sampler_state = ctx->sampler_state_linear;
+  }
 } else {
-  sampler_state = ctx->sampler_state;
+  if (src_target == PIPE_TEXTURE_RECT) {
+ sampler_state = ctx->sampler_state_rect;
+  } else {
+ sampler_state = ctx->sampler_state;
+  }
 }

 /* Set samplers. */


LGTM.

Reviewed-by: Brian Paul 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] llvmpipe: Fix creation of shared and scanout textures.

2013-02-23 Thread John Kåre Alsaker
I'd still like to have this applied.

On Tue, Dec 18, 2012 at 3:16 PM, John Kåre Alsaker
 wrote:
> On Tue, Dec 18, 2012 at 11:20 AM, Jose Fonseca  wrote:
>> Looks fine.
>>
>> I'm curious, what does this fix in practice?
> It fixes Weston crashing when running with llvmpipe.
>
>>
>> Jose
>>
>> - Original Message -
>>> NOTE: This is a candidate for the stable branches.
>>> ---
>>>  src/gallium/drivers/llvmpipe/lp_texture.c | 4 +++-
>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c
>>> b/src/gallium/drivers/llvmpipe/lp_texture.c
>>> index 2e9c6bf..f17a04a 100644
>>> --- a/src/gallium/drivers/llvmpipe/lp_texture.c
>>> +++ b/src/gallium/drivers/llvmpipe/lp_texture.c
>>> @@ -295,7 +295,9 @@ llvmpipe_resource_create(struct pipe_screen
>>> *_screen,
>>> /* assert(lpr->base.bind); */
>>>
>>> if (resource_is_texture(&lpr->base)) {
>>> -  if (lpr->base.bind & PIPE_BIND_DISPLAY_TARGET) {
>>> +  if (lpr->base.bind & (PIPE_BIND_DISPLAY_TARGET |
>>> +PIPE_BIND_SCANOUT |
>>> +PIPE_BIND_SHARED)) {
>>>   /* displayable surface */
>>>   if (!llvmpipe_displaytarget_layout(screen, lpr))
>>>  goto fail;
>>> --
>>> 1.8.0.2
>>>
>>> ___
>>> mesa-dev mailing list
>>> mesa-dev@lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/3] dri: Add another duplicateImage to DRIimageExtension which allows you to create a sRGB view of a DRI image

2013-02-23 Thread John Kåre Alsaker
duplicateImage will allow you to create a linear or sRGB view into a DRIimage 
you have access to.
This is useful because compositors may want a specific view which doesn't 
correspond to the one used by applications.
---
 include/GL/internal/dri_interface.h | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/include/GL/internal/dri_interface.h 
b/include/GL/internal/dri_interface.h
index 42147e9..f4948a8 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -938,7 +938,7 @@ struct __DRIdri2ExtensionRec {
  * extensions.
  */
 #define __DRI_IMAGE "DRI_IMAGE"
-#define __DRI_IMAGE_VERSION 6
+#define __DRI_IMAGE_VERSION 7
 
 /**
  * These formats correspond to the similarly named MESA_FORMAT_*
@@ -1009,6 +1009,15 @@ struct __DRIdri2ExtensionRec {
 #define __DRI_IMAGE_COMPONENTS_Y_UV0x3004
 #define __DRI_IMAGE_COMPONENTS_Y_XUXV  0x3005
 
+/**
+ * Flags for duplicateImage.
+ *
+ * \since 7
+ */
+
+#define __DRI_IMAGE_FLAG_SRGB_VIEW 0x0001
+#define __DRI_IMAGE_FLAG_LINEAR_VIEW   0x0002
+
 
 /**
  * queryImage attributes
@@ -1105,6 +1114,7 @@ struct __DRIimageExtensionRec {
 __DRIimage *(*fromPlanar)(__DRIimage *image, int plane,
   void *loaderPrivate);
 
+
 /**
  * Create image from texture.
  *
@@ -1117,6 +1127,15 @@ struct __DRIimageExtensionRec {
  int level,
  unsigned *error,
  void *loaderPrivate);
+
+   /**
+* The new __DRIimage will share the raw content with the old one,
+* but it might have a different format.
+*
+* \since 7
+*/
+__DRIimage *(*duplicateImage)(__DRIscreen *screen, __DRIimage *image,
+  unsigned int flags, void *loaderPrivate);
 };
 
 
-- 
1.8.1.3

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


[Mesa-dev] [PATCH 2/3] gallium: Implement DRIimageExtension.duplicateImage

2013-02-23 Thread John Kåre Alsaker
---
 src/gallium/include/state_tracker/st_api.h |  1 +
 src/gallium/state_trackers/dri/common/dri_screen.c |  1 +
 src/gallium/state_trackers/dri/common/dri_screen.h |  1 +
 src/gallium/state_trackers/dri/drm/dri2.c  | 39 +-
 src/mesa/state_tracker/st_manager.c|  4 +++
 5 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/src/gallium/include/state_tracker/st_api.h 
b/src/gallium/include/state_tracker/st_api.h
index 9f3d2a1..1e63ed3 100644
--- a/src/gallium/include/state_tracker/st_api.h
+++ b/src/gallium/include/state_tracker/st_api.h
@@ -203,6 +203,7 @@ struct st_egl_image
 {
/* this is owned by the caller */
struct pipe_resource *texture;
+   enum pipe_format format;
 
unsigned level;
unsigned layer;
diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c 
b/src/gallium/state_trackers/dri/common/dri_screen.c
index a908e28..92abaf9 100644
--- a/src/gallium/state_trackers/dri/common/dri_screen.c
+++ b/src/gallium/state_trackers/dri/common/dri_screen.c
@@ -315,6 +315,7 @@ dri_get_egl_image(struct st_manager *smapi,
 
stimg->texture = NULL;
pipe_resource_reference(&stimg->texture, img->texture);
+   stimg->format = img->format;
stimg->level = img->level;
stimg->layer = img->layer;
 
diff --git a/src/gallium/state_trackers/dri/common/dri_screen.h 
b/src/gallium/state_trackers/dri/common/dri_screen.h
index 181b22f..d37c393 100644
--- a/src/gallium/state_trackers/dri/common/dri_screen.h
+++ b/src/gallium/state_trackers/dri/common/dri_screen.h
@@ -84,6 +84,7 @@ dri_screen(__DRIscreen * sPriv)
 
 struct __DRIimageRec {
struct pipe_resource *texture;
+   enum pipe_format format;
unsigned level;
unsigned layer;
uint32_t dri_format;
diff --git a/src/gallium/state_trackers/dri/drm/dri2.c 
b/src/gallium/state_trackers/dri/drm/dri2.c
index f8d311c..54339fe 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -658,6 +658,7 @@ dri2_dup_image(__DRIimage *image, void *loaderPrivate)
pipe_resource_reference(&img->texture, image->texture);
img->level = image->level;
img->layer = image->layer;
+   img->format = image->format;
/* This should be 0 for sub images, but dup is also used for base images. */
img->dri_components = image->dri_components;
img->loader_private = loaderPrivate;
@@ -749,6 +750,40 @@ dri2_from_planar(__DRIimage *image, int plane, void 
*loaderPrivate)
return img;
 }
 
+static __DRIimage *
+dri2_duplicate_image(__DRIscreen *_screen, __DRIimage *image,
+ unsigned int flags, void *loaderPrivate)
+{
+   enum pipe_format format;
+   struct dri_screen *screen = dri_screen(_screen);
+   __DRIimage *img = NULL;
+
+   if((flags & __DRI_IMAGE_FLAG_SRGB_VIEW) && (flags & 
__DRI_IMAGE_FLAG_LINEAR_VIEW))
+  return NULL;
+
+   if(flags & (__DRI_IMAGE_FLAG_SRGB_VIEW | __DRI_IMAGE_FLAG_LINEAR_VIEW)) {
+  if(!image->texture)
+ return NULL;
+
+  if(flags & __DRI_IMAGE_FLAG_SRGB_VIEW)
+ format = util_format_srgb(image->texture->format);
+  else
+ format = util_format_linear(image->texture->format);
+
+  if(!screen->base.screen->is_format_supported(screen->base.screen, 
format, PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW))
+ return NULL;
+
+  img = dri2_dup_image(image, loaderPrivate);
+
+  if (img)
+ img->format = format;
+   } else if (flags == 0) {
+  img = dri2_dup_image(image, loaderPrivate);
+   }
+
+   return img;
+}
+
 static void
 dri2_destroy_image(__DRIimage *img)
 {
@@ -757,7 +792,7 @@ dri2_destroy_image(__DRIimage *img)
 }
 
 static struct __DRIimageExtensionRec dri2ImageExtension = {
-{ __DRI_IMAGE, 5 },
+{ __DRI_IMAGE, 7 },
 dri2_create_image_from_name,
 dri2_create_image_from_renderbuffer,
 dri2_destroy_image,
@@ -767,6 +802,8 @@ static struct __DRIimageExtensionRec dri2ImageExtension = {
 dri2_validate_usage,
 dri2_from_names,
 dri2_from_planar,
+NULL,
+dri2_duplicate_image,
 };
 
 /*
diff --git a/src/mesa/state_tracker/st_manager.c 
b/src/mesa/state_tracker/st_manager.c
index a3a6771..3659499 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -810,6 +810,10 @@ st_manager_get_egl_image_surface(struct st_context *st, 
void *eglimg)
   return NULL;
 
u_surface_default_template(&surf_tmpl, stimg.texture);
+
+   if(stimg.format != PIPE_FORMAT_NONE)
+  surf_tmpl.format = stimg.format;
+
surf_tmpl.u.tex.level = stimg.level;
surf_tmpl.u.tex.first_layer = stimg.layer;
surf_tmpl.u.tex.last_layer = stimg.layer;
-- 
1.8.1.3

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


[Mesa-dev] [PATCH 3/3] egl: Add MESA_image_sRGB extension.

2013-02-23 Thread John Kåre Alsaker
This gives applications access to use DRIimage.duplicateImage to create sRGB 
and linear views from EGL images.
---
 docs/MESA_image_sRGB.spec   | 132 
 include/EGL/eglmesaext.h|   7 ++
 src/egl/drivers/dri2/egl_dri2.c | 115 +++-
 src/egl/drivers/dri2/egl_dri2.h |   2 +-
 src/egl/drivers/dri2/platform_android.c |  19 -
 src/egl/drivers/dri2/platform_drm.c |  18 -
 src/egl/drivers/dri2/platform_x11.c |  18 -
 src/egl/main/eglcurrent.c   |   5 ++
 src/egl/main/egldisplay.h   |   1 +
 src/egl/main/eglimage.c |   6 ++
 src/egl/main/eglimage.h |   3 +
 src/egl/main/eglmisc.c  |   1 +
 12 files changed, 281 insertions(+), 46 deletions(-)
 create mode 100644 docs/MESA_image_sRGB.spec

diff --git a/docs/MESA_image_sRGB.spec b/docs/MESA_image_sRGB.spec
new file mode 100644
index 000..f8a0bea
--- /dev/null
+++ b/docs/MESA_image_sRGB.spec
@@ -0,0 +1,132 @@
+Name
+
+MESA_image_sRGB
+
+Name Strings
+
+EGL_MESA_image_sRGB
+
+Contact
+
+John Kåre Alsaker 
+
+Status
+
+Complete
+
+Version
+
+Version 2, February 23, 2013
+
+Number
+
+EGL Extension #not assigned
+
+Dependencies
+
+EGL 1.2 or later is required.
+
+EGL_KHR_image_base is required.
+
+This extension is written against the wording of the EGL 1.2
+specification.
+
+Overview
+
+This extension provides a way for applications to allocate sRGB
+or linear gamma views for EGLImage sources. This means that
+sampling from the resulting EGLImage should convert from sRGB's
+gamma into linear gamma.
+
+IP Status
+
+Open-source; freely implementable.
+
+New Tokens
+
+Accepted in the  parameter of eglCreateImageKHR:
+
+EGL_GAMMA_MESA 0x3290
+
+Accepted as values for the EGL_GAMMA_MESA attribute:
+
+EGL_DEFAULT_MESA   0x3291
+
+Error states:
+
+EGL_BAD_VIEW_MESA  0x3292
+
+Additions to the EGL 1.2 Specification:
+
+Add to section 2.5.1 "EGLImage Specification" (as defined by the
+EGL_KHR_image_base specification), in the description of
+eglCreateImageKHR:
+
+   "Attributes names accepted in  are shown in Table bbb
+
+  ++-+--+
+  | Attribute  | Description | Default Value|
+  ++-+--+
+  | EGL_GAMMA_MESA | Specifies the gamma | EGL_DEFAULT_MESA |
+  || view of the |  |
+  || EGLImage created.   |  |
+  ++-+--+
+   Table bbb.  Legal attributes for eglCreateImageKHR
+parameter
+
+...
+
+If the value of attribute EGL_GAMMA_MESA is EGL_DEFAULT_MESA (the
+default), then the gamma view of the resulting EGLImage will be
+the same as the EGLImage source.
+
+If the value of attribute EGL_GAMMA_MESA is EGL_COLORSPACE_LINEAR,
+then the gamma view of the resulting EGLImage will be linear
+and no gamma conversions will be done when sampling the image
+in client APIs.
+
+If the value of attribute EGL_GAMMA_MESA is EGL_COLORSPACE_sRGB,
+then the gamma view of the resulting EGLImage will be an sRGB
+view and the red, green and blue color components will be
+converted from sRGB gamma to linear gamma when sampling the image
+in client APIs. This conversion should ideally take place before
+any filtering, but that is not required. The conversion from an
+sRGB gamma component, cs, to a linear gamma component, cl, is as
+follows.
+
+{  cs / 12.92, cs <= 0.04045
+   cl = {
+{  ((cs + 0.055)/1.055)^2.4,   cs >  0.04045
+
+Assume cs is the sRGB gamma component in the range [0,1]."
+
+Add to the list of error conditions for eglCreateImageKHR:
+
+  "* If the value specified in  for EGL_GAMMA_MESA
+ is not EGL_DEFAULT_MESA, and the implementation does not
+ support creating the specified gamma view, the error
+ EGL_BAD_VIEW_MESA is generated.
+
+   * If the value specified in  for EGL_GAMMA_MESA
+ is EGL_COLORSPACE_sRGB, and the EGLImage source does not have
+ red, green and blue color components, the error
+ EGL_BAD_VIEW_MESA is generated."
+
+Issues
+
+1)  Should creating multiple EGLImages from the same source
+with a different gamma view be allowed?
+
+RESOLVED: Yes.
+
+This is so applications can easily switch between using
+an sRGB and a linear gamma view for a single EGLImage
+source.
+
+Revision History
+
+Version 2, February 23, 2013
+Changed used tokens (John Kåre Alsaker)
+
+Version 1, October 9, 20

[Mesa-dev] [Bug 61361] New: Version mismatch error. This is libtool 2.4.2, but the definition of this LT_INIT comes from libtool 2.2.8.

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61361

  Priority: medium
Bug ID: 61361
  Assignee: mesa-dev@lists.freedesktop.org
   Summary: Version mismatch error.  This is libtool 2.4.2, but
the definition of this LT_INIT comes from libtool
2.2.8.
  Severity: blocker
Classification: Unclassified
OS: Linux (All)
  Reporter: dh-b...@online.de
  Hardware: x86 (IA32)
Status: NEW
   Version: unspecified
 Component: Other
   Product: Mesa

This happens since 9.0.1

make[3]: Entering directory `(...)/Mesa-9.1/src/mapi/shared-glapi'
  CC entry.lo
libtool: Version mismatch error.  This is libtool 2.4.2, but the
libtool: definition of this LT_INIT comes from libtool 2.2.8.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
libtool: and run autoconf again.
make[3]: *** [entry.lo] error 63

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 61364] New: LLVM assertion when starting X11

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61364

  Priority: medium
Bug ID: 61364
  Assignee: mesa-dev@lists.freedesktop.org
   Summary: LLVM assertion when starting X11
  Severity: major
Classification: Unclassified
OS: Linux (All)
  Reporter: john.kare.alsa...@gmail.com
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: git
 Component: Other
   Product: Mesa

Created attachment 75418
  --> https://bugs.freedesktop.org/attachment.cgi?id=75418&action=edit
LLVM Assertion

I get an LLVM assertion when running startx in VMware.
This applies to git (I tried commit 7ae6864f0dbec33270c83c4181a8182139662d0f)
and Arch Linux's 9.1 packages.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 04/14] mesa: Fix _mesa_problem() on context destroy after application debug output

2013-02-23 Thread Jordan Justen
On Fri, Feb 22, 2013 at 7:52 PM, Eric Anholt  wrote:
> This was apparently not noticed because we don't have any testing of
> application-generated debug output.  However, as I'm changing the
> GL-generated debug output to use the same path as
> application/middleware-generated debug output, this obviously became an
> issue.
> ---
>  src/mesa/main/errors.c |6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c
> index 3714067..6adc466 100644
> --- a/src/mesa/main/errors.c
> +++ b/src/mesa/main/errors.c
> @@ -756,6 +756,11 @@ _mesa_init_errors(struct gl_context *ctx)
>}
>  }
>
> +static void
> +do_nothing(GLuint key, void *data, void *userData)
> +{
> +}
> +
>  void
>  _mesa_free_errors_data(struct gl_context *ctx)
>  {
> @@ -765,6 +770,7 @@ _mesa_free_errors_data(struct gl_context *ctx)
> /* Tear down state for filtering client-provided debug messages. */
> for (s = 0; s < SOURCE_COUNT; s++)
>for (t = 0; t < MESA_DEBUG_TYPE_COUNT; t++) {
> + _mesa_HashDeleteAll(ClientIDs->Namespaces[s][t].IDs, do_nothing, 
> NULL);

Maybe _mesa_HashDeleteAll should accept a NULL callback routine?

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


Re: [Mesa-dev] [PATCH] llvmpipe: Fix creation of shared and scanout textures.

2013-02-23 Thread Jose Fonseca
Pushed now.

- Original Message -
> I'd still like to have this applied.
> 
> On Tue, Dec 18, 2012 at 3:16 PM, John Kåre Alsaker
>  wrote:
> > On Tue, Dec 18, 2012 at 11:20 AM, Jose Fonseca  wrote:
> >> Looks fine.
> >>
> >> I'm curious, what does this fix in practice?
> > It fixes Weston crashing when running with llvmpipe.
> >
> >>
> >> Jose
> >>
> >> - Original Message -
> >>> NOTE: This is a candidate for the stable branches.
> >>> ---
> >>>  src/gallium/drivers/llvmpipe/lp_texture.c | 4 +++-
> >>>  1 file changed, 3 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c
> >>> b/src/gallium/drivers/llvmpipe/lp_texture.c
> >>> index 2e9c6bf..f17a04a 100644
> >>> --- a/src/gallium/drivers/llvmpipe/lp_texture.c
> >>> +++ b/src/gallium/drivers/llvmpipe/lp_texture.c
> >>> @@ -295,7 +295,9 @@ llvmpipe_resource_create(struct pipe_screen
> >>> *_screen,
> >>> /* assert(lpr->base.bind); */
> >>>
> >>> if (resource_is_texture(&lpr->base)) {
> >>> -  if (lpr->base.bind & PIPE_BIND_DISPLAY_TARGET) {
> >>> +  if (lpr->base.bind & (PIPE_BIND_DISPLAY_TARGET |
> >>> +PIPE_BIND_SCANOUT |
> >>> +PIPE_BIND_SHARED)) {
> >>>   /* displayable surface */
> >>>   if (!llvmpipe_displaytarget_layout(screen, lpr))
> >>>  goto fail;
> >>> --
> >>> 1.8.0.2
> >>>
> >>> ___
> >>> mesa-dev mailing list
> >>> mesa-dev@lists.freedesktop.org
> >>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >>>
> 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 03/14] mesa: Move debug type/severity enums to mesa core.

2013-02-23 Thread Jordan Justen
On Fri, Feb 22, 2013 at 7:52 PM, Eric Anholt  wrote:
> +static enum mesa_debug_type
> +gl_enum_to_debug_type(GLenum e)
> +{
> +   int i;
> +
> +   for (i = 0; i < Elements(debug_type_enums); i++) {

I guess we have both Elements and ARRAY_SIZE. Should we try to merge these?

Elements appears to be used more, but doesn't ARRAY_SIZE follow the
coding style better?

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


[Mesa-dev] [Bug 61366] New: oprofilejit should be included in the list of LLVM components required

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61366

  Priority: medium
Bug ID: 61366
  Assignee: mesa-dev@lists.freedesktop.org
   Summary: oprofilejit should be included in the list of LLVM
components required
  Severity: minor
Classification: Unclassified
OS: Linux (All)
  Reporter: ats...@offog.org
  Hardware: x86-64 (AMD64)
Status: NEW
   Version: 9.0
 Component: Other
   Product: Mesa

Created attachment 75423
  --> https://bugs.freedesktop.org/attachment.cgi?id=75423&action=edit
My patch

I'm using Mesa 9.0.3 on Linux, built with automake.

llvmpipe uses llvm::JITEventListener::createOProfileJITEventListener if LLVM
was compiled with OProfile support, so it needs to link with
libLLVMOProfileJIT -- i.e. include oprofilejit in the list of LLVM components
required in configure.ac, if it exists.

There's already a similar test for mcjit; duplicating this for oprofilejit
works for me. Patch to this effect attached, but you may prefer a different
fix.

Without this, I get the following link error:

gmake[5]: Entering directory
`/src/x11/mesa/work/Mesa-9.0.3/src/gallium/drivers/llvmpipe'
g++ -Wl,-O2 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed
-L/gar/packages/llvm-3.2/lib  -lbfd -lpthread -ldl -lm  -lopagent
-L/gar/lib/oprofile -Wl,-rpath,/gar/lib/oprofile lp_test_format.o
lp_test_main.o -o lp_test_format -Wl,--start-group  -L../../auxiliary/
-lgallium libllvmpipe.a -lLLVMMCJIT -lLLVMBitWriter -lLLVMX86Disassembler
-lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86AsmParser
-lLLVMMCParser -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils
-lLLVMJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMCodeGen
-lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa
-lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport
-L/gar/lib -lXext -lXdamage -lXfixes -lX11-xcb -lX11 -lxcb-glx -lxcb -lXxf86vm 
-L/gar/lib -ldrm  -lm -lpthread -ldl -Wl,--end-group
../../auxiliary//libgallium.a(lp_bld_misc.o): In function
`lp_register_oprofile_jit_event_listener':
lp_bld_misc.cpp:(.text+0x1c): undefined reference to
`llvm::JITEventListener::createOProfileJITEventListener()'
collect2: error: ld returned 1 exit status
gmake[5]: *** [lp_test_format] Error 1
gmake[5]: Leaving directory
`/src/x11/mesa/work/Mesa-9.0.3/src/gallium/drivers/llvmpipe'

I guess this error doesn't show up for people who've got LLVM built as one
large library, which isn't the default configuration.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 12/14] mesa: Remove unused gl_winsys_error enum.

2013-02-23 Thread Jordan Justen
On Fri, Feb 22, 2013 at 7:52 PM, Eric Anholt  wrote:
> ---
>  src/mesa/main/mtypes.h |8 
>  1 file changed, 8 deletions(-)
>
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 11e1f9e..65c823d 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3403,14 +3403,6 @@ typedef enum {
>  } gl_api_error;
>
>  typedef enum {
> -   WINSYS_ERROR_UNKNOWN,
> -} gl_winsys_error;
> -
> -typedef enum {
> -   SHADER_ERROR_UNKNOWN,
> -} gl_shader_error;

This is not mentioned in commit message.

-Jordan

> -
> -typedef enum {
> OTHER_ERROR_UNKNOWN,
> OTHER_ERROR_OUT_OF_MEMORY,
>  } gl_other_error;
> --
> 1.7.10.4
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] GL_ARB_debug_output from drivers

2013-02-23 Thread Jordan Justen
Series Reviewed-by: Jordan Justen 

On Fri, Feb 22, 2013 at 7:52 PM, Eric Anholt  wrote:
> One of the features Valve asked for, that they expected after using other
> drivers, is that they can easily get information about performance traps
> (and other important stuff) from drivers.  We wrote INTEL_DEBUG=perf this
> summer as a quick fix, but it's not how most drivers integrate this sort
> of feedback.  Instead, you make a debug context, and you take a bit of a
> performance hit but you get GL_ARB_debug_output messages from the driver.
>
> I didn't want to just dump the same ID in every message, since that's
> definitely not what the spec intends you to do, so I'd been delaying the
> ARB_debug_output work until I could decide how to make that possible.
> This is what I came up with after a few false starts.  I haven't fixed up
> the current messages to have unique IDs, though.  I'd like to do something
> that doesn't involve spamming a static msg_id into each caller, but to
> avoid that I need a #define with varargs.  Is __VA_ARGS__ or some
> equivalent standard enough that we can rely on it outside of drivers?
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] util/u_blitter: Set pipe_sampler_state::normalized_coords correctly.

2013-02-23 Thread Marek Olšák
Reviewed-by: Marek Olšák 

Marek

On Sat, Feb 23, 2013 at 2:50 PM,   wrote:
> From: José Fonseca 
>
> We might want to revisit the normalized_coords semantics, but this is
> the current expected behavior.
>
> Fixes fdo bug 61091.
> ---
>  src/gallium/auxiliary/util/u_blitter.c |   26 ++
>  1 file changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/src/gallium/auxiliary/util/u_blitter.c 
> b/src/gallium/auxiliary/util/u_blitter.c
> index 9522402..e37be4e 100644
> --- a/src/gallium/auxiliary/util/u_blitter.c
> +++ b/src/gallium/auxiliary/util/u_blitter.c
> @@ -103,7 +103,10 @@ struct blitter_context_priv
> void *velem_state_readbuf;
>
> /* Sampler state. */
> -   void *sampler_state, *sampler_state_linear;
> +   void *sampler_state;
> +   void *sampler_state_linear;
> +   void *sampler_state_rect;
> +   void *sampler_state_rect_linear;
>
> /* Rasterizer state. */
> void *rs_state, *rs_state_scissor, *rs_discard_state;
> @@ -223,10 +226,15 @@ struct blitter_context *util_blitter_create(struct 
> pipe_context *pipe)
> sampler_state.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE;
> sampler_state.normalized_coords = 1;
> ctx->sampler_state = pipe->create_sampler_state(pipe, &sampler_state);
> +   sampler_state.normalized_coords = 0;
> +   ctx->sampler_state_rect = pipe->create_sampler_state(pipe, 
> &sampler_state);
>
> sampler_state.min_img_filter = PIPE_TEX_FILTER_LINEAR;
> sampler_state.mag_img_filter = PIPE_TEX_FILTER_LINEAR;
> +   sampler_state.normalized_coords = 1;
> ctx->sampler_state_linear = pipe->create_sampler_state(pipe, 
> &sampler_state);
> +   sampler_state.normalized_coords = 0;
> +   ctx->sampler_state_rect_linear = pipe->create_sampler_state(pipe, 
> &sampler_state);
>
> /* rasterizer state */
> memset(&rs_state, 0, sizeof(rs_state));
> @@ -365,8 +373,10 @@ void util_blitter_destroy(struct blitter_context 
> *blitter)
>   ctx->delete_fs_state(pipe, ctx->fs_col_int[i]);
> }
>
> -   pipe->delete_sampler_state(pipe, ctx->sampler_state);
> +   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect_linear);
> +   pipe->delete_sampler_state(pipe, ctx->sampler_state_rect);
> pipe->delete_sampler_state(pipe, ctx->sampler_state_linear);
> +   pipe->delete_sampler_state(pipe, ctx->sampler_state);
> u_upload_destroy(ctx->upload);
> FREE(ctx);
>  }
> @@ -1317,9 +1327,17 @@ void util_blitter_blit_generic(struct blitter_context 
> *blitter,
> src_samples <= 1 &&
> (dstbox->width != abs(srcbox->width) ||
>  dstbox->height != abs(srcbox->height))) {
> -  sampler_state = ctx->sampler_state_linear;
> +  if (src_target == PIPE_TEXTURE_RECT) {
> + sampler_state = ctx->sampler_state_rect_linear;
> +  } else {
> + sampler_state = ctx->sampler_state_linear;
> +  }
> } else {
> -  sampler_state = ctx->sampler_state;
> +  if (src_target == PIPE_TEXTURE_RECT) {
> + sampler_state = ctx->sampler_state_rect;
> +  } else {
> + sampler_state = ctx->sampler_state;
> +  }
> }
>
> /* Set samplers. */
> --
> 1.7.10.4
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 61364] LLVM assertion when starting X11

2013-02-23 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=61364

--- Comment #1 from John Kåre Alsaker  ---
Backtrace

#0  0x7f40f703d2c5 in raise () from /usr/lib/libc.so.6
#1  0x7f40f703e748 in abort () from /usr/lib/libc.so.6
#2  0x7f40f7036312 in __assert_fail_base () from /usr/lib/libc.so.6
#3  0x7f40f70363c2 in __assert_fail () from /usr/lib/libc.so.6
#4  0x7f40f45b1b59 in llvm::cl::parser::addLiteralOption (this=0x7f40f38ae9d0
, Name=0x7f40f308a1d5 "default", 
V=@0x7fff83a92008: 0x7f40f4598600
, HelpStr=0x7f40f2f2b68c "Best scheduler for the
target")
at /home/zoxc/llvm-build/llvm/include/llvm/Support/CommandLine.h:646
#5  0x7f40f45b25aa in
llvm::RegisterPassParser::NotifyAdd
(this=0x7f40f38ae9c8 , N=0x7f40f308a1d5 "default", 
C=0x7f40f4598600 , D=0x7f40f2f2b68c "Best scheduler for the target")
at
/home/zoxc/llvm-build/llvm/include/llvm/CodeGen/MachinePassRegistry.h:148
#6  0x7f40f480ba8f in llvm::MachinePassRegistry::Add (this=0x7f40f5a18320
, Node=0x7f40f38aeb38
)
at /home/zoxc/llvm-build/llvm/lib/CodeGen/MachinePassRegistry.cpp:41
#7  0x7f40f22ae445 in llvm::RegisterScheduler::RegisterScheduler
(this=0x7f40f38aeb38 , N=0x7f40f308a1d5 "default", 
D=0x7f40f2f2b68c "Best scheduler for the target", C=0x7f40f4598600
)
at /home/zoxc/llvm-build/llvm/include/llvm/CodeGen/SchedulerRegistry.h:43
#8  0x7f40f22a0e1d in llvm::RegisterScheduler::RegisterScheduler
(this=0x7f40f38aeb38 , N=0x7f40f308a1d5 "default", 
D=0x7f40f2f2b68c "Best scheduler for the target", C=0x7f40f4598600
)
at /home/zoxc/llvm-build/llvm/include/llvm/CodeGen/SchedulerRegistry.h:43
#9  0x7f40f1bb4129 in __cxx_global_var_init38 () from
/usr/lib/xorg/modules/dri/swrast_dri.so
#10 0x7f40f1bb41aa in global constructors keyed to a () from
/usr/lib/xorg/modules/dri/swrast_dri.so
#11 0x7f40f8c629d6 in call_init () from /lib64/ld-linux-x86-64.so.2
#12 0x7f40f8c62aba in _dl_init_internal () from /lib64/ld-linux-x86-64.so.2
#13 0x7f40f8c66af9 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#14 0x7f40f8c62816 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#15 0x7f40f8c66329 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#16 0x7f40f85c3026 in ?? () from /usr/lib/libdl.so.2
#17 0x7f40f8c62816 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#18 0x7f40f85c35ec in ?? () from /usr/lib/libdl.so.2
#19 0x7f40f85c30c1 in dlopen () from /usr/lib/libdl.so.2
#20 0x7f40f5ce80a6 in ?? () from /usr/lib/xorg/modules/extensions/libglx.so
#21 0x7f40f5ce79d6 in ?? () from /usr/lib/xorg/modules/extensions/libglx.so
#22 0x7f40f5ce6fda in ?? () from /usr/lib/xorg/modules/extensions/libglx.so
#23 0x004aace9 in InitExtensions ()
#24 0x0042670c in ?? ()
#25 0x7f40f7029a15 in __libc_start_main () from /usr/lib/libc.so.6
#26 0x00426c0d in _start ()

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] st/vega: Fix memory leak in combine_shaders.

2013-02-23 Thread Vinson Lee
Fixes resource leak defect reported by Coverity.

Signed-off-by: Vinson Lee 
---
 src/gallium/state_trackers/vega/shaders_cache.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/state_trackers/vega/shaders_cache.c 
b/src/gallium/state_trackers/vega/shaders_cache.c
index eceae54..c1082ca 100644
--- a/src/gallium/state_trackers/vega/shaders_cache.c
+++ b/src/gallium/state_trackers/vega/shaders_cache.c
@@ -225,8 +225,10 @@ combine_shaders(const struct shader_asm_info 
*shaders[SHADER_STAGES], int num_sh
ureg_END(ureg);
 
shader->tokens = ureg_finalize(ureg);
-   if(!shader->tokens)
+   if (!shader->tokens) {
+  ureg_destroy(ureg);
   return NULL;
+   }
 
p = pipe->create_fs_state(pipe, shader);
 
-- 
1.8.1.3

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


[Mesa-dev] [PATCH] radeonsi: Fix memory leak in si_set_constant_buffer.

2013-02-23 Thread Vinson Lee
Fixes resource leak defect reported by Coverity.

Signed-off-by: Vinson Lee 
---
 src/gallium/drivers/radeonsi/si_state.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/radeonsi/si_state.c 
b/src/gallium/drivers/radeonsi/si_state.c
index 769ba0c..a395ec4 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2523,6 +2523,7 @@ static void si_set_constant_buffer(struct pipe_context 
*ctx, uint shader, uint i
 
default:
R600_ERR("unsupported %d\n", shader);
+   FREE(pm4);
}
 
if (cb->buffer != &rbuffer->b.b)
-- 
1.8.1.2

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