\documentclass[usenames,dvipsnames]{beamer}
\usepackage[font=small,skip=-1pt]{caption}
\usepackage{xcolor}
+\usepackage{color, colortbl}
\usepackage{caption}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{tgpagella}
\usepackage[utf8]{inputenc}
\usepackage{fontspec}
-\usepackage{tabularx}
+\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.26, 0.44, 0.56}
+\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,
+ 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
\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}{
\usebeamerfont{author}{\insertauthor\par}
\end{minipage}
}
+
+ \put(240, -138){
+ \usebeamerfont{date}{\huge{{\insertdate}}\par}
+ }
\end{picture}
}
\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 <estea@igalia.com>]{\small{Eleni Maria Stea
<estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
-\date{}
+\date{XDC 2020}
\AtBeginSection[]
{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Introduction]{OpenGL and Vulkan interoperability extensions}
+\section[Introduction]{OpenGL interoperability extensions}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}
- \frametitle{OpenGL and Vulkan Interoperability}
+\begin{frame}[fragile,c]
+ \frametitle{Interoperability Concept}
- \center{\textbf{\color{coolblack}{INTEROPERABILITY}}}
+ \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.3cm}
- Interoperability extensions allow us to:\\
+%
+% 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}
- {\fontsize{10}{10}\selectfont
- \begin{itemize}\setlength\itemsep{0.5cm}
- \item {\color{afblue} \textbf{Allocate} the resources (textures,
- buffers) \textbf{once} from Vulkan.}
- \item {\color{afblue} \textbf{Reuse} them \textbf{several
- times} from both APIs.}
- \item {\color{afblue} \textbf{Synchronize} the APIs access to the
- resources.}
+ \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{OpenGL extensions for interoperability}
-
- \center{\textbf{\color{coolblack}{OpenGL EXTENSIONS}}}
+ \frametitle{Igalia's contributions}
+
+ \setbeamertemplate{blocks}[rounded]
+ \center{
+ \normalsize{\textbf{\color{coolblack}{Work on the feature}}}
+ }
+
\vspace{0.5cm}
- {\fontsize{10}{10}\selectfont
-\begin{itemize}\setlength\itemsep{0.5cm}
- \item {\color{afblue}\textbf{EXT\_external\_object} extension:}
- \begin{itemize}
- \item provides the functions to create GL objects, textures and buffers
- from Vulkan memory.
- \item provides the functions to create GL semaphores that
- correspond to Vulkan ones.
- \item provides the functions for synchronization.
- \end{itemize}
- \item {\color{afblue}\textbf{EXT\_external\_objects\_fd}
- extension:}
- {\fontsize{7}{6}\selectfont
- \begin{itemize}
- \item provides a function to import a file descriptor to the Vulkan
- memory.
- \item provides a function to import a file descriptor to the Vulkan semaphores.
- \end{itemize}
+ \begin{block}{Mesa}
+ \footnotesize{
+ Igalia contributed to the implementation of the interoperability
+ extensions for different {\color{deepjunglegreen}\textbf{Mesa
+ drivers}}.
}
-\end{itemize}
-}
+ \end{block}
+
+ \vspace{0.3cm}
+
+ \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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Interoperability on Mesa]{Additions to Mesa and Piglit}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
- \frametitle{Additions to Mesa}
+ \frametitle{Additions to Mesa (the details)}
\center{
- \normalsize{\textbf{\color{coolblack}{Igalia's contributions to Mesa
+ \normalsize{\textbf{\color{coolblack}{Contributions to Mesa
drivers}}}
}
-
\tiny{
- \begin{table}
+ \begin{table}[t]
\begin{tabularx}{\textwidth}{|l|X|l|}
- \hline
+ \hline
+ \rowcolor{paleaqua}
Driver & Igalia's Contributions & Status \\
- \hline
- iris & implemented EXT\_external\_objects, EXT\_external\_objects\_fd & under review \\
- freedreno & implemented EXT\_external\_objects,
- EXT\_external\_objects\_fd & upstream \\
- radeonsi & fixes to the already implemented feature & under
- review \\
- i965 & helped with the review & under review\\
- \hline
+ \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}{Thanks and Credits}}}
+ \normalsize{\textbf{\color{coolblack}{Contributors, reviewers,
+ people who helped!}}}
}
\tiny{
- \begin{table}
+ \begin{table}[ht]
\begin{tabularx}{\textwidth}{|l|X|X|}
- \hline
+ \hline
+ \rowcolor{paleaqua}
Driver & Patches & Reviews, Comments, Advice\\
- \hline
- iris & Juan A. Juarez Romero, Eleni Maria Stea, Tapani Palli,
- Eduardo Lima Mitev, zzzoon & collab, tapani, jason klp \\
- freedreno & foo & bar\\
- radeonsi & foo & bar\\
- i965 & foo & bar\\
- \hline
+ \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}
-\begin{frame}
- \frametitle{Piglit tests cases}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[fragile]
+ \frametitle{Additions to Piglit (the details) I}
- As there were no CTS for these extensions and we needed to test
- mesa, we've written some Piglit tests with simple use cases of the
- extension.
+ \begin{center}
+ \normalsize{\textbf{\color{coolblack}{Contributions to Piglit I }}}
+ \end{center}
- \vspace{0.5cm}
- WIP igalia intel logos
+ \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}[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}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\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}[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}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\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{vk-image-overwrite}
- \begin{block}{vk-image-overwrite}
- \lstinline[language=C++, style=CStyle]{glCreateMemoryObjectsEXT(1, gl_mem_obj); }
+ \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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\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{References}
- \bibliographystyle{plain}
+ \frametitle{Links}
+ \bibliographystyle{unsrt}
\bibliography{bib/references.bib}
- \tiny{
- \nocite{*}
- }
+ \nocite{*}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section[Q \& A]{Questions and Answers}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}
- \frametitle{Questions?}
- WIP
-\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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%