[Mesa-dev] [Bug 43477] rendering errors in unigine tropics and sanctuary (regression)

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

Andreas Boll andreas.boll@gmail.com changed:

   What|Removed |Added

 AssignedTo|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop.
   |.org|org
  Component|Drivers/Gallium/r600|Mesa core

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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] Remove 3D registers from compute command stream

2012-08-14 Thread archibald

Hi list,

Here is my attempt at solving the task Remove 3D registers from 
compute

command stream on http://dri.freedesktop.org/wiki/R600ToDo. It's my
first attempt at a patch for mesa, so I'd appreciate any comments or
advice that people might have.

I don't have a Cayman card, so I'm not able to test on that, so that 
part

is officially untested.

I ran the opencl-example programs to test the opencl aspect and there 
was
no difference in the number of passed and failed tests (67:4) before 
and
after the patch. OpenArena and my desktop session ran fine afterwards, 
but

I'm having `fun' trying to get piglit to behave so I couldn't do a
full regression test.

Thanks,
Archibalddiff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index 0d6eb4e..acf91ba 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -325,20 +325,10 @@ static void compute_emit_cs(struct r600_context *ctx, const uint *block_layout,
 	struct evergreen_compute_resource *resources =
 	ctx-cs_shader_state.shader-resources;
 
-	/* Initialize all the registers common to both 3D and compute.  Some
-	 * 3D only register will be initialized by this atom as well, but
-	 * this is OK for now.
-	 *
-	 * See evergreen_init_atom_start_cs() or cayman_init_atom_start_cs() in
-	 * evergreen_state.c for the list of registers that are intialized by
-	 * the start_cs_cmd atom.
-	 */
-	r600_emit_atom(ctx, ctx-start_cs_cmd.atom);
-
-	/* Initialize all the compute specific registers.
+	/* Initialize all the compute-related registers.
 	 *
 	 * See evergreen_init_atom_start_compute_cs() in this file for the list
-	 * of registers initialized by the start_compuet_cs_cmd atom.
+	 * of registers initialized by the start_compute_cs_cmd atom.
 	 */
 	r600_emit_atom(ctx, ctx-start_compute_cs_cmd.atom);
 
@@ -590,11 +580,10 @@ void evergreen_init_atom_start_compute_cs(struct r600_context *ctx)
 	int num_threads;
 	int num_stack_entries;
 
-	/* We aren't passing the EMIT_EARLY flag as the third argument
-	 * because we will be emitting this atom manually in order to
-	 * ensure it gets emitted after the start_cs_cmd atom.
+	/* since all required registers are initialised in the
+	 * start_compute_cs_cmd atom, we can EMIT_EARLY here.
 	 */
-	r600_init_command_buffer(cb, 256, 0);
+	r600_init_command_buffer(cb, 256, EMIT_EARLY);
 	cb-pkt_flags = RADEON_CP_PACKET3_COMPUTE_MODE;
 
 	switch (ctx-family) {
@@ -643,6 +632,8 @@ void evergreen_init_atom_start_compute_cs(struct r600_context *ctx)
 	}
 
 	/* Config Registers */
+	evergreen_init_common_regs(cb, ctx-chip_class
+			, ctx-family, ctx-screen-info.drm_minor);
 
 	/* The primitive type always needs to be POINTLIST for compute. */
 	r600_store_config_reg(cb, R_008958_VGT_PRIMITIVE_TYPE,
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 67ae7d3..addc36a 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1901,19 +1901,13 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx)
 	r600_store_value(cb, 0x8000);
 	r600_store_value(cb, 0x8000);
 
+	cayman_init_common_regs(cb);
+
 	r600_store_config_reg_seq(cb, R_008C00_SQ_CONFIG, 2);
 	r600_store_value(cb, S_008C00_EXPORT_SRC_C(1)); /* R_008C00_SQ_CONFIG */
 	/* always set the temp clauses */
 	r600_store_value(cb, S_008C04_NUM_CLAUSE_TEMP_GPRS(4)); /* R_008C04_SQ_GPR_RESOURCE_MGMT_1 */
 
-	r600_store_config_reg_seq(cb, R_008C10_SQ_GLOBAL_GPR_RESOURCE_MGMT_1, 2);
-	r600_store_value(cb, 0); /* R_008C10_SQ_GLOBAL_GPR_RESOURCE_MGMT_1 */
-	r600_store_value(cb, 0); /* R_008C14_SQ_GLOBAL_GPR_RESOURCE_MGMT_2 */
-
-	r600_store_config_reg(cb, R_008D8C_SQ_DYN_GPR_CNTL_PS_FLUSH_REQ, (1  8));
-
-	r600_store_context_reg(cb, R_028A4C_PA_SC_MODE_CNTL_1, 0);
-
 	r600_store_context_reg_seq(cb, R_028A10_VGT_OUTPUT_PATH_CNTL, 13);
 	r600_store_value(cb, 0); /* R_028A10_VGT_OUTPUT_PATH_CNTL */
 	r600_store_value(cb, 0); /* R_028A14_VGT_HOS_CNTL */
@@ -1929,16 +1923,77 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx)
 	r600_store_value(cb, 0); /* R_028A3C_VGT_GROUP_VECT_1_FMT_CNTL */
 	r600_store_value(cb, 0); /* R_028A40_VGT_GS_MODE */
 
-	r600_store_context_reg_seq(cb, R_028B94_VGT_STRMOUT_CONFIG, 2);
-	r600_store_value(cb, 0); /* R_028B94_VGT_STRMOUT_CONFIG */
-	r600_store_value(cb, 0); /* R_028B98_VGT_STRMOUT_BUFFER_CONFIG */
-
 	r600_store_context_reg_seq(cb, R_028AB4_VGT_REUSE_OFF, 2);
 	r600_store_value(cb, 0); /* R_028AB4_VGT_REUSE_OFF */
 	r600_store_value(cb, 0); /* R_028AB8_VGT_VTX_CNT_EN */
 
 	r600_store_config_reg(cb, R_008A14_PA_CL_ENHANCE, (3  1) | 1);
 
+	r600_store_ctl_const(cb, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0);
+
+	r600_store_context_reg_seq(cb, R_028028_DB_STENCIL_CLEAR, 2);
+	r600_store_value(cb, 0); /* R_028028_DB_STENCIL_CLEAR */
+	r600_store_value(cb, 0x3F80); /* R_02802C_DB_DEPTH_CLEAR */
+
+	

Re: [Mesa-dev] [PATCH weston 2/2] compositor: add support for OES_EGL_image_external

