Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228498

Schedule blitting based on Metal Context state

    Details

    • Subcomponent:
      2d
    • CPU:
      x86_64
    • OS:
      os_x

      Description

      In case of OpenGL we schedule blitting only when OpenGL context is not NULL in OGLRenderQueue.c->flushBuffer()

      if (oglc != NULL) {
              RESET_PREVIOUS_OP();
              if (sync) {
                  j2d_glFinish();
              } else {
                  j2d_glFlush();
              }
              OGLSD_Flush(env);
          }

      And it looks like OpenGL context is set in SET_SURFACES opcode.

      In case of metal implementation we dont have any such check and we call scheduleBlitAllModifiedLayers() every-time we have flushBuffer call.

      We need to verify whether such a difference is the reason we are facing performance degradation in Metal.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jdv Jayathirth D V
                Reporter:
                jdv Jayathirth D V
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: