edited slides
[fc2020] / estea-fosscomm2020.tex
1 \documentclass[usenames,dvipsnames]{beamer}
2 \usepackage[font=small,skip=-1pt]{caption}
3 \usepackage{xcolor}
4 \usepackage{color, colortbl}
5 \usepackage{caption}
6 \usepackage{listings}
7 \usepackage{graphicx}
8 \usepackage{hyperref}
9 \usepackage{comment}
10 \usepackage{textpos}
11 \usepackage{tgpagella}
12 \usepackage[utf8]{inputenc}
13 \usepackage{fontspec}
14 \usepackage{tabularx, array, booktabs}
15 \usepackage{cite}
16 \usepackage{verbatim}
17 \usepackage{comment}
18 \usepackage{adjustbox}
19
20 \newcommand\topalign[1]{%
21   \setbox0\hbox{#1}%
22   \raisebox{\dimexpr-\ht0+\dp0\relax}{\usebox0}}
23
24 \definecolor{blond}{rgb}{0.98, 0.94, 0.75}
25 \definecolor{beige}{rgb}{0.96, 0.96, 0.86}
26 \definecolor{mGreen}{rgb}{0,0.6,0}
27 \definecolor{mGray}{rgb}{0.5,0.5,0.5}
28 \definecolor{mPurple}{rgb}{0.58,0,0.82}
29 \definecolor{bgcolor}{rgb}{0.8,0.8,0.8}
30 \definecolor{afblue}{rgb}{0.46, 0.64, 0.76}
31 \definecolor{coolblack}{rgb}{0.0, 0.18, 0.39}
32 \definecolor{paleaqua}{rgb}{0.74, 0.83, 0.9}
33 \definecolor{platinum}{rgb}{0.9, 0.89, 0.89}
34 \definecolor{whitesmoke}{rgb}{0.96, 0.96, 0.96}
35 \definecolor{carolinablue}{rgb}{0.6, 0.73, 0.89}
36 \definecolor{amber}{rgb}{1.0, 0.75, 0.0}
37 \definecolor{deepjunglegreen}{rgb}{0.0, 0.29, 0.29}
38 \definecolor{mediumred-violet}{rgb}{0.73, 0.2, 0.52}
39 \definecolor{babypink}{rgb}{0.96, 0.76, 0.76}
40 \definecolor{beaublue}{rgb}{0.74, 0.83, 0.9}
41 \definecolor{bananayellow}{rgb}{1.0, 0.88, 0.21}
42 \definecolor{bananamania}{rgb}{0.98, 0.91, 0.81}
43
44 \lstdefinestyle{CStyle}{
45         language=C++,                % choose the language of the code
46 %       basicstyle=\footnotesize,       % the size of the fonts that are used for the code
47         basicstyle=\tt\color{afblue},
48     breakatwhitespace=false,
49     breaklines=true,
50         backgroundcolor=\color{bgcolor},  % choose the background color. You must add \usepackage{color}
51         showspaces=false,               % show spaces adding particular underscores
52         showstringspaces=false,         % underline spaces within strings
53         showtabs=false,                 % show tabs within strings adding particular underscores
54         frame=single,           % adds a frame around the code
55         tabsize=2,          % sets default tabsize to 2 spaces
56         captionpos=b,           % sets the caption-position to bottom
57         breaklines=true,        % sets automatic line breaking
58         breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
59     commentstyle=\color{mGreen},
60     keywordstyle=\color{magenta},
61     stringstyle=\color{mPurple},
62         rulesepcolor=\color{gray},
63     rulecolor=\color{black},
64 }
65
66 \setmainfont{Noto Serif} % substitute with any font that exists on your system
67 \setsansfont{Noto Sans} % substitute with any font that exists on your system
68 \setmonofont{Noto Sans Mono} % substitute with any font that exists on your system
69
70 \usetheme{Warsaw}
71 \useoutertheme{infolines}
72 \usecolortheme{crane}
73
74 \captionsetup[figure]{labelformat=empty}
75
76 \addtobeamertemplate{headline}{}{\vskip2pt}
77 \addtobeamertemplate{headline}{}{%
78         \begin{textblock*}{5mm}(.9\textwidth,-0.6cm)
79         \includegraphics[height=0.67cm]{data/igalia-logo.png}
80 \end{textblock*}}
81
82 \definecolor{links}{rgb}{0.1, 0.3, 0.6}
83 \hypersetup{colorlinks,linkcolor=,urlcolor=links}
84
85 \pgfdeclareimage[height=\paperheight]{igaliabglight}{data/igalia_bg_light.eps}
86 \pgfdeclareimage[height=\paperheight]{igaliabg}{data/igaliabg.eps}
87
88 %\setbeamertemplate{title page}{
89 %        \begin{picture}(-90, 180)
90 %                       \put(-200, -74){%
91 %                \pgfuseimage{igaliabg}
92 %            }
93 %
94 %            \put(55,19){%
95 %                               \begin{minipage}[b][36mm][t]{240mm}
96 %                    \usebeamerfont{title}{\inserttitle\par}
97 %                    \usebeamerfont{author}{\insertauthor\par}
98 %                    \usebeamerfont{title}{\insertinstitute\par}
99 %                \end{minipage}
100 %            }
101 %               \end{picture}
102 %}
103
104 \setbeamertemplate{navigation symbols}{}
105 \setbeamertemplate{title page}{
106         \begin{picture}(0,0)
107             \put(-30,-164){%
108                 \pgfuseimage{igaliabg}
109             }
110
111             \put(0,-110.7){%
112                 \begin{minipage}[b][38mm][t]{220mm}
113                     \usebeamerfont{title}{\inserttitle\par}
114                                         \vspace{0.1cm}
115                     \usebeamerfont{author}{\insertauthor\par}
116                 \end{minipage}
117             }
118
119                         \put(240, -138){
120                                 \usebeamerfont{date}{\small{\textbf{\insertdate}}\par}
121                                 }
122                 \end{picture}
123 }
124
125 \setbeamertemplate{itemize items}[triangle]
126 \setbeamertemplate{itemize subitem}[circle]
127 \setbeamerfont{frametitle}{size=\small}
128
129 \setbeamertemplate{blocks}[default]
130 \setbeamercolor{block title}{fg=amber,bg=black}
131
132
133 \title{\textbf{OpenGL and Vulkan Interoperability}}
134 \author[Eleni Maria Stea <estea@igalia.com>]{\small{Ελένη Μαρία Στέα
135 <estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
136 \date{FOSSCOMM 2020}
137
138 \AtBeginSection[]
139 {
140   \begin{frame}
141     \frametitle{Outline}
142         \tableofcontents[currentsection]
143   \end{frame}
144 }
145
146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147 \begin{document}
148 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149
150 \begin{frame}[plain]
151 \titlepage
152 \end{frame}
153
154 \begin{frame}
155         \frametitle{Outline}
156         \tableofcontents
157 \end{frame}
158
159 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
161 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 \section[Εισαγωγή]{OpenGL extensions για interoperability}
163 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164
165 \begin{frame}[fragile,c]
166         \frametitle{Συνδυαστική χρήση Vulkan και OpenGL}
167         \begin{center}
168                 \vspace{0.5cm}
169                 \small{
170                         \textbf{\color{coolblack}{Σε κάποιες εφαρμογές βολεύει να συνδυάσουμε τα δύο
171                         APIs και να εκμεταλλευτούμε τα πλεονεκτήματα του καθενός!}}
172                 }
173                 \vspace{0.5cm}
174                 \begin{table}
175                         \begin{tabularx}{\textwidth}{c c}
176                                 \adjustbox{valign=t, margin=1ex,
177                                 padding=1ex}{\includegraphics[scale=.07]{data/vulkan.png}} &
178                                 \adjustbox{valign=t, margin=1ex,
179                                 padding=1ex}{\includegraphics[scale=.07]{data/opengl.png}}\\
180                         \end{tabularx}
181                 \end{table}
182                 \vspace{0.5cm}
183                 \footnotesize{\textbf{\color{coolblack}{Παράδειγμα:}} σε ένα VR compositor μπορεί να
184                 χρησιμοποιηθεί
185                 Vulkan για να φτιαχτούν και να εμφανιστούν οι εικόνες που θα βλέπει
186                 το κάθε μάτι, αλλά το περιεχόμενό τους να ζωγραφίζεται από OpenGL
187                 processes.}
188                 \vspace{0.5cm}
189         \end{center}
190 \end{frame}
191
192 \begin{frame}[fragile,c]
193         \frametitle{Η έννοια της διαλειτουργικότητας (Interoperability)}
194
195         \begin{center}
196         \textbf{\color{coolblack}{INTEROPERABILITY}}
197         \vspace{1cm}
198
199                 \scriptsize{
200         \begin{tabularx}{\textwidth}{X}
201                 \rowcolor{coolblack}
202                 {\begin{tabularx}{\linewidth}{X}
203                 \rowcolor{coolblack}
204                 \\
205                 \multicolumn{1}{c}{
206                         \color{paleaqua}{Με τα EXT\_external\_objects(\_fd) μπορούμε:}
207                 }\\
208                 \rowcolor{coolblack}
209                 \\
210                 \end{tabularx}}\\
211                 \rowcolor{platinum}
212                 \\
213                 \rowcolor{platinum}
214                 · \color{coolblack}{Να \textbf{δεσμεύουμε πόρους} (textures,
215                 buffers) \textbf{μια φορά} από το Vulkan και να έχουμε πρόσβαση σε
216                 αυτούς και από τα δύο APIs οσεσδήποτε φορές.}
217                 
218                 \\
219                 \rowcolor{platinum}
220                 · \color{coolblack}{Να \textbf{συγχρονίζουμε} την
221                 πρόσβαση του κάθε API στους κοινόχρηστους πόρους.}\\
222                 \rowcolor{platinum}
223                 \\
224         \end{tabularx}
225                 }
226         \end{center}
227 \end{frame}
228
229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230
231 \begin{frame}[fragile]
232         \frametitle{OpenGL extensions για διαλειτουργικότητα στο Linux}
233
234         \center{\textbf{\color{coolblack}{OpenGL Extensions (Linux)}}}
235         \vspace{0.2cm}
236
237         \setbeamertemplate{itemize/enumerate body begin}{\footnotesize}
238         \setbeamertemplate{itemize/enumerate subbody begin}{\tiny}
239         \setbeamertemplate{itemize/enumerate subsubbody begin}{\tiny}
240
241         \setbeamertemplate{itemize items}[triangle]
242         \setbeamertemplate{blocks}[rounded][shadow]
243
244         \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects\_fd
245                 (EXT\_memory\_object\_fd, EXT\_semaphore\_fd)}:}}
246                 \begin{itemize}
247                         \item Eπιτρέπουν σε ένα OpenGL πρόγραμμα να αποκτήσει πρόσβαση σε
248                                 μνήμη που έχει
249                                 δεσμευθεί από το Vulkan (είτε για objects είτε για semaphores)
250                                 μέσω ενός POSIX file descriptor handle.
251                 \end{itemize}
252         \end{block}
253
254         \vspace{0.2cm}
255
256         \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects
257                 (EXT\_memory\_object, EXT\_semaphore)}:}}
258                 \begin{itemize}
259                         \item Eπιτρέπουν στα OpenGL προγράμματα να φτιάχνουν
260                                 OpenGL αντικείμενα (textures,
261                                 buffers και semaphores) από την εξωτερική Vulkan μνήμη, και
262                                 να συγχρονίζουν \textbf{από κοινού} την πρόσβαση σ αυτά.
263                         \item {Eπεκτείνουν τα OpenGL calls που χρησιμοποιούνται
264                                 για να θέσουν ή να επιστρέψουν ιδιότητες εικόνων και buffers
265                                 με περισσότερες παραμέτρους (πχ texture tiling mode).}
266                 \end{itemize}
267         \end{block}
268 \end{frame}
269
270 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 \section[Interoperability σε Piglit και Mesa 3D]{Προσθήκες στο Mesa και το Piglit}
272 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273 \begin{frame}
274         \frametitle{Igalia's contributions}
275
276         \setbeamertemplate{blocks}[rounded]
277         \center{
278                 \normalsize{\textbf{\color{coolblack}{Συνοπτικά η δουλειά μας}}}
279                 }
280
281         \vspace{0.5cm}
282
283         \begin{block}{Mesa}
284                 \footnotesize{
285                         Στην Igalia προσπαθήσαμε να υποστηρίξουμε αυτά τα extensions σε
286                         διάφορους {\color{deepjunglegreen}\textbf{Mesa drivers}}.}
287         \end{block}
288
289         \vspace{0.3cm}
290
291         \begin{block}{Piglit (drivers testing framework)}
292                 \footnotesize{
293                         Κι επειδή δεν είχαν γραφτεί (και δεν μπορούσαν να γραφτούν)
294                         \textbf{conformance tests} γι αυτά,
295                         γράψαμε ένα δικό μας Vulkan framework για το
296                         {\color{coolblack}\textbf{Piglit}} και τα δικά μας
297                         Vulkan/GL τεστ που καλύπτουν τις πιο βασικές χρήσεις των extensions.
298                 }
299         \end{block}
300 \end{frame}
301
302 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
303
304 \begin{frame}
305         \frametitle{Oι προσθήκες στο Mesa3D}
306
307         \center{
308                 \normalsize{\textbf{\color{coolblack}{Contributions στους Mesa
309         drivers}}}
310         }
311         \tiny{
312                 \begin{table}[t]
313                         \begin{tabularx}{\textwidth}{|l|X|l|}
314                                 \hline
315                                 \rowcolor{paleaqua}
316                                 Driver & Igalia's Contributions & Status \\
317                                 \hline
318                                 \hline
319                                 \rowcolor{platinum}
320                                 iris & \textbf{\color{coolblack}implemented} EXT\_external\_objects,
321                                 EXT\_external\_objects\_fd & \cellcolor{bananamania}{parts
322                                 upstream, parts under review}\\
323                                 \rowcolor{whitesmoke}
324                                 freedreno & \textbf{\color{coolblack}implemented} EXT\_external\_objects,
325                                 EXT\_external\_objects\_fd & \cellcolor{green}{upstream} \\
326                                 \rowcolor{platinum}
327                                 radeonsi & \textbf{\color{coolblack}support for external
328                                 buffers} to existing feature &
329                                 \cellcolor{green}{upstream} \\
330                                 \rowcolor{whitesmoke}
331                                 i965 & helped with the \textbf{\color{coolblack}review}, patches & \cellcolor{babypink}{under review
332                                 (Draft MR !5594)}\\
333                                 \hline
334                         \end{tabularx}
335                 \end{table}
336         }
337
338         \center{
339                 \normalsize{\textbf{\color{coolblack}{Contributors, reviewers,
340                 people who helped!}}}
341         }
342
343         \tiny{
344                 \begin{table}[ht]
345                         \begin{tabularx}{\textwidth}{|l|X|X|}
346                                 \hline
347                                 \rowcolor{paleaqua}
348                                 Driver & Patches & Reviews, Comments, Advice\\
349                                 \hline
350                                 \hline
351                                 \rowcolor{platinum}
352                                 iris & Juan A. Suárez Romero, Eleni Maria Stea, Tapani Pälli, Eduardo Lima Mitev
353                                 & Tapani Pälli, Rohan Garg, Eric Engestrom, Kenneth Graunke,
354                                 Jason Ekstrand, Oscar Barenys, Daniel Stone, Matt Turner, Tomeu Vizoso \\
355                                 \rowcolor{whitesmoke}
356                                 freedreno & Eduardo Lima Mitev, Hyunjun Ko & Rob
357                                 Clark, Marek Olšák, Jonathan Marek, Rohan Garg\\
358                                 \rowcolor{platinum}
359                                 radeonsi & Eleni Maria Stea (buffers support only, the rest was
360                                 implemented by AMD long time ago)
361                                 & Marek Olšák, Bas Nieuwenhuizen, Pierre-Eric Pelloux-Prayer \\
362                                 \rowcolor{whitesmoke}
363                                 i965 & Rohan Garg, Juan A. Suárez Romero, Tapani Pälli
364                                 & Tomeu Vizoso, Eleni Maria Stea, Oscar Barenys \\
365                                 \hline
366                         \end{tabularx}
367                 \end{table}
368         }
369
370         \tiny{
371                 \begin{itemize}
372                         \item {Σε περίπτωση που ξεχνάω κάποιον, οι reviewers και οι
373                                 developers φαίνονται στα προαναφερθέντα Merge Requests (MR) στο
374                                 Freedesktop Gitlab (\url{https://gitlab.freedesktop.org})!}
375                 \end{itemize}
376         }
377 \end{frame}
378
379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380
381 \begin{frame}[fragile]
382         \frametitle{Οι προσθήκες στο Piglit I}
383
384         \begin{center}
385                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit I }}}
386         \end{center}
387
388         \tiny{
389                 \begin{center}\textbf{Επαναχρησιμοποίηση εικόνων:}\end{center}
390                         \vspace{-0.3cm}
391                 \begin{table}[t]
392                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
393                                 \hline
394                                 \rowcolor{paleaqua}
395                                 Τεστ & Περιγραφή
396                                 & Αποτέλεσμα & Status\\
397                                 \hline
398                                 \hline
399                                 \rowcolor{platinum}
400                                 vk-image-overwrite &
401                                 \begin{itemize}
402                                         \vspace{-0.3cm}
403                                 \itemsep0cm
404                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
405                                                 δημιουργεί εικόνες που έχουν διαφορετικό format και tiling
406                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} τις
407                                         γεμίζει με πράσινο χρώμα
408                                 \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
409                                         αποτέλεσμα:}} πράσινη οθόνη
410                                 \end{itemize}
411                                 &
412                                 \adjustbox{valign=t, margin=1ex, padding=1ex}{\includegraphics[height=1cm]{shots/image_overwrite.png}} & \cellcolor{green}{upstream}\\
413                                 \hline
414                                 \rowcolor{whitesmoke}
415                                 vk-image-display &
416                                 \begin{itemize}
417                                         \vspace{-0.3cm}
418                                 \itemsep0cm
419                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
420                                                 δημιουργεί μια εικόνα και τη γεμίζει με ρίγες διαφόρων
421                                                 χρωμάτων
422                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
423                                                 ζωγραφίζει την εικόνα στην οθόνη χρησιμοποιώντας semaphores
424                                                 για να συγχρονίσει την πρόσβαση στην εικόνα
425                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
426                                                 αποτέλεσμα:}} μια ριγέ εικόνα στην οθόνη
427                                 \end{itemize}
428                                 &
429                                 \adjustbox{valign=t, margin=1ex,
430                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}}
431                                 & \cellcolor{green}{upstream}\\
432                                 \hline
433                                 \rowcolor{platinum}
434                                 vk-image-display-overwrite &
435                                 \begin{itemize}
436                                         \vspace{-0.3cm}
437                                 \itemsep0cm
438                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
439                                         δημιουργεί μια εικόνα και τη γεμίζει
440                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
441                                                 ξαναγράφει τα pixels με μια καινούρια ριγέ εικόνα
442                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
443                                                 διαβάζει πίσω το περιεχόμενο της εικόνας
444                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
445                                                 αποτέλεσμα:}} τα pixels που θα διαβαστούν να είναι τα
446                                                 αλλαγμένα
447                                 \end{itemize}
448                                 &
449                                 \adjustbox{valign=t, margin=1ex,
450                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display_overwrite.png}}
451                                 & \cellcolor{green}{upstream}\\
452                                 \hline
453                         \end{tabularx}
454                 \end{table}
455         }
456 \end{frame}
457
458 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
459
460 \begin{frame}[fragile]
461         \frametitle{Οι προσθήκες στο Piglit II}
462
463         \begin{center}
464                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit II }}}
465         \end{center}
466
467         \tiny{
468                 \begin{center}\textbf{Επαναχρησιμοποίηση του depth και του stencil buffer:}\end{center}
469                 \begin{table}[t]
470                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
471                                 \hline
472                                 \rowcolor{paleaqua}
473                                 Τεστ & Περιγραφή
474                                 & Αποτέλεσμα & Status\\
475                                 \hline
476                                 \hline
477                                 \rowcolor{platinum}
478                                 vk-depth-display &
479                                 \begin{itemize}
480                                         \vspace{-0.3cm}
481                                 \itemsep0cm
482                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
483                                                 δημιουργεί κάποιο pattern στο z buffer (quad)        
484                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
485                                                 ζωγραφίζει ένα fullscreen quad σε μεγαλύτερο βάθος (z,
486                                                 depth)
487                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
488                                                 αποτέλεσμα:}}
489                                                 το quad δεν εμφανίζεται σε κάποια σημεία
490                                 \end{itemize}
491                                 &
492                                 \adjustbox{valign=t, margin=1ex,
493                                 padding=1ex}{\includegraphics[height=1cm]{shots/depth.png}}
494                                 & \cellcolor{babypink}{under review}\\
495                                 \hline
496                                 \rowcolor{whitesmoke}
497                                 vk-stencil-display &
498                                 \begin{itemize}
499                                         \vspace{-0.3cm}
500                                 \itemsep0cm
501                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
502                                                 δημιουργεί κάποιο pattern στο stencil buffer
503                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
504                                                 ζωγραφίζει ένα μπλε fullscreen quad χρησιμοποιώντας
505                                                 stencil testing
506                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
507                                                 αποτέλεσμα:}}
508                                                 το quad θα εμφανίζεται μόνο όπου πετυχαίνει το stencil test
509                                 \end{itemize}
510                                 &
511                                 \adjustbox{valign=t, margin=1ex,
512                                 padding=1ex}{\includegraphics[height=1cm]{shots/stencil.png}}
513                                 & \cellcolor{babypink}{under review}\\
514                                 \hline
515                         \end{tabularx}
516                 \end{table}
517                 }
518 \end{frame}
519
520 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521
522 \begin{frame}[fragile]
523         \frametitle{Οι προσθήκες στο Piglit III}
524
525         \begin{center}
526                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit III }}}
527         \end{center}
528
529         \tiny{
530                 \begin{center}\textbf{Επαναχρησιμοποίηση των pixel buffer:}\end{center}
531
532                 \begin{table}[tc]
533                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
534                                 \hline
535                                 \rowcolor{paleaqua}
536                                 Τεστ & Περιγραφή
537                                 & Αποτέλεσμα & Status\\
538                                 \hline
539                                 \hline
540                                 \rowcolor{platinum}
541                                 vk-buf-exchange &
542                                 \begin{itemize}
543                                         \vspace{-0.3cm}
544                                 \itemsep0cm
545                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
546                                                 δημιουργεί μια εικόνα, ζωγραφίζει σ' αυτή το pattern με
547                                                 τις ρίγες και αντιγράφει τα pixels της σ' ένα buffer
548                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
549                                                 χρησιμοποιεί αυτό το buffer ως pixel storage για ένα
550                                                 texture και το δείχνει στην οθόνη
551                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
552                                                 αποτέλεσμα:}}
553                                                 χρωματιστές μπάρες στην οθόνη
554                                 \end{itemize}
555                                 &
556                                 \adjustbox{valign=t, margin=1ex,
557                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}}
558                                 & \cellcolor{green}{upstream}\\
559                                 \hline
560                                 \rowcolor{whitesmoke}
561                                 vk-pix-buf-update-errors &
562                                 Όμοια με το προηγούμενο και:
563                                 \begin{itemize}
564                                 \itemsep0cm
565                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
566                                                 επιχειρεί να γράψει πάνω στο buffer ένα νέο pattern
567                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
568                                                 αποτέλεσμα:}}
569                                                 επιστρέφεται error στο χρήστη και το buffer παραμένει
570                                                 άθικτο
571                                 \end{itemize}
572                                  &
573                                 \adjustbox{valign=t, margin=1ex,
574                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}}
575                                 & \cellcolor{green}{upstream}\\
576                                 \hline
577                         \end{tabularx}
578                 \end{table}
579         }
580 \end{frame}
581
582 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
583
584 \begin{frame}[fragile]
585         \frametitle{Οι προσθήκες στο Piglit IV}
586
587         \begin{center}
588                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit IV }}}
589         \end{center}
590
591         \tiny{
592                 \begin{center}\textbf{Επαναχρησιμοποίηση των vertex buffer:}\end{center}
593                 \begin{table}[t]
594                         \begin{tabularx}{\textwidth}{|l|X|l|l|}
595                                 \hline
596                                 \rowcolor{paleaqua}
597                                 Τεστ & Περιγραφή
598                                 & Αποτέλεσμα & Status\\
599                                 \hline
600                                 \hline
601                                 \rowcolor{platinum}
602                                 vk-vert-buf-update-errors &
603                                 \begin{itemize}
604                                         \vspace{-0.3cm}
605                                 \itemsep0cm
606                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
607                                                 φτιάχνει ένα vertex buffer και γεμίζει μόνο τα ζυγά
608                                                 quads δημιουργώντας ένα pattern σκακιέρας 
609                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
610                                                 καθαρίζει (γεμίζει με) κόκκινο το framebuffer και
611                                                 ζωγραφίζει το vertex buffer με μπλε χρώμα
612                                         \item[\textbullet] \textbf{\color{coolblack}OpenGL:}
613                                                 προσπαθεί να αλλάξει το περιεχόμενο του VBO
614                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
615                                                 αποτέλεσμα:}}
616                                                 ένα pattern σκακιέρας με κόκκινα και μπλε quads
617                                                 και invalid  operation error για την απόπειρα αλλαγής των
618                                                 δεδομένων
619                                 \end{itemize}
620                                 &
621                                 \adjustbox{valign=t, margin=1ex,
622                                 padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}}
623                                 & \cellcolor{green}{upstream}\\
624                                 \hline
625                                 \rowcolor{whitesmoke}
626                                 vk-vert-buf-reuse &
627                                 \begin{itemize}
628                                         \vspace{-0.3cm}
629                                 \itemsep0cm
630                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
631                                                 όμοια με το προηγούμενο τεστ
632                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
633                                                 όμοια με το προηγούμενο εκτός από το invalid overwrite test
634                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
635                                                 επαναχρησιμοποιεί το VBO σε ένα renderpass για να
636                                                 ζωγραφίσει τη σκακιέρα
637                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
638                                                 αποτέλεσμα:}}
639                                                 σκακιέρα στην οθόνη
640                                 \end{itemize}
641                                 &
642                                 \adjustbox{valign=t, margin=1ex,
643                                 padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}}
644                                 &
645                                 \cellcolor{green}{upstream}\\
646                                 \hline
647                         \end{tabularx}
648                 \end{table}
649         }
650 \end{frame}
651
652 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
653
654 \begin{frame}[fragile]
655         \frametitle{Οι προσθήκες στο Piglit V}
656         \begin{center}
657                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit V }}}\\
658         \end{center}
659
660         \vspace{0.5cm}
661
662         \tiny{
663                 \begin{table}[t]
664                         \begin{tabularx}{\textwidth}{|l|X|}
665                                 \hline
666                                 \rowcolor{paleaqua}
667                                 Contributors & Contributions \\
668                                 \hline
669                                 \hline
670                                 \rowcolor{platinum}
671                                 Eleni Maria Stea & tests, Vulkan framework code \\
672                                 \rowcolor{whitesmoke}
673                                 Juan A. Suárez Romero & contributions στο framework, και στο
674                                 vk-image-overwrite, testing \\
675                                 \rowcolor{platinum}
676                                 Tapani Pälli (\textit{\color{coolblack}{many thanks!}}) &
677                                 reviews, testing και patches
678                                 για το framework \\
679                                 \rowcolor{whitesmoke}
680                                 Bas Nieuwenhuizen & framework patch για να υποστηρίξουμε
681                                 dedicated μνήμη \\
682                                 \rowcolor{platinum}
683                                 Topi Pohjolainen & πήραμε ιδέες από κάποια παλιά patches του στο ξεκίνημα\\
684                                 \hline
685                         \end{tabularx}
686                 \end{table}
687         }
688
689         \vspace{0.5cm}
690
691         \begin{itemize}
692                 \item Επίσης ευχαριστίες στον Eduardo Lima Mitev και το Hyunjun Ko για
693                         τα reviews τους και στο Germán Poo Caamaño που μας βοήθησε να βάλουμε
694                         τάξη στα αρχικά commits του Vulkan framework.
695                 \item Τέλος ελπίζω ότι δεν ξεχνάω κάποιον, αλλά επειδή τα slides
696                         γράφτηκαν πριν την παρουσίαση περισσότερες πληροφορίες στο
697                         \url{https://gitlab.freedesktop.org}!
698         \end{itemize}
699 \end{frame}
700
701 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
702
703 \begin{frame}[fragile]
704         \frametitle{Piglit Results}
705         \begin{block}{\begin{center}Συμπεράσματα από τη δοκιμή των mesa drivers με
706         τα tests:\end{center}}
707                 \begin{itemize}
708                                 \vspace{0.3cm}
709                         \item Σχεδόν όλα τα τεστ περνούν στους προαναφερόμενους mesa drivers
710                                 (iris, freedreno, radeonsi, i965).\\
711                                 \vspace{0.3cm}
712                         \item Δυστυχώς μόνο ο iris driver υποστηρίζει external depth
713                                 buffers (Tapani Pälli) και κανένας mesa driver δεν υποστηρίζει το external stencil
714                                 buffer. Ως τώρα μόνο ο proprietary Nvidia driver φαίνεται να
715                                 υποστηρίζει και τα 2.\\
716                                 \vspace{0.3cm}
717                         \item Tα external buffers δεν υποστηρίζονταν στον
718                                 radeonsi και τo διορθώσαμε.\\
719                                 \vspace{0.3cm}
720                 \end{itemize}
721         \end{block}
722
723 \end{frame}
724
725 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
726
727 %\begin{frame}[fragile]
728 %       \frametitle{vk-image-overwrite}
729 %       \begin{block}{vk-image-overwrite}
730 %               \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); }
731 %       \end{block}
732 %\end{frame}
733
734 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735 \section[Αναφορές (ΕΝ)]{Αναφορές}
736 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
737 %\setbeamertemplate{bibliography entry title}{}
738 %\setbeamertemplate{bibliography entry location}{}
739 %\setbeamertemplate{bibliography entry note}{}
740 \setbeamerfont{bibliography item}{size=\footnotesize}
741 \setbeamerfont{bibliography entry author}{size=\footnotesize}
742 \setbeamerfont{bibliography entry title}{size=\footnotesize}
743 \setbeamerfont{bibliography entry year}{size=\footnotesize}
744 \setbeamerfont{bibliography entry note}{size=\footnotesize}
745
746 \begin{frame}[allowframebreaks]
747         \frametitle{Links}
748         \bibliographystyle{unsrt}
749         \bibliography{bib/references.bib}
750         \nocite{*}
751 \end{frame}
752
753 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754 \section[Q \& A]{Ερωτήσεις}
755 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756
757 \begin{frame}
758         \frametitle{Ερωτήσεις;}
759         {\fontsize{8}{7}\selectfont
760         \begin{center}
761                 \begin{figure}
762                 \includegraphics[scale=0.04]{data/qmark.png}
763                 \end{figure}
764                 \vspace{0.7cm}
765                 {\large E-mail: {\color{coolblack}estea@igalia.com}}\\
766                 {\large IRC/Freenode: {\color{coolblack}hikiko}}\\
767         \end{center}
768         }
769 \end{frame}
770
771
772 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
773
774 \begin{frame}[plain]
775 \begin{minipage}[b][0.6\textheight]{\linewidth}
776         \begin{picture}(0, 0)
777                 \put(0, -76){%
778                         \pgfuseimage{igaliabglight}
779                         }
780                         \begin{minipage}[b][0.4\textheight]{\linewidth}
781                                 \begin{figure}
782                                         \includegraphics[scale=0.6]{data/mesa.png}
783                                 \end{figure}
784                         \end{minipage}
785                 \put(-200, 0) {
786                         \hfill \huge{\textbf{\color{coolblack}Ευχαριστώ!}}\\
787                         }
788         \end{picture}
789 \end{minipage}
790
791 \end{frame}
792 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
793 \end{document}