2012-08-14 Thread Pekka Paalanen
On Mon, 13 Aug 2012 18:59:33 -0500
Rob Clark r...@ti.com wrote:

 On Mon, Aug 13, 2012 at 5:39 PM, Rob Clark rob.cl...@linaro.org wrote:
  From: Rob Clark r...@ti.com
 
  In cases where the GPU can natively handle certain YUV formats,
  eglQueryWaylandBufferWL() can return the value EGL_TEXTURE_EXTERNAL_OES
  and the compositor will treat the buffer as a single egl-image-external.
 
  See:
  http://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt
 
  Signed-off-by: Rob Clark r...@ti.com
  ---
   src/compositor.c |   42 --
   src/compositor.h |2 ++
   src/weston-egl-ext.h |1 +
   3 files changed, 35 insertions(+), 10 deletions(-)
 
  diff --git a/src/compositor.c b/src/compositor.c
  index b2a3ae9..08e575a 100644
  --- a/src/compositor.c
  +++ b/src/compositor.c
  @@ -719,14 +719,14 @@ ensure_textures(struct weston_surface *es, int 
  num_textures)
 
  for (i = es-num_textures; i  num_textures; i++) {
  glGenTextures(1, es-textures[i]);
  -   glBindTexture(GL_TEXTURE_2D, es-textures[i]);
  -   glTexParameteri(GL_TEXTURE_2D,
  +   glBindTexture(es-target, es-textures[i]);
  +   glTexParameteri(es-target,
  GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
  -   glTexParameteri(GL_TEXTURE_2D,
  +   glTexParameteri(es-target,
  GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
  }
  es-num_textures = num_textures;
  -   glBindTexture(GL_TEXTURE_2D, 0);
  +   glBindTexture(es-target, 0);
   }
 
   static void
  @@ -771,6 +771,7 @@ weston_surface_attach(struct wl_surface *surface, 
  struct wl_buffer *buffer)
  if (wl_buffer_is_shm(buffer)) {
  es-pitch = wl_shm_buffer_get_stride(buffer) / 4;
  es-shader = ec-texture_shader_rgba;
  +   es-target = GL_TEXTURE_2D;
 
  ensure_textures(es, 1);
  glBindTexture(GL_TEXTURE_2D, es-textures[0]);
  @@ -786,7 +787,7 @@ weston_surface_attach(struct wl_surface *surface, 
  struct wl_buffer *buffer)
  for (i = 0; i  es-num_images; i++)
  ec-destroy_image(ec-egl_display, es-images[i]);
  es-num_images = 0;
  -
  +   es-target = GL_TEXTURE_2D;
  switch (format) {
  case EGL_TEXTURE_RGB:
  case EGL_TEXTURE_RGBA:
  @@ -794,6 +795,11 @@ weston_surface_attach(struct wl_surface *surface, 
  struct wl_buffer *buffer)
  num_planes = 1;
  es-shader = ec-texture_shader_rgba;
  break;
  +   case EGL_TEXTURE_EXTERNAL_OES:
 
 Kristian pointed out to me on IRC that this should be called something
 like EGL_TEXTURE_EXTERNAL_WL (or EGL_TEXTURE_EXTERNAL_OES_WL?), so
 I'll resubmit these patches..
 
 
  +   num_planes = 1;
  +   es-target = GL_TEXTURE_EXTERNAL_OES;
  +   es-shader = ec-texture_shader_egl_external;
  +   break;
  case EGL_TEXTURE_Y_UV_WL:
  num_planes = 2;
  es-shader = ec-texture_shader_y_uv;
  @@ -824,8 +830,8 @@ weston_surface_attach(struct wl_surface *surface, 
  struct wl_buffer *buffer)
  es-num_images++;
 
  glActiveTexture(GL_TEXTURE0 + i);
  -   glBindTexture(GL_TEXTURE_2D, es-textures[i]);
  -   ec-image_target_texture_2d(GL_TEXTURE_2D,
  +   glBindTexture(es-target, es-textures[i]);
  +   ec-image_target_texture_2d(es-target,
  es-images[i]);
  }
 
  @@ -942,9 +948,9 @@ weston_surface_draw(struct weston_surface *es, struct 
  weston_output *output,
  for (i = 0; i  es-num_textures; i++) {
  glUniform1i(es-shader-tex_uniforms[i], i);
  glActiveTexture(GL_TEXTURE0 + i);
  -   glBindTexture(GL_TEXTURE_2D, es-textures[i]);
  -   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
  filter);
  -   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 
  filter);
  +   glBindTexture(es-target, es-textures[i]);
  +   glTexParameteri(es-target, GL_TEXTURE_MIN_FILTER, filter);
  +   glTexParameteri(es-target, GL_TEXTURE_MAG_FILTER, filter);
  }
 
  v = ec-vertices.data;
  @@ -2842,6 +2848,19 @@ static const char texture_fragment_shader_rgba[] =
  FRAGMENT_SHADER_EXIT
  }\n;
 
  +static const char texture_fragment_shader_egl_external[] =
  +   #extension GL_OES_EGL_image_external : require\n
  +   precision mediump float;\n
  +   varying vec2 v_texcoord;\n
  +   uniform 

[Mesa-dev] [Bug 53458] SCons KeyError: 'top_srcdir':

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=53458

José Fonseca jfons...@vmware.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #1 from José Fonseca jfons...@vmware.com 2012-08-14 12:00:22 UTC 
---
This should be fixed with

commit ea8dcfc90d5abbf699cd64be4dccd1e69fe82d75
Author: José Fonseca jfons...@vmware.com
Date:   Tue Aug 14 12:18:45 2012 +0100

scons: Populate top_srcdir and top_builddir variables when reading
Makefiles.sources.

This is not entirely correct, as scons doesn't put binaries in a
src subdirectory, but doesn't seem to be a problem for now.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 43477] rendering errors in unigine tropics and sanctuary (regression)

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

Kenneth Graunke kenn...@whitecape.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||NOTOURBUG

--- Comment #6 from Kenneth Graunke kenn...@whitecape.org 2012-08-14 15:32:11 
UTC ---
This is a bug in Unigine's engine.  It's supposed to request that functionality
by one of these options:

1. Specifying #version 130 (it doesn't, so it gets 110, which is mandatory spec
behavior)
2. Specifying #extension GL_EXT_texture_array : require

Since it does neither of those, we don't offer the functionality.  Which is
correct behavior, and not a problem with any other applications.

That said, we did put in a workaround for their apps (our first ever).  You
simply need to install a drirc.  This should happen on 'make install', but you
can also copy src/mesa/drivers/dri/common/drirc to either /etc/drirc or
~/.drirc.  That automatically detects Unigine binary names and applies the two
necessary workarounds:

1. force_glsl_extensions_warn - let them use extensions without asking, but
warn on use
2. disable_blend_func_extended - disable the ARB_blend_func_extended extension,
which at least Heaven completely misuses in a way that can't possibly work.

You can also set those two items as environment variables if you prefer that to
installing a drirc.  The drirc just makes it automatic.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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] radeon/llvm: Adds a pass that try to propagates NEG/ABS flags to their user

2012-08-14 Thread Vincent Lejeune
---
 src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp |   1 +
 src/gallium/drivers/radeon/AMDIL.h |   2 +
 src/gallium/drivers/radeon/Makefile.sources|   1 +
 src/gallium/drivers/radeon/R600CodeEmitter.cpp |   5 +-
 .../drivers/radeon/R600ModifiersPropagation.cpp| 236 +
 5 files changed, 242 insertions(+), 3 deletions(-)
 create mode 100644 src/gallium/drivers/radeon/R600ModifiersPropagation.cpp

diff --git a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp 
b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
index 7b199f1..0aaf139 100644
--- a/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
+++ b/src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
@@ -148,6 +148,7 @@ bool AMDGPUPassConfig::addPostRegAlloc() {
 }
 
 bool AMDGPUPassConfig::addPreSched2() {
+  PM-add(createR600ModifiersPropagation());
   return false;
 }
 
diff --git a/src/gallium/drivers/radeon/AMDIL.h 
b/src/gallium/drivers/radeon/AMDIL.h
index 4029f27..499ffe2 100644
--- a/src/gallium/drivers/radeon/AMDIL.h
+++ b/src/gallium/drivers/radeon/AMDIL.h
@@ -99,6 +99,8 @@ FunctionPass*
   createAMDILCFGPreparationPass(TargetMachine TM AMDIL_OPT_LEVEL_DECL);
 FunctionPass*
   createAMDILCFGStructurizerPass(TargetMachine TM AMDIL_OPT_LEVEL_DECL);
+  
+FunctionPass *createR600ModifiersPropagation();
 
 extern Target TheAMDILTarget;
 extern Target TheAMDGPUTarget;
diff --git a/src/gallium/drivers/radeon/Makefile.sources 
b/src/gallium/drivers/radeon/Makefile.sources
index fc7b652..2a2ce8b 100644
--- a/src/gallium/drivers/radeon/Makefile.sources
+++ b/src/gallium/drivers/radeon/Makefile.sources
@@ -42,6 +42,7 @@ CPP_SOURCES := \
R600InstrInfo.cpp   \
R600KernelParameters.cpp\
R600MachineFunctionInfo.cpp \
+   R600ModifiersPropagation.cpp\
R600RegisterInfo.cpp\
SIAssignInterpRegs.cpp  \
SICodeEmitter.cpp   \
diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp 
b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
index 0c84633..7e62936 100644
--- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
@@ -313,10 +313,9 @@ void R600CodeEmitter::EmitSrc(const MachineOperand  MO, 
int chan_override)
   }
 
   // XXX: Emit isNegated (1 byte)
