bib, makefile
authorEleni Maria Stea <estea@igalia.com>
Mon, 31 Aug 2020 09:29:44 +0000 (12:29 +0300)
committerEleni Maria Stea <estea@igalia.com>
Mon, 31 Aug 2020 09:29:44 +0000 (12:29 +0300)
Makefile [new file with mode: 0644]
bib/references.bib [new file with mode: 0644]
estea-xdc2020.tex

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..cdb0834
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,9 @@
+estea-xdc2020.pdf:estea-xdc2020.tex bib/references.bib
+       xelatex estea-xdc2020.tex
+       bibtex estea-xdc2020
+       xelatex estea-xdc2020.tex
+       xelatex estea-xdc2020.tex
+
+.PHONY: clean
+clean:
+       rm -f *.aux *.bbl *.blg *.log *.nav *.out *.snm *.toc *.vrb *.pdf
diff --git a/bib/references.bib b/bib/references.bib
new file mode 100644 (file)
index 0000000..9080310
--- /dev/null
@@ -0,0 +1,7 @@
+@manual{ext_external_objects,
+  title = {EXT\_external\_objects (GL\_EXT\_memory\_object, GL\_EXT\_semaphore)},
+  note = {\url{https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects.txt}},
+  author = {Carsten, Rohde and Dave, Airlie and James, Jones
+         and Jan-Harald, Fredriksen and Jeff, Juliano and Michael, Worcester},
+  year = {July 18, 2018}
+}
index 34a1964..c0b1285 100644 (file)
@@ -1,7 +1,8 @@
-\documentclass{beamer}
+\documentclass[usenames,dvipsnames]{beamer}
 \usepackage[font=small,skip=-1pt]{caption}
-\usepackage{listings}
 \usepackage{xcolor}
+\usepackage{caption}
+\usepackage{listings}
 \usepackage{graphicx}
 \usepackage{hyperref}
 \usepackage{comment}
 \usepackage{tgpagella}
 \usepackage[utf8]{inputenc}
 \usepackage{fontspec}
+\usepackage{tabularx}
+\usepackage{cite}
+
+\definecolor{mGreen}{rgb}{0,0.6,0}
+\definecolor{mGray}{rgb}{0.5,0.5,0.5}
+\definecolor{mPurple}{rgb}{0.58,0,0.82}
+\definecolor{bgcolor}{rgb}{0.8,0.8,0.8}
+\definecolor{afblue}{rgb}{0.26, 0.44, 0.56}
+\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39}
+
+\lstdefinestyle{CStyle}{
+       language=C++,                % choose the language of the code
+%      basicstyle=\footnotesize,       % the size of the fonts that are used for the code
+       basicstyle=\tt\color{afblue},
+    breakatwhitespace=false,         
+    breaklines=true,                 
+       backgroundcolor=\color{bgcolor},  % choose the background color. You must add \usepackage{color}
+       showspaces=false,               % show spaces adding particular underscores
+       showstringspaces=false,         % underline spaces within strings
+       showtabs=false,                 % show tabs within strings adding particular underscores
+       frame=single,           % adds a frame around the code
+       tabsize=2,          % sets default tabsize to 2 spaces
+       captionpos=b,           % sets the caption-position to bottom
+       breaklines=true,        % sets automatic line breaking
+       breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
+    commentstyle=\color{mGreen},
+    keywordstyle=\color{magenta},
+    stringstyle=\color{mPurple},
+       rulesepcolor=\color{gray},
+    rulecolor=\color{black},
+}
+
 \setmainfont{Noto Sans} % substitute with any font that exists on your system
 \setsansfont{Noto Sans} % substitute with any font that exists on your system
-\setmonofont{Noto Sans Mono} % substitute with any font that exists on your system
+\setmonofont{Noto Sans Mono Medium} % substitute with any font that exists on your system
 
 \usetheme{Warsaw}
 \useoutertheme{infolines}
 \usecolortheme{crane}
 
-\usepackage{caption}
 \captionsetup[figure]{labelformat=empty}
 
 \addtobeamertemplate{headline}{}{\vskip2pt}
 \setbeamertemplate{blocks}[default]
 \setbeamercolor{block title}{fg=lightgray,bg=black}
 \title{\textbf{OpenGL and Vulkan Interoperability}}
