I had a bit of trouble trying to find the correct forum to post this in, I hope this is fine.
I am currently investigating hardware accelerated rendering options for our company's products on an Atom N270 with 945GSE chipset. We are running on Windows CE 6.0 and are using the Intel drivers found on the IEGD download page herehttps://www-ssl.intel.com/p/s/en_US/embedded/hwsw/software/iegd?iid=1194#download
Hardware acceleration works but not very well. I have identified it as a problem with the driver after the test applications I have used work with the reference renderer.
Basically nothing is rendered when multiple calls to DrawPrimitive() are made. DrawPrimitive() and DrawIndexedPrimitive() have the same results. No errors are being returned by D3DM calls.
The variable g_bTryAndRenderTwo in the attached project turns drawing of multiple cylinders on and off. The g_bUseRef variable toggles the reference renderer. The attached screen shots show when one draw call is made (cylinder is rendered) and when two are made (cylinder is not rendered) unless using the reference renderer. The reference render is included in the zip file for convenience.
Interestingly if you comment out the second call to SetupMatrices() right before the second call to DrawPrimitive(), the cylinder is rendered but the second call seems to be ignored. This might sound like it is a problem with SetupMatrices() but if you use the following code in Render() and switch the two DrawPrimitive() calls you can see one half of the cylinder rendered. Enabling both calls results in only the first DrawPrimitive() working.
//g_pd3dmDevice->DrawPrimitive( D3DMPT_TRIANGLESTRIP, 0, (2*50-2) /2 );
//if( g_bTryAndRenderTwo )
g_pd3dmDevice->DrawPrimitive( D3DMPT_TRIANGLESTRIP, 50, 48 );
I have tried this on multiple machines (same specifications) with the same results.
This has been bothering me for over a week now and it seems I keep going around in circles.
Are there any known issues with the Intel drivers on Windows CE 6.0 that might explain the results I am getting? If there are, is there a work-around I may be able to use?
I appreciate the time you've taken to look over this already.
thanks for the detailed issue description.
The proper location for your post would be in the Intel Embedded Community Forum:
You will need to register and sign up before you can post there.
I went ahead and asked some of my contacts in our embedded business unit to see whether they can provide a preliminary answer, but it may be best to repost your question there as well.
let me see whether I can collect some feedback on your question. Even if I am not an expert on this topic and this is not exactly the right forum. I may still be able to get some data for you ....
Can't promise it, but I'll try.
Kirk Blum promised that he would follow-up with you and work with you on this issue at http://embedded.communities.intel.com/message/7644#7644
Please let me know if this doesn't lead to a satisfactory solution.