-  if ((!(MO.getTargetFlags()  MO_FLAG_ABS))
-   (MO.getTargetFlags()  MO_FLAG_NEG ||
+  if ( (MO.getTargetFlags()  MO_FLAG_NEG) ||
  (MO.isReg() 
-  (MO.getReg() == AMDGPU::NEG_ONE || MO.getReg() == AMDGPU::NEG_HALF{
+  (MO.getReg() == AMDGPU::NEG_ONE || MO.getReg() == AMDGPU::NEG_HALF))){
 EmitByte(1);
   } else {
 EmitByte(0);
diff --git a/src/gallium/drivers/radeon/R600ModifiersPropagation.cpp 
b/src/gallium/drivers/radeon/R600ModifiersPropagation.cpp
new file mode 100644
index 000..11108db
--- /dev/null
+++ b/src/gallium/drivers/radeon/R600ModifiersPropagation.cpp
@@ -0,0 +1,236 @@
+//===-- AMDILCFGStructurizer.cpp - CFG Structurizer 
---===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//==---===//
+
+
+#define DEBUG_TYPE modifier-prop
+
+#include AMDIL.h
+#include AMDILInstrInfo.h
+#include AMDILRegisterInfo.h
+#include AMDILUtilityFunctions.h
+#include AMDGPUUtil.h
+
+#include llvm/CodeGen/Passes.h
+#include llvm/Pass.h
+#include llvm/CodeGen/MachineFunction.h
+#include llvm/CodeGen/MachineFunctionPass.h
+#include llvm/Target/TargetRegisterInfo.h
+#include llvm/Support/Debug.h
+#include llvm/Support/ErrorHandling.h
+#include llvm/Support/raw_ostream.h
+#include llvm/ADT/BitVector.h
+#include llvm/ADT/DenseMap.h
+#include llvm/ADT/SetVector.h
+#include llvm/ADT/SmallVector.h
+#include llvm/ADT/Statistic.h
+using namespace llvm;
+
+#include iostream
+
+struct PropagateChainCandidate {
+public:
+  MachineInstr *DefMI;
+  SmallPtrSetMachineOperand*, 8 Uses;
+};
+
+class R600ModifiersPropagation : public MachineFunctionPass {
+protected:
+  const TargetRegisterInfo *TRI;
+  bool ModifierPropagateBlock(MachineBasicBlock MBB);
+  void substitute(PropagateChainCandidate PCC);
+  
+  typedef SmallVectorunsigned, 4 DestList;
+  typedef DenseMapunsigned, DestList SourceMap;
+  
+  void SourceNoLongerAvailable(unsigned Reg,
+SourceMap SrcMap,
+DenseMapunsigned, 
PropagateChainCandidate TargetMap);
+
+  void RemoveDstFromSourceMap(unsigned Dst, SourceMap SrcMap);
+public:
+  static char ID;
+  
+  R600ModifiersPropagation() : MachineFunctionPass(ID) {
+
+  }
+
+  bool runOnMachineFunction(MachineFunction MF);
+};
+
+char R600ModifiersPropagation::ID = 0;
+
+void R600ModifiersPropagation::substitute(PropagateChainCandidate PCC) 

Re: [Mesa-dev] [PATCH 7/8] mesa: Add skeleton implementations of glInvalidateTex{Sub, }Image

2012-08-14 Thread Ian Romanick

On 08/13/2012 08:01 PM, Brian Paul wrote:

On Mon, Aug 13, 2012 at 7:24 PM, Ian Romanick i...@freedesktop.org wrote:

From: Ian Romanick ian.d.roman...@intel.com

These are part of GL_ARB_invalidate_subdata (but not OpenGL ES 3.0).

Signed-off-by: Ian Romanick ian.d.roman...@intel.com
---
  src/mesa/main/api_exec.c |5 +
  src/mesa/main/texobj.c   |  194 ++
  src/mesa/main/texobj.h   |8 ++
  3 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index 66c4a67..59a9aeb 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -827,6 +827,11 @@ _mesa_create_exec_table(struct gl_context *ctx)
 _mesa_init_sampler_object_dispatch(exec);
  #endif

+   if (ctx-API == API_OPENGL || ctx-API == API_OPENGL_CORE) {
+  SET_InvalidateTexSubImage(exec, _mesa_InvalidateTexSubImage);
+  SET_InvalidateTexImage(exec, _mesa_InvalidateTexImage);
+   }
+
 if (ctx-API == API_OPENGL || ctx-API == API_OPENGL_CORE
 || (ctx-API == API_OPENGLES2  ctx-Version = 30)) {
SET_InvalidateSubFramebuffer(exec, _mesa_InvalidateSubFramebuffer);
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 02e37be..36ad7c6 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -877,7 +877,58 @@ _mesa_total_texture_memory(struct gl_context *ctx)
 return total;
  }

+static struct gl_texture_object *
+invalidate_tex_image_error_check(struct gl_context *ctx, GLuint texture,
+ GLint level, const char *name)
+{
+   /* The GL_ARB_invalidate_subdata spec says:
+*
+* If texture is zero or is not the name of a texture, the error
+* INVALID_VALUE is generated.
+*
+* This performs the error check in a different order than listed in the
+* spec.  We have to get the texture object before we can validate the
+* other parameters against values in the texture object.
+*/
+   struct gl_texture_object *const t = _mesa_lookup_texture(ctx, texture);
+   if (texture == 0 || t == NULL) {
+  _mesa_error(ctx, GL_INVALID_VALUE, %s(texture), name);
+  return NULL;
+   }
+
+   /* The GL_ARB_invalidate_subdata spec says:
+*
+* If level is less than zero or greater than the base 2 logarithm
+* of the maximum texture width, height, or depth, the error
+* INVALID_VALUE is generated.
+*/
+   if (level  0 || level  t-MaxLevel) {
+  _mesa_error(ctx, GL_INVALID_VALUE, %s(level), name);
+  return NULL;
+   }
+
+   /* The GL_ARB_invalidate_subdata spec says:
+*
+* If the target of texture is TEXTURE_RECTANGLE, TEXTURE_BUFFER,
+* TEXTURE_2D_MULTISAMPLE, or TEXTURE_2D_MULTISAMPLE_ARRAY, and level
+* is not zero, the error INVALID_VALUE is generated.
+*/
+   if (level != 0) {
+  switch (t-Target) {
+  case GL_TEXTURE_RECTANGLE:
+  case GL_TEXTURE_BUFFER:
+  case GL_TEXTURE_2D_MULTISAMPLE:
+  case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
+ _mesa_error(ctx, GL_INVALID_VALUE, %s(level), name);
+ return NULL;
+
+  default:
+ break;
+  }
+   }

+   return t;
+}

  /*@}*/

@@ -1346,4 +1397,147 @@ _mesa_unlock_context_textures( struct gl_context *ctx )
 _glthread_UNLOCK_MUTEX(ctx-Shared-TexMutex);
  }

+void GLAPIENTRY
+_mesa_InvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset,
+GLint yoffset, GLint zoffset, GLsizei width,
+GLsizei height, GLsizei depth)
+{
+   struct gl_texture_object *t;
+   struct gl_texture_image *image;
+   GET_CURRENT_CONTEXT(ctx);
+
+   ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+   t = invalidate_tex_image_error_check(ctx, texture, level,
+glInvalidateTexSubImage);
+
+   /* The GL_ARB_invalidate_subdata spec says:
+*
+* ...the specified subregion must be between -b and dim+b where
+* dim is the size of the dimension of the texture image, and b is
+* the size of the border of that texture image, otherwise
+* INVALID_VALUE is generated (border is not applied to dimensions that
+* don't exist in a given texture target).
+*/
+   image = t-Image[0][level];
+   if (image) {
+  int xBorder;
+  int yBorder;
+  int zBorder;
+  int imageWidth;
+  int imageHeight;
+  int imageDepth;
+
+  switch (t-Target) {
+  case GL_TEXTURE_BUFFER:
+ xBorder = 0;
+ yBorder = 0;
+ zBorder = 0;
+ imageWidth = 1;
+ imageHeight = 1;
+ imageDepth = 1;


I haven't checked the spec yet, but is imageWidth=1 right?  It looks
peculiar.  Maybe add a comment?


I'll add the following comment block before the switch-statement:

   /* The GL_ARB_invalidate_subdata spec says:
*
* For texture targets that don't have certain dimensions,
* this command treats those dimensions as having a size

[Mesa-dev] link error caused by -l -O2

2012-08-14 Thread Kevin H. Hobbs
I just checked out mesa from git.

My system runs Fedora 17 x86_64.

I configured mesa with :

$ ./autogen.sh \
  --prefix=/home/kevin/mesa_build/ \
  --disable-dri \
  --enable-glx \
  --enable-xlib-glx \
  --enable-osmesa \
  --without-gallium-drivers

and built with :

$ make -ij8  make

I get :

gmake[5]: Entering directory `/home/kevin/mesa/src/mesa/drivers/x11'
  CCLD   libGL.la
/usr/bin/ld: cannot find -l-O2
collect2: error: ld returned 1 exit status

I ran :

$ make SHELL=sh -xv

and got:

++ gcc -shared -fPIC -DPIC .libs/fakeglx.o .libs/glxapi.o .libs/xfonts.o
.libs/xm_api.o .libs/xm_buffer.o .libs/xm_dd.o .libs/xm_line.o
.libs/xm_tri.o -Wl,--whole-archive ../../../../src/mesa/.libs/libmesa.a
../../../../src/mapi/glapi/.libs/libglapi.a -Wl,--no-whole-archive -lX11
-lXext -lm -lpthread -ldl -L../../../../lib -l -O2 -Wl,-soname
-Wl,libGL.so.1 -o .libs/libGL.so.1.6.0
/usr/bin/ld: cannot find -l-O2
collect2: error: ld returned 1 exit status

I find the -l -O2 suspicious.



signature.asc
Description: OpenPGP digital signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] intel: Don't advertise GLX_SWAP_COPY_OML

2012-08-14 Thread Chad Versace
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/13/2012 08:43 AM, Eric Anholt wrote:
 Ian Romanick i...@freedesktop.org writes:
 The tail should not wag the dog. If the application requests such a 
 config, we should not page flip.  There are cases where the copy is 
 preferable because it leaves the backbuffer intact.
 
 Well, that would require extra work in dri2 to use the older copyregion 
 interface if the bit is set, and then you lose correct vblank syncing. 
 Unless you're planning on new dri2 protocol.
 
 Or we could just remove this interface that, as far as I know, no app 
 uses.
 

I second that. Let's not advertise behavior that we actually don't support.
And let's not give ourselves extra work for features that no one wants.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJQKo9lAAoJEAIvNt057x8iY84P+wZt5nVN064aFAPcDjWXFMvA
ubsRJcCdcobD3/P5DJGuUAgiDR+l3pouYTY0/myLMTgo4zsoAlJb6+k9lfEWdyPo
YL7JrhpqnW0FVzWOGoeoBvvVIAg4V2XM5pfSCDqI0crnDlNT9ZPOX9PADahzpqSX
VzER6hTed9pqIN5bInSq6v0O6UZ2KyEun1IyifaCJBCyTY9cO0IBcrh7D2Nkbc75
6KPZ5HWgIMZvf1jdFXT6uCyM91KP3FtJpdrVr9bJm6AijnpEf9Hyiboojwrzizd+
8RJcJAwS0CBDZDqhy0YDudZvP3uFSV3KbRX8dU/qRojiPNOk8a8LZ/i0nem+ZJki
G+XnJc5FVOeAvYkFVb+YQNXJKOAS83fzjivmLLIDo3zSk2Wlm94GrGhjZI3y7zDZ
yv32SuTB9YWCvkmrCEkHNay/TAJLHIOVDZbe+mJOKR15xHhnRc//jjtTjdiR2ZMg
x/L9XWTqF3OWLiY7FJTurXnOBHL5aqBJreLhXa1MO2fIkhuTmU0VTiQamFt/CwR0
tX2Od+MeeCZDeQgPz/ayOUdgqrfpLjylYlT3K4MO9/eSS/nNYCnJEfW5YSbkTgpg
DQ+eZ4DMhLIU8o6jJiAXIg45KAFSPlD/0E9zxLqghWwHVTS16FJAB9GqEI/oXW9i
a4xTgcoBcSIZterLwB25
=Gbk/
-END PGP SIGNATURE-
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] intel: Don't advertise GLX_SWAP_COPY_OML

2012-08-14 Thread Ian Romanick

On 08/13/2012 08:43 AM, Eric Anholt wrote:

Ian Romanick i...@freedesktop.org writes:

The tail should not wag the dog. If the application requests such a
config, we should not page flip.  There are cases where the copy is
preferable because it leaves the backbuffer intact.


Well, that would require extra work in dri2 to use the older copyregion
interface if the bit is set, and then you lose correct vblank syncing.
Unless you're planning on new dri2 protocol.

Or we could just remove this interface that, as far as I know, no app
uses.


I'm pretty sure both Firefox and Blender want this for their UI 
elements.  Firefox might not use it anymore, but I'm sure Blender does. 
 Blender also won't care about vsync.

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


[Mesa-dev] [Bug 43477] rendering errors in unigine tropics and sanctuary (regression)

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

--- Comment #7 from maximlevit...@gmail.com 2012-08-14 19:43:35 UTC ---
The point is that I do have a drirc.

I also did this before running the demo:

export force_glsl_extensions_warn=true
export disable_blend_func_extended=true

And yet, I am getting this:

GLShader::loadFragment(): error in
core/shaders/meshes/fragment_base_light_omni.shader file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_BLEND_FUNC_EXTENDED,BASE_LIGHT_OMNI,OMNI,SHADOW,PHONG_RIM
0:460(18): error: syntax error, unexpected NEW_IDENTIFIER
GLShader::loadFragment(): error in
core/shaders/meshes/fragment_base_light_omni.shader file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_BLEND_FUNC_EXTENDED,BASE_LIGHT_OMNI,OMNI,SHADOW,PHONG_RIM,MESH_SKINNED
0:460(18): error: syntax error, unexpected NEW_IDENTIFIER


-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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/8] mesa: Add skeleton implementations of glInvalidate{Sub, }Framebuffer

2012-08-14 Thread Kenneth Graunke
On 08/13/2012 06:23 PM, Ian Romanick wrote:
 From: Ian Romanick ian.d.roman...@intel.com
 
 These are part of GL_ARB_invalidate_subdata and OpenGL ES 3.0.
 
 Signed-off-by: Ian Romanick ian.d.roman...@intel.com
 ---
  src/mesa/main/api_exec.c |5 ++
  src/mesa/main/fbobject.c |  141 
 ++
  src/mesa/main/fbobject.h |9 +++
  3 files changed, 155 insertions(+), 0 deletions(-)
 
 diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
 index f366f5f..51fb520 100644
 --- a/src/mesa/main/api_exec.c
 +++ b/src/mesa/main/api_exec.c
 @@ -827,6 +827,11 @@ _mesa_create_exec_table(struct gl_context *ctx)
 _mesa_init_sampler_object_dispatch(exec);
  #endif
  
 +   if (ctx-API == API_OPENGL || ctx-API == API_OPENGL_CORE
 +   || (ctx-API == API_OPENGLES2  ctx-Version = 30)) {

You can use _mesa_is_desktop_gl(ctx) here.  It might be nice to add a
_mesa_is_gles3 inline function as well.  Then this could be:

if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {

...which is easier to read/write.

 +  SET_InvalidateSubFramebuffer(exec, _mesa_InvalidateSubFramebuffer);
 +  SET_InvalidateFramebuffer(exec, _mesa_InvalidateFramebuffer);
 +   }
 return exec;
  }
  
 diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
 index d558d7f..4dbc349 100644
 --- a/src/mesa/main/fbobject.c
 +++ b/src/mesa/main/fbobject.c
 @@ -3006,3 +3006,144 @@ _mesa_FramebufferTextureFaceARB(GLenum target, GLenum 
 attachment,
 not implemented!);
  }
  #endif /* FEATURE_ARB_geometry_shader4 */
 +
 +static void
 +invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments,
 +   const GLenum *attachments, GLint x, GLint y,
 +   GLsizei width, GLsizei height, const char 
 *name)
 +{
 +   int i;
 +   struct gl_framebuffer *fb;
 +   GET_CURRENT_CONTEXT(ctx);
 +
 +   ASSERT_OUTSIDE_BEGIN_END(ctx);
 +
 +   fb = get_framebuffer_target(ctx, target);
 +   if (!fb) {
 +  _mesa_error(ctx, GL_INVALID_ENUM, %s(target), name);
 +  return;
 +   }
 +
 +   if (numAttachments  0) {
 +  _mesa_error(ctx, GL_INVALID_VALUE,
 +  %s(numAttachments  0), name);
 +  return;
 +   }
 +
 +   /* The GL_ARB_invalidate_subdata spec says:
 +*
 +* If an attachment is specified that does not exist in the
 +* framebuffer bound to target, it is ignored.
 +*
 +* It also says:
 +*
 +* If attachments contains COLOR_ATTACHMENTm and m is greater than
 +* or equal to the value of MAX_COLOR_ATTACHMENTS, then the error
 +* INVALID_OPERATION is generated.
 +*
 +* No mention is made of GL_AUXi being out of range.  Therefore, we allow
 +* any enum that can be allowed by the API (OpenGL ES 3.0 has a different
 +* set of retrictions).
 +*/
 +   for (i = 0; i  numAttachments; i++) {
 +  if (_mesa_is_winsys_fbo(fb)) {
 + switch (attachments[i]) {
 + case GL_ACCUM:
 +/* Accumulation buffers were removed in OpenGL 3.1, and they 
 never
 + * exited in OpenGL ES.

existed (typo)

 + */
 +if (ctx-API != API_OPENGL)
 +   goto invalid_enum;
 +break;
 + case GL_COLOR:
 + case GL_DEPTH:
 + case GL_STENCIL:
 +break;
 + case GL_AUX0:
 + case GL_AUX1:
 + case GL_AUX2:
 + case GL_AUX3:

AUX buffers are gone in core, so they should be treated like accum
buffers above.

 + case GL_BACK_LEFT:
 + case GL_BACK_RIGHT:
 + case GL_FRONT_LEFT:
 + case GL_FRONT_RIGHT:
 +if (ctx-API != API_OPENGL  ctx-API != API_OPENGL_CORE)

if (_mesa_is_desktop_gl(ctx))

Otherwise,
Reviewed-by: Kenneth Graunke kenn...@whitecape.org

 +   goto invalid_enum;
 +break;
 + default:
 +goto invalid_enum;
 + }
 +  } else {
 + switch (attachments[i]) {
 + case GL_DEPTH_ATTACHMENT:
 + case GL_STENCIL_ATTACHMENT:
 +break;
 + case GL_COLOR_ATTACHMENT0:
 + case GL_COLOR_ATTACHMENT1:
 + case GL_COLOR_ATTACHMENT2:
 + case GL_COLOR_ATTACHMENT3:
 + case GL_COLOR_ATTACHMENT4:
 + case GL_COLOR_ATTACHMENT5:
 + case GL_COLOR_ATTACHMENT6:
 + case GL_COLOR_ATTACHMENT7:
 + case GL_COLOR_ATTACHMENT8:
 + case GL_COLOR_ATTACHMENT9:
 + case GL_COLOR_ATTACHMENT10:
 + case GL_COLOR_ATTACHMENT11:
 + case GL_COLOR_ATTACHMENT12:
 + case GL_COLOR_ATTACHMENT13:
 + case GL_COLOR_ATTACHMENT14:
 + case GL_COLOR_ATTACHMENT15: {
 +const int k = attachments[i] - GL_COLOR_ATTACHMENT0;
 +if (k = ctx-Const.MaxColorAttachments) {
 +   _mesa_error(ctx, GL_INVALID_OPERATION,
 +   %s(attachment = max. color attachments), name);
 +  

[Mesa-dev] [PATCH 1/3] build: Require X11 pkg-config files

2012-08-14 Thread Matt Turner
Cc: Jeremy Huddleston jerem...@apple.com
---
Jeremy, does OS X ship the pkg-config files?

 configure.ac |   85 +++---
 1 files changed, 16 insertions(+), 69 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2ecedaf..e1c8818 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,8 +153,6 @@ AC_SUBST([EXTRA_LIB_PATH])
 
 dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
 _SAVE_CPPFLAGS=$CPPFLAGS
-AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
-AC_SUBST([X11_INCLUDES])
 
 dnl Compiler macros
 DEFINES=
@@ -878,32 +876,8 @@ if test x$enable_dri = xyes; then
 fi
 fi
 
-dnl
-dnl Find out if X is available. The variable have_x is set if libX11 is
-dnl found to mimic AC_PATH_XTRA.
-dnl
-if test -n $PKG_CONFIG; then
-AC_MSG_CHECKING([pkg-config files for X11 are available])
-PKG_CHECK_EXISTS([x11],[
-x11_pkgconfig=yes
-have_x=yes
-],[
-x11_pkgconfig=no
-])
-AC_MSG_RESULT([$x11_pkgconfig])
-else
-x11_pkgconfig=no
-fi
-dnl Use the autoconf macro if no pkg-config files
-if test $x11_pkgconfig = yes; then
-PKG_CHECK_MODULES([X11], [x11])
-else
-AC_PATH_XTRA
-test -z $X11_CFLAGS  X11_CFLAGS=$X_CFLAGS
-test -z $X11_LIBS  X11_LIBS=$X_LIBS -lX11
-AC_SUBST([X11_CFLAGS])
-AC_SUBST([X11_LIBS])
-fi
+dnl Find out if X is available.
+PKG_CHECK_MODULES([X11], [x11])
 
 dnl Try to tell the user that the --x-* options are only used when
 dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
@@ -947,18 +921,10 @@ dnl
 case x$enable_glx$enable_xlib_glx in
 xyesyes)
 # Xlib-based GLX
-if test $x11_pkgconfig = yes; then
-PKG_CHECK_MODULES([XLIBGL], [x11 xext])
-GL_PC_REQ_PRIV=x11 xext
-X11_INCLUDES=$X11_INCLUDES $XLIBGL_CFLAGS
-GL_LIB_DEPS=$XLIBGL_LIBS
-else
-# should check these...
-X11_INCLUDES=$X11_INCLUDES $X_CFLAGS
-GL_LIB_DEPS=$X_LIBS -lX11 -lXext
-GL_PC_LIB_PRIV=$GL_LIB_DEPS
-GL_PC_CFLAGS=$X11_INCLUDES
-fi
+PKG_CHECK_MODULES([XLIBGL], [x11 xext])
+GL_PC_REQ_PRIV=x11 xext
+X11_INCLUDES=$X11_INCLUDES $XLIBGL_CFLAGS
+GL_LIB_DEPS=$XLIBGL_LIBS
 GL_LIB_DEPS=$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $DLOPEN_LIBS
 GL_PC_LIB_PRIV=$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread
 ;;
@@ -975,38 +941,19 @@ xyesno)
 fi
 
 # find the DRI deps for libGL
-if test $x11_pkgconfig = yes; then
-PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx = 1.8.1])
-dri_modules=x11 xext xdamage xfixes x11-xcb xcb-glx
-
-# add xf86vidmode if available
-PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, 
HAVE_XF86VIDMODE=no)
-if test $HAVE_XF86VIDMODE = yes ; then
-dri_modules=$dri_modules xxf86vm
-fi
+dri_modules=x11 xext xdamage xfixes x11-xcb xcb-glx
 
-PKG_CHECK_MODULES([DRIGL], [$dri_modules])
-GL_PC_REQ_PRIV=$GL_PC_REQ_PRIV $dri_modules
-X11_INCLUDES=$X11_INCLUDES $DRIGL_CFLAGS
-GL_LIB_DEPS=$DRIGL_LIBS
-else
-# should check these...
-X11_INCLUDES=$X11_INCLUDES $X_CFLAGS
-if test x$HAVE_XF86VIDMODE == xyes; then
-   GL_LIB_DEPS=$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes
-   else
-   GL_LIB_DEPS=$X_LIBS -lX11 -lXext -lXdamage -lXfixes
-   fi
-GL_PC_LIB_PRIV=$GL_LIB_DEPS
-GL_PC_CFLAGS=$X11_INCLUDES
-
-# XCB can only be used from pkg-config
-PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx = 1.8.1])
-GL_PC_REQ_PRIV=$GL_PC_REQ_PRIV x11-xcb xcb-glx
-X11_INCLUDES=$X11_INCLUDES $XCB_CFLAGS
-GL_LIB_DEPS=$GL_LIB_DEPS $XCB_LIBS
+# add xf86vidmode if available
+PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, 
HAVE_XF86VIDMODE=no)
+if test $HAVE_XF86VIDMODE = yes ; then
+dri_modules=$dri_modules xxf86vm
 fi
 
+PKG_CHECK_MODULES([DRIGL], [$dri_modules])
+GL_PC_REQ_PRIV=$GL_PC_REQ_PRIV $dri_modules
+X11_INCLUDES=$X11_INCLUDES $DRIGL_CFLAGS
+GL_LIB_DEPS=$DRIGL_LIBS
+
 # need DRM libs, -lpthread, etc.
 GL_LIB_DEPS=$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS
 GL_PC_LIB_PRIV=-lm -lpthread $DLOPEN_LIBS
-- 
1.7.8.6

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


[Mesa-dev] [PATCH 2/3] build: Remove EXTRA_LIB_PATH

2012-08-14 Thread Matt Turner
You can add extra library paths to LDFLAGS directly.
---
 configure.ac   |6 +-
 src/gallium/targets/Makefile.va|2 +-
 src/gallium/targets/Makefile.vdpau |2 +-
 src/gallium/targets/Makefile.xvmc  |2 +-
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index e1c8818..86b22b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -146,12 +146,8 @@ dnl LIB_DIR - library basename
 LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
 AC_SUBST([LIB_DIR])
 
-dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
+dnl Cache LDFLAGS and CPPFLAGS so we can add to them and restore later
 _SAVE_LDFLAGS=$LDFLAGS
-AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
-AC_SUBST([EXTRA_LIB_PATH])
-
-dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
 _SAVE_CPPFLAGS=$CPPFLAGS
 
 dnl Compiler macros
diff --git a/src/gallium/targets/Makefile.va b/src/gallium/targets/Makefile.va
index a6e775c..307fa63 100644
--- a/src/gallium/targets/Makefile.va
+++ b/src/gallium/targets/Makefile.va
@@ -10,7 +10,7 @@ INCLUDES = -I$(TOP)/src/gallium/include \
   -I$(TOP)/src/gallium/winsys \
   $(DRIVER_INCLUDES)
 DEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VA_MAJOR) -DVER_MINOR=$(VA_MINOR) 
$(DRIVER_DEFINES)
-LIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lva -lXext -lX11 -lm
+LIBS = $(DRIVER_LIBS) -lva -lXext -lX11 -lm
 STATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/va/libvatracker.a
 
 ifeq ($(MESA_LLVM),1)
diff --git a/src/gallium/targets/Makefile.vdpau 
b/src/gallium/targets/Makefile.vdpau
index fba3cdf..a00ebf3 100644
--- a/src/gallium/targets/Makefile.vdpau
+++ b/src/gallium/targets/Makefile.vdpau
@@ -10,7 +10,7 @@ INCLUDES = -I$(TOP)/src/gallium/include \
   -I$(TOP)/src/gallium/winsys \
   $(DRIVER_INCLUDES)
 DEFINES = -DGALLIUM_TRACE -DVER_MAJOR=$(VDPAU_MAJOR) 
-DVER_MINOR=$(VDPAU_MINOR) $(DRIVER_DEFINES)
-LIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lvdpau -lX11-xcb -lxcb-dri2 -lm -lrt
+LIBS = $(DRIVER_LIBS) -lvdpau -lX11-xcb -lxcb-dri2 -lm -lrt
 STATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/vdpau/libvdpautracker.a
 
 ifeq ($(MESA_LLVM),1)
diff --git a/src/gallium/targets/Makefile.xvmc 
b/src/gallium/targets/Makefile.xvmc
index ff1af4f..0a0ac1b 100644
--- a/src/gallium/targets/Makefile.xvmc
+++ b/src/gallium/targets/Makefile.xvmc
@@ -10,7 +10,7 @@ INCLUDES = -I$(TOP)/src/gallium/include \
   -I$(TOP)/src/gallium/winsys \
   $(DRIVER_INCLUDES)
 DEFINES = -DGALLIUM_TRACE $(DRIVER_DEFINES)
-LIBS = $(EXTRA_LIB_PATH) $(DRIVER_LIBS) -lXv -lX11-xcb -lxcb-dri2 -lm
+LIBS = $(DRIVER_LIBS) -lXv -lX11-xcb -lxcb-dri2 -lm
 STATE_TRACKER_LIB = $(TOP)/src/gallium/state_trackers/xvmc/libxvmctracker.a
 
 ifeq ($(MESA_LLVM),1)
-- 
1.7.8.6

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


[Mesa-dev] [PATCH 3/3] build: Remove -shared from OSMesa's LDFLAGS

2012-08-14 Thread Matt Turner
Would break the static build.
---
Static build still broken in a number of other places because of
ln -sf *.so.

 src/mesa/drivers/osmesa/Makefile.am |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/osmesa/Makefile.am 
b/src/mesa/drivers/osmesa/Makefile.am
index dbee925..adda0fd 100644
--- a/src/mesa/drivers/osmesa/Makefile.am
+++ b/src/mesa/drivers/osmesa/Makefile.am
@@ -35,7 +35,7 @@ lib_LTLIBRARIES = lib@OSMESA_LIB@.la
 
 lib@OSMESA_LIB@_la_SOURCES = osmesa.c
 
-lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -shared 
-no-undefined
+lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ 
-no-undefined
 lib@OSMESA_LIB@_la_LIBADD = \
$(top_builddir)/src/mesa/libmesa.la \
$(top_builddir)/src/mapi/glapi/libglapi.la
-- 
1.7.8.6

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


[Mesa-dev] [Bug 52140] Ubuntu Unity - Launcher and switcher icons disappeared

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=52140

--- Comment #18 from Robert Hooker (Sarvatt) sarv...@gmail.com 2012-08-14 
20:16:36 UTC ---
This is now fixed for me on intel at least as of a 20120814 checkout up to
b4977197

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 1/8] mesa: update glext.h to version 83

2012-08-14 Thread Kenneth Graunke
On 08/13/2012 06:23 PM, Ian Romanick wrote:
 From: Ian Romanick ian.d.roman...@intel.com
 
 Signed-off-by: Ian Romanick ian.d.roman...@intel.com
 ---
  include/GL/glext.h | 1039 
 ++--
  1 files changed, 1013 insertions(+), 26 deletions(-)

For the series:
Reviewed-by: Kenneth Graunke kenn...@whitecape.org
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/3] build: Require X11 pkg-config files

