summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsteph@localhost.localdomain <steph@localhost.localdomain>2010-09-26 18:10:20 -0700
committersteph@localhost.localdomain <steph@localhost.localdomain>2010-09-26 18:10:20 -0700
commita44698c70a45cd0262554d4750c8152f9e7936ed (patch)
treeca2a3c772f6e758a1c1ecb96d41e09b6e267661f
parentfecfd13ce4d8e0f157f654d63d8a8ab25e87a137 (diff)
Small changes.
-rw-r--r--linuxgraphicsdrivers.lyx143
1 files changed, 142 insertions, 1 deletions
diff --git a/linuxgraphicsdrivers.lyx b/linuxgraphicsdrivers.lyx
index 96bc603..6ed03d0 100644
--- a/linuxgraphicsdrivers.lyx
+++ b/linuxgraphicsdrivers.lyx
@@ -2605,7 +2605,8 @@ reference "fig:Overlapping-blit-inside"
Therefore, the notion of blitting direction was introduced into the blitters.
In this case, for a proper copy a bottom to top copy is required.
Some cards will determine the blitting direction automatically according
- to surface overlap (for example nvidia GPUs), and others will not.
+ to surface overlap (for example nvidia GPUs), and others will not, in which
+ case this has to be handled by the driver.
\end_layout
\begin_layout Standard
@@ -5813,6 +5814,146 @@ OpenGL ARB, khronos, bla bla...
The OpenGL Rendering Pipeline
\end_layout
+\begin_layout Standard
+\begin_inset Float figure
+placement tbh
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+begin{tikzpicture}[node distance=1cm, auto]
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+tikzset{ mynode/.style={rectangle,rounded corners,draw=black, top color=white
+, bottom color=yellow!50,very thick, inner sep=1em, minimum size=3em, text
+ centered, drop shadow}, myarrow/.style={->, >=latex', shorten >=1pt,
+ thick}, mylabel/.style={text width=7em, text centered} }
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node[mynode] (vertex) {Vertex Shader};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node[mynode, right=1cm of vertex] (geom) {Geometry Shader};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node[mynode, right=1cm of geom] (rast) {Rasterization};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node[mynode, right=1cm of rast] (frag) {Fragment Shader};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+draw[myarrow] (vertex.east) -> (geom.west);
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+draw[myarrow] (geom.east) -> (rast.west);
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+draw[myarrow] (rast.east) -> (frag.west);
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node at (4,-1.5) {GPU Address};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node at (-1.5,-1.5) {Virtual Address};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node at (-1.5,-4.5) {Physical Address};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+node at (4,-4.5) {Physical Address};
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+end{tikzpicture}
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+The OpenGL pipeline.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
\begin_layout Subsection
Vertex processing
\end_layout