bib, makefile
[fc2020] / estea-xdc2020.tex
1 \documentclass[usenames,dvipsnames]{beamer}
2 \usepackage[font=small,skip=-1pt]{caption}
3 \usepackage{xcolor}
4 \usepackage{caption}
5 \usepackage{listings}
6 \usepackage{graphicx}
7 \usepackage{hyperref}
8 \usepackage{comment}
9 \usepackage{textpos}
10 \usepackage{tgpagella}
11 \usepackage[utf8]{inputenc}
12 \usepackage{fontspec}
13 \usepackage{tabularx}
14 \usepackage{cite}
15
16 \definecolor{mGreen}{rgb}{0,0.6,0}
17 \definecolor{mGray}{rgb}{0.5,0.5,0.5}
18 \definecolor{mPurple}{rgb}{0.58,0,0.82}
19 \definecolor{bgcolor}{rgb}{0.8,0.8,0.8}
20 \definecolor{afblue}{rgb}{0.26, 0.44, 0.56}
21 \definecolor{coolblack}{rgb}{0.0, 0.18, 0.39}
22
23 \lstdefinestyle{CStyle}{
24         language=C++,                % choose the language of the code
25 %       basicstyle=\footnotesize,       % the size of the fonts that are used for the code
26         basicstyle=\tt\color{afblue},
27     breakatwhitespace=false,         
28     breaklines=true,                 
29         backgroundcolor=\color{bgcolor},  % choose the background color. You must add \usepackage{color}
30         showspaces=false,               % show spaces adding particular underscores
31         showstringspaces=false,         % underline spaces within strings
32         showtabs=false,                 % show tabs within strings adding particular underscores
33         frame=single,           % adds a frame around the code
34         tabsize=2,          % sets default tabsize to 2 spaces
35         captionpos=b,           % sets the caption-position to bottom
36         breaklines=true,        % sets automatic line breaking
37         breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
38     commentstyle=\color{mGreen},
39     keywordstyle=\color{magenta},
40     stringstyle=\color{mPurple},
41         rulesepcolor=\color{gray},
42     rulecolor=\color{black},
43 }
44
45 \setmainfont{Noto Sans} % substitute with any font that exists on your system
46 \setsansfont{Noto Sans} % substitute with any font that exists on your system
47 \setmonofont{Noto Sans Mono Medium} % substitute with any font that exists on your system
48
49 \usetheme{Warsaw}
50 \useoutertheme{infolines}
51 \usecolortheme{crane}
52
53 \captionsetup[figure]{labelformat=empty}
54
55 \addtobeamertemplate{headline}{}{\vskip2pt}
56 \addtobeamertemplate{headline}{}{%
57         \begin{textblock*}{5mm}(.9\textwidth,-0.6cm)
58         \includegraphics[height=0.67cm]{data/igalia-logo.png}
59 \end{textblock*}}
60
61 \definecolor{links}{rgb}{0, 0.6, 0}
62 \hypersetup{colorlinks,linkcolor=,urlcolor=links}
63
64 %\pgfdeclareimage[height=\paperheight]{igaliabg}{data/igalia_bg_light.eps}
65 \pgfdeclareimage[height=\paperheight]{igaliabg}{data/igaliabg.eps}
66
67 %\setbeamertemplate{title page}{
68 %        \begin{picture}(-90, 180)
69 %                       \put(-200, -74){%
70 %                \pgfuseimage{igaliabg}
71 %            }
72 %
73 %            \put(55,19){%
74 %                               \begin{minipage}[b][36mm][t]{240mm}
75 %                    \usebeamerfont{title}{\inserttitle\par}
76 %                    \usebeamerfont{author}{\insertauthor\par}
77 %                    \usebeamerfont{title}{\insertinstitute\par}
78 %                \end{minipage}
79 %            }
80 %               \end{picture}
81 %}
82
83 \setbeamertemplate{navigation symbols}{}
84 \setbeamertemplate{title page}{
85         \begin{picture}(0,0)
86             \put(-30,-164){%
87                 \pgfuseimage{igaliabg}
88             }
89
90             \put(0,-110.7){%
91                 \begin{minipage}[b][38mm][t]{220mm}
92                     \usebeamerfont{title}{\inserttitle\par}
93                     \usebeamerfont{author}{\insertauthor\par}
94                 \end{minipage}
95             }
96                 \end{picture}
97 }
98
99 \setbeamertemplate{itemize items}[triangle]
100 \setbeamertemplate{itemize subitem}[circle]
101 \setbeamerfont{frametitle}{size=\small}
102
103 \setbeamertemplate{blocks}[default]
104 \setbeamercolor{block title}{fg=lightgray,bg=black}
105 \title{\textbf{OpenGL and Vulkan Interoperability}}
106 \author[Eleni Maria Stea <estea@igalia.com>]{\small{Eleni Maria Stea
107 <estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
108 \date{}
109
110 \AtBeginSection[]
111 {
112   \begin{frame}
113     \frametitle{Outline}
114         \tableofcontents[currentsection]
115   \end{frame}
116 }
117
118 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119 \begin{document}
120 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121
122 \begin{frame}[plain]
123 \titlepage
124 \end{frame}
125
126 \begin{frame}
127         \frametitle{Outline}
128         \tableofcontents
129 \end{frame}
130
131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132
133 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 \section[Introduction]{OpenGL and Vulkan interoperability extensions}
135 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
136
137 \begin{frame}
138         \frametitle{OpenGL and Vulkan Interoperability}
139
140         \center{\textbf{\color{coolblack}{INTEROPERABILITY}}}
141         \vspace{0.5cm}
142
143         The idea is to avoid unnecessary allocations and conversions when we
144         exchange texture and buffer data across APIs.\\
145         \vspace{0.3cm}
146         Interoperability extensions allow us to:\\
147         \vspace{0.5cm}
148
149         {\fontsize{10}{10}\selectfont
150                 \begin{itemize}\setlength\itemsep{0.5cm}
151                                 \item {\color{afblue} \textbf{Allocate} the resources (textures,
152                                         buffers) \textbf{once} from Vulkan.}
153                                 \item {\color{afblue} \textbf{Reuse} them \textbf{several
154                                         times} from both APIs.}
155                                 \item {\color{afblue} \textbf{Synchronize} the APIs access to the
156                                         resources.}
157                 \end{itemize}
158         }
159 \end{frame}
160
161 \begin{frame}
162         \frametitle{OpenGL extensions for interoperability}
163         
164         \center{\textbf{\color{coolblack}{OpenGL EXTENSIONS}}}
165         \vspace{0.5cm}
166
167         {\fontsize{10}{10}\selectfont
168 \begin{itemize}\setlength\itemsep{0.5cm}
169                 \item {\color{afblue}\textbf{EXT\_external\_object} extension:}
170                         \begin{itemize}
171                                 \item provides the functions to create GL objects, textures and buffers
172                                         from Vulkan memory.
173                                 \item provides the functions to create GL semaphores that
174                                         correspond to Vulkan ones.
175                                 \item provides the functions for synchronization.
176                         \end{itemize}
177                 \item {\color{afblue}\textbf{EXT\_external\_objects\_fd}
178                         extension:}
179                         {\fontsize{7}{6}\selectfont
180                         \begin{itemize}
181                                 \item provides a function to import a file descriptor to the Vulkan
182                                         memory.
183                                 \item provides a function to import a file descriptor to the Vulkan semaphores. 
184                         \end{itemize}
185                         }
186 \end{itemize}
187 }
188 \end{frame}
189
190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 \section[Interoperability on Mesa]{Additions to Mesa and Piglit}
192 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193
194 \begin{frame}
195         \frametitle{Additions to Mesa}
196
197         \center{
198                 \normalsize{\textbf{\color{coolblack}{Igalia's contributions to Mesa
199         drivers}}}
200         }
201
202         \tiny{
203                 \begin{table}
204                         \begin{tabularx}{\textwidth}{|l|X|l|}
205                                 \hline 
206                                 Driver & Igalia's Contributions & Status \\
207                                 \hline 
208                                 iris & implemented EXT\_external\_objects, EXT\_external\_objects\_fd & under review \\
209                                 freedreno & implemented EXT\_external\_objects,
210                                 EXT\_external\_objects\_fd & upstream \\
211                                 radeonsi & fixes to the already implemented feature & under
212                                 review \\
213                                 i965 & helped with the review & under review\\
214                                 \hline 
215                         \end{tabularx}
216                 \end{table}
217         }
218
219         \center{
220                 \normalsize{\textbf{\color{coolblack}{Thanks and Credits}}}
221         }
222
223         \tiny{
224                 \begin{table}
225                         \begin{tabularx}{\textwidth}{|l|X|X|}
226                                 \hline 
227                                 Driver & Patches & Reviews, Comments, Advice\\
228                                 \hline 
229                                 iris & Juan A. Juarez Romero, Eleni Maria Stea, Tapani Palli,
230                                 Eduardo Lima Mitev, zzzoon & collab, tapani, jason klp \\
231                                 freedreno & foo & bar\\
232                                 radeonsi & foo & bar\\
233                                 i965 & foo & bar\\
234                                 \hline 
235                         \end{tabularx}
236                 \end{table}
237         }
238 \end{frame}
239
240 \begin{frame}
241         \frametitle{Piglit tests cases}
242
243         As there were no CTS for these extensions and we needed to test
244         mesa, we've written some Piglit tests with simple use cases of the
245         extension.
246
247         \vspace{0.5cm}
248         WIP igalia intel logos
249 \end{frame}
250
251 \begin{frame}[fragile]
252         \frametitle{vk-image-overwrite}
253         \begin{block}{vk-image-overwrite}
254                 \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); }
255         \end{block}
256 \end{frame}
257
258 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259
260 \begin{frame}
261         \frametitle{test}
262         foobar
263 \end{frame}
264
265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 \section[References]{References}
267 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
268 %\setbeamertemplate{bibliography entry title}{}
269 %\setbeamertemplate{bibliography entry location}{}
270 %\setbeamertemplate{bibliography entry note}{}
271 \begin{frame}[allowframebreaks]
272         \frametitle{References}
273         \bibliographystyle{plain}
274         \bibliography{bib/references.bib}
275         \tiny{
276                 \nocite{*}
277         }
278 \end{frame}
279
280 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
281 \section[Q \& A]{Questions and Answers}
282 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283
284 \begin{frame}
285         \frametitle{Questions?}
286         WIP
287 \end{frame}
288
289 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290
291 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
292 \end{document}