2012-08-14 Thread Jeremy Sequoia


On 08/14/12, Matt Turner  matts...@gmail.com wrote:
 Cc: Jeremy Huddleston jerem...@apple.com
 ---
 Jeremy, does OS X ship the pkg-config files?
 


Yes, Leopard and later ship the pkg-config files with Apple's X11.  XQuartz 
also ships the pkg-config files.


I've been meaning to get mesa building on OS X using autoconf.  master is 
currently broken for OS X because of the build change, and I want to try to get 
that fixed soon.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 53226] mesa/demos does not build with mesa git because of gbm API changes

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=53226

Olivier Blin freedesk...@blino.org changed:

   What|Removed |Added

 CC||ore...@gmail.com

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 53226] mesa/demos does not build with mesa git because of gbm API changes

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=53226

Olivier Blin freedesk...@blino.org changed:

   What|Removed |Added

 CC||k...@bitplanet.net

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 53226] mesa/demos does not build with mesa git because of gbm API changes

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=53226

Olivier Blin freedesk...@blino.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #2 from Olivier Blin freedesk...@blino.org 2012-08-14 21:07:46 
UTC ---
Fixed in commit 11ac30649e8360f295050a1029805c1d769aaacb

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 43477] force_glsl_extensions_warn not implemented in Gallium (was: rendering errors in unigine tropics and sanctuary (regression))

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

maximlevit...@gmail.com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|NOTOURBUG   |
Summary|rendering errors in unigine |force_glsl_extensions_warn
   |tropics and sanctuary   |not implemented in Gallium
   |(regression)|(was: rendering errors in
   ||unigine tropics and
   ||sanctuary (regression))

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 43477] force_glsl_extensions_warn not implemented in Gallium (was: rendering errors in unigine tropics and sanctuary (regression))

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

--- Comment #8 from maximlevit...@gmail.com 2012-08-14 22:06:00 UTC ---
So, a quick glance at gallium code reveals that this workaround is not wired up
in Gallum.

And disable_blend_func_extended doesn't exist in recent mesa at all.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 03/19] gallium: make pipe_box signed in order to represent flipped blits

2012-08-14 Thread Roland Scheidegger
Am 12.08.2012 17:07, schrieb Marek Olšák:
 On Fri, Aug 10, 2012 at 1:42 AM, Roland Scheidegger srol...@vmware.com 
 wrote:
 Am 10.08.2012 00:37, schrieb Marek Olšák:
 I'd like to have either signed pipe_box or a new struct for that purpose.
 It looks to me like conceptually what you want is more like a coordinate
 pair. I dunno though but negative width/height/depth just aren't very
 intuitive for a box. But maybe I'm the only one caring about that style :-).
 
 To me, both representations are equivalent because:
 x1 + width = x2 (x1 is inclusive, while x2 is exclusive)
