+ program 1/2}
+
+ \setbeamertemplate{itemize/enumerate body begin}{\scriptsize}
+ \setbeamertemplate{itemize/enumerate subbody begin}{\tiny}
+ \setbeamertemplate{itemize/enumerate subsubbody begin}{\tiny}
+ \setbeamertemplate{itemize items}[triangle]
+ \setbeamertemplate{blocks}[rounded][shadow]
+
+ \begin{center}
+ \textbf{\color{coolblack}First Test}
+ \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:
+ }
+ \vspace{-0.1cm}
+ \begin{center}
+ \adjustbox{valign=t, margin=1ex,
+ padding=1ex}{\includegraphics[height=1.5cm]{data/angle_egl.png}}
+ \end{center}
+ \vspace{-0.1cm}
+ \begin{block}{\footnotesize{Things I had to take care of:}}
+ \begin{itemize}
+ \item {Configure Makefile to find ANGLE \textbf{library paths} and link
+ with native system EGL.}
+ \item {\textbf{Dynamically open} ANGLE EGL and load its functions prefixed with
+ \texttt{angle\_} to distinguish them from native EGL ones.}
+ \item {Do the same for GLESv2.}
+ \item {\textbf{Invalidate the ANGLE context} at every display call.\\
+ (\textit{When ANGLE is not the only
+ implementation available \texttt{MakeCurrent} is not working as
+ expected!!!})}
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}[fragile,c]
+ \frametitle{Step 2: Contexts from two drivers in the same
+ program 2/2}
+ \vspace{-0.1cm}
+ \begin{center}
+ \textbf{\color{coolblack}Why invalidate MakeCurrent?}
+ \\
+ \begin{table}[c]
+ \begin{tabularx}{\textwidth}{l X}
+ \tiny{\textbf{\color{mediumred-violet}Context is cached in ANGLE!}} &
+ \adjustbox{valign=c, margin=0.1ex,
+ padding=0.1ex}{\includegraphics[height=2cm]{data/makecurrent.png}} \\
+ \end{tabularx}
+ \end{table}
+ \end{center}
+
+ \vspace{-0.1cm}
+ \begin{center}
+ \textbf{\color{coolblack}More on Makefile changes and dynamic loading:}
+ \end{center}
+
+ \setbeamertemplate{itemize/enumerate body begin}{\tiny}
+ \setbeamertemplate{itemize items}[circle]
+
+ \scriptsize{
+
+ \textbf{Blog post:}\\
+ Sharing texture data between ANGLE and the native system driver:\\
+ \url{https://eleni.mutantstargoat.com/hikiko/angle-dma/}
+ \begin{itemize}
+ \item \texttt{Makefile changes and dynamic loading:}\\
+ {\color{mediumred-violet}Step 1: Using
+ both libraries in the same program.}
+ \item \texttt{ANGLE MakeCurrent problem:}\\
+ {\color{mediumred-violet}{About ANGLE MakeCurrent.}}
+ \end{itemize}
+
+ \vspace{-0.1cm}
+
+ \textbf{Code:}\\
+ \url{https://github.com/hikiko/shctx/tree/wip/system\_egl\_dynamic\_angle}
+
+ }
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section[Experiment 2]{Experiment 2: Sharing a texture across drivers using shared context}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[fragile,c]
+ \frametitle{}