\put(0,-110.7){%
\begin{minipage}[b][38mm][t]{220mm}
- \usebeamerfont{title}{\inserttitle\par}
+ \usebeamerfont{title}{\textbf{Adoption of ANGLE in
+ WPE/WebKitGTK}\par}
\usebeamerfont{author}{\insertauthor\par}
\end{minipage}
}
{\footnotesize{
\begin{enumerate}
\itemsep0.3cm
- \item {\color{coolblack}\textbf{Use ANGLE and EGL in the same program:
- create 2 X11 windows, and draw 2 images from 2 different contexts
- by 2 different drivers.}
+ \item {\color{coolblack}\textbf{Similar to WebKit: I've
+ used ANGLE and EGL in the same program (created 2 X11 windows, and
+ rendered 2 images from 2 different contexts by 2 different
+ drivers on them.}
\tiny{{(In several cases ANGLE behaves
different from EGL: e.g. when \texttt{eglMakeCurrent} doesn't
call \texttt{eglMakeCurrent}!!).}}
}
- \item {\color{coolblack}\textbf{Fix the problem with shared
- context and shared textures.}
+ \item {\color{coolblack}\textbf{Shared context: Filled a shared texture with ANGLE,
+ displayed it with the native driver. (REJECTED)}
\tiny{{(required
modifications in ANGLE OpenGL driver, writing an ANGLE extension, forcing the
EGL/OpenGL backend, and it wouldn't work with multiple
processes)}}
}
- \item {\color{coolblack}\textbf{Fix the problem by sharing a Linux kernel
- dma-buf buffer across drivers.}
+ \item {\color{coolblack}\textbf{DMA-buffers: Filled two textures
+ from two drivers simultaneously by using a shared Linux kernel
+ dma-buf buffer. (ADOPTED)}
- \tiny{{(drivers must support some EGL/GL extensions, but both mesa and
+ \tiny{{(drivers should support some EGL/GL extensions: both mesa and
ANGLE support them)}}
}
- \item {\color{coolblack}\textbf{Solve the multiple processes case.}
+ \item {\color{coolblack}\textbf{Investigated the multiple processes
+ case. (FUTURE)}
\tiny{{(we need some sort of IPC to exchange the dma-buf FD)}}
}
\end{center}
\vspace{-0.1cm}
\scriptsize{\color{coolblack}
- I've first written a program where both ANGLE and native system driver render
- images on two different X11 windows and displayed them side by side:
+ I've first written a program where both ANGLE and the native system driver render
+ images on X11 windows:
}
\vspace{-0.1cm}
\begin{center}
\vspace{-0.1cm}
\begin{center}
- \textbf{\color{coolblack}More on Makefile changes and dynamic loading:}
+ \textbf{\color{coolblack}Read more about invalidation and dynamic
+ loading:}
\end{center}
\setbeamertemplate{itemize/enumerate body begin}{\tiny}
\\
\rowcolor{platinum}
\textbf{new\_ctx} = {\color{mediumred-violet}eglCreateContext}(new\_ctx\_dpy, new\_ctx\_config,
- \textbf{native\_ctx}, new\_ctx\_attrib);\\
+ \textbf{shared\_ctx}, new\_ctx\_attrib);\\
\rowcolor{platinum}\\
\hline
\end{tabular}
\vspace{0.1cm}
\scriptsize{
- \textbf{\color{coolblack}{A texture generated by each context can be bound and used by the
- other\\ without ever leaving the GPU!}}
+ \textbf{\color{coolblack}{Each texture created by the
+ \texttt{shared\_ctx} can
+ be bound and used by the \texttt{new\_ctx} while it stays in the GPU!}}
}
\vspace{0.01cm}