Yes this is quite obviously true. But by using two coordinate pairs
instead of width/height you avoid any confusion over the meaning of
negative widths/heights. Though granted a coordinate pair where one
coordinate is inclusive the other ecxlusive isn't really nice neither.
In any case, it doesn't look like anyone else cares so I guess your
suggestion is ok.

Roland



 
 We could add checks into Galahad to make sure that pipe_box isn't
 negative when it shouldn't be. IIRC, Jose said he planned to enable
 Galahad by default on debug builds.
 
 Marek
 

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


[Mesa-dev] [Bug 43477] force_glsl_extensions_warn not implemented in Gallium (was: rendering errors in unigine tropics and sanctuary (regression))

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

--- Comment #9 from almos aaalmo...@gmail.com 2012-08-14 22:25:12 UTC ---
I understand that it's not Mesa3D's fault, but r600g doesn't seem to adhere to
those drirc settings (yes, I changed the name of the driver to r600 in .drirc).

If I run Tropics as
ESA_EXTENSION_OVERRIDE=-GL_ARB_draw_instanced ./1024x768_windowed.sh
it renders normally at daylight, but the night scenes are totally wrong. It
prints lots of these:
GLShader::loadFragment(): error in
core/shaders/grass/fragment_base_light_omni.shader file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_BLEND_FUNC_EXTENDED,BASE_LIGHT_OMNI,OMNI,SHADOW,NOISE
0:460(18): error: syntax error, unexpected NEW_IDENTIFIER

If I run without that override, only the textures at the root ot the trees are
shown, and it prints lots of these:
GLShader::loadVertex(): error in core/shaders/meshes/vertex_base.shader file
defines:
UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_BLEND_FUNC_EXTENDED,HAS_ARB_DRAW_INSTANCED,BASE_DEFERRED,ALPHA,MESH_SKINNED
0:171(53): error: `gl_InstanceID' undeclared
0:171(76): error: Operands to arithmetic operators must be numeric
0:171(76): error: Operands to arithmetic operators must be numeric
0:199(39): error: `gl_InstanceID' undeclared
0:199(42): error: Operands to arithmetic operators must be numeric
0:199(19): error: cannot construct `ivec3' from a non-numeric data type
0:199(58): error: Operands to arithmetic operators must be numeric

I'm not an expert on driver development, but IMHO this has to be fixed somehow.
Either persuade unigine devs to fix their code, or implement a proper
workaround.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 43477] force_glsl_extensions_warn not implemented in Gallium (was: rendering errors in unigine tropics and sanctuary (regression))

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

--- Comment #10 from maximlevit...@gmail.com 2012-08-14 22:30:28 UTC ---
Yep, because Gallium ignores this setting as I said.
It very easy to fix, so I'll send a patch in a hour

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 10999] GL_EXT_paletted_texture is not support without 3D driver

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=10999

almos aaalmo...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX

--- Comment #3 from almos aaalmo...@gmail.com 2012-08-14 22:52:18 UTC ---
Closing, as mesa got rid of GL_EXT_paletted_texture completely in Aug 29 2011.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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] link error caused by -l -O2

2012-08-14 Thread Matt Turner
On Tue, Aug 14, 2012 at 10:34 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 I just checked out mesa from git.

 My system runs Fedora 17 x86_64.

 I configured mesa with :

 $ ./autogen.sh \
   --prefix=/home/kevin/mesa_build/ \
   --disable-dri \
   --enable-glx \
   --enable-xlib-glx \
   --enable-osmesa \
   --without-gallium-drivers

 and built with :

 $ make -ij8  make

 I get :

 gmake[5]: Entering directory `/home/kevin/mesa/src/mesa/drivers/x11'
   CCLD   libGL.la
 /usr/bin/ld: cannot find -l-O2
 collect2: error: ld returned 1 exit status

 I ran :

 $ make SHELL=sh -xv

 and got:

 ++ gcc -shared -fPIC -DPIC .libs/fakeglx.o .libs/glxapi.o .libs/xfonts.o
 .libs/xm_api.o .libs/xm_buffer.o .libs/xm_dd.o .libs/xm_line.o
 .libs/xm_tri.o -Wl,--whole-archive ../../../../src/mesa/.libs/libmesa.a
 ../../../../src/mapi/glapi/.libs/libglapi.a -Wl,--no-whole-archive -lX11
 -lXext -lm -lpthread -ldl -L../../../../lib -l -O2 -Wl,-soname
 -Wl,libGL.so.1 -o .libs/libGL.so.1.6.0
 /usr/bin/ld: cannot find -l-O2
 collect2: error: ld returned 1 exit status

 I find the -l -O2 suspicious.

