<HTML> <HEAD> <TITLE>vs_2_sw</TITLE> <STYLE TYPE="text/css" MEDIA=screen> <!-- BODY { font-family: Arial,Helvetica; } BLOCKQUOTE { margin: 10pt; } H1,A { color: #336699; } /*** Top menu style ****/ .mmenuon { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ff6600; font-size: 10pt; } .mmenuoff { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: 10pt; } .cpyright { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: xx-small; } .cpyrightText { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: xx-small; } .sections { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 11pt; } .dsections { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 12pt; } .slink { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #336699; font-size: 9pt; } .slink2 { font-family: Arial,Helvetica; text-decoration: none; color: #336699; } .maintitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 18pt; } .dblArrow { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } .menuSec { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } .newstext { font-family: Arial,Helvetica; font-size: small; } .linkmenu { font-family: Arial,Helvetica; color: #000000; font-weight: bold; text-decoration: none; } P { font-family: Arial,Helvetica; } PRE { font-family: monospace; white-space: pre; font-color: #333333; font-weight: 100; background-color: #eeeeee; padding: 5px; width: 90%; border-style: solid; border-width: 2px; border-color: #bebebe; } .quote { font-family: Times; text-decoration: none; color: #000000; font-size: 9pt; font-style: italic; } .smstd { font-family: Arial,Helvetica; color: #000000; font-size: x-small; } .std { font-family: Arial,Helvetica; color: #000000; } .meerkatTitle { font-family: sans-serif; font-size: x-small; color: black; } .meerkatDescription { font-family: sans-serif; font-size: 10pt; color: black } .meerkatCategory { font-family: sans-serif; font-size: 9pt; font-weight: bold; font-style: italic; color: brown; } .meerkatChannel { font-family: sans-serif; font-size: 9pt; font-style: italic; color: brown; } .meerkatDate { font-family: sans-serif; font-size: xx-small; color: #336699; } .tocTitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 10pt; } .toc-item { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; text-decoration: underline; } .perlVersion { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; text-decoration: none; } .docTitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #000000; font-size: 10pt; } .dotDot { font-family: Arial,Helvetica; font-weight: bold; color: #000000; font-size: 9pt; } .docSec { font-family: Arial,Helvetica; font-weight: normal; color: #333333; font-size: 9pt; } .docVersion { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 10pt; } .docSecs-on { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #ff0000; font-size: 10pt; } .docSecs-off { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #333333; font-size: 10pt; } h3 { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } h2 { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: medium; } h1 { font-family: Verdana,Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: large; } DL { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #333333; font-size: 10pt; } UL > LI > A { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; } .moduleInfo { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 11pt; } .moduleInfoSec { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 10pt; } .moduleInfoVal { font-family: Arial,Helvetica; font-weight: normal; text-decoration: underline; color: #000000; font-size: 10pt; } .cpanNavTitle { font-family: Arial,Helvetica; font-weight: bold; color: #ffffff; font-size: 10pt; } .cpanNavLetter { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 9pt; } .cpanCat { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 9pt; } --> </STYLE> </HEAD> <BODY> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> </object> <BLOCKQUOTE> <H1><A NAME="NAME"><A NAME="1">NAME </A></A></H1> <P> <B>vs_2_sw</B> - Direct3D Software Shader for Model 2.0 Extended vertex profile </P> <H1><A NAME="SYNOPSIS"><A NAME="2">SYNOPSIS </A></A></H1> <PRE> vs_2_sw </PRE> <H1><A NAME="DESCRIPTION"><A NAME="3">DESCRIPTION </A></A></H1> <P> This Direct3D profile corresponds to the per-vertex functionality introduced by GeForce FX (NV3x) for DirectX 9. </P> <P> The compiler output for this profile conforms to the textual assembly defined by the software version of DirectX 9's Vertex Shader 2.0 Extended shader format. See: </P> <PRE> <A HREF="http://msdn.microsoft.com/en-us/library/bb172925.aspx">msdn.microsoft.com/en-us/library/bb172925.aspx</A> </PRE><P> This profile is useful for debugging and prototyping. </P> <H1><A NAME="3D_API_DEPENDENCIES"><A NAME="4">3D API DEPENDENCIES </A></A></H1> <P> Requires support for software vertex processing and a reference device. </P> <P> This profile generates code assuming the following Direct3D 9 Vertex shader capability bits are set: </P> <PRE> D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS D3DD3DPSHADERCAPS2_0_PREDICATION D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT </PRE> <H1><A NAME="PROFILE_OPTIONS"><A NAME="5">PROFILE OPTIONS </A></A></H1> <DL> <DT><STRONG>NumTemps=<I>val</I> </STRONG></DT> <DD> <P> Number of 4-component vector temporaries the target implementation supports. </P> <DT><STRONG>NumInstructionSlots=<I>val</I> </STRONG></DT> <DD> <P> Number of instructions the target implementation supports. </P> <DT><STRONG>MaxDrawBuffers=<I>val</I> </STRONG></DT> <DD> <P> Number of draw buffers or Multiple Render Targets (MRT) the target implementation supports. </P> </DD></DL> <H1><A NAME="DATA_TYPES"><A NAME="6">DATA TYPES </A></A></H1> <DL> <DT><STRONG>half </STRONG></DT> <DD> <P> The <B>half</B> data type makes use of the Partial Precision instruction modifier to request less precision. </P> <P> NVIDIA GPUs may use half-precision floating-point when the Partial Precision instruction modifier is specified. Half-precision floating-point is encoded with a sign bit, 10 mantissa bits, and 5 exponent bits (biased by 16), sometimes called <I>s10e5</I>. </P> <DT><STRONG>float </STRONG></DT> <DD> <P> The <B>float</B> data type corresponds to a floating-point representation with at least 24 bits. </P> <P> NVIDIA GPUs supporting <B>vs_2_sw</B> use standard IEEE 754 single-precision floating-point encoding with a sign bit, 23 mantissa bits, and 8 exponent bits (biased by 128), sometimes called <I>s10e5</I>. </P> <P> Older ATI GPUs use 24-bit floating-point. </P> <DT><STRONG>fixed </STRONG></DT> <DD> <P> The <B>fixed</B> data type is treated like <B>half</B>. </P> </DD></DL> <H1><A NAME="SEMANTICS"><A NAME="7">SEMANTICS </A></A></H1> <H2><A NAME="INPUT_SEMANTICS"><A NAME="8">INPUT SEMANTICS </A></A></H2> <PRE> Binding Semantics Name Corresponding Data COLOR Input primary color COLOR0 COL COL0 COLOR1 Input secondary color COL1 TEX0 Input texture coordinate sets 0 TEXCOORD0 TEX1 Input texture coordinate sets 1 TEXCOORD1 TEX2 Input texture coordinate sets 2 TEXCOORD2 TEX3 Input texture coordinate sets 3 TEXCOORD3 TEX4 Input texture coordinate sets 4 TEXCOORD4 TEX5 Input texture coordinate sets 5 TEXCOORD5 TEX6 Input texture coordinate sets 6 TEXCOORD6 TEX7 Input texture coordinate sets 7 TEXCOORD7 FOGP Input fog color (XYZ) and factor (W) FOG </PRE> <H2><A NAME="UNIFORM_INPUT_SEMANTICS"><A NAME="9">UNIFORM INPUT SEMANTICS </A></A></H2> <P> Eight texture units are supported: </P> <PRE> Binding Semantic Name Corresponding Data TEXUNIT0 Texture unit 0 TEXUNIT1 Texture unit 1 ... TEXUNIT7 Texture unit 7 </PRE> <H2><A NAME="OUTPUT_SEMANTICS"><A NAME="10">OUTPUT SEMANTICS </A></A></H2> <PRE> Binding Semantics Name Corresponding Data POSITION, HPOS Output position PSIZE, PSIZ Output point size FOG, FOGC Output fog coordinate COLOR0, COL0 Output primary color COLOR1, COL1 Output secondary color BCOL0 Output backface primary color BCOL1 Output backface secondary color TEXCOORD0-TEXCOORD7, Output texture coordinates TEX0-TEX7 CLP0-CL5 Output Clip distances </PRE> <H1><A NAME="STANDARD_LIBRARY_ISSUES"><A NAME="11">STANDARD LIBRARY ISSUES </A></A></H1> <P> Functions that compute partial derivatives are <I>not</I> supported. </P> <P> There are no restrictions on dependent texture reads (up to the instruction limit) for this profile. </P> <H1><A NAME="SEE_ALSO"><A NAME="12">SEE ALSO </A></A></H1> <P> <A HREF="ps_2_sw.html">ps_2_sw</A>, <A HREF="vs_2_x.html">vs_2_x</A> </P> </BLOCKQUOTE> </BODY>