From 4c76b1e5ff58d9afeee65bbfff32299ab3bee3cd Mon Sep 17 00:00:00 2001 From: Eleni Maria Stea Date: Wed, 28 Oct 2020 12:06:06 +0200 Subject: [PATCH] wtf --- estea-fosscomm2020.tex | 780 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 780 insertions(+) create mode 100644 estea-fosscomm2020.tex diff --git a/estea-fosscomm2020.tex b/estea-fosscomm2020.tex new file mode 100644 index 0000000..e1b2b7b --- /dev/null +++ b/estea-fosscomm2020.tex @@ -0,0 +1,780 @@ +\documentclass[usenames,dvipsnames]{beamer} +\usepackage[font=small,skip=-1pt]{caption} +\usepackage{xcolor} +\usepackage{color, colortbl} +\usepackage{caption} +\usepackage{listings} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{comment} +\usepackage{textpos} +\usepackage{tgpagella} +\usepackage[utf8]{inputenc} +\usepackage{fontspec} +\usepackage{tabularx, array, booktabs} +\usepackage{cite} +\usepackage{verbatim} +\usepackage{comment} +\usepackage{adjustbox} + +\newcommand\topalign[1]{% + \setbox0\hbox{#1}% + \raisebox{\dimexpr-\ht0+\dp0\relax}{\usebox0}} + +\definecolor{blond}{rgb}{0.98, 0.94, 0.75} +\definecolor{beige}{rgb}{0.96, 0.96, 0.86} +\definecolor{mGreen}{rgb}{0,0.6,0} +\definecolor{mGray}{rgb}{0.5,0.5,0.5} +\definecolor{mPurple}{rgb}{0.58,0,0.82} +\definecolor{bgcolor}{rgb}{0.8,0.8,0.8} +\definecolor{afblue}{rgb}{0.46, 0.64, 0.76} +\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39} +\definecolor{paleaqua}{rgb}{0.74, 0.83, 0.9} +\definecolor{platinum}{rgb}{0.9, 0.89, 0.89} +\definecolor{whitesmoke}{rgb}{0.96, 0.96, 0.96} +\definecolor{carolinablue}{rgb}{0.6, 0.73, 0.89} +\definecolor{amber}{rgb}{1.0, 0.75, 0.0} +\definecolor{deepjunglegreen}{rgb}{0.0, 0.29, 0.29} +\definecolor{mediumred-violet}{rgb}{0.73, 0.2, 0.52} +\definecolor{babypink}{rgb}{0.96, 0.76, 0.76} +\definecolor{beaublue}{rgb}{0.74, 0.83, 0.9} +\definecolor{bananayellow}{rgb}{1.0, 0.88, 0.21} +\definecolor{bananamania}{rgb}{0.98, 0.91, 0.81} + +\lstdefinestyle{CStyle}{ + language=C++, % choose the language of the code +% basicstyle=\footnotesize, % the size of the fonts that are used for the code + basicstyle=\tt\color{afblue}, + breakatwhitespace=false, + breaklines=true, + backgroundcolor=\color{bgcolor}, % choose the background color. You must add \usepackage{color} + showspaces=false, % show spaces adding particular underscores + showstringspaces=false, % underline spaces within strings + showtabs=false, % show tabs within strings adding particular underscores + frame=single, % adds a frame around the code + tabsize=2, % sets default tabsize to 2 spaces + captionpos=b, % sets the caption-position to bottom + breaklines=true, % sets automatic line breaking + breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace + commentstyle=\color{mGreen}, + keywordstyle=\color{magenta}, + stringstyle=\color{mPurple}, + rulesepcolor=\color{gray}, + rulecolor=\color{black}, +} + +\setmainfont{Noto Serif} % substitute with any font that exists on your system +\setsansfont{Noto Sans} % substitute with any font that exists on your system +\setmonofont{Noto Sans Mono} % substitute with any font that exists on your system + +\usetheme{Warsaw} +\useoutertheme{infolines} +\usecolortheme{crane} + +\captionsetup[figure]{labelformat=empty} + +\addtobeamertemplate{headline}{}{\vskip2pt} +\addtobeamertemplate{headline}{}{% + \begin{textblock*}{5mm}(.9\textwidth,-0.6cm) + \includegraphics[height=0.67cm]{data/igalia-logo.png} +\end{textblock*}} + +\definecolor{links}{rgb}{0.1, 0.3, 0.6} +\hypersetup{colorlinks,linkcolor=,urlcolor=links} + +\pgfdeclareimage[height=\paperheight]{igaliabglight}{data/igalia_bg_light.eps} +\pgfdeclareimage[height=\paperheight]{igaliabg}{data/igaliabg.eps} + +%\setbeamertemplate{title page}{ +% \begin{picture}(-90, 180) +% \put(-200, -74){% +% \pgfuseimage{igaliabg} +% } +% +% \put(55,19){% +% \begin{minipage}[b][36mm][t]{240mm} +% \usebeamerfont{title}{\inserttitle\par} +% \usebeamerfont{author}{\insertauthor\par} +% \usebeamerfont{title}{\insertinstitute\par} +% \end{minipage} +% } +% \end{picture} +%} + +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{title page}{ + \begin{picture}(0,0) + \put(-30,-164){% + \pgfuseimage{igaliabg} + } + + \put(0,-110.7){% + \begin{minipage}[b][38mm][t]{220mm} + \usebeamerfont{title}{\inserttitle\par} + \vspace{0.1cm} + \usebeamerfont{author}{\insertauthor\par} + \end{minipage} + } + + \put(240, -138){ + \usebeamerfont{date}{\small{\textbf{\insertdate}}\par} + } + \end{picture} +} + +\setbeamertemplate{itemize items}[triangle] +\setbeamertemplate{itemize subitem}[circle] +\setbeamerfont{frametitle}{size=\small} + +\setbeamertemplate{blocks}[default] +\setbeamercolor{block title}{fg=amber,bg=black} + + +\title{\textbf{OpenGL and Vulkan Interoperability}} +\author[Eleni Maria Stea ]{\small{Ελένη Μαρία Στέα +}\\\\\includegraphics{data/igalia.eps}} +\date{FOSSCOMM 2020} + +\AtBeginSection[] +{ + \begin{frame} + \frametitle{Outline} + \tableofcontents[currentsection] + \end{frame} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[plain] +\titlepage +\end{frame} + +\begin{frame} + \frametitle{Outline} + \tableofcontents +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Εισαγωγή]{OpenGL extensions για interoperability} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile,c] + \frametitle{Vulkan, OpenGL APIs} + \begin{center} + \vspace{1cm} + \begin{table} + \begin{tabularx}{\textwidth}{ c c} + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[scale=.07]{data/vulkan.png}} & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[scale=.07]{data/opengl.png}}\\ + \end{tabularx} + \end{table} + \end{center} +\end{frame} + +\begin{frame}[fragile,c] + \frametitle{Η έννοια της διαλειτουργικότητας (Interoperability)} + + \begin{center} + \textbf{\color{coolblack}{INTEROPERABILITY}} + \vspace{0.5cm} + + \begin{tabularx}{\textwidth}{X} + \rowcolor{coolblack} + \multicolumn{1}{c}{ + \color{paleaqua}{Με τα EXT\_external\_objects(\_fd) μπορούμε:} + }\\ + \rowcolor{platinum} + \\ + \rowcolor{platinum} + \small{· \color{coolblack}{Να \textbf{δεσμεύουμε πόρους} (textures, + buffers) \textbf{μια φορά} από το Vulkan και να έχουμε πρόσβαση σε + αυτούς και από τα δύο APIs οσεσδήποτε φορές.} + } + \\ + \rowcolor{platinum} + \\ + \rowcolor{platinum} + \small{· \color{coolblack}{Να \textbf{συγχρονίζουμε} την + πρόσβαση του κάθε API στους κοινόχρηστους πόρους.}}\\ + \rowcolor{platinum} + \\ + \end{tabularx} + \end{center} + \vspace{0.2cm} + \footnotesize{\textbf{Παράδειγμα:} σε ένα VR compositor μπορεί να + χρησιμοποιείται + Vulkan για να φτιαχτούν και να εμφανιστούν οι εικόνες που θα βλέπει + το κάθε μάτι, αλλά το περιεχόμενό τους να ζωγραφίζεται από OpenGL + προγράμματα.} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{OpenGL extensions για διαλειτουργικότητα στο Linux} + + \center{\textbf{\color{coolblack}{OpenGL Extensions (Linux)}}} + \vspace{0.2cm} + + \setbeamertemplate{itemize/enumerate body begin}{\footnotesize} + \setbeamertemplate{itemize/enumerate subbody begin}{\tiny} + \setbeamertemplate{itemize/enumerate subsubbody begin}{\tiny} + + \setbeamertemplate{itemize items}[triangle] + \setbeamertemplate{blocks}[rounded][shadow] + + \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects\_fd + (EXT\_memory\_object\_fd, EXT\_semaphore\_fd)}:}} + \begin{itemize} + \item Eπιτρέπουν σε ένα OpenGL πρόγραμμα να αποκτήσει πρόσβαση σε + μνήμη που έχει + δεσμευθεί από το Vulkan (είτε για objects είτε για semaphores) + μέσω ενός POSIX file descriptor handle. + \end{itemize} + \end{block} + + \vspace{0.2cm} + + \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects + (EXT\_memory\_object, EXT\_semaphore)}:}} + \begin{itemize} + \item Eπιτρέπουν στα OpenGL προγράμματα να φτιάχνουν + OpenGL αντικείμενα (textures, + buffers και semaphores) από την εξωτερική Vulkan μνήμη, και + να συγχρονίζουν \textbf{από κοινού} την πρόσβαση σ αυτά. + \item {Eπεκτείνουν τα OpenGL calls που χρησιμοποιούνται + για να θέσουν ή να επιστρέψουν ιδιότητες εικόνων και buffers + με περισσότερες παραμέτρους (πχ texture tiling mode).} + \end{itemize} + \end{block} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Interoperability σε Piglit και Mesa 3D]{Προσθήκες στο Mesa και το Piglit} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame} + \frametitle{Igalia's contributions} + + \setbeamertemplate{blocks}[rounded] + \center{ + \normalsize{\textbf{\color{coolblack}{Συνοπτικά η δουλειά μας}}} + } + + \vspace{0.5cm} + + \begin{block}{Mesa} + \footnotesize{ + Στην Igalia προσπαθήσαμε να υποστηρίξουμε αυτά τα extensions σε + διάφορους {\color{deepjunglegreen}\textbf{Mesa drivers}}.} + \end{block} + + \vspace{0.3cm} + + \begin{block}{Piglit (drivers testing framework)} + \footnotesize{ + Κι επειδή δεν είχαν γραφτεί (και δεν μπορούσαν να γραφτούν) + \textbf{conformance tests} γι αυτά, + γράψαμε ένα δικό μας Vulkan framework για το + {\color{coolblack}\textbf{Piglit}} και τα δικά μας + Vulkan/GL τεστ που καλύπτουν τις πιο βασικές χρήσεις των extensions. + } + \end{block} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + \frametitle{Oι προσθήκες στο Mesa3D} + + \center{ + \normalsize{\textbf{\color{coolblack}{Contributions στους Mesa + drivers}}} + } + \tiny{ + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|l|} + \hline + \rowcolor{paleaqua} + Driver & Igalia's Contributions & Status \\ + \hline + \hline + \rowcolor{platinum} + iris & \textbf{\color{coolblack}implemented} EXT\_external\_objects, + EXT\_external\_objects\_fd & \cellcolor{babypink}{under review (MR + !4337)}\\ + \rowcolor{whitesmoke} + freedreno & \textbf{\color{coolblack}implemented} EXT\_external\_objects, + EXT\_external\_objects\_fd & \cellcolor{green}{upstream} \\ + \rowcolor{platinum} + radeonsi & added \textbf{\color{coolblack}support for external buffers} to the already implemented feature & + \cellcolor{green}{upstream} \\ + \rowcolor{whitesmoke} + i965 & helped with the \textbf{\color{coolblack}review}, patches & \cellcolor{babypink}{under review + (Draft MR !5594)}\\ + \hline + \end{tabularx} + \end{table} + } + + \center{ + \normalsize{\textbf{\color{coolblack}{Contributors, reviewers, + people who helped!}}} + } + + \tiny{ + \begin{table}[ht] + \begin{tabularx}{\textwidth}{|l|X|X|} + \hline + \rowcolor{paleaqua} + Driver & Patches & Reviews, Comments, Advice\\ + \hline + \hline + \rowcolor{platinum} + iris & Juan A. Suárez Romero, Eleni Maria Stea, Tapani Pälli, Eduardo Lima Mitev + & Tapani Pälli, Rohan Garg, Eric Engestrom, Kenneth Graunke, + Jason Ekstrand, Oscar Barenys, Daniel Stone, Matt Turner, Tomeu Vizoso \\ + \rowcolor{whitesmoke} + freedreno & Eduardo Lima Mitev, Hyunjun Ko & Rob + Clark, Marek Olšák, Jonathan Marek, Rohan Garg\\ + \rowcolor{platinum} + radeonsi & Eleni Maria Stea (buffers support only, the rest was + implemented by AMD long time ago) + & Marek Olšák, Bas Nieuwenhuizen, Pierre-Eric Pelloux-Prayer \\ + \rowcolor{whitesmoke} + i965 & Rohan Garg, Juan A. Suárez Romero, Tapani Pälli + & Tomeu Vizoso, Eleni Maria Stea, Oscar Barenys \\ + \hline + \end{tabularx} + \end{table} + } + + \tiny{ + \begin{itemize} + \item {Σε περίπτωση που ξεχνάω κάποιον, οι reviewers και οι + developers φαίνονται στα προαναφερθέντα Merge Requests (MR) στο + Freedesktop Gitlab (\url{https://gitlab.freedesktop.org})!} + \end{itemize} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Οι προσθήκες στο Piglit I} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit I }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Επαναχρησιμοποίηση εικόνων:}\end{center} + \vspace{-0.3cm} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Τεστ & Περιγραφή + & Αποτέλεσμα & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-image-overwrite & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί εικόνες που έχουν διαφορετικό format και tiling + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} τις + γεμίζει με πράσινο χρώμα + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} πράσινη οθόνη + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, padding=1ex}{\includegraphics[height=1cm]{shots/image_overwrite.png}} & \cellcolor{green}{upstream}\\ + \hline + \rowcolor{whitesmoke} + vk-image-display & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί μια εικόνα και τη γεμίζει με ρίγες διαφόρων + χρωμάτων + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + ζωγραφίζει την εικόνα στην οθόνη χρησιμοποιώντας semaphores + για να συγχρονίσει την πρόσβαση στην εικόνα + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} μια ριγέ εικόνα στην οθόνη + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}} + & \cellcolor{green}{upstream}\\ + \hline + \rowcolor{platinum} + vk-image-display-overwrite & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί μια εικόνα και τη γεμίζει + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + ξαναγράφει τα pixels με μια καινούρια ριγέ εικόνα + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + διαβάζει πίσω το περιεχόμενο της εικόνας + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} τα pixels που θα διαβαστούν να είναι τα + αλλαγμένα + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/image_display_overwrite.png}} + & \cellcolor{green}{upstream}\\ + \hline + \end{tabularx} + \end{table} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Οι προσθήκες στο Piglit II} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit II }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Επαναχρησιμοποίηση του depth και του stencil buffer:}\end{center} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Τεστ & Περιγραφή + & Αποτέλεσμα & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-depth-display & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί κάποιο pattern στο z buffer (quad) + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + ζωγραφίζει ένα fullscreen quad σε μεγαλύτερο βάθος (z, + depth) + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + το quad δεν εμφανίζεται σε κάποια σημεία + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/depth.png}} + & \cellcolor{babypink}{under review}\\ + \hline + \rowcolor{whitesmoke} + vk-stencil-display & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί κάποιο pattern στο stencil buffer + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + ζωγραφίζει ένα μπλε fullscreen quad χρησιμοποιώντας + stencil testing + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + το quad θα εμφανίζεται μόνο όπου πετυχαίνει το stencil test + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/stencil.png}} + & \cellcolor{babypink}{under review}\\ + \hline + \end{tabularx} + \end{table} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Οι προσθήκες στο Piglit III} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit III }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Επαναχρησιμοποίηση των pixel buffer:}\end{center} + + \begin{table}[tc] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Τεστ & Περιγραφή + & Αποτέλεσμα & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-buf-exchange & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + δημιουργεί μια εικόνα, ζωγραφίζει σ' αυτή το pattern με + τις ρίγες και αντιγράφει τα pixels της σ' ένα buffer + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + χρησιμοποιεί αυτό το buffer ως pixel storage για ένα + texture και το δείχνει στην οθόνη + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + χρωματιστές μπάρες στην οθόνη + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}} + & \cellcolor{green}{upstream}\\ + \hline + \rowcolor{whitesmoke} + vk-pix-buf-update-errors & + Όμοια με το προηγούμενο και: + \begin{itemize} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + επιχειρεί να γράψει πάνω στο buffer ένα νέο pattern + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + επιστρέφεται error στο χρήστη και το buffer παραμένει + άθικτο + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}} + & \cellcolor{green}{upstream}\\ + \hline + \end{tabularx} + \end{table} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Οι προσθήκες στο Piglit IV} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit IV }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Επαναχρησιμοποίηση των vertex buffer:}\end{center} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|l|l|} + \hline + \rowcolor{paleaqua} + Τεστ & Περιγραφή + & Αποτέλεσμα & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-vert-buf-update-errors & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + φτιάχνει ένα vertex buffer και γεμίζει μόνο τα ζυγά + quads δημιουργώντας ένα pattern σκακιέρας + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + καθαρίζει (γεμίζει με) κόκκινο το framebuffer και + ζωγραφίζει το vertex buffer με μπλε χρώμα + \item[\textbullet] \textbf{\color{coolblack}OpenGL:} + προσπαθεί να αλλάξει το περιεχόμενο του VBO + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + ένα pattern σκακιέρας με κόκκινα και μπλε quads + και invalid operation error για την απόπειρα αλλαγής των + δεδομένων + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}} + & \cellcolor{green}{upstream}\\ + \hline + \rowcolor{whitesmoke} + vk-vert-buf-reuse & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + όμοια με το προηγούμενο τεστ + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + όμοια με το προηγούμενο εκτός από το invalid overwrite test + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + επαναχρησιμοποιεί το VBO σε ένα renderpass για να + ζωγραφίσει τη σκακιέρα + \item[\textbullet] \textbf{\color{coolblack}{Προσδοκώμενο + αποτέλεσμα:}} + σκακιέρα στην οθόνη + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}} + & + \cellcolor{green}{upstream}\\ + \hline + \end{tabularx} + \end{table} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Οι προσθήκες στο Piglit V} + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions στο Piglit V }}}\\ + \vspace{0.5cm} + \scriptsize{Πολλοί ακόμη βοήθησαν στα τεστ:} + \end{center} + + \tiny{ + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|} + \hline + \rowcolor{paleaqua} + Contributors & Contributions \\ + \hline + \hline + \rowcolor{platinum} + Eleni Maria Stea & tests, Vulkan framework code \\ + \rowcolor{whitesmoke} + Juan A. Suárez Romero & contributions στο framework, και στο + vk-image-overwrite, testing \\ + \rowcolor{platinum} + Tapani Pälli (\textit{\color{coolblack}{many thanks!}}) & + reviews, testing και patches + για το framework \\ + \rowcolor{whitesmoke} + Bas Nieuwenhuizen & framework patch για να υποστηρίξουμε + dedicated μνήμη \\ + \rowcolor{platinum} + Topi Pohjolainen & πήραμε ιδέες από κάποια παλιά patches του στο ξεκίνημα\\ + \hline + \end{tabularx} + \end{table} + } + + \begin{itemize} + \item Επίσης ευχαριστίες στον Eduardo Lima Mitev και το Hyunjun Ko για + τα reviews τους και στο Germán Poo Caamaño που μας βοήθησε να βάλουμε + τάξη στα αρχικά commits του Vulkan framework. + \item Τέλος ελπίζω ότι δεν ξεχνάω κάποιον, αλλά επειδή τα slides + γράφτηκαν πριν την παρουσίαση περισσότερες πληροφορίες στο + \url{https://gitlab.freedesktop.org}! + \end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Piglit Results} + \begin{block}{\begin{center}Συμπεράσματα από τη δοκιμή των mesa drivers με + τα tests:\end{center}} + \begin{itemize} + \vspace{0.3cm} + \item Σχεδόν όλα τα τεστ περνούν στους προαναφερόμενους mesa drivers + (iris, freedreno, radeonsi, i965).\\ + \vspace{0.3cm} + \item Δυστυχώς μόνο ο iris driver υποστηρίζει external depth + buffers (Tapani Pälli) και κανένας mesa driver δεν υποστηρίζει το external stencil + buffer. Ως τώρα μόνο ο proprietary Nvidia driver φαίνεται να + υποστηρίζει και τα 2.\\ + \vspace{0.3cm} + \item Tα external buffers δεν υποστηρίζονταν στον + radeonsi και τo διορθώσαμε.\\ + \vspace{0.3cm} + \end{itemize} + \end{block} + +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%\begin{frame}[fragile] +% \frametitle{vk-image-overwrite} +% \begin{block}{vk-image-overwrite} +% \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); } +% \end{block} +%\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Αναφορές (ΕΝ)]{Αναφορές} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\setbeamertemplate{bibliography entry title}{} +%\setbeamertemplate{bibliography entry location}{} +%\setbeamertemplate{bibliography entry note}{} +\setbeamerfont{bibliography item}{size=\footnotesize} +\setbeamerfont{bibliography entry author}{size=\footnotesize} +\setbeamerfont{bibliography entry title}{size=\footnotesize} +\setbeamerfont{bibliography entry year}{size=\footnotesize} +\setbeamerfont{bibliography entry note}{size=\footnotesize} + +\begin{frame}[allowframebreaks] + \frametitle{Links} + \bibliographystyle{unsrt} + \bibliography{bib/references.bib} + \nocite{*} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Q \& A]{Ερωτήσεις} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + \frametitle{Ερωτήσεις;} + {\fontsize{8}{7}\selectfont + \begin{center} + \begin{figure} + \includegraphics[scale=0.04]{data/qmark.png} + \end{figure} + \vspace{0.7cm} + {\large E-mail: {\color{coolblack}estea@igalia.com}}\\ + {\large IRC/Freenode: {\color{coolblack}hikiko}}\\ + \end{center} + } +\end{frame} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[plain] +\begin{minipage}[b][0.6\textheight]{\linewidth} + \begin{picture}(0, 0) + \put(0, -76){% + \pgfuseimage{igaliabglight} + } + \begin{minipage}[b][0.4\textheight]{\linewidth} + \begin{figure} + \includegraphics[scale=0.6]{data/mesa.png} + \end{figure} + \end{minipage} + \put(-200, 0) { + \hfill \huge{\textbf{\color{coolblack}Ευχαριστώ!}}\\ + } + \end{picture} +\end{minipage} + +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\end{document} -- 1.7.10.4