Yeah, check out my comment here:
https://bugs.gentoo.org/show_bug.cgi?id=429288#c7

The attached patch fixes the linking problems with (shared-)glapi and
libstdc++. Unfortunately, it doesn't make it work -- libGL.so doesn't
export any gl* functions. Not sure what's going on here.


p.patch
Description: Binary data
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] link error caused by -l -O2

2012-08-14 Thread Matt Turner
On Tue, Aug 14, 2012 at 3:54 PM, Matt Turner matts...@gmail.com wrote:
 On Tue, Aug 14, 2012 at 10:34 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 I just checked out mesa from git.

 My system runs Fedora 17 x86_64.

 I configured mesa with :

 $ ./autogen.sh \
   --prefix=/home/kevin/mesa_build/ \
   --disable-dri \
   --enable-glx \
   --enable-xlib-glx \
   --enable-osmesa \
   --without-gallium-drivers

 and built with :

 $ make -ij8  make

 I get :

 gmake[5]: Entering directory `/home/kevin/mesa/src/mesa/drivers/x11'
   CCLD   libGL.la
 /usr/bin/ld: cannot find -l-O2
 collect2: error: ld returned 1 exit status

 I ran :

 $ make SHELL=sh -xv

 and got:

 ++ gcc -shared -fPIC -DPIC .libs/fakeglx.o .libs/glxapi.o .libs/xfonts.o
 .libs/xm_api.o .libs/xm_buffer.o .libs/xm_dd.o .libs/xm_line.o
 .libs/xm_tri.o -Wl,--whole-archive ../../../../src/mesa/.libs/libmesa.a
 ../../../../src/mapi/glapi/.libs/libglapi.a -Wl,--no-whole-archive -lX11
 -lXext -lm -lpthread -ldl -L../../../../lib -l -O2 -Wl,-soname
 -Wl,libGL.so.1 -o .libs/libGL.so.1.6.0
 /usr/bin/ld: cannot find -l-O2
 collect2: error: ld returned 1 exit status

 I find the -l -O2 suspicious.

 Yeah, check out my comment here:
 https://bugs.gentoo.org/show_bug.cgi?id=429288#c7

 The attached patch fixes the linking problems with (shared-)glapi and
 libstdc++. Unfortunately, it doesn't make it work -- libGL.so doesn't
 export any gl* functions. Not sure what's going on here.

Ian says (and I agree) that shared-glapi doesn't make any sense for
non-DRI configurations. So build with --disable-shared-glapi until I
get a patch to disable it on Xlib/OSMesa/...
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [Bug 53513] New: src/gallium/state_trackers/egl/common/egl_g3d_api.c:56:18: error: ‘_EGLContext’ has no member named ‘ClientVersion’

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=53513

 Bug #: 53513
   Summary: src/gallium/state_trackers/egl/common/egl_g3d_api.c:56
:18: error: ‘_EGLContext’ has no member named
‘ClientVersion’
Classification: Unclassified
   Product: Mesa
   Version: git
  Platform: x86-64 (AMD64)
OS/Version: All
Status: NEW
  Severity: blocker
  Priority: medium
 Component: Other
AssignedTo: mesa-dev@lists.freedesktop.org
ReportedBy: v...@freedesktop.org
CC: i...@freedesktop.org


mesa: cde2b7e55d88915d0c139ab5cdd3f204936958dd (master)

$ scons
[...]
  Compiling src/gallium/state_trackers/egl/common/egl_g3d_api.c ...
src/gallium/state_trackers/egl/common/egl_g3d_api.c: In function
‘egl_g3d_choose_st’:
src/gallium/state_trackers/egl/common/egl_g3d_api.c:56:18: error: ‘_EGLContext’
has no member named ‘ClientVersion’
src/gallium/state_trackers/egl/common/egl_g3d_api.c:67:19: error: ‘_EGLContext’
has no member named ‘ClientVersion’

3fd79dd9886f05f45f3dc94c028a38dd75b8ee1b is the first bad commit
commit 3fd79dd9886f05f45f3dc94c028a38dd75b8ee1b
Author: Ian Romanick ian.d.roman...@intel.com
Date:   Wed Jul 18 15:59:15 2012 -0700

egl: Rename ClientVersion to ClientMajorVersion, add ClientMinorVersion

Signed-off-by: Ian Romanick ian.d.roman...@intel.com
Reviewed-by: Kenneth Graunke kenn...@whitecape.org

:04 04 7aa70b90c54224bf130d08a3984673884f731868
28cb6e04081d386fbe69d51840fe5c4a8e637f7a Msrc
bisect run success

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 4716] glxgears segfaults in neutral_VertexAttrib4fvARB, with mach64 dri

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=4716

almos aaalmo...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #3 from almos aaalmo...@gmail.com 2012-08-14 23:06:32 UTC ---
Closing after 7 years of silence. I think it's safe to assume this is fixed in
current mesa, as the backtrace shows no mach64 driver functions, and AFAICT
there were no problems with vertex handling in mesa/main recently. Anyway,
mach64 is no longer supported by mesa.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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 9733] Bug when calling glPixelZoom( 1.0, -1.0 )?

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=9733

--- Comment #4 from almos aaalmo...@gmail.com 2012-08-14 23:10:23 UTC ---
Does this problem apply to r300g? The classic r300 driver has been obsoleted.
(btw the links in comment 2 yield error 404)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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] mesa: Remove C++11 narrowing warnings

2012-08-14 Thread Chad Versace
On 08/10/2012 03:40 PM, Chí-Thanh Christopher Nguyễn wrote:
 Chad Versace schrieb:
 
 This opens a larger question. gcc 4.2 was released in May 2007, over 5 years
 ago, and received its last update in May 2008. How old of a gcc should new 
 Mesa
 releases support?

 Before 2007 I had not even been introduced to Linux, so I'm not in a 
 position to
 answer that question.
 
 If you care about a bit more than Linux: gcc-4.2 is the last version
 that was released under GPL 2. For that reason, in some places gcc-4.2
 is the latest release available. One example is Apple, who provide their
 specially patched gcc only up to version 4.2.1.
 
 
 Best regards,
 Chí-Thanh Christopher Nguyễn
 
 ___
 mesa-dev mailing list
 mesa-dev@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/mesa-dev
 


Thanks for the infom, Chí-Thanh. Based on this, I will let configure.ac add the
flag conditionally based on gcc feature detection.

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


[Mesa-dev] [PATCH 0/3] intel: A hiz bugfix and some little hiz cleanups

2012-08-14 Thread Chad Versace
Patch 1 fixes an ugly assertion failure in KDE and Chrome OS.

Pathces 2-3 are little hiz cleanups that will improve performance by an
infinitesimal amount.

Chad Versace (3):
  i965: Move hiz resolve to after renderbuffer resizing
  intel: Eliminate unneeded hiz resolves
  i965: Remove redundant null check

 src/mesa/drivers/dri/i965/brw_draw.c   | 13 -
 src/mesa/drivers/dri/intel/intel_fbo.c |  4 ++-
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 39 +-
 src/mesa/drivers/dri/intel/intel_mipmap_tree.h |  3 +-
 4 files changed, 36 insertions(+), 23 deletions(-)

-- 
1.7.11.4

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


[Mesa-dev] [PATCH 1/3] i965: Move hiz resolve to after renderbuffer resizing

2012-08-14 Thread Chad Versace
Do all pre-draw hiz resolves *after* the renderbuffers are resized by
intel_prepare_render. Otherwise, we may resolve buffers that are
immediately discarded afterwards.

Fixes the assertion failure below when resizing windows in KDE and under
some unknown circumstance in Chrome OS:
intel_resolve_map.c:46: intel_resolve_map_set: Assertion
`(*tail)-need == need' failed.

Also, remove the comment that resolves must occur [...] before setting up
any hardware state. That was true when resolves were implemented with
meta-ops, but no longer with blorp.

CC: Stephane Marchesin marc...@chromium.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52252
Reported-by: Lu Hua huax...@intel.com
Signed-off-by: Chad Versace chad.vers...@linux.intel.com
---
 src/mesa/drivers/dri/i965/brw_draw.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw.c 
