\setbeamertemplate{blocks}[default]
\setbeamercolor{block title}{fg=amber,bg=black}
-\title{\textbf{Sharing texture data between drivers}}
+\title{\textbf{Sharing texture data across EGL drivers}}
\author[Eleni Maria Stea <estea@igalia.com>]{\small{Eleni Maria Stea
<estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
\date{\tiny{WebKit Codecamp}}
\end{comment}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Introduction]{Introduction: Using ANGLE in WebGL2}
+\section[Introduction]{Introduction: Using ANGLE in WebGL2 (WebKit)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile,c]
\begin{center}
\scriptsize{
I've ran my experiments using test programs and ANGLE,\\
- and I had to
- \textbf{\color{mediumred-violet}modify the default set up} to
- debug/explore ANGLE calls with GDB:
+ and I had to modify the default set up to step into ANGLE calls with GDB:
}
\end{center}
\vspace{0.1cm}
- \setbeamertemplate{blocks}[rounded]
-
- \begin{block}{\footnotesize{\textbf{Problems when building ANGLE:}}}\scriptsize{\texttt{
+ \setbeamertemplate{itemize/enumerate body begin}{\scriptsize}
+ \begin{block}{\scriptsize{Things that need attention when building ANGLE for
+ debugging:}}\scriptsize{
+ \vspace{0.2cm}
\begin{itemize}
\itemsep0.1cm
\color{coolblack}
\item {{\textbf{dwarf5} is not fully implemented on GDB, and so it's
impossible to step without errors when it's enabled.}}
\item {\textbf{Debugging symbols} aren't enabled by default.}
- \end{itemize}}}
+ \end{itemize}}
\vspace{0.2cm}
\end{block}
\setbeamertemplate{itemize item}[circle]
\begin{itemize}
\item {\textbf{Blog post} on how to set up
- \textbf{\color{mediumred-violet}{ANGLE}} and \textbf{\color{mediumred-violet}{GDB}} for debugging: \url{https://eleni.mutantstargoat.com/hikiko/debug-angle/}}
- \item {\textbf{Gist} with the \textbf{\color{mediumred-violet}{GN args}}
+ {\color{black}{ANGLE}} and {\color{black}{GDB}} for debugging: \url{https://eleni.mutantstargoat.com/hikiko/debug-angle/}}
+ \item {\textbf{Gist} with the {\color{black}{GN args}}
I've used: \url{https://gistof.com/gnargs}}
\end{itemize}}
\vspace{0.2cm}
\setbeamercolor{block body}{bg=white}
\setbeamercolor{block title}{bg=white, fg=coolblack}
\begin{block}{\scriptsize{There is a Linux kernel framework that can be used for
- content sharing between different Linux drivers!}}
+ content sharing across different Linux drivers!}}
\vspace{-0.1cm}
\begin{table}[t]
\begin{tabular}{l}
{\color{coolblack}Exporting a dma buffer from a texture
\texttt{texA}:}\\
- \\
\begin{adjustbox}{max width=\textwidth}
- \adjustbox{valign=t}{\includegraphics[height=3.8cm]{data/dma_export_and_struct.png}}
+ \adjustbox{valign=t}{\includegraphics[height=4cm]{data/dma_export_and_struct.png}}
\end{adjustbox}\\
\end{tabular}
\end{table}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}
+ \frametitle{Test program}
+
+ \begin{block}{\scriptsize{An exporter-importer that uses ANGLE and native
+ EGL}}
+ \setbeamertemplate{itemize/enumerate body begin}{\scriptsize}
+ \begin{itemize}
+ \itemsep0.3cm
+ \itemsep0.2cm
+ \item First context is EGL/OpenGL like the one in main graphics
+ pipeline.
+ \item Second is ANGLE with EGL/GLESv2 backend like the one in
+ WebGL2.
+ \item EGL/OpenGL context creates an empty texture and exports the dma\_buf
+ fd and all other information about the buffer.
+ \item ANGLE context creates another empty texture using the same
+ dma\_buf and the import mechanism.
+ \item ANGLE context fills the emty ANGLE texture.
+ \item EGL/OpenGL context displays the previously empty OpenGL/EGL
+ texture.
+ \item EGL/OpenGL texture contains what ANGLE texture had.
+ \item \textbf{We shared the ANGLE data without copying them!}
+ \end{itemize}
+
+ \end{block}
+ \vspace{0.2cm}
+ \scriptsize{
+ \begin{center}
+ \textbf{\color{coolblack}Check the blog posts for more details!}
+ \end{center}
+ }
+\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}
\end{block}
-
\vspace{0.3cm}
\end{frame}
\frametitle{WIP WebKit:}
\center{\normalsize{\textbf{\color{coolblack}{Ongoing work on WebKit}}}}
- \vspace{0.3cm}
-
- {\footnotesize{
- \begin{block}{DONE/WIP/TODO}
- \begin{itemize}
- \item{Use the right CMake options (one can't simply enable
- \texttt{USE\_ANGLE\_WEBGL} ☺):
- \color{coolblack}{\textbf{FIXED }}}
- \item{There were compile errors when ANGLE was used:
- \color{coolblack}{\textbf{FIXED/Pending to send the patches}}}
- \item{Link errors when ANGLE is used:
- \color{coolblack}{\textbf{WIP/Partially FIXED}}}
- \item{Copy replacement: \color{coolblack}{\textbf{WIP/TODO}}}
- \end{itemize}
- \end{block}
- }}
-
- \vspace{0.2cm}
+ \vspace{0.1cm}
\begin{center}
\setbeamertemplate{itemize/enumerate body begin}{\scriptsize}
\setbeamertemplate{itemize/enumerate subbody begin}[circle]{\tiny}
something else (libgbm? copying?)}
\end{itemize}
\end{center}
+ \vspace{0.05cm}
+ {\scriptsize{
+ \begin{block}{DONE/WIP/TODO}
+ \begin{itemize}
+ \item{Use the right CMake options (one can't simply enable
+ \texttt{USE\_ANGLE\_WEBGL}!):
+ \color{coolblack}{\textbf{FIXED }}}
+ \item{There were compile errors when ANGLE was used:
+ \color{coolblack}{\textbf{FIXED/Pending to send the patches}}}
+ \item{Link errors when ANGLE is used:
+ \color{coolblack}{\textbf{WIP/Partially FIXED}}}
+ \item{Copy replacement: \color{coolblack}{\textbf{WIP/TODO}}}
+ \end{itemize}
+ \end{block}
+ }}
+
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%