<div dir="ltr">Hi... I know... glBegin/glEnd is deprecated but I have an old computer 32bit CPU,<br>running fedora 19, mesa-9.2.4, NV63... any help are welcomed.<br><br>Please forgive if I misuderstood everything.<br><br>So I have a simple OpenGL program that draws a black background and a white<br>line... I will write the code of myline() inside of main() so as I can learn.<br><br>main (..) {<br>X and glX stuff...<br><br>/* at this moment I think what was sent to the card was the nv30_screen_create(...)<br>that valgrind--mmt outputs 0x4e000 in the first line of valgrind--mmt hex until<br>PUSH_DATA (push, NV05_SIFM_COLOR_CONVERSION_TRUNCATE); which happens to be line 65<br>of valgrind--mmt output */<br><br>glViewport(...);<br><br>void mydrawline(void)<br>{<br>    glClearColor(0.0, 0.0, 0.0, 1.0);<br>    glClear(GL_COLOR_BUFFER_BIT);<br><br>/* at this point I guess it ends up calling nv30_clear(...) which calls<br>BEGIN_NV04(push, NV30_3D(CLEAR_DEPTH_VALUE), 3); and the valgrind--mmt output is<br>0xcfd8c in line 281 of the valgrind-mmt's output file. <br>As I can see there is 215 lines (from 66 to 280) of valgrind--mmt that I do not know<br>from where is it coming. I could dig in nv30_state_validate(...) but at this moment I<br>think nv30->dirty is 0 so validate->func(nv30) is not called. Help, please.*/<br><br><br>/* This I guess is mesa stuff... */<br>    glMatrixMode(GL_PROJECTION);<br>    glLoadIdentity();<br>    glOrtho(0, 300, 0, 300, -1, 1);<br>    glMatrixMode(GL_MODELVIEW);<br><br>/*Here another question. Does glBegin end up calling a driver code like<br>BEGIN_NV04(...) that instructs the card to get the next 3 floats for color<br>more 3 for the first vertex and another 3 for the other? Also at this moment<br>the video card memory is already mapped (I guess...) so are these floats fetched<br>by the pusher of the card and draw the line, possibly when glXSwapBuffers is called?<br>Is the glColor(...) (the three floats) stored in the mmapped twice, one for each<br>vertex? HELP I'M LOST :( This mine consideration is wrong... I guess... st_draw.c<br>coments that all "rendering" is done through st_draw_vbo() which would end up<br>calling nv30_draw_vbo() which would send data to the card... but where is the<br>missing link?? The floats (for the vertices and color) are already mapped by<br>ctx->Driver.MapBufferRange...*/<br><br>    glBegin(GL_LINES);<br>    glColor3f(1.0, 1.0, 1.0);<br>    glVertex3f(0.0f, 0.0f, 0.0f);<br>    glVertex3f(50.0f, 50.0f, 1.0f);<br>    glEnd();<br>}<br><br>glXSwapBuffers();<br>}<br><br>Thanks in advance.<br></div>