[Mesa-dev] [Bug 43477] rendering errors in unigine tropics and sanctuary (regression)
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
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
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':
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)
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
--- 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
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
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
-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
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)
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
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
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
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
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
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
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
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
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
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
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))
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))
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
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))
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))
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
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
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
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’
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
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 )?
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
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
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
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
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
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))
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)
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.
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
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
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