X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=estea-xdc2020.tex;h=f90dd39c656b147829fba3a4c8aaa79c0d4083b9;hb=abb858f7630f18bb796bc5d01d292110e614d0f7;hp=34a1964cf4a22ec793a7a249e1eaaef62b9b044d;hpb=c7b303ab0182017ba8c5a026baa990210a7dad8f;p=fc2020 diff --git a/estea-xdc2020.tex b/estea-xdc2020.tex index 34a1964..f90dd39 100644 --- a/estea-xdc2020.tex +++ b/estea-xdc2020.tex @@ -1,7 +1,9 @@ -\documentclass{beamer} +\documentclass[usenames,dvipsnames]{beamer} \usepackage[font=small,skip=-1pt]{caption} -\usepackage{listings} \usepackage{xcolor} +\usepackage{color, colortbl} +\usepackage{caption} +\usepackage{listings} \usepackage{graphicx} \usepackage{hyperref} \usepackage{comment} @@ -9,15 +11,66 @@ \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 Sans} % 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 +\setmonofont{Noto Sans Mono Medium} % substitute with any font that exists on your system \usetheme{Warsaw} \useoutertheme{infolines} \usecolortheme{crane} -\usepackage{caption} \captionsetup[figure]{labelformat=empty} \addtobeamertemplate{headline}{}{\vskip2pt} @@ -26,10 +79,10 @@ \includegraphics[height=0.67cm]{data/igalia-logo.png} \end{textblock*}} -\definecolor{links}{rgb}{0, 0.6, 0} +\definecolor{links}{rgb}{0.1, 0.3, 0.6} \hypersetup{colorlinks,linkcolor=,urlcolor=links} -%\pgfdeclareimage[height=\paperheight]{igaliabg}{data/igalia_bg_light.eps} +\pgfdeclareimage[height=\paperheight]{igaliabglight}{data/igalia_bg_light.eps} \pgfdeclareimage[height=\paperheight]{igaliabg}{data/igaliabg.eps} %\setbeamertemplate{title page}{ @@ -61,6 +114,10 @@ \usebeamerfont{author}{\insertauthor\par} \end{minipage} } + + \put(240, -138){ + \usebeamerfont{date}{\huge{{\insertdate}}\par} + } \end{picture} } @@ -69,15 +126,16 @@ \setbeamerfont{frametitle}{size=\small} \setbeamertemplate{blocks}[default] -\setbeamercolor{block title}{fg=lightgray,bg=black} +\setbeamercolor{block title}{fg=amber,bg=black} + \title{\textbf{OpenGL and Vulkan Interoperability}} -\author[Eleni Maria Stea]{\small{Eleni Maria Stea +\author[Eleni Maria Stea ]{\small{Eleni Maria Stea }\\\\\includegraphics{data/igalia.eps}} -\date{} +\date{XDC 2020} \AtBeginSection[] { - \begin{frame} + \begin{frame} \frametitle{Outline} \tableofcontents[currentsection] \end{frame} @@ -99,78 +157,590 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section[Introduction]{The concept behind OpenGL and Vulkan interoperability} +\section[Introduction]{OpenGL interoperability extensions} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[fragile,c] + \frametitle{Interoperability Concept} + + \begin{center} + \textbf{\color{coolblack}{INTEROPERABILITY}} + \vspace{0.5cm} + +% +% The idea is to avoid unnecessary allocations and conversions when we +% exchange texture and buffer data across APIs.\\ +% + + \vspace{0.5cm} + \begin{tabularx}{\textwidth}{X} + \rowcolor{coolblack} + \multicolumn{1}{c}{ + \color{paleaqua}{EXT\_external\_objects(\_fd) extensions enable:} + }\\ + \rowcolor{platinum} + \\ + \rowcolor{platinum} + \small{· \color{coolblack}{\textbf{Allocation} of resources (textures, + buffers) from Vulkan and {\textbf{sharing}} of those resources from both APIs} + } + \\ + \rowcolor{platinum} + \\ + \rowcolor{platinum} + \small{· \color{coolblack}{\textbf{Synchronization} of the access to + shared resources between APIs.}}\\ + \rowcolor{platinum} + \\ + \end{tabularx} + + \vspace{0.5cm} + \end{center} + \footnotesize{\textbf{Example:} a VR compositor where the left and right eye + images are allocated and displayed by Vulkan but their contents are filled by + OpenGL processes.} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{OpenGL extensions for interoperability on 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 enables an OpenGL application to import a memory object or + semaphore from POSIX file descriptor external handles + \end{itemize} + \end{block} + + \vspace{0.2cm} + + \begin{block}{\color{afblue}{\footnotesize\textbf{EXT\_external\_objects + (EXT\_memory\_object, EXT\_semaphore)}:}} + \begin{itemize} + \item enables an OpenGL application to + create OpenGL objects corresponding to Vulkan objects (textures, + buffers, semaphores) and synchronize access to shared objects + across APIs + \item {extends existing GL calls that set and query properties} + \end{itemize} + \end{block} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Interoperability on Mesa]{Additions to Mesa and Piglit} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame} - \frametitle{Why interoperability?} + \frametitle{Igalia's contributions} + + \setbeamertemplate{blocks}[rounded] + \center{ + \normalsize{\textbf{\color{coolblack}{Work on the feature}}} + } + + \vspace{0.5cm} + + \begin{block}{Mesa} + \footnotesize{ + Igalia contributed to the implementation of the interoperability + extensions for different {\color{deepjunglegreen}\textbf{Mesa + drivers}}. + } + \end{block} - The idea is to avoid unnecessary allocations and memory mappings when we - exchange texture and buffer data across APIs.\\ \vspace{0.3cm} - Interoperability extensions allow us to:\\ - \vspace{0.8cm} - - {\fontsize{9}{9}\selectfont - \begin{itemize}\setlength\itemsep{0.8cm} - \item {\color[rgb]{0, 0, 0.6} Allocate the resources (textures, - buffers) once.} - \item {\color[rgb]{0, 0, 0.6} Reuse them several times from both - APIs.} - \item {\color[rgb]{0, 0, 0.6} Synchronize the APIs access to the - resources.} - \end{itemize} - } + + \begin{block}{Piglit (drivers testing framework)} + \footnotesize{ + As there were \textbf{no conformance tests} available for the + extensions, we've written a Vulkan framework for + {\color{coolblack}\textbf{Piglit}} and Vulkan/GL tests that cover + some common + EXT\_external\_objects(\_fd) use cases. + } + \end{block} \end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \begin{frame} - \frametitle{What's the alternative?} - - Alternatively we would need to:\\ - \vspace{0.8cm} - - {\fontsize{9}{9}\selectfont - \begin{itemize}\setlength\itemsep{0.8cm} - \item {\color[rgb]{0, 0, 0.6} Allocate resources of the same - size in both APIs.} - \item {\color[rgb]{0, 0, 0.6} Map the Vulkan memory and copy the Vulkan object data to a an - OpenGL object data (and \textit{do all the necessary - conversions!}).} - \item {\color[rgb]{0, 0, 0.6} Copy the data back after the process (and \textit{do all the - necessary conversions!}).} - \item {\color[rgb]{0, 0, 0.6} Synchronize the access externally - (more complex).} + \frametitle{Additions to Mesa (the details)} + + \center{ + \normalsize{\textbf{\color{coolblack}{Contributions to 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 & \textbf{\color{coolblack}fixes} to the already implemented feature & + \cellcolor{bananamania}{work in + progress (WIP MR !6364)} \\ + \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 & The feature was implemented by + AMD a few years ago and we are mostly working on fixes (WIP). + & feedback from: Bas Nieuwenhuizen, Marek Olšák \\ + \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 {The information above was accurate at the beginning of + September when I pre-recorded this presentation! Apologies if + I've not included someone or something!} \end{itemize} } \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section[EXT\_external\_objects(\_fd)]{The required OpenGL extensions} + +\begin{frame}[fragile] + \frametitle{Additions to Piglit (the details) I} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions to Piglit I }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Reusing color images:}\end{center} + \vspace{-0.3cm} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Test name & Description + & Output & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-image-overwrite & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} allocates images of + different formats and tiling modes + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} fills them with + green + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} green screen + \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:} creates + an image and fills it with colored bars + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} draws + the image on screen using semaphores to synchronize + access + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + a stripped image on screen + \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:} creates + an image and fills it + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + overwrites that image with another stripped pattern + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + reads back the contents of the image + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + the modified contents to be read back + \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} - \frametitle{test} - foobar +\begin{frame}[fragile] + \frametitle{Additions to Piglit (the details) II} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions to Piglit II }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Reusing the depth and stencil buffer:}\end{center} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Test name & Description + & Output & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-depth-display & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + creates a depth buffer pattern + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + draws a fullscreen quad at a greater depth + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + quad partially obscured + \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:} + creates a pattern in the stencil buffer + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + draws a blue fullscreen quad with stencil testing + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + quad masked by stencil pattern + \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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section[Piglit tests use cases]{Some use cases for Piglit} + +\begin{frame}[fragile] + \frametitle{Additions to Piglit (the details) III} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions to Piglit III }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Reusing a pixel buffer:}\end{center} + + \begin{table}[tc] + \begin{tabularx}{\textwidth}{|l|X|c|l|} + \hline + \rowcolor{paleaqua} + Test name & Description + & Output & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-buf-exchange & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + creates and fills an image with color bars and copies + its content to a buffer + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + uses the buffer as pixel storage for a texture and + displays it + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + colored bars on screen + \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 & + Same as above and: + \begin{itemize} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + attempts to overwrite the buffer + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + error is generated, the buffer remains unchanged + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/image_display.png}} + & \cellcolor{blond}{work in progress}\\ + \hline + \end{tabularx} + \end{table} + } +\end{frame} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame} - \frametitle{test} - foobar +\begin{frame}[fragile] + \frametitle{Additions to Piglit (the details) IV} + + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions to Piglit IV }}} + \end{center} + + \tiny{ + \begin{center}\textbf{Reusing a vertex buffer:}\end{center} + \begin{table}[t] + \begin{tabularx}{\textwidth}{|l|X|l|l|} + \hline + \rowcolor{paleaqua} + Test name & Description + & Output & Status\\ + \hline + \hline + \rowcolor{platinum} + vk-vert-buf-update-errors & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + creates a vertex buffer and fills it with only the odd + quads of a chess board pattern + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + clears the screen to red and draws the vertex buffer in + blue + \item[\textbullet] \textbf{\color{coolblack}OpenGL:} + attempts to overwrite the VBO + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + a red-blue chess board pattern on screen and an invalid + operation error is generated + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}} + & \cellcolor{blond}{work in progress}\\ + \hline + \rowcolor{whitesmoke} + vk-vert-buf-reuse & + \begin{itemize} + \vspace{-0.3cm} + \itemsep0cm + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + same as above + \item[\textbullet] \textbf{\color{coolblack}{OpenGL:}} + same as above minus the invalid overwrite test + \item[\textbullet] \textbf{\color{coolblack}Vulkan:} + reuses the VBO in a renderpass to draw the chess board + \item[\textbullet] \textbf{\color{coolblack}{Expectation:}} + chessboard on screen + \end{itemize} + & + \adjustbox{valign=t, margin=1ex, + padding=1ex}{\includegraphics[height=1cm]{shots/vert_buf_update_errors.png}} + & + \cellcolor{blond}{work in progress}\\ + \hline + \end{tabularx} + \end{table} + } \end{frame} -\section[Work and Status]{Igalia's work on mesa} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Additions to Piglit (the details) V} + \begin{center} + \normalsize{\textbf{\color{coolblack}{Contributions to Piglit V }}}\\ + \vspace{0.5cm} + \scriptsize{Many people helped us with the work on the + tests:} + \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 to the framework, and + vk-image-overwrite, testing \\ + \rowcolor{platinum} + Tapani Pälli (\textit{\color{coolblack}{many thanks!}}) & reviews, testing and patches + for the framework \\ + \rowcolor{whitesmoke} + Bas Nieuwenhuizen & framework patch to support dedicated memory \\ + \rowcolor{platinum} + Topi Pohjolainen & we've used some old patches of him as an example + at the very beginning\\ + \hline + \end{tabularx} + \end{table} + } + + \begin{itemize} + \item Also thanks to Germán Poo Caamaño who helped tidying up the + initial mess of the Vulkan framework commits. + \item Again, this information was accurate when I prepared and + pre-recorded the slides. Sorry if I am missing someone or something! + \end{itemize} +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame}[fragile] + \frametitle{Piglit Results} + \begin{block}{\begin{center}Conclusions from running the tests:\end{center}} + \begin{itemize} + \vspace{0.5cm} + \item Most of the new Piglit tests are passing in the mesa drivers + mentioned before (iris, freedreno, radeonsi, i965).\\ + \vspace{0.5cm} + \item Unfortunately Mesa does not yet support the depth and stencil + buffer exchange. The only implementation I 've found that currently + supports this feature is the Nvidia proprietary driver.\\ + \vspace{0.5cm} + \item radeonsi needs some fixes to better support buffers and + optimal tiling (WIP). + \vspace{0.5cm} + \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[Q \& A]{Questions} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \begin{frame} - \frametitle{test} - foobar + \frametitle{Questions?} + {\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} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section[Q \& A]{Questions and Answers} +\section[References]{References} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\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} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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}Thank you!}}\\ + } + \end{picture} +\end{minipage} + +\end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%