more fixes
[webkit_codecamp] / codecamp.tex
index 24cfebb..447ba56 100644 (file)
 
             \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)}}
                 }
@@ -362,8 +366,8 @@ program}
        \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}
@@ -404,7 +408,8 @@ program}
 
        \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}
@@ -462,7 +467,7 @@ program}
                         \\
                         \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}
@@ -472,8 +477,9 @@ program}
 
         \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}
 
@@ -783,14 +789,16 @@ program}
                                \item We can export the file descriptor of one buffer from one
                                        driver and use it to access the buffer from the other
                                        driver.
-                               \item So we can export the FD that corresponds to the compositor
+                               \item So we can export the fd that corresponds to the compositor
                                        texture, import it in WebGL when we create the render target
                                        and when the WebGL texture is filled, the compositor texture
                                        will be also filled, as they share the backing storage!
                        \end{itemize}
                \end{center}
        \end{block}
-       \begin{block}{\scriptsize{EGL and GL extensions that can be used:}}
+
+       \begin{block}{\scriptsize{EGL and GL extensions that can be used for that
+        purpose:}}
                \begin{center}
                        \begin{itemize}
                                \item
@@ -824,10 +832,11 @@ program}
        \begin{block}{\scriptsize{I've written an example:}}
                \begin{center}
                        \begin{itemize}
-                               \item First using EGL!\\
+                               \item First using two native EGL contexts\\
                                        Blog post: \url{https://eleni.mutantstargoat.com/hikiko/egl-dma-1/} \\
                                        Code: \url{https://gistof.com/dma-egl-version}
-                               \item Then using a native EGL context and a context from ANGLE!\\
+                               \item Then using a native EGL context and a context created from
+                    ANGLE\\
                                        Blog post: \url{https://eleni.mutantstargoat.com/hikiko/angle-dma/}\\
                                        Code: \url{https://gistof.com/dmaangleeglversion}
                        \end{itemize}
@@ -931,7 +940,6 @@ program}
 
 \begin{frame}[fragile,c]
     \frametitle{What if WebGL and Graphics pipeline were separate processes?}
-       \setbeamertemplate{blocks}[rounded]
 
 \vspace{0.3cm}
     \center{
@@ -1036,5 +1044,32 @@ program}
 \end{frame}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section[TheEnd]{Closing}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[plain]
+\begin{minipage}[b][0.6\textheight]{\linewidth}
+       \begin{picture}(0, 0)
+               \put(0, -76){%
+                       \pgfuseimage{igaliabglight}
+                       }
+                       \begin{minipage}[b][0.4\textheight]{\linewidth}
+                               \begin{figure}
+                                       \includegraphics[scale=0.6]{data/mesa.png}
+                               \end{figure}
+                       \end{minipage}
+               \put(-200, 0) {
+                       \hfill \huge{\textbf{\color{coolblack}Thank you!}}\\
+                       }
+       \end{picture}
+\end{minipage}
+\end{frame}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \end{document}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%