-\author[Eleni Maria Stea]{\small{Eleni Maria Stea
+\author[Eleni Maria Stea <estea@igalia.com>]{\small{Eleni Maria Stea
 <estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
 \date{}
 
 \AtBeginSection[]
 {
-  \begin{frame}<beamer>
+  \begin{frame}
     \frametitle{Outline}
        \tableofcontents[currentsection]
   \end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Introduction]{The concept behind OpenGL and Vulkan interoperability}
+\section[Introduction]{OpenGL and Vulkan interoperability extensions}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \begin{frame}
-       \frametitle{Why interoperability?}
+       \frametitle{OpenGL and Vulkan Interoperability}
+
+       \center{\textbf{\color{coolblack}{INTEROPERABILITY}}}
+       \vspace{0.5cm}
 
-       The idea is to avoid unnecessary allocations and memory mappings when we
+       The idea is to avoid unnecessary allocations and conversions when we
        exchange texture and buffer data across APIs.\\
        \vspace{0.3cm}
        Interoperability extensions allow us to:\\
-       \vspace{0.8cm}
-
-       {\fontsize{9}{9}\selectfont
-               \begin{itemize}\setlength\itemsep{0.8cm}
-                               \item {\color[rgb]{0, 0, 0.6} Allocate the resources (textures,
-                                       buffers) once.}
-                               \item {\color[rgb]{0, 0, 0.6} Reuse them several times from both
-                                       APIs.}
-                               \item {\color[rgb]{0, 0, 0.6} Synchronize the APIs access to the
+       \vspace{0.5cm}
+
+       {\fontsize{10}{10}\selectfont
+               \begin{itemize}\setlength\itemsep{0.5cm}
+                               \item {\color{afblue} \textbf{Allocate} the resources (textures,
+                                       buffers) \textbf{once} from Vulkan.}
+                               \item {\color{afblue} \textbf{Reuse} them \textbf{several
+                                       times} from both APIs.}
+                               \item {\color{afblue} \textbf{Synchronize} the APIs access to the
                                        resources.}
                \end{itemize}
        }
 \end{frame}
 
 \begin{frame}
-       \frametitle{What's the alternative?}
-
-       Alternatively we would need to:\\
-       \vspace{0.8cm}
-
-       {\fontsize{9}{9}\selectfont
-               \begin{itemize}\setlength\itemsep{0.8cm}
-                               \item {\color[rgb]{0, 0, 0.6} Allocate resources of the same
-                                       size in both APIs.}
-                               \item {\color[rgb]{0, 0, 0.6} Map the Vulkan memory and copy the Vulkan object data to a an
-                                       OpenGL object data (and \textit{do all the necessary
-                                       conversions!}).}
-                               \item {\color[rgb]{0, 0, 0.6} Copy the data back after the process (and \textit{do all the
-                                       necessary conversions!}).}
-                               \item {\color[rgb]{0, 0, 0.6} Synchronize the access externally
-                                       (more complex).}
-               \end{itemize}
-       }
+       \frametitle{OpenGL extensions for interoperability}
+       
+       \center{\textbf{\color{coolblack}{OpenGL EXTENSIONS}}}
+       \vspace{0.5cm}
+
+       {\fontsize{10}{10}\selectfont
+\begin{itemize}\setlength\itemsep{0.5cm}
+               \item {\color{afblue}\textbf{EXT\_external\_object} extension:}
+                       \begin{itemize}
+                               \item provides the functions to create GL objects, textures and buffers
+                                       from Vulkan memory.
+                               \item provides the functions to create GL semaphores that
+                                       correspond to Vulkan ones.
+                               \item provides the functions for synchronization.
+                       \end{itemize}
+               \item {\color{afblue}\textbf{EXT\_external\_objects\_fd}
+                       extension:}
+                       {\fontsize{7}{6}\selectfont
+                       \begin{itemize}
+                               \item provides a function to import a file descriptor to the Vulkan
+                                       memory.
+                               \item provides a function to import a file descriptor to the Vulkan semaphores. 
+                       \end{itemize}
+                       }
+\end{itemize}
+}
 \end{frame}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[EXT\_external\_objects(\_fd)]{The required OpenGL extensions}
+\section[Interoperability on Mesa]{Additions to Mesa and Piglit}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \begin{frame}
-       \frametitle{test}
-       foobar
+       \frametitle{Additions to Mesa}
+
+       \center{
+               \normalsize{\textbf{\color{coolblack}{Igalia's contributions to Mesa
+       drivers}}}
+       }
+
+       \tiny{
+               \begin{table}
+                       \begin{tabularx}{\textwidth}{|l|X|l|}
+                               \hline 
+                               Driver & Igalia's Contributions & Status \\
+                               \hline 
+                               iris & implemented EXT\_external\_objects, EXT\_external\_objects\_fd & under review \\
+                               freedreno & implemented EXT\_external\_objects,
+                               EXT\_external\_objects\_fd & upstream \\
+                               radeonsi & fixes to the already implemented feature & under
+                               review \\
+                               i965 & helped with the review & under review\\
+                               \hline 
+                       \end{tabularx}
+               \end{table}
+       }
+
+       \center{
+               \normalsize{\textbf{\color{coolblack}{Thanks and Credits}}}
+       }
+
+       \tiny{
+               \begin{table}
+                       \begin{tabularx}{\textwidth}{|l|X|X|}
+                               \hline 
+                               Driver & Patches & Reviews, Comments, Advice\\
+                               \hline 
+                               iris & Juan A. Juarez Romero, Eleni Maria Stea, Tapani Palli,
+                               Eduardo Lima Mitev, zzzoon & collab, tapani, jason klp \\
+                               freedreno & foo & bar\\
+                               radeonsi & foo & bar\\
+                               i965 & foo & bar\\
+                               \hline 
+                       \end{tabularx}
+               \end{table}
+       }
+\end{frame}
+
+\begin{frame}
+       \frametitle{Piglit tests cases}
+
+       As there were no CTS for these extensions and we needed to test
+       mesa, we've written some Piglit tests with simple use cases of the
+       extension.
+
+       \vspace{0.5cm}
+       WIP igalia intel logos
+\end{frame}
+
+\begin{frame}[fragile]
+       \frametitle{vk-image-overwrite}
+       \begin{block}{vk-image-overwrite}
+               \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); }
+       \end{block}
 \end{frame}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Piglit tests use cases]{Some use cases for Piglit}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \begin{frame}
        \frametitle{test}
        foobar
 \end{frame}
-\section[Work and Status]{Igalia's work on mesa}
-\begin{frame}
-       \frametitle{test}
-       foobar
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section[References]{References}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\setbeamertemplate{bibliography entry title}{}
+%\setbeamertemplate{bibliography entry location}{}
+%\setbeamertemplate{bibliography entry note}{}
+\begin{frame}[allowframebreaks]
+       \frametitle{References}
+       \bibliographystyle{plain}
+       \bibliography{bib/references.bib}
+       \tiny{
+               \nocite{*}
+       }
 \end{frame}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section[Q \& A]{Questions and Answers}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+\begin{frame}
+       \frametitle{Questions?}
+       WIP
+\end{frame}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%