Skip to content
Snippets Groups Projects
  1. Jul 30, 2018
    • Lina Versace's avatar
      CHROMIUM: i965: Implement EGL_KHR_mutable_render_buffer · 8cb2b5c3
      Lina Versace authored
      Tested with a low-latency handwriting application on Android Nougat on
      the Chrome OS Pixelbook (codename Eve) with Kabylake.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: Ia816fa6b0a1158f81e5b63477451bf337c2001aa
    • Lina Versace's avatar
      CHROMIUM: egl/android: Implement EGL_KHR_mutable_render_buffer · 6158e782
      Lina Versace authored
      Specifically, implement the extension DRI_MutableRenderBufferLoader.
      However, the loader enables EGL_KHR_mutable_render_buffer only if the
      DRI driver implements its half of the extension,
      DRI_MutableRenderBufferDriver.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: I7fe68a5a674d1707b1e7251d900b3affd5dd7660
      6158e782
    • Lina Versace's avatar
      CHROMIUM: egl/main: Add bits for EGL_KHR_mutable_render_buffer · c689a23c
      Lina Versace authored
      A follow-up patch enables EGL_KHR_mutable_render_buffer for Android.
      This patch is separate from the Android patch because I think it's
      easier to review the platform-independent bits separately.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: I07470f2862796611b141f69f47f935b97b0e04a1
      c689a23c
    • Lina Versace's avatar
      CHROMIUM: dri: Add param driCreateConfigs(mutable_render_buffer) · 0cbe8ad9
      Lina Versace authored
      If set, then the config will have __DRI_ATTRIB_MUTABLE_RENDER_BUFFER,
      which translates to EGL_MUTABLE_RENDER_BUFFER_BIT_KHR.
      
      Not used yet.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: Icdf35794f3e9adf31e1f85740b87ce155efe1491
      0cbe8ad9
    • Lina Versace's avatar
      CHROMIUM: dri: Define DRI_MutableRenderBuffer extensions · f57e2bf4
      Lina Versace authored
      Define extensions DRI_MutableRenderBufferDriver and
      DRI_MutableRenderBufferLoader. These are the two halves for
      EGL_KHR_mutable_render_buffer.
      
      Outside the DRI code there is one additional change.  Add
      gl_config::mutableRenderBuffer to match
      __DRI_ATTRIB_MUTABLE_RENDER_BUFFER. Neither are used yet.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: I4ca03d81e4557380b19c44d8d799a7cc9365d928
      f57e2bf4
    • Lina Versace's avatar
      CHROMIUM: egl/dri2: In dri2_make_current, return early on failure · 3274c565
      Lina Versace authored
      This pulls an 'else' block into the function's main body, making the
      code easier to follow.
      
      Without this change, the upcoming EGL_KHR_mutable_render_buffer patch
      transforms dri2_make_current() into spaghetti.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: I26be2b7a8e78a162dcd867a44f62d6f48b9a8e4d
      3274c565
    • Lina Versace's avatar
      CHROMIUM: egl: Simplify queries for EGL_RENDER_BUFFER · 0a957c28
      Lina Versace authored
      There exist *two* queryable EGL_RENDER_BUFFER states in EGL:
      eglQuerySurface(EGL_RENDER_BUFFER) and
      eglQueryContext(EGL_RENDER_BUFFER).
      
      These changes eliminate potentially very fragile code in the upcoming
      EGL_KHR_mutable_render_buffer implementation.
      
      * eglQuerySurface(EGL_RENDER_BUFFER)
      
        The implementation of eglQuerySurface(EGL_RENDER_BUFFER) contained
        abstruse logic which required comprehending the specification
        complexities of how the two EGL_RENDER_BUFFER states interact.  The
        function sometimes returned _EGLContext::WindowRenderBuffer, sometimes
        _EGLSurface::RenderBuffer. Why? The function tried to encode the
        actual logic from the EGL spec. When did the function return which
        variable? Go study the EGL spec, hope you understand it, then hope
        Mesa mutated the EGL_RENDER_BUFFER state in all the correct places.
        Have fun.
      
        To simplify eglQuerySurface(EGL_RENDER_BUFFER), and to improve
        confidence in its correctness, flatten its indirect logic. For pixmap
        and pbuffer surfaces, simply return a hard-coded literal value, as the
        spec suggests. For window surfaces, simply return
        _EGLSurface::RequestedRenderBuffer.  Nothing difficult here.
      
      * eglQueryContext(EGL_RENDER_BUFFER)
      
        The implementation of this suffered from the same issues as
        eglQuerySurface, and the solution is the same.  confidence in its
        correctness, flatten its indirect logic. For pixmap and pbuffer
        surfaces, simply return a hard-coded literal value, as the spec
        suggests. For window surfaces, simply return
        _EGLSurface::ActiveRenderBuffer.
      
      BUG=b:77899911
      TEST=No android-cts-7.1 regressions on Eve.
      
      Change-Id: Ic5f2ab1952f26a87081bc4f78bc7fa96734c8f2a
      0a957c28
  2. Jul 25, 2018
  3. Jul 21, 2018
  4. Jul 17, 2018
  5. Jul 12, 2018
  6. Jun 22, 2018
  7. Jun 19, 2018
  8. Jun 18, 2018
Loading