wtf
[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 APIs}
167         \begin{center}
168                 \vspace{1cm}
169                 \begin{table}
170                         \begin{tabularx}{\textwidth}{ c c}
171                                 \adjustbox{valign=t, margin=1ex,
172                                 padding=1ex}{\includegraphics[scale=.07]{data/vulkan.png}} &
173                                 \adjustbox{valign=t, margin=1ex,
174                                 padding=1ex}{\includegraphics[scale=.07]{data/opengl.png}}\\
175                         \end{tabularx}
176                 \end{table}
177         \end{center}
178 \end{frame}
179
180 \begin{frame}[fragile,c]
181         \frametitle{Η έννοια της διαλειτουργικότητας (Interoperability)}
182
183         \begin{center}
184         \textbf{\color{coolblack}{INTEROPERABILITY}}
185         \vspace{0.5cm}
186
187         \begin{tabularx}{\textwidth}{X}
188                 \rowcolor{coolblack}
189                 \multicolumn{1}{c}{
190                         \color{paleaqua}{Με τα EXT\_external\_objects(\_fd) μπορούμε:}
191                 }\\
192                 \rowcolor{platinum}
193                 \\
194                 \rowcolor{platinum}
195                 \small{· \color{coolblack}{Να \textbf{δεσμεύουμε πόρους} (textures,
196                 buffers) \textbf{μια φορά} από το Vulkan και να έχουμε πρόσβαση σε
197                 αυτούς και από τα δύο APIs οσεσδήποτε φορές.}
198                 }
199                 \\
200                 \rowcolor{platinum}
201                 \\
202                 \rowcolor{platinum}
203                 \small{· \color{coolblack}{Να \textbf{συγχρονίζουμε} την
204                 πρόσβαση του κάθε API στους κοινόχρηστους πόρους.}}\\
205                 \rowcolor{platinum}
206                 \\
207         \end{tabularx}
208         \end{center}
209         \vspace{0.2cm}
210         \footnotesize{\textbf{Παράδειγμα:} σε ένα VR compositor μπορεί να
211         χρησιμοποιείται
212         Vulkan για να φτιαχτούν και να εμφανιστούν οι εικόνες που θα βλέπει
213         το κάθε μάτι, αλλά το περιεχόμενό τους να ζωγραφίζεται από OpenGL
214         προγράμματα.}
215 \end{frame}
216
217 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218
219 \begin{frame}[fragile]
220         \frametitle{OpenGL extensions για διαλειτουργικότητα στο Linux}
221
222         \center{\textbf{\color{coolblack}{OpenGL Extensions (Linux)}}}
223         \vspace{0.2cm}
224
225         \setbeamertemplate{itemize/enumerate body begin}{\footnotesize}
226         \setbeamertemplate{itemize/enumerate subbody begin}{\tiny}
227         \setbeamertemplate{itemize/enumerate subsubbody begin}{\tiny}
228
229         \setbeamertemplate{itemize items}[triangle]
230         \setbeamertemplate{blocks}[rounded][shadow]
231
232         \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects\_fd
233                 (EXT\_memory\_object\_fd, EXT\_semaphore\_fd)}:}}
234                 \begin{itemize}
235                         \item Eπιτρέπουν σε ένα OpenGL πρόγραμμα να αποκτήσει πρόσβαση σε
236                                 μνήμη που έχει
237                                 δεσμευθεί από το Vulkan (είτε για objects είτε για semaphores)
238                                 μέσω ενός POSIX file descriptor handle.
239                 \end{itemize}
240         \end{block}
241
242         \vspace{0.2cm}
243
244         \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects
245                 (EXT\_memory\_object, EXT\_semaphore)}:}}
246                 \begin{itemize}
247                         \item Eπιτρέπουν στα OpenGL προγράμματα να φτιάχνουν
248                                 OpenGL αντικείμενα (textures,
249                                 buffers και semaphores) από την εξωτερική Vulkan μνήμη, και
250                                 να συγχρονίζουν \textbf{από κοινού} την πρόσβαση σ αυτά.
251                         \item {Eπεκτείνουν τα OpenGL calls που χρησιμοποιούνται
252                                 για να θέσουν ή να επιστρέψουν ιδιότητες εικόνων και buffers
253                                 με περισσότερες παραμέτρους (πχ texture tiling mode).}
254                 \end{itemize}
255         \end{block}
256 \end{frame}
257
258 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259 \section[Interoperability σε Piglit και Mesa 3D]{Προσθήκες στο Mesa και το Piglit}
260 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 \begin{frame}
262         \frametitle{Igalia's contributions}
263
264         \setbeamertemplate{blocks}[rounded]
265         \center{
266                 \normalsize{\textbf{\color{coolblack}{Συνοπτικά η δουλειά μας}}}
267                 }
268
269         \vspace{0.5cm}
270
271         \begin{block}{Mesa}
272                 \footnotesize{
273                         Στην Igalia προσπαθήσαμε να υποστηρίξουμε αυτά τα extensions σε
274                         διάφορους {\color{deepjunglegreen}\textbf{Mesa drivers}}.}
275         \end{block}
276
277         \vspace{0.3cm}
278
279         \begin{block}{Piglit (drivers testing framework)}
280                 \footnotesize{
281                         Κι επειδή δεν είχαν γραφτεί (και δεν μπορούσαν να γραφτούν)
282                         \textbf{conformance tests} γι αυτά,
283                         γράψαμε ένα δικό μας Vulkan framework για το
284                         {\color{coolblack}\textbf{Piglit}} και τα δικά μας
285                         Vulkan/GL τεστ που καλύπτουν τις πιο βασικές χρήσεις των extensions.
286                 }
287         \end{block}
288 \end{frame}
289
290 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
291
292 \begin{frame}
293         \frametitle{Oι προσθήκες στο Mesa3D}
294
295         \center{
296                 \normalsize{\textbf{\color{coolblack}{Contributions στους Mesa
297         drivers}}}
298         }
299         \tiny{
300                 \begin{table}[t]
301                         \begin{tabularx}{\textwidth}{|l|X|l|}
302                                 \hline
303                                 \rowcolor{paleaqua}
304                                 Driver & Igalia's Contributions & Status \\
305                                 \hline
306                                 \hline
307                                 \rowcolor{platinum}
308                                 iris & \textbf{\color{coolblack}implemented} EXT\_external\_objects,
309                                 EXT\_external\_objects\_fd & \cellcolor{babypink}{under review (MR
310                                 !4337)}\\
311                                 \rowcolor{whitesmoke}
312                                 freedreno & \textbf{\color{coolblack}implemented} EXT\_external\_objects,
313                                 EXT\_external\_objects\_fd & \cellcolor{green}{upstream} \\
314                                 \rowcolor{platinum}
315                                 radeonsi & added \textbf{\color{coolblack}support for external buffers} to the already implemented feature &
316                                 \cellcolor{green}{upstream} \\
317                                 \rowcolor{whitesmoke}
318                                 i965 & helped with the \textbf{\color{coolblack}review}, patches & \cellcolor{babypink}{under review
319                                 (Draft MR !5594)}\\
320                                 \hline
321                         \end{tabularx}
322                 \end{table}
323         }
324
325         \center{
326                 \normalsize{\textbf{\color{coolblack}{Contributors, reviewers,
327                 people who helped!}}}
328         }
329
330         \tiny{
331                 \begin{table}[ht]
332                         \begin{tabularx}{\textwidth}{|l|X|X|}
333                                 \hline
334                                 \rowcolor{paleaqua}
335                                 Driver & Patches & Reviews, Comments, Advice\\
336                                 \hline
337                                 \hline
338                                 \rowcolor{platinum}
339                                 iris & Juan A. Suárez Romero, Eleni Maria Stea, Tapani Pälli, Eduardo Lima Mitev
340                                 & Tapani Pälli, Rohan Garg, Eric Engestrom, Kenneth Graunke,
341                                 Jason Ekstrand, Oscar Barenys, Daniel Stone, Matt Turner, Tomeu Vizoso \\
342                                 \rowcolor{whitesmoke}
343                                 freedreno & Eduardo Lima Mitev, Hyunjun Ko & Rob
344                                 Clark, Marek Olšák, Jonathan Marek, Rohan Garg\\
345                                 \rowcolor{platinum}
346                                 radeonsi & Eleni Maria Stea (buffers support only, the rest was
347                                 implemented by AMD long time ago)
348                                 & Marek Olšák, Bas Nieuwenhuizen, Pierre-Eric Pelloux-Prayer \\
349                                 \rowcolor{whitesmoke}
350                                 i965 & Rohan Garg, Juan A. Suárez Romero, Tapani Pälli
351                                 & Tomeu Vizoso, Eleni Maria Stea, Oscar Barenys \\
352                                 \hline
353                         \end{tabularx}
354                 \end{table}
355         }
356
357         \tiny{
358                 \begin{itemize}
359                         \item {Σε περίπτωση που ξεχνάω κάποιον, οι reviewers και οι
360                                 developers φαίνονται στα προαναφερθέντα Merge Requests (MR) στο
361                                 Freedesktop Gitlab (\url{https://gitlab.freedesktop.org})!}
362                 \end{itemize}
363         }
364 \end{frame}
365
366 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367
368 \begin{frame}[fragile]
369         \frametitle{Οι προσθήκες στο Piglit I}
370
371         \begin{center}
372                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit I }}}
373         \end{center}
374
375         \tiny{
376                 \begin{center}\textbf{Επαναχρησιμοποίηση εικόνων:}\end{center}
377                         \vspace{-0.3cm}
378                 \begin{table}[t]
379                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
380                                 \hline
381                                 \rowcolor{paleaqua}
382                                 Τεστ & Περιγραφή
383                                 & Αποτέλεσμα & Status\\
384                                 \hline
385                                 \hline
386                                 \rowcolor{platinum}
387                                 vk-image-overwrite &
388                                 \begin{itemize}
389                                         \vspace{-0.3cm}
390                                 \itemsep0cm
391                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
392                                                 δημιουργεί εικόνες που έχουν διαφορετικό format και tiling
393                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} τις
394                                         γεμίζει με πράσινο χρώμα
395                                 \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
396                                         αποτέλεσμα:}} πράσινη οθόνη
397                                 \end{itemize}
398                                 &
399                                 \adjustbox{valign=t, margin=1ex, padding=1ex}{\includegraphics[height=1cm]{shots/image_overwrite.png}} & \cellcolor{green}{upstream}\\
400                                 \hline
401                                 \rowcolor{whitesmoke}
402                                 vk-image-display &
403                                 \begin{itemize}
404                                         \vspace{-0.3cm}
405                                 \itemsep0cm
406                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
407                                                 δημιουργεί μια εικόνα και τη γεμίζει με ρίγες διαφόρων
408                                                 χρωμάτων
409                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
410                                                 ζωγραφίζει την εικόνα στην οθόνη χρησιμοποιώντας semaphores
411                                                 για να συγχρονίσει την πρόσβαση στην εικόνα
412                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
413                                                 αποτέλεσμα:}} μια ριγέ εικόνα στην οθόνη
414                                 \end{itemize}
415                                 &
416                                 \adjustbox{valign=t, margin=1ex,
417                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}}
418                                 & \cellcolor{green}{upstream}\\
419                                 \hline
420                                 \rowcolor{platinum}
421                                 vk-image-display-overwrite &
422                                 \begin{itemize}
423                                         \vspace{-0.3cm}
424                                 \itemsep0cm
425                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
426                                         δημιουργεί μια εικόνα και τη γεμίζει
427                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
428                                                 ξαναγράφει τα pixels με μια καινούρια ριγέ εικόνα
429                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
430                                                 διαβάζει πίσω το περιεχόμενο της εικόνας
431                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
432                                                 αποτέλεσμα:}} τα pixels που θα διαβαστούν να είναι τα
433                                                 αλλαγμένα
434                                 \end{itemize}
435                                 &
436                                 \adjustbox{valign=t, margin=1ex,
437                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display_overwrite.png}}
438                                 & \cellcolor{green}{upstream}\\
439                                 \hline
440                         \end{tabularx}
441                 \end{table}
442         }
443 \end{frame}
444
445 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446
447 \begin{frame}[fragile]
448         \frametitle{Οι προσθήκες στο Piglit II}
449
450         \begin{center}
451                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit II }}}
452         \end{center}
453
454         \tiny{
455                 \begin{center}\textbf{Επαναχρησιμοποίηση του depth και του stencil buffer:}\end{center}
456                 \begin{table}[t]
457                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
458                                 \hline
459                                 \rowcolor{paleaqua}
460                                 Τεστ & Περιγραφή
461                                 & Αποτέλεσμα & Status\\
462                                 \hline
463                                 \hline
464                                 \rowcolor{platinum}
465                                 vk-depth-display &
466                                 \begin{itemize}
467                                         \vspace{-0.3cm}
468                                 \itemsep0cm
469                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
470                                                 δημιουργεί κάποιο pattern στο z buffer (quad)        
471                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
472                                                 ζωγραφίζει ένα fullscreen quad σε μεγαλύτερο βάθος (z,
473                                                 depth)
474                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
475                                                 αποτέλεσμα:}}
476                                                 το quad δεν εμφανίζεται σε κάποια σημεία
477                                 \end{itemize}
478                                 &
479                                 \adjustbox{valign=t, margin=1ex,
480                                 padding=1ex}{\includegraphics[height=1cm]{shots/depth.png}}
481                                 & \cellcolor{babypink}{under review}\\
482                                 \hline
483                                 \rowcolor{whitesmoke}
484                                 vk-stencil-display &
485                                 \begin{itemize}
486                                         \vspace{-0.3cm}
487                                 \itemsep0cm
488                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
489                                                 δημιουργεί κάποιο pattern στο stencil buffer
490                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
491                                                 ζωγραφίζει ένα μπλε fullscreen quad χρησιμοποιώντας
492                                                 stencil testing
493                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
494                                                 αποτέλεσμα:}}
495                                                 το quad θα εμφανίζεται μόνο όπου πετυχαίνει το stencil test
496                                 \end{itemize}
497                                 &
498                                 \adjustbox{valign=t, margin=1ex,
499                                 padding=1ex}{\includegraphics[height=1cm]{shots/stencil.png}}
500                                 & \cellcolor{babypink}{under review}\\
501                                 \hline
502                         \end{tabularx}
503                 \end{table}
504                 }
505 \end{frame}
506
507 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
508
509 \begin{frame}[fragile]
510         \frametitle{Οι προσθήκες στο Piglit III}
511
512         \begin{center}
513                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit III }}}
514         \end{center}
515
516         \tiny{
517                 \begin{center}\textbf{Επαναχρησιμοποίηση των pixel buffer:}\end{center}
518
519                 \begin{table}[tc]
520                         \begin{tabularx}{\textwidth}{|l|X|c|l|}
521                                 \hline
522                                 \rowcolor{paleaqua}
523                                 Τεστ & Περιγραφή
524                                 & Αποτέλεσμα & Status\\
525                                 \hline
526                                 \hline
527                                 \rowcolor{platinum}
528                                 vk-buf-exchange &
529                                 \begin{itemize}
530                                         \vspace{-0.3cm}
531                                 \itemsep0cm
532                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
533                                                 δημιουργεί μια εικόνα, ζωγραφίζει σ' αυτή το pattern με
534                                                 τις ρίγες και αντιγράφει τα pixels της σ' ένα buffer
535                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
536                                                 χρησιμοποιεί αυτό το buffer ως pixel storage για ένα
537                                                 texture και το δείχνει στην οθόνη
538                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
539                                                 αποτέλεσμα:}}
540                                                 χρωματιστές μπάρες στην οθόνη
541                                 \end{itemize}
542                                 &
543                                 \adjustbox{valign=t, margin=1ex,
544                                 padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}}
545                                 & \cellcolor{green}{upstream}\\
546                                 \hline
547                                 \rowcolor{whitesmoke}
548                                 vk-pix-buf-update-errors &
549                                 Όμοια με το προηγούμενο και:
550                                 \begin{itemize}
551                                 \itemsep0cm
552                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
553                                                 επιχειρεί να γράψει πάνω στο buffer ένα νέο pattern
554                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
555                                                 αποτέλεσμα:}}
556                                                 επιστρέφεται error στο χρήστη και το buffer παραμένει
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                         \end{tabularx}
565                 \end{table}
566         }
567 \end{frame}
568
569 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
570
571 \begin{frame}[fragile]
572         \frametitle{Οι προσθήκες στο Piglit IV}
573
574         \begin{center}
575                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit IV }}}
576         \end{center}
577
578         \tiny{
579                 \begin{center}\textbf{Επαναχρησιμοποίηση των vertex buffer:}\end{center}
580                 \begin{table}[t]
581                         \begin{tabularx}{\textwidth}{|l|X|l|l|}
582                                 \hline
583                                 \rowcolor{paleaqua}
584                                 Τεστ & Περιγραφή
585                                 & Αποτέλεσμα & Status\\
586                                 \hline
587                                 \hline
588                                 \rowcolor{platinum}
589                                 vk-vert-buf-update-errors &
590                                 \begin{itemize}
591                                         \vspace{-0.3cm}
592                                 \itemsep0cm
593                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
594                                                 φτιάχνει ένα vertex buffer και γεμίζει μόνο τα ζυγά
595                                                 quads δημιουργώντας ένα pattern σκακιέρας 
596                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
597                                                 καθαρίζει (γεμίζει με) κόκκινο το framebuffer και
598                                                 ζωγραφίζει το vertex buffer με μπλε χρώμα
599                                         \item[\textbullet] \textbf{\color{coolblack}OpenGL:}
600                                                 προσπαθεί να αλλάξει το περιεχόμενο του VBO
601                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
602                                                 αποτέλεσμα:}}
603                                                 ένα pattern σκακιέρας με κόκκινα και μπλε quads
604                                                 και invalid  operation error για την απόπειρα αλλαγής των
605                                                 δεδομένων
606                                 \end{itemize}
607                                 &
608                                 \adjustbox{valign=t, margin=1ex,
609                                 padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}}
610                                 & \cellcolor{green}{upstream}\\
611                                 \hline
612                                 \rowcolor{whitesmoke}
613                                 vk-vert-buf-reuse &
614                                 \begin{itemize}
615                                         \vspace{-0.3cm}
616                                 \itemsep0cm
617                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
618                                                 όμοια με το προηγούμενο τεστ
619                                         \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}}
620                                                 όμοια με το προηγούμενο εκτός από το invalid overwrite test
621                                         \item[\textbullet] \textbf{\color{coolblack}Vulkan:}
622                                                 επαναχρησιμοποιεί το VBO σε ένα renderpass για να
623                                                 ζωγραφίσει τη σκακιέρα
624                                         \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο
625                                                 αποτέλεσμα:}}
626                                                 σκακιέρα στην οθόνη
627                                 \end{itemize}
628                                 &
629                                 \adjustbox{valign=t, margin=1ex,
630                                 padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}}
631                                 &
632                                 \cellcolor{green}{upstream}\\
633                                 \hline
634                         \end{tabularx}
635                 \end{table}
636         }
637 \end{frame}
638
639 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
640
641 \begin{frame}[fragile]
642         \frametitle{Οι προσθήκες στο Piglit V}
643         \begin{center}
644                 \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit V }}}\\
645                 \vspace{0.5cm}
646                 \scriptsize{Πολλοί ακόμη βοήθησαν στα τεστ:}
647         \end{center}
648
649         \tiny{
650                 \begin{table}[t]
651                         \begin{tabularx}{\textwidth}{|l|X|}
652                                 \hline
653                                 \rowcolor{paleaqua}
654                                 Contributors & Contributions \\
655                                 \hline
656                                 \hline
657                                 \rowcolor{platinum}
658                                 Eleni Maria Stea & tests, Vulkan framework code \\
659                                 \rowcolor{whitesmoke}
660                                 Juan A. Suárez Romero & contributions στο framework, και στο
661                                 vk-image-overwrite, testing \\
662                                 \rowcolor{platinum}
663                                 Tapani Pälli (\textit{\color{coolblack}{many thanks!}}) &
664                                 reviews, testing και patches
665                                 για το framework \\
666                                 \rowcolor{whitesmoke}
667                                 Bas Nieuwenhuizen & framework patch για να υποστηρίξουμε
668                                 dedicated μνήμη \\
669                                 \rowcolor{platinum}
670                                 Topi Pohjolainen & πήραμε ιδέες από κάποια παλιά patches του στο ξεκίνημα\\
671                                 \hline
672                         \end{tabularx}
673                 \end{table}
674         }
675
676         \begin{itemize}
677                 \item Επίσης ευχαριστίες στον Eduardo Lima Mitev και το Hyunjun Ko για
678                         τα reviews τους και στο Germán Poo Caamaño που μας βοήθησε να βάλουμε
679                         τάξη στα αρχικά commits του Vulkan framework.
680                 \item Τέλος ελπίζω ότι δεν ξεχνάω κάποιον, αλλά επειδή τα slides
681                         γράφτηκαν πριν την παρουσίαση περισσότερες πληροφορίες στο
682                         \url{https://gitlab.freedesktop.org}!
683         \end{itemize}
684 \end{frame}
685
686 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
687
688 \begin{frame}[fragile]
689         \frametitle{Piglit Results}
690         \begin{block}{\begin{center}Συμπεράσματα από τη δοκιμή των mesa drivers με
691         τα tests:\end{center}}
692                 \begin{itemize}
693                                 \vspace{0.3cm}
694                         \item Σχεδόν όλα τα τεστ περνούν στους προαναφερόμενους mesa drivers
695                                 (iris, freedreno, radeonsi, i965).\\
696                                 \vspace{0.3cm}
697                         \item Δυστυχώς μόνο ο iris driver υποστηρίζει external depth
698                                 buffers (Tapani Pälli) και κανένας mesa driver δεν υποστηρίζει το external stencil
699                                 buffer. Ως τώρα μόνο ο proprietary Nvidia driver φαίνεται να
700                                 υποστηρίζει και τα 2.\\
701                                 \vspace{0.3cm}
702                         \item Tα external buffers δεν υποστηρίζονταν στον
703                                 radeonsi και τo διορθώσαμε.\\
704                                 \vspace{0.3cm}
705                 \end{itemize}
706         \end{block}
707
708 \end{frame}
709
710 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
711
712 %\begin{frame}[fragile]
713 %       \frametitle{vk-image-overwrite}
714 %       \begin{block}{vk-image-overwrite}
715 %               \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); }
716 %       \end{block}
717 %\end{frame}
718
719 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
720 \section[Αναφορές (ΕΝ)]{Αναφορές}
721 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
722 %\setbeamertemplate{bibliography entry title}{}
723 %\setbeamertemplate{bibliography entry location}{}
724 %\setbeamertemplate{bibliography entry note}{}
725 \setbeamerfont{bibliography item}{size=\footnotesize}
726 \setbeamerfont{bibliography entry author}{size=\footnotesize}
727 \setbeamerfont{bibliography entry title}{size=\footnotesize}
728 \setbeamerfont{bibliography entry year}{size=\footnotesize}
729 \setbeamerfont{bibliography entry note}{size=\footnotesize}
730
731 \begin{frame}[allowframebreaks]
732         \frametitle{Links}
733         \bibliographystyle{unsrt}
734         \bibliography{bib/references.bib}
735         \nocite{*}
736 \end{frame}
737
738 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
739 \section[Q \& A]{Ερωτήσεις}
740 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
741
742 \begin{frame}
743         \frametitle{Ερωτήσεις;}
744         {\fontsize{8}{7}\selectfont
745         \begin{center}
746                 \begin{figure}
747                 \includegraphics[scale=0.04]{data/qmark.png}
748                 \end{figure}
749                 \vspace{0.7cm}
750                 {\large E-mail: {\color{coolblack}estea@igalia.com}}\\
751                 {\large IRC/Freenode: {\color{coolblack}hikiko}}\\
752         \end{center}
753         }
754 \end{frame}
755
756
757 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
758
759 \begin{frame}[plain]
760 \begin{minipage}[b][0.6\textheight]{\linewidth}
761         \begin{picture}(0, 0)
762                 \put(0, -76){%
763                         \pgfuseimage{igaliabglight}
764                         }
765                         \begin{minipage}[b][0.4\textheight]{\linewidth}
766                                 \begin{figure}
767                                         \includegraphics[scale=0.6]{data/mesa.png}
768                                 \end{figure}
769                         \end{minipage}
770                 \put(-200, 0) {
771                         \hfill \huge{\textbf{\color{coolblack}Ευχαριστώ!}}\\
772                         }
773         \end{picture}
774 \end{minipage}
775
776 \end{frame}
777 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
778
779 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
780 \end{document}