<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Developer : Vertex processing &amp; D3DCREATE_FPU_PRESERVE in Developing Games on Intel Graphics</title>
    <link>https://community.intel.com/t5/Developing-Games-on-Intel/Developer-Vertex-processing-D3DCREATE-FPU-PRESERVE/m-p/854513#M376</link>
    <description>RE: 1
&lt;BR /&gt;I think it would be safer to use the recommended approach described by the article. You don't gain anything by leaving out the checks against the device IDs, really...
&lt;BR /&gt;
&lt;BR /&gt;RE: 2
&lt;BR /&gt;You could use the D3DCREATE_FPU_PRESERVE flag, certainly; but just be aware that it is a minor performance penalty (on any graphics solution). The runtime is what sets/clears the FPU flags. I haven't measured the hit, but if you're considering using the flag (as opposed to setting the FPU mode yourself when you know you need it in a certain state) you should set it and see if there is any measurable performance impact to your app.
&lt;BR /&gt;
&lt;BR /&gt;just my 2c anyway</description>
    <pubDate>Tue, 29 Apr 2008 20:09:40 GMT</pubDate>
    <dc:creator>wedamon</dc:creator>
    <dc:date>2008-04-29T20:09:40Z</dc:date>
    <item>
      <title>Developer : Vertex processing &amp; D3DCREATE_FPU_PRESERVE</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/Developer-Vertex-processing-D3DCREATE-FPU-PRESERVE/m-p/854512#M375</link>
      <description>&lt;P&gt;Hi Im a developer and Id like to ask some things about Vertex processing and D3DCREATE_FPU_PRESERVE.&lt;/P&gt;
&lt;P&gt;1) Vertex processing&lt;/P&gt;
&lt;P&gt;As the X3000 is HW-TnL capable, and all older intel cards are not, couldn't the code shown at&lt;BR /&gt;&lt;A href="https://community.intel.com/en-us/articles/article_nice_name"&gt;http://software.intel.com/en-us/articles/intel-gma-3000-and-x3000-developers-guide&lt;/A&gt;&lt;BR /&gt;Intel GMA 3000 and X3000 Developer's Guide&lt;BR /&gt;looks like below ? &lt;/P&gt;&lt;PRE&gt;DWORD SetVertexProcessingMode( LPDIRECT3D9 pD3D )&lt;BR /&gt;{&lt;BR /&gt; // vertex processing mode - default is mixed for generic card&lt;BR /&gt; DWORD vertexprocessingmode = D3DCREATE_MIXED_VERTEXPROCESSING; &lt;BR /&gt; &lt;BR /&gt; D3DCAPS9 caps; // Device CAPs structure&lt;BR /&gt; D3DADAPTER_IDENTIFIER9 adapterID; // Used to store device info&lt;/PRE&gt;&lt;PRE&gt; // Retrieve device capabilities&lt;BR /&gt; if( g_pD3D-&amp;gt;GetDeviceCaps( 0, D3DDEVTYPE_HAL, &amp;amp;caps ) != D3D_OK ){&lt;BR /&gt; return E_FAIL; // exit if reading caps fails...&lt;BR /&gt; } &lt;/PRE&gt;&lt;PRE&gt; // Check if hardware T&amp;amp;L is supported...&lt;BR /&gt; // - The D3DDEVCAPS_HWTRANSFORMANDLIGHT capability should&lt;BR /&gt; // be enabled for GMA X3000&lt;BR /&gt; if ( ( caps.DevCaps &amp;amp; D3DDEVCAPS_HWTRANSFORMANDLIGHT ) != 0 ){&lt;BR /&gt; vertexprocessingmode = D3DCREATE_HARDWARE_VERTEXPROCESSING;&lt;BR /&gt; }&lt;BR /&gt; else{&lt;BR /&gt; // Check vendor and device ID and enable software vertex&lt;BR /&gt; // processing for Intel Graphics...&lt;BR /&gt; // Gather the primary adapter's information...&lt;/PRE&gt;&lt;PRE&gt; if( g_pD3D-&amp;gt;GetAdapterIdentifier(0,0,&amp;amp;adapterID ) != D3D_OK ){&lt;BR /&gt; return E_FAIL;&lt;BR /&gt; } &lt;BR /&gt; // this is an Intel non HW-TnL vcard&lt;BR /&gt; if ( (adapterID.VendorId == 0x8086 )) // Intel Architecture &lt;BR /&gt; {&lt;BR /&gt; vertexprocessingmode = D3DCREATE_SOFTWARE_VERTEXPROCESSING;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; // Chipset does not meet minimum requirements...&lt;BR /&gt; return E_MINSPEC;&lt;BR /&gt; }&lt;/PRE&gt;&lt;PRE&gt; }&lt;BR /&gt; // return default mode - mixed&lt;BR /&gt; return vertexprocessingmode;&lt;BR /&gt;} &lt;/PRE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;2) D3DCREATE_FPU_PRESERVE&lt;/P&gt;
&lt;P&gt;Our application does intensive FPU operations, so our engine should use D3DCREATE_FPU_PRESERVE, &lt;BR /&gt;to avoid Direct D3D reduce fpu precision to single, when we need double precision.&lt;BR /&gt;Does it has bad i
mpact on 9x5 vcards ? what about X3000 ?&lt;/P&gt;</description>
      <pubDate>Thu, 07 Feb 2008 12:30:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/Developer-Vertex-processing-D3DCREATE-FPU-PRESERVE/m-p/854512#M375</guid>
      <dc:creator>alessandroborges1</dc:creator>
      <dc:date>2008-02-07T12:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: Developer : Vertex processing &amp; D3DCREATE_FPU_PRESERVE</title>
      <link>https://community.intel.com/t5/Developing-Games-on-Intel/Developer-Vertex-processing-D3DCREATE-FPU-PRESERVE/m-p/854513#M376</link>
      <description>RE: 1
&lt;BR /&gt;I think it would be safer to use the recommended approach described by the article. You don't gain anything by leaving out the checks against the device IDs, really...
&lt;BR /&gt;
&lt;BR /&gt;RE: 2
&lt;BR /&gt;You could use the D3DCREATE_FPU_PRESERVE flag, certainly; but just be aware that it is a minor performance penalty (on any graphics solution). The runtime is what sets/clears the FPU flags. I haven't measured the hit, but if you're considering using the flag (as opposed to setting the FPU mode yourself when you know you need it in a certain state) you should set it and see if there is any measurable performance impact to your app.
&lt;BR /&gt;
&lt;BR /&gt;just my 2c anyway</description>
      <pubDate>Tue, 29 Apr 2008 20:09:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Developing-Games-on-Intel/Developer-Vertex-processing-D3DCREATE-FPU-PRESERVE/m-p/854513#M376</guid>
      <dc:creator>wedamon</dc:creator>
      <dc:date>2008-04-29T20:09:40Z</dc:date>
    </item>
  </channel>
</rss>

