1. 22 Nov, 2020 1 commit
    • Ivaylo Dimitrov's avatar
      glamor: Fix rendering of pixmap textures backed by EGLImageKHR image · 0b74c7e7
      Ivaylo Dimitrov authored
      
      
      According to khronos documentation, "If <target> is not
      TEXTURE_EXTERNAL_OES, the error INVALID_ENUM is generated." if
      glEGLImageTargetTexture2DOES is called for an image created by using
      EGL_KHR_image_pixmap extension. Not only that, but we must use
      samplerExternalOES and not sampler2D to access such a texture from the
      fragment shader. In addition we must require GL_OES_EGL_image_external from
      the shader to be able to use the extension.
      
      Fix the above issues by providing the correct texture unit to function
      calls in glamor_create_texture_from_image(). Add a flag to
      glamor_pixmap_fbo that will allow us to provide the correct texture unit
      when binding that texture. Also, provide separate copy facet for fbos that
      are created for GL_OES_EGL_image_external backed textures. Add a member to
      glamor_program_location that allows us to select the correct sampler in the
      fragment shader. Extend fs_template with extension member var used to
      request the needed extensions in the fragment shader.
      
      Tested on Motorola Droid4 with TI PVR DDK 1.17 closed blobs.
      
      Signed-off-by: Ivaylo Dimitrov's avatarIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
      0b74c7e7
  2. 09 Nov, 2020 3 commits
  3. 04 Nov, 2020 1 commit
    • Alex Goins's avatar
      glamor: Update pixmap's devKind when making it exportable · b3ae038c
      Alex Goins authored and Aaron Plattner's avatar Aaron Plattner committed
      
      
      When making a pixmap exportable, glamor will currently create a temporary
      exported pixmap backed by a GBM bo, with the devKind updated to the stride of
      the bo. However, when the backing of the exported pixmap is swapped into the
      original, the devKind of the original is not updated.
      
      Some GBM bos may get implicitly padded, in which case the devKind of the pixmap
      will not match the stride of the backing bo. For example, an 800x600 pixmap will
      have a devKind of 3200, but the bo's stride will be 3328. This can cause
      corruption with PRIME, when the sink uses the wrong stride to display the shared
      pixmap.
      
      This commit changes glamor_make_pixmap_exportable() to update the devKind of the
      original pixmap after it swaps exported pixmap's backing into it, keeping
      everything consistent.
      
      Fixes issue #1018.
      
      Signed-off-by: Alex Goins's avatarAlex Goins <agoins@nvidia.com>
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
      (cherry picked from commit 7a7e55c5)
      b3ae038c
  4. 02 Nov, 2020 1 commit
  5. 08 Oct, 2020 4 commits
  6. 01 Oct, 2020 2 commits
  7. 30 Sep, 2020 6 commits
  8. 25 Sep, 2020 1 commit
  9. 08 Sep, 2020 3 commits
  10. 25 Aug, 2020 5 commits
  11. 18 Aug, 2020 13 commits