Hi all
I have pushed some draw module changes here
http://cgit.freedesktop.org/~wallbraker/mesa/log/?h=i915g-speed&showmsg=1
which improves speed in the draw module by avoiding unneeded flushing
and setup on draw calls.
The first two commits (starting from the bottom, right after master)
doesn't
On Sat, Apr 24, 2010 at 11:04 AM, Sedat Dilek
wrote:
> Hi,
>
> Backlog from #radeon/freenode (24-Apr-2010, German local-time UTC+2):
> [...]
> [11:49:16] here I get w/ openaren and mesa (commit
> 94b04d3d1ccd1b717dbc9d797341f1170121645a) compiled with --debug:
> state_tracker/st_atom_framebuffer.
On Sun, Mar 28, 2010 at 6:13 PM, Chia-I Wu wrote:
> Hi Jakob,
>
> This patch series adds support for GL_OES_EGL_image to st/mesa. The first
> patch implements st_manager::get_egl_image in st/egl. The hook is used to
> check and return an st_egl_image, which describes an EGLImageKHR. The second
On Fri, Mar 26, 2010 at 9:36 AM, Xavier Chantry
wrote:
> On Fri, Mar 26, 2010 at 2:51 AM, STEVE555 wrote:
>>
>> Hi guys,
>> I've pulled in the latest commits from Mesa git at about 1am
>> this morning.
>> I ran gmake -B realclean,and then used autoreconf -iv and ./autogen.sh with
>> my
On Fri, Mar 26, 2010 at 9:57 AM, Xavier Chantry
wrote:
> On Thu, Mar 25, 2010 at 8:32 PM, Jakob Bornecrantz
> wrote:
>>
>> Thanks again for testing.
>>
>> Okay, this could be solved by just checking if the state trackers are
>> built where we enable the the
On Thu, Mar 25, 2010 at 11:52 PM, Brian Paul wrote:
> Jakob Bornecrantz wrote:
>>
>> Hi Brian, Keith, Zack et al.
>>
>> So I tried to get i915g running again and it looks like there is a
>> RGBA vs BGRA bug in the draw module. I have attached two patches that
>
On Thu, Mar 25, 2010 at 11:22 PM, George Sapountzis
wrote:
> On Thu, Mar 25, 2010 at 9:49 PM, Jakob Bornecrantz
> wrote:
>> On Thu, Mar 25, 2010 at 7:00 PM, George Sapountzis
>> wrote:
>>> On Thu, Mar 25, 2010 at 7:58 PM, Jakob Bornecrantz
>>> wrote:
>&
formats for EMIT_4UB.
Patch 2 then introduces EMIT_4UB_BGRA and is used by i915g to make the
colors look correct again.
Comments please.
Cheers Jakob.
From 25fd65438993cf0b1e1f0846a9f94f970280cb32 Mon Sep 17 00:00:00 2001
From: Jakob Bornecrantz
Date: Thu, 25 Mar 2010 00:18:30 +0100
Subject
On Thu, Mar 25, 2010 at 7:00 PM, George Sapountzis
wrote:
> On Thu, Mar 25, 2010 at 7:58 PM, Jakob Bornecrantz
> wrote:
>> On Thu, Mar 25, 2010 at 3:12 PM, George Sapountzis
>> wrote:
>>> I pushed this to master, swrastg_dri was added to the autoconf build
>>&g
On Thu, Mar 25, 2010 at 7:06 PM, Xavier Chantry
wrote:
> On Thu, Mar 25, 2010 at 6:35 PM, Jakob Bornecrantz
> wrote:
>>
>> Thanks for testing...
>>
>> Hmm I currently only checking for if the --enable-egl switch has been
>> thrown when selecting so if yo
On Thu, Mar 25, 2010 at 5:30 PM, Xavier Chantry
wrote:
> I've been using the configure line from nouveau wiki for a while now :
> http://nouveau.freedesktop.org/wiki/GalliumHowto
>
> ./configure --enable-debug --enable-glx-tls --disable-asm
> --with-dri-drivers= --enable-gallium-nouveau --disable-
Hi
I since this was not a interface change and I think I got a large
enough test sample from various people I have merged the branch to
master. I confirmed that the following builds are working; configure
with all drivers, configure default, make linux-debug, scons with
dri=yes, scons with dri=no.
.
>
> I compile the nouveau drivers myself,so I can't speak for others who compile
> mesa for their different hardware.
> Regards,
> STEVE555
>
> Jakob Bornecrantz wrote:
>>
>> Hi all
>>
>> Can people please try out the gallium-target
Hi all
Can people please try out the gallium-targets branch I like to merge
that as soon as possible.
Also you will need to run autogen.sh if you switch to this branch.
The branch moves all target like directories from the winsys directory
into the targets directory this the dri/xorg/egl directo
On Wed, Mar 24, 2010 at 1:43 PM, STEVE555 wrote:
>
> Hi everyone,
> I pulled the latest commits from the git repository last
> night and did a gmake -B realclean,and did ./configure with these options:
Re-run autogen.sh
Cheers Jakob.
-
On Fri, Mar 12, 2010 at 3:00 AM, Chia-I Wu wrote:
> On Thu, Mar 11, 2010 at 12:15 PM, Chia-I Wu wrote:
>> This patch series adds st_api interface to st/mesa and st/vega, and
>> switch st/egl and st/glx from st_public interface to the new interface.
> I've pushed most of the this patch series to g
On 11 mar 2010, at 04.15, Chia-I Wu wrote:
> Hi all,
>
> This patch series adds st_api interface to st/mesa and st/vega, and
> switch st/egl and st/glx from st_public interface to the new
> interface.
>
> Feature-wise, st_api provides a more robust multiple client APIs
> (OpenGL/OpenGL ES/OpenVG)
Calling dri code from src/mesa/state_tracker is not allowed since it
supposed to be independent of windowing systems. That said from what I
can see both driInitExtensions and driInitSignleExtension could be
folded into mesa core, I can't see anything "dri special" about them.
Cheers Jakob.
On 1 mar 2010, at 13.45, Jakob Bornecrantz wrote:
> On 1 mar 2010, at 13.05, Keith Whitwell wrote:
>> On Thu, 2010-02-25 at 20:46 -0800, Jakob Bornecrantz wrote:
>>> Howdy
>>>
>>> I'm hoping to merge the gallium-winsys-handle branch to master this
>&g
On 1 mar 2010, at 15.23, Jose Fonseca wrote:
> Module: Mesa
> Branch: gallium-format-cleanup
> Commit: 4c3bfc9778d9a0a75bf93b15303a4839f971f695
> URL:
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c3bfc9778d9a0a75bf93b15303a4839f971f695
>
> Author: José Fonseca
> Date: Mon Mar 1 15:17
On 1 mar 2010, at 13.05, Keith Whitwell wrote:
> On Thu, 2010-02-25 at 20:46 -0800, Jakob Bornecrantz wrote:
>> Howdy
>>
>> I'm hoping to merge the gallium-winsys-handle branch to master this
>> weekend or early next week. The branch adds two new pipe screen
>>
Howdy
I'm hoping to merge the gallium-winsys-handle branch to master this weekend or
early next week. The branch adds two new pipe screen functions to be used by
the co state tracker (state tracker manger in new st_api.h speak). The branch
also adds a new PIPE_TEXTURE_USAGE_SHARABLE flag tellin
..8d9f557
--- /dev/null
+++ b/progs/gallium/quad-tex.c
@@ -0,0 +1,315 @@
+/******
+ *
+ * Copyright © 2010 Jakob Bornecrantz
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software
On Wed, Feb 3, 2010 at 12:58 PM, José Fonseca wrote:
> On Mon, 2010-02-01 at 08:31 -0800, José Fonseca wrote:
>> I've just started another feature branch, gallium-embedded.
>>
>>
>> The objectives of this branch are two-fold:
>>
>> - remove all inlines and os dependencies from src/gallium/include/
On 26 jan 2010, at 17.05, Christoph Bumiller wrote:
> On 26.01.2010 17:03, Roland Scheidegger wrote:
>> Oh, I should have added the PIPE_CAP bits (even if not supported)
>> to all
>> drivers. Good catch. I'll do that for the other drivers now.
>>
>>
> Ohhh sorry, I wanted to push the nv50 support
On Wed, Jan 20, 2010 at 1:47 AM, Chia-I Wu wrote:
> On Wed, Jan 20, 2010 at 3:20 AM, Jakob Bornecrantz wrote:
>> On 18 jan 2010, at 03.14, Chia-I Wu wrote:
>>> On Sun, Jan 17, 2010 at 10:24 AM, Chia-I Wu wrote:
>>>> I myself would like to see the st_visual a
On 19 jan 2010, at 19.20, Jakob Bornecrantz wrote:
On 18 jan 2010, at 03.14, Chia-I Wu wrote:
On Sun, Jan 17, 2010 at 10:24 AM, Chia-I Wu
wrote:
I myself would like to see the st_visual and st_api->make_current
issues
resolved (listed as issue 1 and 3 in DESIGN file).
This is propo
On 18 jan 2010, at 03.14, Chia-I Wu wrote:
> On Sun, Jan 17, 2010 at 10:24 AM, Chia-I Wu wrote:
>> I myself would like to see the st_visual and st_api->make_current
>> issues
>> resolved (listed as issue 1 and 3 in DESIGN file).
> This is proposed change for issue 1 (st_visual separation)
>
> ht
On 16 jan 2010, at 11.47, Chia-I Wu wrote:
> On Sat, Jan 16, 2010 at 10:25:53AM +0000, Jakob Bornecrantz wrote:
> [snipped]
>>> Both glEGLImageTargetTexture2DOES and vgCreateEGLImageTargetKHR will
>>> take EGLImage as their argument, there needs to be a lookup
>>>
On 16 jan 2010, at 10.05, Chia-I Wu wrote:
> On Sat, Jan 16, 2010 at 04:03:52AM +0000, Jakob Bornecrantz wrote:
>>> I am thinking all resource peeking should be paired with
>>> lock_resource
>>> and unlock_resource. If an extension does not imply access
>>&g
On 16 jan 2010, at 09.47, Chia-I Wu wrote:
> On Sat, Jan 16, 2010 at 05:49:44AM +0000, Jakob Bornecrantz wrote:
>> Here comes a quick review, lot of the things in here are out of date
>> due to discussions over email so I tried to only comment on bits.
>> A general note is
Hi
Here comes a quick review, lot of the things in here are out of date
due to discussions over email so I tried to only comment on bits.
A general note is that you seem to have removed a lot of comments.
Could you please base the a newer version on the st_api.h I sent out.
>
> diff --git a/
On 16 jan 2010, at 02.51, Chia-I Wu wrote:
> On Fri, Jan 15, 2010 at 07:59:08PM +0000, Jakob Bornecrantz wrote:
>> I don't think that splitting st_visual is a good idea. The
>> framebuffer config needs to be able to tell the renderer if it has
>> stereo, double, depth_
On 16 jan 2010, at 02.31, Chia-I Wu wrote:
> I think we may stick to
>
> st_api and st_context
> st_manager_api and st_framebuffer
>
> Sounds good?
Perfect.
>
> On Fri, Jan 15, 2010 at 05:18:53PM +, Jakob Bornecrantz wrote:
>>> I think all three are import
On 15 jan 2010, at 04.05, Chia-I Wu wrote:
> Hi,
>
> A separate mail for comments to st_api.h.
>
>> struct st_visual
>> {
>> enum pipe_format color_format;
>> enum pipe_format stencil_format;
>> enum pipe_format depth_format;
>> enum pipe_format accum_format;
>>
>> boolean double_buffer;
On 15 jan 2010, at 02.48, Chia-I Wu wrote:
> On Fri, Jan 15, 2010 at 9:35 AM, Jakob Bornecrantz
> wrote:
>> you guys are doing great work with the EGL state tracker. So I
>> thought it
>> would be a good time to open up a discussion about the way that the
>>
Hi Chia-I and Luca
you guys are doing great work with the EGL state tracker. So I thought
it would be a good time to open up a discussion about the way that the
API state trackers talk to the EGL, dri and other co state trackers.
I have attached a proposed interface to be used between the d
On 12 jan 2010, at 16.16, Chia-I Wu wrote:
> On Tue, Jan 12, 2010 at 10:52 PM, Jakob Bornecrantz
> wrote:
>> On 12 jan 2010, at 04.23, Chia-I Wu wrote:
>>> * Write up documentation
>>> * Remove unused/non-working EGL drivers
>>> * Remove drivers that ar
On 12 jan 2010, at 04.23, Chia-I Wu wrote:
> Hi all,
>
> I just pushed a new EGL driver (egl_g3d) to master. The new driver
> is located at src/gallium/state_trackers/egl_g3d/. When built, it
> provides .a archives that are later linked to by src/gallium/winsys/
> drm//egl_g3d/ to provide th
On 11 jan 2010, at 21.17, Zack Rusin wrote:
> On Monday 11 January 2010 16:15:38 Jakob Bornecrantz wrote:
>> On 11 jan 2010, at 17.49, Zack Rusin wrote:
>>> I think the other stuff is acceptable. Take a look at the docs and
>>> let me know
>>> what you think
On 11 jan 2010, at 17.49, Zack Rusin wrote:
> Hey,
>
> knowing that we're starting to have serious issues with figuring out
> what
> features the given device supports and what api's/extensions can be
> reasonably
> implemented on top of it I've spent the weekend trying to define
> feature
>
On 8 jan 2010, at 18.42, Mike Stroyan wrote:
On Thu, Jan 7, 2010 at 4:34 AM, Keith Whitwell
wrote:
It looks like there are some unrelated changes in your diff -- can you
separate them out into disjoint changes? One way is to make several
commits to your local git repo and then use git-format
On 7 jan 2010, at 01.47, Mike Stroyan wrote:
> Hello folks. I started at LunarG this week and have been getting
> more familiar with
> the gallium code.
>
> I noticed that rbug-gui has not been updated to match the recent
> changes to
> the util_format. Here is a patch that switches from the
To be honest I'm way more in favor off doing 4 and/or with a env
variable to switch between incorrect rendering and software fallbacks,
but maybe we can do 3 but with another solution.
At some point the Gallium interface was a expression of what hardware
could do not a interface to program a
On 1 dec 2009, at 00.24, Robert Noland wrote:
> On Tue, 2009-12-01 at 10:37 +1100, Daniel Stone wrote:
>> On Mon, Nov 30, 2009 at 11:21:47AM -0600, Robert Noland wrote:
>>> I've tried to ask linux folk if this is also true for linux, but the
>>> answer is unclear at this time.
>>
>> EINTR will be r
Hello all!
As some of you might have noticed I just pushed out the SVGA driver to
the Mesa repository. For those that didn't please read on.
The driver requires Xorg 1.7.x and the vmwgfx kernel driver.
You can get the userspace driver from the mesa repository on the
master branch now, but th
On 16 nov 2009, at 22.45, Alan Hourihane wrote:
> On Mon, 2009-11-16 at 22:44 +, Alan Hourihane wrote:
>> On Mon, 2009-11-16 at 14:36 -0800, Jakob Bornecrantz wrote:
>>> Module: Mesa
>>> Branch: master
>>> Commit: cb060f3b987c9fa07ebe06cf2e
On 12 nov 2009, at 15.25, José Fonseca wrote:
On Tue, 2009-11-10 at 05:35 -0800, Chia-I Wu wrote:
On Mon, Nov 9, 2009 at 10:27 PM, José Fonseca
wrote:
Jakob is preparing an interface so that we can have multiple
statetrackers for the Khronos APIs loaded simultaneously and
t
On Tue, Sep 22, 2009 at 11:28 AM, Zack Rusin wrote:
> On Tuesday 22 September 2009 14:10:34 Jakob Bornecrantz wrote:
>> diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c
>> b/src/gallium/state_trackers/xorg/xorg_composite.c index 66ca4cb..ed649a9
>> 100644
On 9 sep 2009, at 20.25, Ian Romanick wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Brian Paul wrote:
>> Jakob Bornecrantz wrote:
>>> Hi Eric
>>>
>>> It looks like commit b4922b53 "mesa: Add support for
>>> ARB_depth_
On 9 sep 2009, at 16.43, Brian Paul wrote:
> Jakob Bornecrantz wrote:
>> Hi Eric
>>
>> It looks like commit b4922b53 "mesa: Add support for
>> ARB_depth_clamp."
>> breaks gallium drivers, this is because you are calling
>> init_c_cliprects
&
Hi Eric
It looks like commit b4922b53 "mesa: Add support for ARB_depth_clamp."
breaks gallium drivers, this is because you are calling init_c_cliprects
from src/mesa/main/enable.c and in gallium math/m_xform.c is not
included in the build so I get a undefine symbol to it.
Just removing the cal
On 24 aug 2009, at 13.12, RALOVICH, Kristóf wrote:
> On Mon, Aug 24, 2009 at 07:35, Chia-I Wu wrote:
>> On Sun, Aug 23, 2009 at 03:26:35PM +0200, RALOVICH, Kristóf wrote:
>>> would someone please suggest me how to build a working EGL setup
>>> (with
>>> ./configure preferably)?
>>> Is there any w
Chia-I Wu wrote:
> Hi,
>
> This patch series tries to clarify the roles of EGLDriver and
> EGLDisplay. It was also mentioned in another thread, and depend on the
> driver API overhaul.
>
> The rationale behind the change is every driver provides only a single
> EGLDriver instance. That instance
Chia-I Wu wrote:
> On Fri, Aug 14, 2009 at 03:49:23PM +0100, Jakob Bornecrantz wrote:
>> NACK, it is very seldom allowed for any GL api to cause the program
>> to crash due to inputs to any of the exposed calls. According to the
>> specification any invalid EGLDisplay
Chia-I Wu wrote:
> Hi,
>
> This patch series aims to remove eglhash.c and eglhash.h. Consider the
> speed of eglHashTable in its current form, and that there are usually
> only a small number of displays/surfaces/contexts, it should be faster
> to simply use lists. It also gives cleaner code.
>
Ops I think you pushed master into mesa_7_5_branch, I have forced
mesa_7_5_branch back to the last merge of it into master, hopefully
nothing got lost, if anybody have pushed anything after
5b3428d7453eec8e8a5344e22113774dea1dc456 to mesa_7_5_branch please push
again.
Cheers Jakob.
Alan Houri
On 9 jul 2009, at 02.15, Jakob Bornecrantz wrote:
> Module: Mesa
> Branch: refs/remotes/origin/master
> Commit: f742f2c0b308430da38f8eeddfed889f883615e9
> URL:
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=f742f2c0b308430da38f8eeddfed889f883615e9
Uh yeah my bad. I think ha
On 2 jul 2009, at 16.25, José Fonseca wrote:
> The trace driver integration should be done in state tracker, so
> that it
> automatically works for all existing and future pipe drivers, and not
> for individual winsyses...
That is a valid point.
There is the counter argument that since its the
On 30 jun 2009, at 12.42, Keith Whitwell wrote:
> On Tue, 2009-06-30 at 03:27 -0700, Jakob Bornecrantz wrote:
>> Module: Mesa
>> Branch: master
>> Commit: 303cbb45b558a2b94e6922252cf57d115ba60b82
>> URL:
>> http://cgit.fre
On 24 jun 2009, at 16.40, Brian Paul wrote:
> Jakob Bornecrantz wrote:
>> Hi Brian and Eric
>>
>> Can one or both of you do a merge of the 7_5_branch there are some
>> conflicts and I don't want to mess up code I don't know anything
>> about. That wou
Hi Brian and Eric
Can one or both of you do a merge of the 7_5_branch there are some
conflicts and I don't want to mess up code I don't know anything
about. That would be most kind, thanks.
Cheers Jakob.
--
_
On Mon, Jun 15, 2009 at 2:18 PM, Shachar
Kaufman wrote:
> I see that i915_drm.so can be built by both
> "src/gallium/winsys/drm/intel/dri" and "src/mesa/drivers/dri/i915" and that
> in fact only the latter gets built when I use the "linux-dri", when I want
> the former.
>
> Seems like I should add
On Mon, Apr 6, 2009 at 4:52 PM, José Fonseca wrote:
> On Sat, 2009-04-04 at 04:02 -0700, Jose Fonseca wrote:
>> All the python state tracker requires is two functions: one that
>> creates a pipe_screen and another that creates a pipe_context. You can
>> implement these by provifing your version of
On Fri, Mar 6, 2009 at 12:50 AM, Joel Bosveld wrote:
> On Fri, Mar 6, 2009 at 12:02 AM, Jakob Bornecrantz wrote:
>>
>> On 5 mar 2009, at 15.45, Joel Bosveld wrote:
>>
>> This is based off of DRI_DRIVER_INSTALL_DIR, and also what xf86-video-ati
>> does. Not sure
.
Can you spin a new version with that change, and it is
Acked-by: Jakob Bornecrantz
Cheers Jakob.
-
From 529bcc910f00cbf86e68230361d401a130a8584d Mon Sep 17 00:00:00 2001
From: Joel Bosveld
Date: Thu, 5 Mar 2009 23:33:22 +0900
Subject: [PATCH] gallium-xorg: Install to XORG_DRIVER_DIR
On Thu, Mar 5, 2009 at 1:19 PM, Michel Dänzer wrote:
> On Wed, 2009-03-04 at 15:53 -0800, Corbin Simpson wrote:
>> Module: Mesa
>> Branch: master
>> Commit: 04ae9c3fdd62831485b7384da62566a0b82b84af
>> URL:
>> http://cgit.freedesktop.org/mesa/mesa/commit/?id=04ae9c3fdd62831485b7384da62566a0b82b
On 13 feb 2009, at 15.00, José Fonseca wrote:
> On Fri, 2009-02-13 at 05:44 -0800, Maciej Cencora wrote:
>> On środa, 11 lutego 2009 00:47:52 Brian Paul wrote:
>>> OK, the merge is done and pushed. Seems to have gone OK.
>>>
>>> Please report any problems found and we'll try to fix them ASAP.
>>
On Thu, Feb 12, 2009 at 10:04 PM, Chris Ball wrote:
> Hi,
>
> We're seeing two compile regressions on the Xorg tinderbox:
>
> Machine 1, sparc:
>
> /usr/bin/ld: cannot find -lGLEW
> make[2]: *** [glutfx] Error 1
>
> http://tinderbox.x.org/builds/2009-02-12-0031/logs/libGL/#build
>
> Machine 2, x86
On 10 feb 2009, at 16.46, Brian Paul wrote:
Jakob Bornecrantz wrote:
On 10 feb 2009, at 08.17, Michel Dänzer wrote:
On Tue, 2009-02-10 at 01:57 +0100, Anders Juel Jensen wrote:
On Monday 09 February 2009 22:15:44 Keith Whitwell wrote:
but is it possible to build both gallium drivers and
On 10 feb 2009, at 13.39, Keith Whitwell wrote:
> On Tue, 2009-02-10 at 04:21 -0800, Jakob Bornecrantz wrote:
>> On 10 feb 2009, at 08.17, Michel Dänzer wrote:
>>> On Tue, 2009-02-10 at 01:57 +0100, Anders Juel Jensen wrote:
>>>> On Monday 09 February 2009 22:15:44 Ke
On 10 feb 2009, at 08.17, Michel Dänzer wrote:
> On Tue, 2009-02-10 at 01:57 +0100, Anders Juel Jensen wrote:
>> On Monday 09 February 2009 22:15:44 Keith Whitwell wrote:
but is it possible to build both gallium drivers and classic
drivers from
the same tree at the same time?
haven't
tested the code.
Cheers Jakob.
From ae8bb84c220308ce3ce7c70b4ad5cb215319f3ab Mon Sep 17 00:00:00 2001
From: Jakob Bornecrantz <[EMAIL PROTECTED]>
Date: Thu, 4 Sep 2008 17:12:20 +0200
Subject: [PATCH] dri2: Add different types of contexts to create
---
include/GL/internal/dri_
On Thu, Jul 10, 2008 at 6:22 PM, Younes Manton <[EMAIL PROTECTED]> wrote:
> I'm trying to get the HW winsys stuff set up for XvMC and have some questions.
>
> Is there any problem with dlopen()ing the DRI driver (in this case
> nouveau_dri.so) and instead of writing my own winsys? Stephane
> sugges
On Fri, Jun 27, 2008 at 12:57 PM, José Fonseca
<[EMAIL PROTECTED]> wrote:
> In order to properly represent the compressed textures and (yuv formats
> to some extent) it is necessary to abandon the chars-per-pixels concept
> in gallium, and use instead the concept of pixel blocks (in p_format.h):
>
75 matches
Mail list logo