From c7b303ab0182017ba8c5a026baa990210a7dad8f Mon Sep 17 00:00:00 2001 From: Eleni Maria Stea Date: Sun, 23 Aug 2020 20:41:59 +0300 Subject: [PATCH] WIP: XDC presentation --- estea-xdc2020.tex | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 estea-xdc2020.tex diff --git a/estea-xdc2020.tex b/estea-xdc2020.tex new file mode 100644 index 0000000..34a1964 --- /dev/null +++ b/estea-xdc2020.tex @@ -0,0 +1,177 @@ +\documentclass{beamer} +\usepackage[font=small,skip=-1pt]{caption} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{comment} +\usepackage{textpos} +\usepackage{tgpagella} +\usepackage[utf8]{inputenc} +\usepackage{fontspec} +\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 + +\usetheme{Warsaw} +\useoutertheme{infolines} +\usecolortheme{crane} + +\usepackage{caption} +\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, 0.6, 0} +\hypersetup{colorlinks,linkcolor=,urlcolor=links} + +%\pgfdeclareimage[height=\paperheight]{igaliabg}{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} + \usebeamerfont{author}{\insertauthor\par} + \end{minipage} + } + \end{picture} +} + +\setbeamertemplate{itemize items}[triangle] +\setbeamertemplate{itemize subitem}[circle] +\setbeamerfont{frametitle}{size=\small} + +\setbeamertemplate{blocks}[default] +\setbeamercolor{block title}{fg=lightgray,bg=black} +\title{\textbf{OpenGL and Vulkan Interoperability}} +\author[Eleni Maria Stea]{\small{Eleni Maria Stea +}\\\\\includegraphics{data/igalia.eps}} +\date{} + +\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[Introduction]{The concept behind OpenGL and Vulkan interoperability} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + \frametitle{Why interoperability?} + + 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} + } +\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).} + \end{itemize} + } +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[EXT\_external\_objects(\_fd)]{The required OpenGL extensions} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + \frametitle{test} + foobar +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Piglit tests use cases]{Some use cases for Piglit} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{frame} + \frametitle{test} + foobar +\end{frame} +\section[Work and Status]{Igalia's work on mesa} +\begin{frame} + \frametitle{test} + foobar +\end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section[Q \& A]{Questions and Answers} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\end{document} -- 1.7.10.4