at first , this is just a random search of me because I'm curious about the i9xx software T&L with value other than 0 or 1 I know that now we begin to experimenting with the new value, that is 2.
this search was taken just before, with Google search, keyword: "software t&l value 2" (without quotes) then I found a link like below http://software.intel.com/en-us/articles/intel-gma-3000-and-x3000-developers-guide/ and in the page, I found this code: DWORD SetVertexProcessingMode( LPDIRECT3D9 pD3D ) { DWORD vertexprocessingmode; // vertex processing mode D3DCAPS9 caps; // Device CAPs structure D3DADAPTER_IDENTIFIER9 adapterID; // Used to store device info // Retrieve device capabilities if( g_pD3D->GetDeviceCaps( 0, D3DDEVTYPE_HAL, &caps ) != D3D_OK ) { return E_FAIL; // exit if reading caps fails... } // Check if hardware T&L is supported... // - The D3DDEVCAPS_HWTRANSFORMANDLIGHT capability should // be enabled for GMA X3000 if ( ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) != 0 ) { vertexprocessingmode = D3DCREATE_HARDWARE_VERTEXPROCESSING; } else { // Check vendor and device ID and enable software vertex // processing for Intel(R) Graphics... // Gather the primary adapter's information... if( g_pD3D->GetAdapterIdentifier(0,0,&adapterID ) != D3D_OK ) { return E_FAIL; } if ( ( adapterID.VendorId == 0x8086 ) && // Intel Architecture ( adapterID.DeviceId == 0x2A02 ) || // GM965 Device 0 ( adapterID.DeviceId == 0x2A03 ) || // GM965 Device 1 ( adapterID.DeviceId == 0x29A2 ) || // G965 Device 0 ( adapterID.DeviceId == 0x29A3 ) || // G965 Device 1 ( adapterID.DeviceId == 0x27A2 ) || // 945GM Device 0 ( adapterID.DeviceId == 0x27A6 ) || // 945GM Device 1 ( adapterID.DeviceId == 0x2772 ) || // 945G Device 0 ( adapterID.DeviceId == 0x2776 ) || // 945G Device 1 ( adapterID.DeviceId == 0x2592 ) || // 915GM Device 0 ( adapterID.DeviceId == 0x2792 ) || // 915GM Device 1 ( adapterID.DeviceId == 0x2582 ) || // 915G Device 0 ( adapterID.DeviceId == 0x2782 ) || // 915G Device 1 { vertexprocessingmode = D3DCREATE_SOFTWARE_VERTEXPROCESSING; } else { // Chipset does not meet minimum requirements... return E_MINSPEC; } } return vertexprocessingmode; } (I merely just copy and paste it from the page. if you want to see the original writing, feel free to look at the page) I'm not a computer person (it's just that I happen to have some knack at common sense of language), but if I think about this part: // Check if hardware T&L is supported... // - The D3DDEVCAPS_HWTRANSFORMANDLIGHT capability should // be enabled for GMA X3000 if ( ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) != 0 ) { vertexprocessingmode = D3DCREATE_HARDWARE_VERTEXPROCESSING; } else { is this part above means: if the VALUE NOT EQUAL (!=) 0, then enable T&L? and the next part: // Check vendor and device ID and enable software vertex // processing for Intel(R) Graphics... // Gather the primary adapter's information... if( g_pD3D->GetAdapterIdentifier(0,0,&adapterID ) != D3D_OK ) { return E_FAIL; } if ( ( adapterID.VendorId == 0x8086 ) && // Intel Architecture ( adapterID.DeviceId == 0x2A02 ) || // GM965 Device 0 ( adapterID.DeviceId == 0x2A03 ) || // GM965 Device 1 ( adapterID.DeviceId == 0x29A2 ) || // G965 Device 0 ( adapterID.DeviceId == 0x29A3 ) || // G965 Device 1 ( adapterID.DeviceId == 0x27A2 ) || // 945GM Device 0 ( adapterID.DeviceId == 0x27A6 ) || // 945GM Device 1 ( adapterID.DeviceId == 0x2772 ) || // 945G Device 0 ( adapterID.DeviceId == 0x2776 ) || // 945G Device 1 ( adapterID.DeviceId == 0x2592 ) || // 915GM Device 0 ( adapterID.DeviceId == 0x2792 ) || // 915GM Device 1 ( adapterID.DeviceId == 0x2582 ) || // 915G Device 0 ( adapterID.DeviceId == 0x2782 ) || // 915G Device 1 { vertexprocessingmode = D3DCREATE_SOFTWARE_VERTEXPROCESSING; } combined with the first part, is this means if VALUE NOT EQUAL (!=) 0 AND DEVICEID =0x...., then enable software TnL? >_< -- 9xx SOLDIERS SANS FRONTIERS
