Skip to content
Snippets Groups Projects
  1. Apr 05, 2023
  2. Apr 04, 2023
  3. Apr 03, 2023
    • Rémi Denis-Courmont's avatar
      mp4: fix format string · dc397a76
      Rémi Denis-Courmont authored and Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf committed
      The 3rd formatted value has a type of vlc_tick_t, a.k.a. int64_t,
      not necessary long.
      dc397a76
    • Alexandre Janniaux's avatar
      egl_pbuffer: setup default framebuffer on MakeCurrent · 81ec5619
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Ensure that the default framebuffer is setup during MakeCurrent(), so
      that any vlc_gl_t client can expect the state to be correct after
      calling vlc_gl_MakeCurrent() and without changing it.
      
      It seems that the default framebuffer was not always kept, leading to
      GL_INVALID_FRAMEBUFFER errors on Linux with a MESA egl_pbuffer (GBM
      backend) GLES2 implementation:
      
          $ MESA_DEBUG=1 ./vlc -vv ~/Video/dog_meme.mp4 --video-filter='opengl{filter=mock{mask},gles=any}'
          ...
          Mesa: User error: GL_INVALID_FRAMEBUFFER_OPERATION in glClear(incomplete framebuffer)
          Mesa: User error: GL_INVALID_FRAMEBUFFER_OPERATION in glDrawArrays
          vlc: ../../modules/video_output/opengl/filter_draw.c:112: Draw: Assertion `!"GL_INVALID_FRAMEBUFFER_OPERATION"' failed.
      81ec5619
    • Alexandre Janniaux's avatar
      egl_pbuffer: use eglMakeCurrent directly · c9a8d6dc
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      MakeCurrent() (triggered by vlc_gl_MakeCurrent) can have different
      behaviour than just eglMakeCurrent() to match the VLC API semantic.
      
      However, we'll need to reset the default framebuffer from this function
      for this very VLC semantic, whereas the default framebuffer is not yet
      existing when calling this function from Open.
      
      By using eglMakeCurrent(), we allow future behaviour change to handle
      this correctly.
      c9a8d6dc
    • Alexandre Janniaux's avatar
      video_filter: opengl: remove stray line feed · 66a8ad52
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      66a8ad52
    • Alexandre Janniaux's avatar
      opengl: interop: handle GLES2 case during runtime · e0f4d15e
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Fix a future issue when using the code against a GLES2 provider, where
      the detection was done at build time instead of runtime. The build time
      check is needed to prevent using non-existant function and defines, but
      the runtime check will be needed whenever OpenGL headers are available.
      
      With the work allowing to use the opengl filter with a gles2 provider on
      Linux with OpenGL available (not merged), it leads to:
      
          $ MESA_DEBUG=1 ./vlc -vv ~/Video/dog_meme.mp4 --video-filter='opengl{filter=mock{mask},gles=any}'
          Mesa: User error: GL_INVALID_ENUM in glTexParameter(pname=GL_TEXTURE_PRIORITY)
          Mesa: User error: GL_INVALID_OPERATION in unsupported function called (unsupported extension or deprecated function?)
          -> GL_ASSERT_NOERROR triggers
      
      Oddly, it was not reproduced with `-V gles2`, but only because the
      interop code is built into the convenience libvlc_opengles.la with the
      USE_OPENGL_ES2 define, which is what is currently disabling this code.
      e0f4d15e
    • Alexandre Janniaux's avatar
      opengl: renderer: add assertions for GL errors · 9f1683bd
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Ensure that draw commands are not leading to any error later in the
      pipeline.
      9f1683bd
    • Alexandre Janniaux's avatar
      opengl: interop: add assertions for GL errors · 8bc819a2
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Ensure that draw commands are not leading to any error later in the
      pipeline.
      8bc819a2
    • Alexandre Janniaux's avatar
      opengl: filter_mock: add assertions for GL errors · 8f9ec06e
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Ensure that draw commands are not leading to any error later in the
      pipeline.
      8f9ec06e
    • Alexandre Janniaux's avatar
      opengl: filter_draw: add assertion for GL errors · 55e0a35a
      Alexandre Janniaux authored and Steve Lhomme's avatar Steve Lhomme committed
      Ensure that draw commands are not leading to any error later in the
      pipeline.
      55e0a35a
  4. Apr 02, 2023
Loading