2 \usepackage[font=small,skip=-1pt]{caption}
10 \usepackage[utf8]{inputenc}
12 \setmainfont{Noto Sans} % substitute with any font that exists on your system
13 \setsansfont{Noto Sans} % substitute with any font that exists on your system
14 \setmonofont{Noto Sans Mono} % substitute with any font that exists on your system
17 \useoutertheme{infolines}
21 \captionsetup[figure]{labelformat=empty}
23 \addtobeamertemplate{headline}{}{\vskip2pt}
24 \addtobeamertemplate{headline}{}{%
25 \begin{textblock*}{5mm}(.9\textwidth,-0.6cm)
26 \includegraphics[height=0.67cm]{data/igalia-logo.png}
29 \definecolor{links}{rgb}{0, 0.6, 0}
30 \hypersetup{colorlinks,linkcolor=,urlcolor=links}
32 %\pgfdeclareimage[height=\paperheight]{igaliabg}{data/igalia_bg_light.eps}
33 \pgfdeclareimage[height=\paperheight]{igaliabg}{data/igaliabg.eps}
35 %\setbeamertemplate{title page}{
36 % \begin{picture}(-90, 180)
38 % \pgfuseimage{igaliabg}
42 % \begin{minipage}[b][36mm][t]{240mm}
43 % \usebeamerfont{title}{\inserttitle\par}
44 % \usebeamerfont{author}{\insertauthor\par}
45 % \usebeamerfont{title}{\insertinstitute\par}
51 \setbeamertemplate{navigation symbols}{}
52 \setbeamertemplate{title page}{
55 \pgfuseimage{igaliabg}
59 \begin{minipage}[b][38mm][t]{220mm}
60 \usebeamerfont{title}{\inserttitle\par}
61 \usebeamerfont{author}{\insertauthor\par}
67 \setbeamertemplate{itemize items}[triangle]
68 \setbeamertemplate{itemize subitem}[circle]
69 \setbeamerfont{frametitle}{size=\small}
71 \setbeamertemplate{blocks}[default]
72 \setbeamercolor{block title}{fg=lightgray,bg=black}
73 \title{\textbf{OpenGL and Vulkan Interoperability}}
74 \author[Eleni Maria Stea]{\small{Eleni Maria Stea
75 <estea@igalia.com>}\\\\\includegraphics{data/igalia.eps}}
82 \tableofcontents[currentsection]
86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 \section[Introduction]{The concept behind OpenGL and Vulkan interoperability}
103 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106 \frametitle{Why interoperability?}
108 The idea is to avoid unnecessary allocations and memory mappings when we
109 exchange texture and buffer data across APIs.\\
111 Interoperability extensions allow us to:\\
114 {\fontsize{9}{9}\selectfont
115 \begin{itemize}\setlength\itemsep{0.8cm}
116 \item {\color[rgb]{0, 0, 0.6} Allocate the resources (textures,
118 \item {\color[rgb]{0, 0, 0.6} Reuse them several times from both
120 \item {\color[rgb]{0, 0, 0.6} Synchronize the APIs access to the
127 \frametitle{What's the alternative?}
129 Alternatively we would need to:\\
132 {\fontsize{9}{9}\selectfont
133 \begin{itemize}\setlength\itemsep{0.8cm}
134 \item {\color[rgb]{0, 0, 0.6} Allocate resources of the same
136 \item {\color[rgb]{0, 0, 0.6} Map the Vulkan memory and copy the Vulkan object data to a an
137 OpenGL object data (and \textit{do all the necessary
139 \item {\color[rgb]{0, 0, 0.6} Copy the data back after the process (and \textit{do all the
140 necessary conversions!}).}
141 \item {\color[rgb]{0, 0, 0.6} Synchronize the access externally
147 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 \section[EXT\_external\_objects(\_fd)]{The required OpenGL extensions}
149 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
157 \section[Piglit tests use cases]{Some use cases for Piglit}
158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 \section[Work and Status]{Igalia's work on mesa}
170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 \section[Q \& A]{Questions and Answers}
172 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
176 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%