Please make sure the new .c file is added in the meson build as well before
pushing.

Dylan

Quoting Christian König (2018-01-10 05:03:44)
> My last status was that Leo wanted to commit this.
> 
> Leo are you still waiting for something?
> 
> Christian.
> 
> Am 10.01.2018 um 10:29 schrieb Julien Isorce:
> 
>     Hi Christian,
> 
>     >> Otherwise I'm going to give it a few more days on the list and push it
>     if nobody objects.
> 
>     Gentle ping ? So far the series are:
> 
>     Acked-by: Leo Liu <leo....@amd.com>
>     Reviewed-by: Julien Isorce <julien.iso...@gmail.com>
> 
>     Thx
>     Julien
> 
>     On 30 November 2017 at 14:05, Leo Liu <leo....@amd.com> wrote:
> 
>        
> 
> 
>         On 11/30/2017 06:22 AM, Julien Isorce wrote:
> 
>             Hi Gurkirpal,
> 
>             > Before refactoring process both the state trackers were in
>             independent directories.
>             > During earlier refactoring effort we decided to keep that
>             directory structure so it made
>             > sense to move them to auxiliary code. After that I moved them
>             both under st/omx.
>             > Since there could be a chance of it being useful out of st/omx, 
> I
>             left the decision to
>             > keep it or move it back to st/omx to the mailing list.
> 
>             Yes please move it back to st/omx for the reasons you said, i.e.
>             there will now 2
>             sub directories, st/omx/bellagio and st/omx/tizonia and common 
> code
>             in st/omx.
> 
>         Yes. Please move them back to st/omx.
> 
>         With that fixed, the series are:
> 
>         Acked-by: Leo Liu <leo....@amd.com>
> 
>         Thanks for the work!
> 
>         Leo
> 
> 
> 
> 
> 
>             Another reason is that the env var "OMX_RENDER_NODE" mentions OMX.
> 
>             Thx!
>             Julien
> 
> 
>             On 29 November 2017 at 04:02, Gurkirpal Singh <
>             gurkirpal...@gmail.com> wrote:
> 
>                 ---
>                  src/gallium/auxiliary/Makefile.sources             |   2 +
>                  src/gallium/auxiliary/vl/vl_screen.c               | 107
>                 +++++++++++++++++++++
>                  src/gallium/auxiliary/vl/vl_screen.h               |  33
>                 +++++++
>                  .../state_trackers/omx_bellagio/entrypoint.c       |  83
>                 ----------------
>                  .../state_trackers/omx_bellagio/entrypoint.h       |   3 -
>                  src/gallium/state_trackers/omx_bellagio/vid_dec.c  |   5 +-
>                  src/gallium/state_trackers/omx_bellagio/vid_enc.c  |   5 +-
>                  7 files changed, 148 insertions(+), 90 deletions(-)
>                  create mode 100644 src/gallium/auxiliary/vl/vl_screen.c
>                  create mode 100644 src/gallium/auxiliary/vl/vl_screen.h
> 
>                 diff --git a/src/gallium/auxiliary/Makefile.sources b/src/
>                 gallium/auxiliary/Makefile.sources
>                 index f40c472..35e89f9 100644
>                 --- a/src/gallium/auxiliary/Makefile.sources
>                 +++ b/src/gallium/auxiliary/Makefile.sources
>                 @@ -343,6 +343,8 @@ VL_SOURCES := \
>                         vl/vl_mpeg12_decoder.c \
>                         vl/vl_mpeg12_decoder.h \
>                         vl/vl_rbsp.h \
>                 +       vl/vl_screen.c \
>                 +       vl/vl_screen.h \
>                         vl/vl_types.h \
>                         vl/vl_vertex_buffers.c \
>                         vl/vl_vertex_buffers.h \
>                 diff --git a/src/gallium/auxiliary/vl/vl_screen.c 
> b/src/gallium
>                 /auxiliary/vl/vl_screen.c
>                 new file mode 100644
>                 index 0000000..7192802
>                 --- /dev/null
>                 +++ b/src/gallium/auxiliary/vl/vl_screen.c
>                 @@ -0,0 +1,107 @@
>                 +/**********************************************************
>                 ****************
>                 + *
>                 + * Permission is hereby granted, free of charge, to any 
> person
>                 obtaining a
>                 + * copy of this software and associated documentation files
>                 (the
>                 + * "Software"), to deal in the Software without restriction,
>                 including
>                 + * without limitation the rights to use, copy, modify, merge,
>                 publish,
>                 + * distribute, sub license, and/or sell copies of the
>                 Software, and to
>                 + * permit persons to whom the Software is furnished to do so,
>                 subject to
>                 + * the following conditions:
>                 + *
>                 + * The above copyright notice and this permission notice
>                 (including the
>                 + * next paragraph) shall be included in all copies or
>                 substantial portions
>                 + * of the Software.
>                 + *
>                 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
>                 KIND, EXPRESS
>                 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>                 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>                 NON-INFRINGEMENT.
>                 + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE 
> FOR
>                 + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
> ACTION
>                 OF CONTRACT,
>                 + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
>                 WITH THE
>                 + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>                 + *
>                 + ************************************************************
>                 **************/
>                 +
>                 +#include <assert.h>
>                 +#include <string.h>
>                 +#include <stdbool.h>
>                 +
>                 +#include "os/os_thread.h"
>                 +#include "util/u_memory.h"
>                 +#include "loader/loader.h"
>                 +#include "vl_screen.h"
>                 +
>                 +#if defined(HAVE_X11_PLATFORM)
>                 +#include <X11/Xlib.h>
>                 +#else
>                 +#define XOpenDisplay(x) NULL
>                 +#define XCloseDisplay(x)
>                 +#define Display void
>                 +#endif
>                 +
>                 +static mtx_t st_lock = _MTX_INITIALIZER_NP;
>                 +static Display *st_display = NULL;
>                 +static struct vl_screen *st_screen = NULL;
>                 +static unsigned st_usecount = 0;
>                 +static const char *st_render_node = NULL;
>                 +static int drm_fd;
>                 +
>                 +struct vl_screen *vl_get_screen(const char* render_node)
>                 +{
>                 +   static bool first_time = true;
>                 +   mtx_lock(&st_lock);
>                 +
>                 +   if (!st_screen) {
>                 +      if (first_time) {
>                 +         st_render_node = debug_get_option(render_node, 
> NULL);
>                 +         first_time = false;
>                 +      }
>                 +      if (st_render_node) {
>                 +         drm_fd = loader_open_device(st_render_node);
>                 +         if (drm_fd < 0)
>                 +            goto error;
>                 +
>                 +         st_screen = vl_drm_screen_create(drm_fd);
>                 +         if (!st_screen) {
>                 +            close(drm_fd);
>                 +            goto error;
>                 +         }
>                 +      } else {
>                 +         st_display = XOpenDisplay(NULL);
>                 +         if (!st_display)
>                 +            goto error;
>                 +
>                 +         st_screen = vl_dri3_screen_create(st_display, 0);
>                 +         if (!st_screen)
>                 +            st_screen = vl_dri2_screen_create(st_display, 0);
>                 +         if (!st_screen) {
>                 +            XCloseDisplay(st_display);
>                 +            goto error;
>                 +         }
>                 +      }
>                 +   }
>                 +
>                 +   ++st_usecount;
>                 +
>                 +   mtx_unlock(&st_lock);
>                 +   return st_screen;
>                 +
>                 +error:
>                 +   mtx_unlock(&st_lock);
>                 +   return NULL;
>                 +}
>                 +
>                 +void vl_put_screen(void)
>                 +{
>                 +   mtx_lock(&st_lock);
>                 +   if ((--st_usecount) == 0) {
>                 +      st_screen->destroy(st_screen);
>                 +      st_screen = NULL;
>                 +
>                 +      if (st_render_node)
>                 +         close(drm_fd);
>                 +      else
>                 +         XCloseDisplay(st_display);
>                 +   }
>                 +   mtx_unlock(&st_lock);
>                 +}
>                 diff --git a/src/gallium/auxiliary/vl/vl_screen.h 
> b/src/gallium
>                 /auxiliary/vl/vl_screen.h
>                 new file mode 100644
>                 index 0000000..1e14775
>                 --- /dev/null
>                 +++ b/src/gallium/auxiliary/vl/vl_screen.h
>                 @@ -0,0 +1,33 @@
>                 +/**********************************************************
>                 ****************
>                 + *
>                 + * Permission is hereby granted, free of charge, to any 
> person
>                 obtaining a
>                 + * copy of this software and associated documentation files
>                 (the
>                 + * "Software"), to deal in the Software without restriction,
>                 including
>                 + * without limitation the rights to use, copy, modify, merge,
>                 publish,
>                 + * distribute, sub license, and/or sell copies of the
>                 Software, and to
>                 + * permit persons to whom the Software is furnished to do so,
>                 subject to
>                 + * the following conditions:
>                 + *
>                 + * The above copyright notice and this permission notice
>                 (including the
>                 + * next paragraph) shall be included in all copies or
>                 substantial portions
>                 + * of the Software.
>                 + *
>                 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
>                 KIND, EXPRESS
>                 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>                 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>                 NON-INFRINGEMENT.
>                 + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE 
> FOR
>                 + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
> ACTION
>                 OF CONTRACT,
>                 + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
>                 WITH THE
>                 + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>                 + *
>                 + ************************************************************
>                 **************/
>                 +
>                 +#ifndef VL_VL_SCREEN_H
>                 +#define VL_VL_SCREEN_H
>                 +
>                 +#include "vl_winsys.h"
>                 +
>                 +struct vl_screen *vl_get_screen(const char* render_node);
>                 +void vl_put_screen(void);
>                 +
>                 +#endif
>                 diff --git a/src/gallium/state_trackers/omx_bellagio/
>                 entrypoint.c b/src/gallium/state_trackers/omx_bellagio/
>                 entrypoint.c
>                 index 251cc7d..5c75e8d 100644
>                 --- a/src/gallium/state_trackers/omx_bellagio/entrypoint.c
>                 +++ b/src/gallium/state_trackers/omx_bellagio/entrypoint.c
>                 @@ -31,33 +31,10 @@
>                   *
>                   */
> 
>                 -#include <assert.h>
>                 -#include <string.h>
>                 -#include <stdbool.h>
>                 -
>                 -#if defined(HAVE_X11_PLATFORM)
>                 -#include <X11/Xlib.h>
>                 -#else
>                 -#define XOpenDisplay(x) NULL
>                 -#define XCloseDisplay(x)
>                 -#define Display void
>                 -#endif
>                 -
>                 -#include "os/os_thread.h"
>                 -#include "util/u_memory.h"
>                 -#include "loader/loader.h"
>                 -
>                  #include "entrypoint.h"
>                  #include "vid_dec.h"
>                  #include "vid_enc.h"
> 
>                 -static mtx_t omx_lock = _MTX_INITIALIZER_NP;
>                 -static Display *omx_display = NULL;
>                 -static struct vl_screen *omx_screen = NULL;
>                 -static unsigned omx_usecount = 0;
>                 -static const char *omx_render_node = NULL;
>                 -static int drm_fd;
>                 -
>                  int omx_component_library_Setup(stLoaderComponentType
>                 **stComponents)
>                  {
>                     OMX_ERRORTYPE r;
>                 @@ -78,66 +55,6 @@ int omx_component_library_Setup(st
>                 LoaderComponentType **stComponents)
>                     return 2;
>                  }
> 
>                 -struct vl_screen *omx_get_screen(void)
>                 -{
>                 -   static bool first_time = true;
>                 -   mtx_lock(&omx_lock);
>                 -
>                 -   if (!omx_screen) {
>                 -      if (first_time) {
>                 -         omx_render_node = 
> debug_get_option("OMX_RENDER_NODE",
>                 NULL);
>                 -         first_time = false;
>                 -      }
>                 -      if (omx_render_node) {
>                 -         drm_fd = loader_open_device(omx_render_node);
>                 -         if (drm_fd < 0)
>                 -            goto error;
>                 -
>                 -         omx_screen = vl_drm_screen_create(drm_fd);
>                 -         if (!omx_screen) {
>                 -            close(drm_fd);
>                 -            goto error;
>                 -         }
>                 -      } else {
>                 -         omx_display = XOpenDisplay(NULL);
>                 -         if (!omx_display)
>                 -            goto error;
>                 -
>                 -         omx_screen = vl_dri3_screen_create(omx_display, 0);
>                 -         if (!omx_screen)
>                 -            omx_screen = vl_dri2_screen_create(omx_display,
>                 0);
>                 -         if (!omx_screen) {
>                 -            XCloseDisplay(omx_display);
>                 -            goto error;
>                 -         }
>                 -      }
>                 -   }
>                 -
>                 -   ++omx_usecount;
>                 -
>                 -   mtx_unlock(&omx_lock);
>                 -   return omx_screen;
>                 -
>                 -error:
>                 -   mtx_unlock(&omx_lock);
>                 -   return NULL;
>                 -}
>                 -
>                 -void omx_put_screen(void)
>                 -{
>                 -   mtx_lock(&omx_lock);
>                 -   if ((--omx_usecount) == 0) {
>                 -      omx_screen->destroy(omx_screen);
>                 -      omx_screen = NULL;
>                 -
>                 -      if (omx_render_node)
>                 -         close(drm_fd);
>                 -      else
>                 -         XCloseDisplay(omx_display);
>                 -   }
>                 -   mtx_unlock(&omx_lock);
>                 -}
>                 -
>                  OMX_ERRORTYPE omx_workaround_Destructor(OMX_COMPONENTTYPE
>                 *comp)
>                  {
>                     omx_base_component_PrivateType* priv =
>                 (omx_base_component_PrivateType*)comp->pComponentPrivate;
>                 diff --git a/src/gallium/state_trackers/omx_bellagio/
>                 entrypoint.h b/src/gallium/state_trackers/omx_bellagio/
>                 entrypoint.h
>                 index 7625d7a..d566d1e 100644
>                 --- a/src/gallium/state_trackers/omx_bellagio/entrypoint.h
>                 +++ b/src/gallium/state_trackers/omx_bellagio/entrypoint.h
>                 @@ -40,9 +40,6 @@
> 
>                  PUBLIC extern int omx_component_library_Setup(st
>                 LoaderComponentType **stComponents);
> 
>                 -struct vl_screen *omx_get_screen(void);
>                 -void omx_put_screen(void);
>                 -
>                  OMX_ERRORTYPE omx_workaround_Destructor(OMX_COMPONENTTYPE
>                 *comp);
> 
>                  #endif
>                 diff --git a/src/gallium/state_trackers/omx_bellagio/vid_dec.c
>                 b/src/gallium/state_trackers/omx_bellagio/vid_dec.c
>                 index f9fe19f..b62c705 100644
>                 --- a/src/gallium/state_trackers/omx_bellagio/vid_dec.c
>                 +++ b/src/gallium/state_trackers/omx_bellagio/vid_dec.c
>                 @@ -50,6 +50,7 @@
>                  #include "util/u_surface.h"
>                  #include "vl/vl_video_buffer.h"
>                  #include "vl/vl_vlc.h"
>                 +#include "vl/vl_screen.h"
> 
>                  #include "entrypoint.h"
>                  #include "vid_dec.h"
>                 @@ -173,7 +174,7 @@ static OMX_ERRORTYPE vid_dec_Constructor
>                 (OMX_COMPONENTTYPE *comp, OMX_STRING nam
>                     comp->SetParameter = vid_dec_SetParameter;
>                     comp->GetParameter = vid_dec_GetParameter;
> 
>                 -   priv->screen = omx_get_screen();
>                 +   priv->screen = vl_get_screen("OMX_RENDER_NODE");
>                     if (!priv->screen)
>                        return OMX_ErrorInsufficientResources;
> 
>                 @@ -253,7 +254,7 @@ static OMX_ERRORTYPE vid_dec_Destructor
>                 (OMX_COMPONENTTYPE *comp)
>                     }
> 
>                     if (priv->screen)
>                 -      omx_put_screen();
>                 +      vl_put_screen();
> 
>                     return omx_workaround_Destructor(comp);
>                  }
>                 diff --git a/src/gallium/state_trackers/omx_bellagio/vid_enc.c
>                 b/src/gallium/state_trackers/omx_bellagio/vid_enc.c
>                 index 1a4fb62..40e7a0f 100644
>                 --- a/src/gallium/state_trackers/omx_bellagio/vid_enc.c
>                 +++ b/src/gallium/state_trackers/omx_bellagio/vid_enc.c
>                 @@ -50,6 +50,7 @@
>                  #include "pipe/p_video_codec.h"
>                  #include "util/u_memory.h"
>                  #include "vl/vl_video_buffer.h"
>                 +#include "vl/vl_screen.h"
> 
>                  #include "entrypoint.h"
>                  #include "vid_enc.h"
>                 @@ -170,7 +171,7 @@ static OMX_ERRORTYPE vid_enc_Constructor
>                 (OMX_COMPONENTTYPE *comp, OMX_STRING nam
>                     comp->GetConfig = vid_enc_GetConfig;
>                     comp->SetConfig = vid_enc_SetConfig;
> 
>                 -   priv->screen = omx_get_screen();
>                 +   priv->screen = vl_get_screen("OMX_RENDER_NODE");
>                     if (!priv->screen)
>                        return OMX_ErrorInsufficientResources;
> 
>                 @@ -296,7 +297,7 @@ static OMX_ERRORTYPE vid_enc_Destructor
>                 (OMX_COMPONENTTYPE *comp)
>                        priv->t_pipe->destroy(priv->t_pipe);
> 
>                     if (priv->screen)
>                 -      omx_put_screen();
>                 +      vl_put_screen();
> 
>                     return omx_workaround_Destructor(comp);
>                  }
>                 --
>                 2.7.4
> 
>                 _______________________________________________
>                 mesa-dev mailing list
>                 mesa-dev@lists.freedesktop.org
>                 https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>            
> 
> 
>            
>             _______________________________________________
>             mesa-dev mailing list
>             mesa-dev@lists.freedesktop.org
>             https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 
> 
> 
> 
> 
> 

Attachment: signature.asc
Description: signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to