<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>crash in ex_prim</title>
		<link>http://www.allegro.cc/forums/view/613760</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 15 Jan 2014 03:48:21 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ex_prim crashes on my laptop with DirectX due to al_create_vertex_buffer failing due to _al_create_vertex_buffer_directx failing due to <span class="source-code">is_legacy_card<span class="k2">(</span><span class="k2">)</span></span> returning true.</p><p>It would be nice to at least get a warning, like &quot;Your laptop&#39;s <span class="cuss"><span><span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>ty</span></span> integrated graphics card sucks. Fail, hoser.&quot;</p><p>I thought ex_prim was working for me before, so I hacked it to use OpenGL quick and it works again.</p><p>I&#39;m running Windows Vista with an ATI Radeon X1270 integrated graphics card.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span>
<span class="number">   2</span>c:\mingw\LIBS\A5GIT\allegro\build\examples&gt;gdb ex_prim
<span class="number">   3</span>GNU gdb <span class="k2">(</span>GDB<span class="k2">)</span> <span class="n">7</span>.<span class="n">3</span>
<span class="number">   4</span>Copyright <span class="k2">(</span>C<span class="k2">)</span> <span class="n">2011</span> Free Software Foundation, Inc.
<span class="number">   5</span>License GPLv3<span class="k3">+</span><span class="k2">:</span> GNU GPL version <span class="n">3</span> <span class="k1">or</span> later <span class="k3">&lt;</span>http:<span class="c">//gnu.org/licenses/gpl.html&gt;</span>
<span class="number">   6</span>This is <a href="http://www.delorie.com/djgpp/doc/libc/libc_350.html" target="_blank">free</a> software: you are <a href="http://www.delorie.com/djgpp/doc/libc/libc_350.html" target="_blank">free</a> to change <span class="k1">and</span> redistribute it.
<span class="number">   7</span>There is NO WARRANTY, to the extent permitted by law.  Type <span class="s">"show copying"</span>
<span class="number">   8</span><span class="k1">and</span> <span class="s">"show warranty"</span> <span class="k1">for</span> details.
<span class="number">   9</span>This GDB was configured as <span class="s">"mingw32"</span>.
<span class="number">  10</span>For bug reporting instructions, please see:
<span class="number">  11</span><span class="k3">&lt;</span>http:<span class="c">//www.gnu.org/software/gdb/bugs/&gt;...</span>
<span class="number">  12</span>Reading symbols from c:\mingw\libs\a5git\allegro\build\examples\ex_prim.exe...done.
<span class="number">  13</span><span class="k2">(</span>gdb<span class="k2">)</span> run
<span class="number">  14</span>Starting program: c:\mingw\libs\a5git\allegro\build\examples\ex_prim.exe
<span class="number">  15</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x1158</span><span class="k2">]</span>
<span class="number">  16</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
<span class="number">  17</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
<span class="number">  18</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
<span class="number">  19</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0xf2c</span><span class="k2">]</span>
<span class="number">  20</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x12e0</span><span class="k2">]</span>
<span class="number">  21</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x9f0</span><span class="k2">]</span>
<span class="number">  22</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x1664</span><span class="k2">]</span>
<span class="number">  23</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0xd10</span><span class="k2">]</span>
<span class="number">  24</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x16b8</span><span class="k2">]</span>
<span class="number">  25</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x128c</span><span class="k2">]</span>
<span class="number">  26</span><span class="k2">[</span>New Thread <span class="n">4416</span>.<span class="n">0x15e8</span><span class="k2">]</span>
<span class="number">  27</span>
<span class="number">  28</span>Program received <a href="http://www.delorie.com/djgpp/doc/libc/libc_724.html" target="_blank">signal</a> SIGSEGV, Segmentation fault.
<span class="number">  29</span><span class="n">0x004f09e6</span> in al_lock_vertex_buffer <span class="k2">(</span>buffer<span class="k3">=</span><span class="n">0x0</span>, offset<span class="k3">=</span><span class="n">0</span>, length<span class="k3">=</span><span class="n">13</span>, flags<span class="k3">=</span><span class="n">2</span><span class="k2">)</span> at C:\mingw\LIBS\A5GIT\allegro\addons\primitives\primitives.c:363
<span class="number">  30</span><span class="n">363</span>        <span class="k1">if</span> <span class="k2">(</span>offset <span class="k3">+</span> length <span class="k3">&gt;</span> buffer-&gt;common.size<span class="k2">)</span>
<span class="number">  31</span><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number">  32</span><span class="p">#0  0x004f09e6 in al_lock_vertex_buffer (buffer=0x0, offset=0, length=13, flags=2) at C:\mingw\LIBS\A5GIT\allegro\addons\primitives\primitives.c:363</span>
<span class="number">  33</span><span class="p">#1  0x004045e0 in IndexedBuffers (mode=0) at C:\mingw\LIBS\A5GIT\allegro\examples\ex_prim.c:581</span>
<span class="number">  34</span><span class="p">#2  0x00404e86 in main (argc=1, argv=0x2719b8) at C:\mingw\LIBS\A5GIT\allegro\examples\ex_prim.c:762</span>
<span class="number">  35</span><span class="k2">(</span>gdb<span class="k2">)</span> p al_create_vertex_buffer<span class="k2">(</span>NULL , NULL , <span class="n">13</span> , ALLEGRO_PRIM_BUFFER_STATIC<span class="k2">)</span>
<span class="number">  36</span>No symbol <span class="s">"NULL"</span> in current context.
<span class="number">  37</span><span class="k2">(</span>gdb<span class="k2">)</span> p al_create_vertex_buffer<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">13</span>,ALLEGRO_PRIM_BUFFER_STATIC<span class="k2">)</span>
<span class="number">  38</span>$<span class="n">1</span> <span class="k3">=</span> <span class="k2">(</span>ALLEGRO_VERTEX_BUFFER <span class="k3">*</span><span class="k2">)</span> <span class="n">0x0</span>
<span class="number">  39</span><span class="k2">(</span>gdb<span class="k2">)</span> <span class="k1">break</span> primitives.c:230
<span class="number">  40</span>Breakpoint <span class="n">1</span> at <span class="n">0x4f0467</span><span class="k2">:</span> file C:\mingw\LIBS\A5GIT\allegro\addons\primitives\primitives.c, <a href="http://www.allegro.cc/manual/line"><span class="a">line</span></a> <span class="n">230</span>.
<span class="number">  41</span><span class="k2">(</span>gdb<span class="k2">)</span> run
<span class="number">  42</span>The program being debugged has been started already.
<span class="number">  43</span>Start it from the beginning? <span class="k2">(</span>y <span class="k1">or</span> n<span class="k2">)</span> y
<span class="number">  44</span>Starting program: c:\mingw\libs\a5git\allegro\build\examples\ex_prim.exe
<span class="number">  45</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x1750</span><span class="k2">]</span>
<span class="number">  46</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
<span class="number">  47</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
<span class="number">  48</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
<span class="number">  49</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x10c0</span><span class="k2">]</span>
<span class="number">  50</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0xb18</span><span class="k2">]</span>
<span class="number">  51</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x1724</span><span class="k2">]</span>
<span class="number">  52</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x15ac</span><span class="k2">]</span>
<span class="number">  53</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x15c0</span><span class="k2">]</span>
<span class="number">  54</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x14c8</span><span class="k2">]</span>
<span class="number">  55</span><span class="k2">[</span>New Thread <span class="n">4812</span>.<span class="n">0x13a8</span><span class="k2">]</span>
<span class="number">  56</span>
<span class="number">  57</span>Breakpoint <span class="n">1</span>, al_create_vertex_buffer <span class="k2">(</span>decl<span class="k3">=</span><span class="n">0x0</span>, initial_data<span class="k3">=</span><span class="n">0x544040</span>, num_vertices<span class="k3">=</span><span class="n">13</span>, flags<span class="k3">=</span><span class="n">8</span><span class="k2">)</span> at C:\mingw\LIBS\A5GIT\allegro\addons\primitives\primitives.c:230
<span class="number">  58</span><span class="n">230</span>        ret <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_calloc"><span class="a">al_calloc</span></a><span class="k2">(</span><span class="n">1</span>, <span class="k1">sizeof</span><span class="k2">(</span>ALLEGRO_VERTEX_BUFFER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span><span class="k2">(</span>gdb<span class="k2">)</span> next
<span class="number">  60</span><span class="n">231</span>        ret-&gt;common.size <span class="k3">=</span> num_vertices<span class="k2">;</span>
<span class="number">  61</span><span class="k2">(</span>gdb<span class="k2">)</span> p ret
<span class="number">  62</span>$<span class="n">2</span> <span class="k3">=</span> <span class="k2">(</span>ALLEGRO_VERTEX_BUFFER <span class="k3">*</span><span class="k2">)</span> <span class="n">0x50a28b8</span>
<span class="number">  63</span><span class="k2">(</span>gdb<span class="k2">)</span> next
<span class="number">  64</span><span class="n">232</span>        ret-&gt;common.write_only <span class="k3">=</span> <span class="k3">!</span><span class="k2">(</span>flags <span class="k3">&amp;</span> ALLEGRO_PRIM_BUFFER_READWRITE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  66</span><span class="n">233</span>        ret-&gt;decl <span class="k3">=</span> decl<span class="k2">;</span>
<span class="number">  67</span><span class="k2">(</span>gdb<span class="k2">)</span>
<span class="number">  68</span><span class="n">240</span>        <span class="k1">if</span> <span class="k2">(</span>display_flags <span class="k3">&amp;</span> ALLEGRO_OPENGL<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  69</span><span class="k2">(</span>gdb<span class="k2">)</span> p display_flags <span class="k3">&amp;</span> ALLEGRO_OPENGL
<span class="number">  70</span>$<span class="n">3</span> <span class="k3">=</span> <span class="n">0</span>
<span class="number">  71</span><span class="k2">(</span>gdb<span class="k2">)</span> next
<span class="number">  72</span><span class="n">244</span>        <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>display_flags <span class="k3">&amp;</span> ALLEGRO_DIRECT3D<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  73</span><span class="k2">(</span>gdb<span class="k2">)</span> p display_flags <span class="k3">&amp;</span> ALLEGRO_DIRECT3D
<span class="number">  74</span>No symbol <span class="s">"ALLEGRO_DIRECT3D"</span> in current context.
<span class="number">  75</span><span class="k2">(</span>gdb<span class="k2">)</span> next
<span class="number">  76</span><span class="n">245</span>           <span class="k1">if</span> <span class="k2">(</span>_al_create_vertex_buffer_directx<span class="k2">(</span>ret, initial_data, num_vertices, flags<span class="k2">)</span><span class="k2">)</span>
<span class="number">  77</span><span class="k2">(</span>gdb<span class="k2">)</span> next
<span class="number">  78</span><span class="n">252</span>        <a href="http://www.allegro.cc/manual/al_free"><span class="a">al_free</span></a><span class="k2">(</span>ret<span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span><span class="k2">(</span>gdb<span class="k2">)</span> p _al_create_vertex_buffer_directx<span class="k2">(</span>ret , initial_data , num_vertices , flags<span class="k2">)</span>
<span class="number">  80</span>$<span class="n">4</span> <span class="k3">=</span> <span class="k1">false</span>
<span class="number">  81</span><span class="k2">(</span>gdb<span class="k2">)</span> <span class="k1">break</span> prim_directx.cpp:981
<span class="number">  82</span>Breakpoint <span class="n">2</span> at <span class="n">0x4f8e83</span><span class="k2">:</span> file C:\mingw\LIBS\A5GIT\allegro\addons\primitives\prim_directx.cpp, <a href="http://www.allegro.cc/manual/line"><span class="a">line</span></a> <span class="n">981</span>.
<span class="number">  83</span><span class="k2">(</span>gdb<span class="k2">)</span> run
<span class="number">  84</span>The program being debugged has been started already.
<span class="number">  85</span>Start it from the beginning? <span class="k2">(</span>y <span class="k1">or</span> n<span class="k2">)</span> y
<span class="number">  86</span>Starting program: c:\mingw\libs\a5git\allegro\build\examples\ex_prim.exe
<span class="number">  87</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x16b0</span><span class="k2">]</span>
<span class="number">  88</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .text
<span class="number">  89</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .rdata
<span class="number">  90</span>BFD: C:\Windows\system32\atiumdva.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section .data
<span class="number">  91</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0xb0c</span><span class="k2">]</span>
<span class="number">  92</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x1134</span><span class="k2">]</span>
<span class="number">  93</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x1718</span><span class="k2">]</span>
<span class="number">  94</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x132c</span><span class="k2">]</span>
<span class="number">  95</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x138c</span><span class="k2">]</span>
<span class="number">  96</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0x11a8</span><span class="k2">]</span>
<span class="number">  97</span><span class="k2">[</span>New Thread <span class="n">2376</span>.<span class="n">0xbf0</span><span class="k2">]</span>
<span class="number">  98</span>
<span class="number">  99</span>Breakpoint <span class="n">1</span>, al_create_vertex_buffer <span class="k2">(</span>decl<span class="k3">=</span><span class="n">0x0</span>, initial_data<span class="k3">=</span><span class="n">0x544040</span>, num_vertices<span class="k3">=</span><span class="n">13</span>, flags<span class="k3">=</span><span class="n">8</span><span class="k2">)</span> at C:\mingw\LIBS\A5GIT\allegro\addons\primitives\primitives.c:230
<span class="number"> 100</span><span class="n">230</span>        ret <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_calloc"><span class="a">al_calloc</span></a><span class="k2">(</span><span class="n">1</span>, <span class="k1">sizeof</span><span class="k2">(</span>ALLEGRO_VERTEX_BUFFER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span><span class="k2">(</span>gdb<span class="k2">)</span> <span class="k1">continue</span>
<span class="number"> 102</span>Continuing.
<span class="number"> 103</span>
<span class="number"> 104</span>Breakpoint <span class="n">2</span>, _al_create_vertex_buffer_directx <span class="k2">(</span>buf<span class="k3">=</span><span class="n">0x5102818</span>, initial_data<span class="k3">=</span><span class="n">0x544040</span>, num_vertices<span class="k3">=</span><span class="n">13</span>, flags<span class="k3">=</span><span class="n">8</span><span class="k2">)</span> at C:\mingw\LIBS\A5GIT\allegro\addons\primitives\prim_directx.cpp:981
<span class="number"> 105</span><span class="n">981</span>        <span class="k1">if</span> <span class="k2">(</span>is_legacy_card<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 106</span><span class="k2">(</span>gdb<span class="k2">)</span> p is_legacy_card<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 107</span>$<span class="n">5</span> <span class="k3">=</span> <span class="k1">true</span>
<span class="number"> 108</span><span class="k2">(</span>gdb<span class="k2">)</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 08 Jan 2014 18:51:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995011#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> It would be nice to at least get a warning, like &quot;Your laptop&#39;s <span class="cuss"><span><span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>ty</span></span> integrated graphics card sucks. Fail, hoser.&quot;</p></div></div><p>You realize that these sample programs were hacked together as examples of how to use the features, not to be shining examples of be-all-and-end-all with every loose end tied up user programs, right?  If you don&#39;t like it, rewrite it and submit a patch.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 08 Jan 2014 19:01:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well of course I don&#39;t expect every single line of code to be perfect. I&#39;m just saying, I shouldn&#39;t have to debug ex_prim just to find out that some obscure function named is_legacy_card() is returning true on my laptop. If my laptop isn&#39;t good enough or doesn&#39;t support something there should be some way to tell, right?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 08 Jan 2014 19:06:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So fix it and send in a patch or the entire new ex_prim.c.  Get your name in lights!  I bet you could fix the lack of messages for minimizing and maximizing windows too.  Just think how impressive it will be when people google your name and find out you&#39;ve contributed to open source software!  OTOH, you&#39;d have to use your real name for that to work well.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 08 Jan 2014 19:13:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>But my dear friend Arthur, &quot;There&#39;s just no point&quot;.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>
<span class="number">  2</span><span class="k1">bool</span> _al_create_vertex_buffer_directx<span class="k2">(</span>ALLEGRO_VERTEX_BUFFER<span class="k3">*</span> buf, <span class="k1">const</span> <span class="k1">void</span><span class="k3">*</span> initial_data, <span class="k1">size_t</span> num_vertices, <span class="k1">int</span> flags<span class="k2">)</span>
<span class="number">  3</span><span class="k2">{</span>
<span class="number">  4</span><span class="p">#ifdef ALLEGRO_CFG_D3D</span>
<span class="number">  5</span>   LPDIRECT3DDEVICE9 device<span class="k2">;</span>
<span class="number">  6</span>   IDirect3DVertexBuffer9<span class="k3">*</span> d3d_vbuff<span class="k2">;</span>
<span class="number">  7</span>   DWORD fvf <span class="k3">=</span> A5V_FVF<span class="k2">;</span>
<span class="number">  8</span>   <span class="k1">int</span> stride <span class="k3">=</span> buf-&gt;decl ? buf-&gt;decl-&gt;stride <span class="k2">:</span> <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_VERTEX"><span class="a">ALLEGRO_VERTEX</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>   HRESULT res<span class="k2">;</span>
<span class="number"> 10</span>   <span class="k1">void</span><span class="k3">*</span> locked_memory<span class="k2">;</span>
<span class="number"> 11</span>
<span class="number"> 12</span>   <span class="c">/* There's just no point */</span>
<div class="highlight"><span class="number"> 13</span>   <span class="k1">if</span> <span class="k2">(</span>is_legacy_card<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></div><div class="highlight"><span class="number"> 14</span>      <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></div><span class="number"> 15</span>
<span class="number"> 16</span>   device <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_d3d_device"><span class="a">al_get_d3d_device</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_current_display"><span class="a">al_get_current_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div></div><p>


Edit :<br />Also, my point is not that ex_prim crashes, it is that al_create_vertex_buffer will never return true on my laptop and if I hadn&#39;t debugged it I would never know why. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 08 Jan 2014 19:23:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995016#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> &quot;There&#39;s just no point&quot;.</p></div></div><p>What?  ex_dualies (?) returns an error if you don&#39;t have two monitors hooked up.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 08 Jan 2014 19:28:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I was quoting the comment from the _al_create_vertex_buffer_directx function where it says there is just no point to try with a &#39;legacy&#39; card. Apparently my Pixel Shader version is too low or something from looking at is_legacy_card(). OpenGL can do it though?</p><p>Apparently this answers it :
</p><div class="quote_container"><div class="title">prim_directx.cpp said:</div><div class="quote"><p>
/*<br /> * In the context of this file, legacy cards pretty much refer to older Intel cards.<br /> * They are distinguished by three misfeatures:<br /> * 1. They don&#39;t support shaders<br /> * 2. They don&#39;t support custom vertices<br /> * 3. DrawIndexedPrimitiveUP is broken<br /> *<br /> * Since shaders are used 100% of the time, this means that for these cards<br /> * the incoming vertices are first converted into the vertex type that these cards<br /> * can handle.<br /> */
</p></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 08 Jan 2014 20:00:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I meant hack the main program to put up a error dialog box with the message &quot;Your laptop&#39;s <span class="cuss"><span><span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>ty</span></span> integrated graphics card sucks. Fail, hoser.&quot;  As for why OGL can do it, maybe the root cause of the problem is DX capability bits, sometimes two mutually exclusive abilities of a card can conflict with those bits.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 08 Jan 2014 20:05:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So according to that comment, those legacy cards should still work in ex_prim, just have their vertex types converted?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Wed, 08 Jan 2014 20:59:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995021#target">Elias</a> said:</div><div class="quote"><p> So according to that comment, those legacy cards should still work in ex_prim, just have their vertex types converted? </p></div></div><p>Yes. But conversion means that you have to download the vertex buffer data back to the host system, convert the vertices and send the new vertices to the GPU. Legacy cards don&#39;t support shaders, which means that in the second step you can&#39;t use vertex buffers... which means there just was no point in making a vertex buffer: they are meant to be an optimization and these workarounds make them worse than just using <span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_prim"><span class="a">al_draw_prim</span></a></span> directly.</p><p>ex_prim shouldn&#39;t crash though, that&#39;s an oversight.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Wed, 08 Jan 2014 21:41:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995022#target">SiegeLord</a> said:</div><div class="quote"><p>
Legacy cards don&#39;t support shaders,
</p></div></div><p>
Does that mean I can&#39;t run any shader code on my laptop? Or just directx shaders, since opengl seemed to implement it?</p><p>Nice fix for ex_prim btw.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 12 Jan 2014 21:59:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995170#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> Does that mean I can&#39;t run any shader code on my laptop? Or just directx shaders, since opengl seemed to implement it?</p></div></div><p>Primitives addon does not require OpenGL to implement shaders, as it is more flexible than D3D, so at least you&#39;ll be able to use the addon.</p><p>Now... in terms of shaders... I&#39;m not sure. Seems unlikely for D3D, but maybe it&#39;s possible for OpenGL? Since you appear to have A5.1 installed, I&#39;d just try and see if some of the shader examples (ex_shader, ex_prim_shader, ex_shader_multitex) run under OpenGL.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Sun, 12 Jan 2014 22:28:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>(using 5.1.8) ex_prim_shader fails with this message :<br /><span class="remote-thumbnail"><span class="json">{"name":"608234","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/d\/dd8149736548c0dc849d07c30f0c0eca.png","w":493,"h":253,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/d\/dd8149736548c0dc849d07c30f0c0eca"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/d/d/dd8149736548c0dc849d07c30f0c0eca-240.jpg" alt="608234" width="240" height="123" /></span><br />and then crashes.</p><p>ex_shader shows a dark red screen.</p><p>ex_shader_multitex flashes a window then I have to restore its real window and it shows a black screen.</p><p>ex_shader_target shows a black screen.</p><p>What are these supposed to do?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 12 Jan 2014 22:58:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/613760/995173#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> What are these supposed to do?</p></div></div><p>Well, not that XD.</p><p>I meant to run them OpenGL (need to plop an allegro5.cfg file with <span class="source-code"><span class="k2">[</span>graphics<span class="k2">]</span> driver <span class="k3">=</span> opengl</span> in the compiled examples directory).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Sun, 12 Jan 2014 23:22:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ah, okay.</p><p>Using OpenGL :</p><p>ex_prim_shader ran properly and showed the light source following the mouse</p><p>ex_shader, ex_shader_multitex, and ex_shader_target all crash.</p><p>ex_shader backtrace :
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>
<span class="number">  2</span>Program received <a href="http://www.delorie.com/djgpp/doc/libc/libc_724.html" target="_blank">signal</a> SIGSEGV, Segmentation fault.
<span class="number">  3</span><span class="n">0x00000000</span> in ?? <span class="k2">(</span><span class="k2">)</span>
<span class="number">  4</span><span class="k2">(</span>gdb<span class="k2">)</span> bt
<span class="number">  5</span><span class="p">#0  0x00000000 in ?? ()</span>
<span class="number">  6</span><span class="p">#1  0x677e032f in ogl_flush_vertex_cache (disp=0x286990) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\opengl\ogl_draw.c:366</span>
<span class="number">  7</span><span class="p">#2  0x677dd70a in draw_quad (bitmap=0x289d48, tint=..., sx=0, sy=0, sw=320, sh=200, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\opengl\ogl_bitmap.c:277</span>
<span class="number">  8</span><span class="p">#3  0x677ddad4 in ogl_draw_bitmap_region (bitmap=0x289d48, tint=..., sx=0, sy=0, sw=320, sh=200, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\opengl\ogl_bitmap.c:362</span>
<span class="number">  9</span><span class="p">#4  0x67702662 in _bitmap_drawer (bitmap=0x289d48, tint=..., sx=0, sy=0, sw=320, sh=200, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\bitmap_draw.c:54</span>
<span class="number"> 10</span><span class="p">#5  0x677029c2 in _draw_tinted_rotated_scaled_bitmap_region (bitmap=0x289d48, tint=..., cx=0, cy=0, angle=0, xscale=1, yscale=1, sx=0, sy=0, sw=320, sh=200, dx=0, dy=0, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\bitmap_draw.c:116</span>
<span class="number"> 11</span><span class="p">#6  0x67702a5e in al_draw_tinted_bitmap_region (bitmap=0x289d48, tint=..., sx=0, sy=0, sw=320, sh=200, dx=0, dy=0, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\bitmap_draw.c:128</span>
<span class="number"> 12</span><span class="p">#7  0x67702b30 in al_draw_tinted_bitmap (bitmap=0x289d48, tint=..., dx=0, dy=0, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\bitmap_draw.c:139</span>
<span class="number"> 13</span><span class="p">#8  0x67702b77 in al_draw_bitmap (bitmap=0x289d48, dx=0, dy=0, flags=0) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\src\bitmap_draw.c:148</span>
<span class="number"> 14</span><span class="p">#9  0x00401936 in main (argc=1, argv=0x283790) at C:\downloads\Programming\ProgrammingLibraries\Allegro\5pt1pt8\allegro\examples\ex_shader.cpp:128</span>
<span class="number"> 15</span><span class="k2">(</span>gdb<span class="k2">)</span>
</div></div><p>

ogl_draw.c:366 is :
</p><div class="source-code snippet"><div class="inner"><pre>         glGenVertexArrays<span class="k2">(</span><span class="n">1</span>, <span class="k3">&amp;</span>o-&gt;vao<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

ex_shader_multitex crashes in the same spot.</p><p>ex_shader_target crashes in the same spot, <span class="source-code">ogl_flush_vertex_cache</span>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 15 Jan 2014 03:48:21 +0000</pubDate>
	</item>
</rss>
