https://bugs.freedesktop.org/show_bug.cgi?id=89312
--- Comment #1 from Samuel Iglesias ---
Steps to reproduce:
$ cd
$ cd modules/gles3
$ ./deqp-gles3 -n
dEQP-GLES3.functional.negative_api.texture.copytexsubimage2d_invalid_target
$ ./deqp-gles3 -n dEQP-GLES3.functional.negative_api.texture.copyt
https://bugs.freedesktop.org/show_bug.cgi?id=89312
Bug ID: 89312
Summary: [regression, bisected] main: Added entry points for
CopyTextureSubImage*D. (d6b7c40cecfe01)
Product: Mesa
Version: git
Hardware: Other
https://bugs.freedesktop.org/show_bug.cgi?id=89311
Samuel Iglesias changed:
What|Removed |Added
CC||la...@jlekstrand.net,
You are right, I missed that one. I'll send a v2 to fix it.
Alexandre Demers
On 2015-02-25 01:36, Ilia Mirkin wrote:
On Wed, Feb 25, 2015 at 1:34 AM, Alexandre Demers
wrote:
Lets define R600_MAX_VIEWPORTS instead of using 16 here and there
in the code when looping through viewports and scisso
On Wed, Feb 25, 2015 at 1:34 AM, Alexandre Demers
wrote:
> Lets define R600_MAX_VIEWPORTS instead of using 16 here and there
> in the code when looping through viewports and scissors. It is
> easier to understand what this number represents.
>
> Signed-off-by: Alexandre Demers
> ---
> src/galliu
On Fri, Feb 20, 2015 at 10:31:03PM +, Neil Roberts wrote:
> On Gen9+ the 3D textures use the same mipmap layout as 2D array
> textures.
> ---
> src/mesa/drivers/dri/i965/brw_tex_layout.c | 10 --
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i
We haven't implemented proper unsynchronized map support on !LLC systems
(pre-SNB, Atom). MapBufferRange with GL_MAP_UNSYNCHRONIZE_BIT will
actually do a synchronized map, probably killing performance.
Also warn on BufferSubData, when we should be doing an unsynchronized
upload, but instead have
On Tue, Feb 24, 2015 at 7:01 PM, Anuj Phogat wrote:
> On Tue, Feb 24, 2015 at 8:31 AM, Neil Roberts
> wrote:
> > Anuj Phogat writes:
> >
> >> using a flag passed in as function parameter. This will enable
> >> _mesa_meta_pbo_GetTexSubImage to be used for reading in to
> >> non-pbo buffers.
> >>
On Tue, Feb 24, 2015 at 8:31 AM, Neil Roberts wrote:
> Anuj Phogat writes:
>
>> using a flag passed in as function parameter. This will enable
>> _mesa_meta_pbo_GetTexSubImage to be used for reading in to
>> non-pbo buffers.
>>
>> This will be useful to support reading from YF/YS tiled surfaces
>
> -Original Message-
> From: Brian Paul [mailto:bri...@vmware.com]
> Sent: Friday, February 20, 2015 5:49 PM
> To: Predut, Marius; mesa-dev@lists.freedesktop.org
> Subject: Re: [Mesa-dev] [PATCH v5] mesa: use fi_type in vertex attribute code
>
> On 02/19/2015 11:42 AM, marius.pre...@intel.
Am 2015-02-24 21:26, schrieb Matt Turner:
Fixes rendering with Dolphin.
---
src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
i
From: Marius Predut
For 32-bit builds, floating point operations use x86 FPU registers,
not SSE registers. If we're actually storing an integer in a float
variable, the value might get modified when written to memory. This
patch changes the VBO code to use the fi_type (float/int union) to
store
On Tue, Feb 24, 2015 at 4:17 PM, Ian Romanick wrote:
> Series is
>
> Reviewed-by: Ian Romanick
>
> Should probably wait for Anuj, Neil, or Jason to respond to patch 2.
> They know the code here much better than I.
>
Heh... I was waiting for someone else to look at it before I gave an R-B
and sc
Series is
Reviewed-by: Ian Romanick
Should probably wait for Anuj, Neil, or Jason to respond to patch 2.
They know the code here much better than I.
On 02/24/2015 03:20 PM, Laura Ekstrand wrote:
> This moves the line setting immutability for the texture to after
> _mesa_initialize_texture_objec
Looks good to me.
Reviewed-by: Laura Ekstrand
On Mon, Feb 23, 2015 at 6:47 AM, Martin Peres
wrote:
> v2: Review from Laura Ekstrand
> - give more helpful error messages
> - factor the lookup code for the xfb and objBuf
> - replace some already-existing tabs with spaces
> - add comments to expl
This series is also
Reviewed-by: Matt Turner
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
---
include/c99_math.h | 8
src/mesa/main/imports.h | 8
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/c99_math.h b/include/c99_math.h
index 147bcee..9e31d06 100644
--- a/include/c99_math.h
+++ b/include/c99_math.h
@@ -202,4 +202,12 @@ llrintf(float
---
src/mesa/main/imports.h | 11 ---
1 file changed, 11 deletions(-)
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index df6a3fe..7fb9381 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -90,17 +90,6 @@ typedef union { GLfloat f; GLint i; GLuint u; }
isblank() is not used in the code.
---
src/glsl/glcpp/pp.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/glsl/glcpp/pp.c b/src/glsl/glcpp/pp.c
index a54bcbe..160c666 100644
--- a/src/glsl/glcpp/pp.c
+++ b/src/glsl/glcpp/pp.c
@@ -25,7 +25,6 @@
#include
#include
#include "glcpp.h"
-#in
---
src/mesa/main/imports.h | 8
src/mesa/main/light.c| 2 +-
src/mesa/math/m_matrix.c | 4 ++--
3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index 356f0e1..d886427 100644
--- a/src/mesa/main/imports.h
+++ b/src/mes
The later is only used in one place in swrast.
---
src/mesa/main/imports.h | 3 ---
src/mesa/swrast/s_tritemp.h | 5 +
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index 82b3213..356f0e1 100644
--- a/src/mesa/main/imports.
This moves the line setting immutability for the texture to after
_mesa_initialize_texture_object so that the initializer function will not
cancel it out. Moreover, because of the ARB_texture_view extension, immutable
textures must have NumLayers > 0, or depth will equal (0-1)=0x during
SUR
Changes PBO uploads and downloads to use a tall (height * depth) 2D texture
for blitting. This fixes the bug where 2D_ARRAY, 3D, and CUBE_MAP_ARRAY
textures are not properly uploaded and downloaded.
Removes the option to use a 2D ARRAY texture for the PBO during upload and
download. This option d
On Tue, Feb 24, 2015 at 04:53:03PM +, Emil Velikov wrote:
> On 22 February 2015 at 08:19, Jonathan Gray wrote:
> > The length argument passed to sysctl was the size of the pointer
> > not the type. The result of this is sysctl calls would fail on
> > 32 bit BSD/Mac OS X.
> >
> > Additionally
On 02/24/2015 01:16 PM, Marek Olšák wrote:
The function is pretty old. I don't know if anybody still needs it.
Brian, what do you think about this patch?
I'm OK with removing it. I haven't used it in a long time and I can
always fish it out of git if I need it again.
-Brian
There is a s
Ken and I discussed doing this only for when mt->first_layer ==
mt->last_layer
and decided to try this instead. In testing, it didn't seem to impact
other platforms (I used jenkins).
Still, after poking at this again today and talking with Jason, I think
that the best long term solution is to sen
Series is
Reviewed-by: Ian Romanick
On 02/24/2015 11:08 AM, Andreas Boll wrote:
> Since 87d3ae0b45b6b6bb50b583dafa55eb109449a005
> driQueryRendererIntegerCommon handles __DRI2_RENDERER_PREFFERED_PROFILE
> too.
>
> Cc: Ian Romanick
> Signed-off-by: Andreas Boll
> ---
> src/mesa/drivers/dri/co
Fixes rendering with Dolphin.
---
src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
index 6acd3fe..7ddb253 100644
--- a/src/mesa
This reverts commit 0d8f27eab7b7e8b7a16e76aabd3f6a0ab4880497.
"This doesn't seem to be necessary." <- I was wrong!
---
src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
b/src/mesa/drivers/dri/i965/brw
This patch is
Reviewed-by: Ian Romanick
Please also add the following to the commit message:
Cc: "10.4 10.5"
If you guys have the time, I'd also really appreciate a piglit test or
two for this case.
On 02/24/2015 10:02 AM, Eduardo Lima Mitev wrote:
> From: Samuel Iglesias Gonsalvez
>
> The
I'm not aware of any radeon parts capable of UBOs and not capable of GS.
Marek
On Tue, Feb 24, 2015 at 8:10 PM, Ian Romanick wrote:
> Nice catch... are there still any platforms in Mesa that support UBOs
> (part of OpenGL 3.1) but not geometry shaders (part of OpenGL 3.2)? I
> guess there are a
On Tue, Feb 24, 2015 at 11:47 AM, Ian Romanick wrote:
> On 02/24/2015 11:22 AM, Matt Turner wrote:
>> There were some bugs, and the code was really difficult to follow. We
>> would optimize
>>
>>min(max(x, b), 1.0) into max(sat(x), b)
>>
>> but not pay attention to the order of min/max and als
On Tuesday, February 24, 2015 11:33:30 AM Ian Romanick wrote:
> On 02/24/2015 02:19 AM, Kenneth Graunke wrote:
> > st_glsl_to_tgsi and ir_to_mesa have handled conditional discards for a
> > long time; the previous patch added that capability to i965.
> >
> > i965 (Haswell) shader-db stats:
> >
>
On 02/24/2015 11:32 AM, Matt Turner wrote:
> On Tue, Feb 24, 2015 at 11:20 AM, Ian Romanick wrote:
>> Patches 1, 2, and 4 are
>>
>> Reviewed-by: Ian Romanick
>>
>> I want to look more closely at the others.
>
> Okay, but three people have already reviewed them.
So there's probably no reason to
On Tuesday, February 24, 2015 12:20:08 PM Eric Anholt wrote:
> Kenneth Graunke writes:
>
> > With the previous optimization in place, some shaders wind up with
> > multiple discard jumps in a row, or jumps directly to the next
> > instruction. We can remove those.
> >
> > Without NIR on Haswell:
On 02/24/2015 02:19 AM, Kenneth Graunke wrote:
> st_glsl_to_tgsi and ir_to_mesa have handled conditional discards for a
> long time; the previous patch added that capability to i965.
>
> i965 (Haswell) shader-db stats:
>
> Without NIR:
> total instructions in shared programs: 5792133 -> 5776360 (
On Tue, Feb 24, 2015 at 11:22 AM, Matt Turner wrote:
> There were some bugs, and the code was really difficult to follow. We
> would optimize
>
>min(max(x, b), 1.0) into max(sat(x), b)
>
> but not pay attention to the order of min/max and also do
>
>max(min(x, b), 1.0) into max(sat(x), b)
On Tuesday, February 24, 2015 01:25:18 PM Connor Abbott wrote:
> On Tue, Feb 24, 2015 at 5:19 AM, Kenneth Graunke
> wrote:
> > For conditional discards, we can call emit_bool_to_cond_code to generate
> > the condition in f0.0. However, we want it in f0.1. The flag value is
> > always produced b
There were some bugs, and the code was really difficult to follow. We
would optimize
min(max(x, b), 1.0) into max(sat(x), b)
but not pay attention to the order of min/max and also do
max(min(x, b), 1.0) into max(sat(x), b)
Corrects four shaders from Champions of Regnum that do
min(max
Patches 1, 2, and 4 are
Reviewed-by: Ian Romanick
I want to look more closely at the others.
On 02/24/2015 02:19 AM, Kenneth Graunke wrote:
> Copy and pasted from the ir_if::condition handling, plus a NULL check.
>
> Signed-off-by: Kenneth Graunke
> ---
> src/glsl/ir_validate.cpp | 15 ++
Since 87d3ae0b45b6b6bb50b583dafa55eb109449a005
driQueryRendererIntegerCommon handles __DRI2_RENDERER_PREFFERED_PROFILE
too.
Cc: Ian Romanick
Signed-off-by: Andreas Boll
---
src/mesa/drivers/dri/common/utils.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/common/utils.
If the renderer supports the core profile the query returned incorrectly
0x8 as value, because it was using (1U << __DRI_API_OPENGL_CORE) for the
returned value.
The same happened with the compatibility profile. It returned 0x1
(1U << __DRI_API_OPENGL) instead of 0x2.
Internal DRI defines:
dri
Except for the comment on patch 6, patches 1-7 are
Reviewed-by: Connor Abbott
I'm not familiar enough with the code patch 8 is modifying, and Matt
and Eric have already commented on it.
On Tue, Feb 24, 2015 at 5:19 AM, Kenneth Graunke wrote:
> Copy and pasted from the ir_if::condition handling
As a side note (not really directly related to the patch) I think this
could benefit from some optimization, unless there's some passes
somewhere which can already do this.
The non-scalar (non-cube) calculation does this:
lod_info.lod = log2(max(sqrt(dot1), sqrt(dot2)))
The second sqrt can be triv
On Tue, Feb 24, 2015 at 10:31 AM, Connor Abbott wrote:
> On Tue, Feb 24, 2015 at 11:39 AM, Matt Turner wrote:
>> On Tue, Feb 24, 2015 at 7:53 AM, Jason Ekstrand wrote:
>>> On Tue, Feb 24, 2015 at 2:19 AM, Kenneth Graunke
>>> wrote:
st_glsl_to_tgsi and ir_to_mesa have handled condition
On Tue, Feb 24, 2015 at 5:19 AM, Kenneth Graunke wrote:
> For conditional discards, we can call emit_bool_to_cond_code to generate
> the condition in f0.0. However, we want it in f0.1. The flag value is
> always produced by the last instruction emit_bool_to_cond_code
> generates, so we can simpl
From: Iago Toral Quiroga
We do this in two steps: first we clip the dst rect and adjust the src
rect accordingly. Then we do it the other way around. In both passes
the adjustment part involves multiplying by a scale factor that can lead
to a small precision loss. This is breaking a few dEQP test
From: Iago Toral Quiroga
So they can hide declarations with the same name in other scopes.
Otherwise we get a parsing error for things like:
struct S { int val; };
int func (int S) { return S; }
Fixes the following 2 dEQP tests:
dEQP-GLES3.functional.shaders.scoping.valid.function_parameter_hid
From: Iago Toral Quiroga
We were doing this for all variables in a declaration list, but not
when there was just a single declaration. As a consequence, when we
used a single variable declaration to redeclare a type that existed
in a previous scope we would get a parsing error, so this would work
From: Iago Toral Quiroga
From section 9.2. Binding and Managing Framebuffer Objects:
"Upon successful return from Get*FramebufferAttachmentParameteriv, if
pname is FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, then params will contain
one of NONE, FRAMEBUFFER_DEFAULT, TEXTURE, or RENDERBUFFER, identifying
From: Samuel Iglesias Gonsalvez
Commit 7e414b58640aee6e243d337e72cea290c354f632 broke the gl_FragData array
into separate gl_FragData[i] variables, so drivers can eliminate useless
writes to gl_FragData improving their performance.
The problem occurs when GLSL IR code is linked in the following
Hello,
This is another set of patches fixing 274 dEQP failing tests from the GLES3
module.
Patches were written against Mesa 10.4.4 and were tested on i965. No piglit
regressions observed.
There is a git tree with this series rebased against current master to ease
bulk testing:
https://github
On 02/24/2015 10:25 AM, Matt Turner wrote:
On Tue, Feb 24, 2015 at 8:57 AM, Brian Paul wrote:
Start getting rid of some imports.h macros. Use the c99 functions instead.
---
Thanks a bunch, Brian! The C99 platforms thank you :)
I expected this patch, or an additional one that removed the las
On 02/24/2015 10:17 AM, Matt Turner wrote:
On Tue, Feb 24, 2015 at 8:57 AM, Brian Paul wrote:
Start getting rid of some imports.h macros. Use the c99 functions instead.
---
include/c99_math.h | 11 +++
src/mesa/main/imports.h | 6 --
src/mesa/math/m_debug_
On Tue, Feb 24, 2015 at 8:57 AM, Brian Paul wrote:
> Start getting rid of some imports.h macros. Use the c99 functions instead.
> ---
> include/c99_math.h | 11 +++
> src/mesa/main/imports.h | 6 --
> src/mesa/math/m_debug_util.h| 9 ++---
> src/mesa/pr
On 02/20/2015 08:12 PM, Ian Romanick wrote:
> On 02/20/2015 08:13 AM, Eduardo Lima Mitev wrote:
>>
>> In the spec GLES 3.1 spec, page 57, there is this: (and similar wording
>> in GL 4.5 spec, page 76)
>>
>> "6.3.2 Effects of Mapping Buffers on Other GL Commands
>>
>> "Any GL command which attempts
It's a class. Silences MSVC warning.
---
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 50a810c..b305507 100644
--- a/src/mesa/state_track
---
src/mesa/main/imports.h | 9 -
src/mesa/main/light.c | 4 ++--
src/mesa/main/macros.h | 2 +-
src/mesa/math/m_debug_norm.c| 5 +++--
src/mesa/math/m_norm_tmp.h | 6 +++---
src/mesa/math/m_xform.c | 1 +
src/mesa/program/prog_execute.c | 2 +-
---
src/mesa/drivers/dri/radeon/radeon_fog.c | 3 ++-
src/mesa/main/imports.h | 11 ---
src/mesa/math/m_matrix.c | 17 +
src/mesa/program/prog_execute.c | 30 +++---
src/mesa/swrast/s_fog.c
Start getting rid of some imports.h macros. Use the c99 functions instead.
---
include/c99_math.h | 11 +++
src/mesa/main/imports.h | 6 --
src/mesa/math/m_debug_util.h| 9 ++---
src/mesa/program/prog_execute.c | 5 +++--
4 files changed, 20 insertions(
On Tue, Feb 24, 2015 at 2:19 AM, Kenneth Graunke wrote:
> With the previous optimization in place, some shaders wind up with
> multiple discard jumps in a row, or jumps directly to the next
> instruction. We can remove those.
>
> Without NIR on Haswell:
> total instructions in shared programs: 57
On Tue, Feb 24, 2015 at 2:19 AM, Kenneth Graunke wrote:
> Copy and pasted from the ir_if::condition handling, plus a NULL check.
>
> Signed-off-by: Kenneth Graunke
> ---
There's just a single comment on the last patch, but with that the
series is R-b me and Eric
Reviewed-by: Matt Turner
Review
All of these patches except 4, 10 and 12 look good to me and are:
Reviewed-by: Neil Roberts
However, I'm still relatively new to this so maybe my review should be
taken with a pinch of salt.
I've replied with comments for the three patches mentioned.
Regards,
- Neil
pgpW3_ZfUlLbu.pgp
Descrip
It seems like it would be better to fold this into patch 4 because it
is fixing a problem that is effectively introduced by that patch,
isn't it?
Regards,
- Neil
pgphPhjb7Gl0I.pgp
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.free
Anuj Phogat writes:
> No functional changes in the patch. Just makes the code look cleaner.
>
> Signed-off-by: Anuj Phogat
> ---
> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 40
> +++
> 1 file changed, 29 insertions(+), 11 deletions(-)
>
> diff --git a/src/mesa/dri
Anuj Phogat writes:
> using a flag passed in as function parameter. This will enable
> _mesa_meta_pbo_GetTexSubImage to be used for reading in to
> non-pbo buffers.
>
> This will be useful to support reading from YF/YS tiled surfaces
> in Skylake.
>
> Signed-off-by: Anuj Phogat
> ---
> src/mesa
Mesa 10.5.0 release candidate 2 is now available for testing. The
current plan is to have an additional release candidate every Friday
until the eventual 10.5.0 release on Mar 6th.
The tag in the git repository for Mesa 10.5.0-rc2 is 'mesa-10.5.0-rc2'.
Mesa 10.5.0 release candidate 2 is available
On Tue, Feb 24, 2015 at 2:19 AM, Kenneth Graunke
wrote:
> st_glsl_to_tgsi and ir_to_mesa have handled conditional discards for a
> long time; the previous patch added that capability to i965.
>
> i965 (Haswell) shader-db stats:
>
> Without NIR:
> total instructions in shared programs: 5792133 ->
On 24.02.2015 14:57, Mark Janes wrote:
Hi Tobias,
FYI, This commit failed build-test after it was pushed.
Whoops, did not build that driver, right! Sorry for that!
Eric fixed it
up in 1d1e820.
-Mark
Thanks for the quick fix :)
Greetings,
Tobias
Tobias Klausmann writes:
snip
__
poc counter should be reset with IDR frame,
otherwise there would be a re-order issue with
frames before and after IDR
v2: add commit message
Signed-off-by: Leo Liu
Reviewed-by: Christian König
Cc: "10.4 10.5"
---
src/gallium/state_trackers/omx/vid_dec_h264.c | 5 +
1 file changed, 5 inse
On 02/24/2015 12:36 AM, Martin Peres wrote:
On 23/02/15 17:51, Brian Paul wrote:
On 02/23/2015 01:31 AM, Martin Peres wrote:
Signed-off-by: Martin Peres
---
src/mesa/drivers/osmesa/Makefile.am | 2 ++
src/mesa/drivers/osmesa/SConscript | 2 ++
2 files changed, 4 insertions(+)
diff --git
With earlier commit (install-lib-links: don't depend on .libs directory)
we moved the location of the file from .libs/ to the current dir.
Although we did not attribute that in the former case autotools was
doing us a favour and removing the file. Explicitly remove the file at
clean-local time, oth
Kenneth Graunke writes:
> With the previous optimization in place, some shaders wind up with
> multiple discard jumps in a row, or jumps directly to the next
> instruction. We can remove those.
>
> Without NIR on Haswell:
> total instructions in shared programs: 5777258 -> 5775872 (-0.02%)
> ins
opt_constant_folding() already detects conditional assignments where the
condition is constant, and either deletes the assignment or the
condition.
Make it handle discards in the same fashion.
Spotted happening in the wild in Tropico 5 shaders.
Signed-off-by: Kenneth Graunke
---
src/glsl/opt_c
Hi!
I have been looking into the dEQP test failures that deal with blitting
between sRGB and linear color spaces, and vice versa (in total 37
tests).
OpenGL ES 3.0 and OpenGL 4.4 specifications clearly state that
linearization should happen when reading from sRGB buffers, and sRGB
encoding should
Alex Henrie writes:
> Signed-off-by: Alex Henrie
Pushed. Thanks! Sorry for the delay.
For the future, we tend to record the patch version changes in the main
commit log, so that when the patch is applied it's obvious which version
got applied. This also helps record why the code ended up th
76 matches
Mail list logo