<br><br><div class="gmail_quote">On Sat, Jul 10, 2010 at 3:57 PM, Henri Verbeet <span dir="ltr">&lt;<a href="mailto:hverbeet@gmail.com">hverbeet@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
</div>What kind of issue? (Just curious.)<br>
<div class="im"><br></div></blockquote><div> Well a 8300 isn&#39;t cuda capable, and even with the forcegpu nvidia_g80 flag, wine still makes the client think it&#39;s an 8300 not an 8500. So then fah errors out with:<br>

<br>Initializing Nvidia gpu library<br>Error setting CUDA device CUDA 
version is insufficient for CUDART version .<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">
<br>
</div>Maybe. It&#39;s not quite as trivial as you make it sound though. You&#39;d<br>
need a good mechanism to keep the list up-to-date, and note that we<br>
match against the GL_RENDERER string returned by the OpenGL driver.<br>
That isn&#39;t necessarily the same as the card&#39;s product name, and may<br>
differ between different drivers for the same card. (E.g. Mesa r300<br>
vs. Mesa r300g vs. fglrx vs. OS X).<br>
</blockquote></div><br>Looking through the whole directx.c file I see what you mean. I&#39;m not really sure there is any better way to do it then what it already done. It seems like it should be made more dynamic so everyone doesn&#39;t have to go hardcode in all the different graphic cards. It seems like instead of having the driver_version_table hard code everything, why not just add the driver versions to the existing select_card_nvidia/ati/intel_binary? The init_driver_info function takes the vender name and the renderer name and parses the table to get the driver version. To me the table seems like more work than we need.<br>

<br>What I propose is something like,<br><br>        if (case HW_VENDOR_NVIDIA )<br>        {<br>           if(strstr(gl_renderer, &quot;card lower than 6100&quot;)<br>                 &lt;insert hardcoded description, video memory and appropriate drive versions&gt;<br>

         else<br>            description = (&quot;NVIDIA GeForce  &quot; + gl_renderer);<br>            driverversiontable[] ={15, 11, 9745};<br>            if(GL_SUPPORT(NVX_gpu_memory_info))<br>             {               <br>

               glGetIntegerv(0x9048, &amp;vidmen);<br>                 }<br><br>            else<br>            &lt;use hard coded video memories already available&gt;<br>        }<br><br>That is just quick psuedo code for what I am thinking. The same can be used for ATI and Intel. The gl_ati_meminfo extension has been around longer than the Nvidia extension so it should have an even greater presence (since catalyst 9.2). Anyone who has a 3xxx or newer from ATI or a 4xx from Nvidia is guaranteed to have the extension for detecting video memory. I know those are small number but there is also a large user base who has updated drivers. The old values will have to be hard coded like they are now, and even new cards will have to be hard coded in case they are not running the proprietary drivers. However for immediate support having this dynamic options will work great.<br>

<br>Overall with this, everything will be returned like it is suppose to, and it is now. There is no lose of functionality and while yes this new code will be added and a lot of the hard coded values will remain, this at least provides some level of automatically determining these values and support for newer cards or cards that have not been hard coded in.<br>

<br>What are your thoughts?<br><br><br>-Seth Shelnutt<br>