+ \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}[t]
+ \begin{tabularx}{\textwidth}{|l|X|l|l|}
+ \hline
+ \rowcolor{paleaqua}
+ Test name & Description
+ & Output & Status\\
+ \hline
+ \hline
+ \rowcolor{platinum}
+ vk-buf-exchange &
+ The test renders an image and copies it to a buffer using
+ Vulkan. Then, the buffer is imported in OpenGL and is used as
+ pixel storage for an OpenGL texture. OpenGL renders the texture
+ and we validate that it contains the pattern that was rendered
+ by Vulkan. \vspace{0.3cm} &
+ \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 &
+ The test is similar to the previous one with the difference that
+ we attempt to overwrite the buffer using BufferSubData. We
+ validate that an invalid operation error is generated and the
+ contents of the buffer remain unchanged after the
+ attempt.\vspace{0.3cm} &
+ \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 &
+ A Vulkan vertex buffer is allocated and filled with data so that
+ the vertices create quads that follow a chess pattern. This
+ vertex buffer is used by OpenGL that clears the screen with red
+ and paints the pixels blue.
+ We validate that the geometry is correct and that we can't
+ overwrite it using \texttt{glBufferSubdata}. \vspace{0.3cm} &
+ \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 &
+ Similar to the previous test, but the Vulkan vertex buffer is
+ used in a Vulkan renderpass afterwards to make sure Vulkan can
+ read back and reuse the vertex buffer.\vspace{0.3cm} &
+ \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{Same as with mesa 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 The feature seems to work well for the most use cases tested in
+ all mesa drivers mentioned before.\\
+ \vspace{0.5cm}
+ \item Depth and stencil buffer exchange is only supported on
+ proprietary Nvidia driver, unfortunately not on Mesa yet.\\
+ \vspace{0.5cm}
+ \item radeonsi needs some fixes to better support buffers and
+ optimal tiling (WIP).
+ \vspace{0.5cm}
+ \end{itemize}