b/src/mesa/drivers/dri/i965/brw_draw.c
index ccfc306..0b1a4e0 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -433,11 +433,6 @@ static bool brw_try_draw_prims( struct gl_context *ctx,
 */
brw_validate_textures( brw );
 
-   /* Resolves must occur after updating state and finalizing textures but
-* before setting up any hardware state for this draw call.
-*/
-   brw_predraw_resolve_buffers(brw);
-
/* Bind all inputs, derive varying and size information:
 */
brw_merge_inputs( brw, arrays );
@@ -458,6 +453,11 @@ static bool brw_try_draw_prims( struct gl_context *ctx,
 
intel_prepare_render(intel);
 
+   /* Resolves must occur after updating state, resizing renderbuffers,
+* and finalizing textures.
+*/
+   brw_predraw_resolve_buffers(brw);
+
for (i = 0; i  nr_prims; i++) {
   int estimated_max_prim_size;
 
-- 
1.7.11.4

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


[Mesa-dev] [PATCH 3/3] i965: Remove redundant null check

2012-08-14 Thread Chad Versace
intel_renderbuffer_resolve_hiz checks if rb-mt is null, so there is no
need for the caller to do so.

Signed-off-by: Chad Versace chad.vers...@linux.intel.com
---
 src/mesa/drivers/dri/i965/brw_draw.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw.c 
b/src/mesa/drivers/dri/i965/brw_draw.c
index 0b1a4e0..f9e4445 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -305,9 +305,8 @@ brw_predraw_resolve_buffers(struct brw_context *brw)
 
/* Resolve the depth buffer's HiZ buffer. */
depth_irb = intel_get_renderbuffer(ctx-DrawBuffer, BUFFER_DEPTH);
-   if (depth_irb  depth_irb-mt) {
+   if (depth_irb)
   intel_renderbuffer_resolve_hiz(intel, depth_irb);
-   }
 
/* Resolve depth buffer of each enabled depth texture. */
for (int i = 0; i  BRW_MAX_TEX_UNIT; i++) {
-- 
1.7.11.4

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


[Mesa-dev] [PATCH 2/3] intel: Eliminate unneeded hiz resolves

2012-08-14 Thread Chad Versace
On creating a hiz miptree, we conservatively marked that each miptree
slice needed a hiz resolve. But the resolves are unneeded when creating
a non-texture miptree, so this patch removes them.

This eliminates one hiz resolve per each creation of a non-texture depth
miptree.  Hence, this eliminates many resolves when resizing a window.

Signed-off-by: Chad Versace chad.vers...@linux.intel.com
---
 src/mesa/drivers/dri/intel/intel_fbo.c |  4 ++-
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 39 +-
 src/mesa/drivers/dri/intel/intel_mipmap_tree.h |  3 +-
 3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c 
b/src/mesa/drivers/dri/intel/intel_fbo.c
index 3a610c2..ada0f69 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -538,7 +538,9 @@ intel_renderbuffer_update_wrapper(struct intel_context 
*intel,
 
if (mt-hiz_mt == NULL 
intel-vtbl.is_hiz_depth_format(intel, rb-Format)) {
-  intel_miptree_alloc_hiz(intel, mt, 0 /* num_samples */);
+  intel_miptree_alloc_hiz(intel, mt,
+  0 /*num_samples*/,
+  true /*for_texture*/);
   if (!mt-hiz_mt)
 return false;
}
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index 24cd9e9..143f2e3 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -467,7 +467,8 @@ intel_miptree_create_for_renderbuffer(struct intel_context 
*intel,
   goto fail;
 
if (intel-vtbl.is_hiz_depth_format(intel, format)) {
-  ok = intel_miptree_alloc_hiz(intel, mt, num_samples);
+  ok = intel_miptree_alloc_hiz(intel, mt, num_samples,
+   false /*for_texture*/);
   if (!ok)
  goto fail;
}
@@ -825,7 +826,8 @@ intel_miptree_alloc_mcs(struct intel_context *intel,
 bool
 intel_miptree_alloc_hiz(struct intel_context *intel,
struct intel_mipmap_tree *mt,
-GLuint num_samples)
+GLuint num_samples,
+bool for_texture)
 {
assert(mt-hiz_mt == NULL);
/* MSAA HiZ surfaces always use IMS layout. */
@@ -844,18 +846,27 @@ intel_miptree_alloc_hiz(struct intel_context *intel,
if (!mt-hiz_mt)
   return false;
 
-   /* Mark that all slices need a HiZ resolve. */
-   struct intel_resolve_map *head = mt-hiz_map;
-   for (int level = mt-first_level; level = mt-last_level; ++level) {
-  for (int layer = 0; layer  mt-level[level].depth; ++layer) {
-head-next = malloc(sizeof(*head-next));
-head-next-prev = head;
-head-next-next = NULL;
-head = head-next;
-
-head-level = level;
-head-layer = layer;
-head-need = GEN6_HIZ_OP_HIZ_RESOLVE;
+   if (for_texture) {
+  /* Mark that all slices need a HiZ resolve. This is necessary for
+   * renderbuffers that wrap textures because the user may have previously
+   * uploaded texture data into the parent depth miptree.
+   *
+   * This is skipped for non-texture miptrees. In the non-texture case,
+   * the depth miptree and the hiz miptree are created together, and hence
+   * the content of each is undefined here.
+   */
+  struct intel_resolve_map *head = mt-hiz_map;
+  for (int level = mt-first_level; level = mt-last_level; ++level) {
+ for (int layer = 0; layer  mt-level[level].depth; ++layer) {
+head-next = malloc(sizeof(*head-next));
+head-next-prev = head;
+head-next-next = NULL;
+head = head-next;
+
+head-level = level;
+head-layer = layer;
+head-need = GEN6_HIZ_OP_HIZ_RESOLVE;
+ }
   }
}
 
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h 
b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h
index 0d0e757..65743fd 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h
@@ -503,7 +503,8 @@ intel_miptree_alloc_mcs(struct intel_context *intel,
 bool
 intel_miptree_alloc_hiz(struct intel_context *intel,
struct intel_mipmap_tree *mt,
-GLuint num_samples);
+GLuint num_samples,
+bool for_texture);
 
 void
 intel_miptree_slice_set_needs_hiz_resolve(struct intel_mipmap_tree *mt,
-- 
1.7.11.4

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


[Mesa-dev] [Bug 43477] force_glsl_extensions_warn not implemented in Gallium (was: rendering errors in unigine tropics and sanctuary (regression))

2012-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43477

--- Comment #11 from maximlevit...@gmail.com 2012-08-15 00:42:05 UTC ---
Created attachment 65577
  -- https://bugs.freedesktop.org/attachment.cgi?id=65577
quick fix

This patch adds support for this via environment variable, like this:
export force_glsl_extensions_warn=true

Doing same via driconf would involve interface changes because of abstraction.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- 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] (no subject)

2012-08-14 Thread Maxim Levitsky

Hi, I have this backported patch here for more that an year, and forgot all 
about it.
It just makes gallium drivers use driver name instread of 'dri' in driconf
parser, thus making it compatable with 'driconf' GUI.

Can you merge it?

Best regards,
Maxim Levitsky
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] glsl: Fix array overflow.

2012-08-14 Thread Stéphane Marchesin
Otherwise we run past the end of the array and crash.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Stéphane Marchesin marc...@chromium.org
---
 src/glsl/link_uniforms.cpp |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 25dc1d7..eef9025 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -313,7 +313,7 @@ private:
 const gl_texture_index target = base_type-sampler_index();
 const unsigned shadow = base_type-sampler_shadow;
 for (unsigned i = this-uniforms[id].sampler
-; i  this-next_sampler
+; i  MIN2(this-next_sampler, MAX_SAMPLERS)
 ; i++) {
this-targets[i] = target;
this-shader_samplers_used |= 1U  i;
-- 
1.7.5.3.367.ga9930

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


[Mesa-dev] [QUESTION] If shared dricode/glapi is enabled by default, why it isn't used by gallium

2012-08-14 Thread Maxim Levitsky

I noticed that recently in addition to nouveau_dri.so, I also get
installed libdricore.so and libglsl.so.
But two later files aren't linked to anything and can be deleted.
Obviously nouveau_dri.so statically links its code.

Quick glance over Makefiles makes me thing that same issue exists
in other Gallium drivers.

Any ideas?


Any while at it, why not to move mesa state tracker
(src/mesa/state_tracker) to gallium for consistency, as anyway
the (src/gallium/state_trackers) long ago isn't just
'This directory is a placeholder for incubating state-trackers.'

In fact wrapper for all DRI gallium drivers, lives there.
Its just confusing this way in my opinion.

Best regards,
Maxim Levitsky

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


Re: [Mesa-dev] link error caused by -l -O2

2012-08-14 Thread Kevin H. Hobbs
On 08/14/2012 06:59 PM, Matt Turner wrote:
 
 Ian says (and I agree) that shared-glapi doesn't make any sense for
 non-DRI configurations. So build with --disable-shared-glapi until I
 get a patch to disable it on Xlib/OSMesa/...
 

Thank you.

--disable-shared-glapi allows the build to proceed.




signature.asc
Description: OpenPGP digital signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev