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