<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Problem with allegro_gl_flip();</title>
		<link>http://www.allegro.cc/forums/view/591412</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 17 May 2007 04:10:42 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I just compile Allegro 4.2.1 and AllegroGL 0.4.1 with mingw32 3.4.2. I&#39;m using MSVC8 so I built them with the &quot;fix msvc8&quot; command. I built a debug version as well. Instead of generating agl.lib and agld.lib, it generated agl_s.lib and agld_s.lib. (static?) Anyway, I linked to those libraries and I tried running this example provided with AllegroGL.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;alleggl.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td>  <span class="c">/* Initialize both Allegro and AllegroGL */</span></td></tr><tr><td class="number">7</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  install_allegro_gl<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>  <span class="c">/* Tell Allegro we want to use the keyboard */</span></td></tr><tr><td class="number">11</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>  <span class="c">/* Suggest a good screen mode for OpenGL */</span></td></tr><tr><td class="number">14</td><td>  allegro_gl_set<span class="k2">(</span>AGL_Z_DEPTH, <span class="n">8</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  allegro_gl_set<span class="k2">(</span>AGL_COLOR_DEPTH, <span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  allegro_gl_set<span class="k2">(</span>AGL_SUGGEST, AGL_Z_DEPTH <span class="k3">|</span> AGL_COLOR_DEPTH<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>  <span class="c">/* Set the graphics mode */</span></td></tr><tr><td class="number">19</td><td>  <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_OPENGL_WINDOWED, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>  <span class="c">/* Clear the screen */</span></td></tr><tr><td class="number">22</td><td>  glClear<span class="k2">(</span>GL_COLOR_BUFFER_BIT <span class="k3">|</span> GL_DEPTH_BUFFER_BIT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>  <span class="c">/* Set up the view frustum */</span></td></tr><tr><td class="number">25</td><td>  glMatrixMode<span class="k2">(</span>GL_MODELVIEW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  glLoadIdentity<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  glFrustum<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>.<span class="n">0</span>, <span class="n">1</span>, <span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td>  <span class="c">/* Draw a quad using OpenGL */</span></td></tr><tr><td class="number">30</td><td>  glBegin<span class="k2">(</span>GL_QUADS<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  glColor3ub<span class="k2">(</span><span class="n">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>  glVertex3f<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  glVertex3f<span class="k2">(</span> <span class="n">1</span>, <span class="k3">-</span><span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  glVertex3f<span class="k2">(</span> <span class="n">1</span>,  <span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>  glVertex3f<span class="k2">(</span><span class="k3">-</span><span class="n">1</span>,  <span class="n">1</span>, <span class="k3">-</span><span class="n">2</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>  glEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>&#160;</td></tr><tr><td class="number">38</td><td>  <span class="c">/* Flip the backbuffer on screen */</span></td></tr><tr><td class="number">39</td><td>  allegro_gl_flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>  <span class="c">/* Wait for the user to press a key */</span></td></tr><tr><td class="number">42</td><td>  <a href="http://www.allegro.cc/manual/readkey" target="_blank"><span class="a">readkey</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>&#160;</td></tr><tr><td class="number">44</td><td>  <span class="c">/* Finished. */</span></td></tr><tr><td class="number">45</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td><span class="k2">}</span></td></tr><tr><td class="number">47</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr></tbody></table></div></div><p>


The application crashed when calling allegro_gl_flip(); I stepped into it and it goes there</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> allegro_gl_flip<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="k2">{</span>
  __allegro_gl_driver-&gt;flip<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

where __allegro_gl_driver is NULL.</p><p>Any ideas?</p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Wed, 16 May 2007 11:04:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Check all return values of functions that can fail. One of them is failing, but you&#39;re assuming they don&#39;t.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Wed, 16 May 2007 11:35:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As you said, this call fails. <br /><span class="source-code">install_allegro_gl<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></span></p><p>It actually fails right from the start.
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> install_allegro_gl<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>system_driver<span class="k2">)</span>
    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="c">// ...</span>
</pre></div></div><p>

Why is that?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Wed, 16 May 2007 21:51:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Do you have the latest OpenGL drivers installed on your machine?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 16 May 2007 21:53:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think I have OpenGL driver Version 6.14.10.6347 that comes with my graphic card drivers. I don&#39;t think it is the latest but it should not be that old either. Should I get the latest?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Wed, 16 May 2007 22:23:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Can you give us some details on your graphic card? Some gfx cards have no or poor OpenGL drivers. It is normally always a good idea to update to the latest drivers to improve poor ones..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 16 May 2007 22:25:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sophat: I&#39;d say that allegro_init(); also failed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Thu, 17 May 2007 00:40:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have a All-In-Wonder Radeon 9800 128MB.</p><p>Milan : Why would you say that ?</p><p>By the way, I can run the examples built with AllegroGL.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Thu, 17 May 2007 02:32:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Because &quot;system_driver&quot; is a allegro variable initialized at allegro_init().<br />Strange that examples work.<br />Have you had any older version of allegrogl installed before? Maybe something is left and there are conflicts... just guessing.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Thu, 17 May 2007 02:52:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It is the first time I&#39;ve built AllegroGL myself. </p><p>Also when I stepped into allegro_init(); </p><p>&quot;system_driver&quot; was definitely and allegro_init() returns 0.</p><p>From my watch window :<br />system_driver	0x100d0de0 _system_directx {id=1146626080 name=0x100eb698 &quot;&quot; desc=0x100eb698 &quot;&quot; ...}	SYSTEM_DRIVER *</p><p>I am getting very confuse.</p><p>Thanks for any inputs.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Thu, 17 May 2007 03:21:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hm, I used to see that when symbols from DLL where not imported correctly... But I can&#39;t see anything wrong here.<br />You can try building AllegroGL using MSVC8 project files. It&#39;s in projects/ directory.</p><p>edit: You are using Allegro as a DLL, right?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Thu, 17 May 2007 04:05:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Solved. You were right. I remove alld.lib from the dependencies.</p><p>Thanks a lot for your help and patience <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Sophat Pheng)</author>
		<pubDate>Thu, 17 May 2007 04:10:42 +0000</pubDate>
	</item>
</rss>
