Building Panda3D with OpenGL ES using Cygwin and MSVC9. Log

Return to Compiling or Editing the Panda Source

Postby darkphoenix16 » Thu Nov 11, 2010 1:06 pm

It is hard to say. My sample is all in one file so it's easier to follow. I'm still workout out the use of Pipes, Buffers, and Windows
darkphoenix16
 
Posts: 52
Joined: Wed Nov 03, 2010 11:22 am

Postby darkphoenix16 » Wed Nov 17, 2010 8:33 am

Hey.

Been away for a while. I had to shift priority back to some other work.

Anyways. I've got the display set up. I had to change the config options for eglChooseConfig to work. I've since encountered two problems. The first was that Panda couldn't find an appropriate set of FrameBuffer properties. It could only get hardware_accel=1, not RGB, ALPHA, DEPTH, and BACK BUFFER...which seemed strange. To just hack past this is I commented out the code which adds those missing properties.

Next I get this

Code: Select all
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.


// stack

Code: Select all
    >   libpandagles_d.dll!GLESGraphicsStateGuardian::prepare_vertex_buffer(GeomVertexArrayData * data=0x02272a44)  Line 3569   C++
    libpanda_d.dll!PreparedGraphicsObjects::prepare_vertex_buffer_now(GeomVertexArrayData * data=0x02272a44, GraphicsStateGuardianBase * gsg=0x0306e424)  Line 955 + 0x16 bytes   C++
    libpanda_d.dll!GeomVertexArrayData::prepare_now(PreparedGraphicsObjects * prepared_objects=0x0306ea1c, GraphicsStateGuardianBase * gsg=0x0306e424)  Line 286 + 0x10 bytes   C++
    libpandagles_d.dll!GLESGraphicsStateGuardian::setup_array_data(const unsigned char * & client_pointer=0xcccccccc, const GeomVertexArrayDataHandle * array_reader=0x0227007c, bool force=false)  Line 3724 + 0x37 bytes   C++
    libpandagles_d.dll!GLESGraphicsStateGuardian::update_standard_vertex_arrays(bool force=false)  Line 2642 + 0x15 bytes   C++
    libpandagles_d.dll!GLESGraphicsStateGuardian::begin_draw_primitives(const GeomPipelineReader * geom_reader=0x0080f434, const GeomMunger * munger=0x02272514, const GeomVertexDataPipelineReader * data_reader=0x0080f408, bool force=false)  Line 2500 + 0xd bytes   C++
    libpanda_d.dll!GeomPipelineReader::draw(GraphicsStateGuardianBase * gsg=0x0306e424, const GeomMunger * munger=0x02272514, const GeomVertexDataPipelineReader * data_reader=0x0080f408, bool force=false)  Line 1781 + 0x23 bytes   C++
    libpanda_d.dll!Geom::draw(GraphicsStateGuardianBase * gsg=0x0306e424, const GeomMunger * munger=0x02272514, const GeomVertexData * vertex_data=0x02272928, bool force=false, Thread * current_thread=0x02fcd46c)  Line 1219 + 0x19 bytes   C++
    libpanda_d.dll!CullableObject::draw_inline(GraphicsStateGuardianBase * gsg=0x0306e424, bool force=false, Thread * current_thread=0x02fcd46c)  Line 252   C++
    libpanda_d.dll!CullableObject::draw(GraphicsStateGuardianBase * gsg=0x0306e424, bool force=false, Thread * current_thread=0x02fcd46c)  Line 144   C++
    libpanda_d.dll!CullHandler::draw(CullableObject * object=0x022723d8, GraphicsStateGuardianBase * gsg=0x0306e424, bool force=false, Thread * current_thread=0x02fcd46c)  Line 27   C++
    libpanda_d.dll!CullBinStateSorted::draw(bool force=false, Thread * current_thread=0x02fcd46c)  Line 90 + 0x19 bytes   C++
    libpanda_d.dll!CullResult::draw(Thread * current_thread=0x02fcd46c)  Line 277 + 0x31 bytes   C++
    libpanda_d.dll!GraphicsEngine::do_draw(CullResult * cull_result=0x030906ac, SceneSetup * scene_setup=0x03090dcc, GraphicsOutput * win=0x030685e4, DisplayRegion * dr=0x03088ee4, Thread * current_thread=0x02fcd46c)  Line 1895   C++
    libpanda_d.dll!GraphicsEngine::draw_bins(GraphicsOutput * win=0x030685e4, DisplayRegion * dr=0x03088ee4, Thread * current_thread=0x02fcd46c)  Line 1535   C++
    libpanda_d.dll!GraphicsEngine::draw_bins(const ov_set<PointerTo<GraphicsOutput>,IndirectLess<GraphicsOutput> > & wlist={...}, Thread * current_thread=0x02fcd46c)  Line 1490   C++
    libpanda_d.dll!GraphicsEngine::WindowRenderer::do_frame(GraphicsEngine * engine=0x0306711c, Thread * current_thread=0x02fcd46c)  Line 2468   C++
    libpanda_d.dll!GraphicsEngine::render_frame()  Line 738   C++
    libframework_d.dll!PandaFramework::task_igloop(GenericAsyncTask * task=0x0226b868, void * data=0x0040d178)  Line 1567 + 0x15 bytes   C++
    libpanda_d.dll!GenericAsyncTask::do_task()  Line 76 + 0x1b bytes   C++
    libpanda_d.dll!AsyncTask::unlock_and_do_task()  Line 455 + 0xf bytes   C++
    libpanda_d.dll!AsyncTaskChain::service_one_task(AsyncTaskChain::AsyncTaskChainThread * thread=0x00000000)  Line 770 + 0xf bytes   C++
    libpanda_d.dll!AsyncTaskChain::do_poll()  Line 1306   C++
    libpanda_d.dll!AsyncTaskManager::poll()  Line 547   C++
    libframework_d.dll!PandaFramework::do_frame(Thread * current_thread=0x02fcd46c)  Line 832 + 0xe bytes   C++
    libframework_d.dll!PandaFramework::main_loop()  Line 847 + 0x13 bytes   C++
    pview.exe!main(int argc=1, char * * argv=0x03059650)  Line 370 + 0xd bytes   C++
    pview.exe!__tmainCRTStartup()  Line 586 + 0x19 bytes   C
    pview.exe!mainCRTStartup()  Line 403   C
    kernel32.dll!7561d0e9()    
    [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]   
    ntdll.dll!76e219bb()    
    ntdll.dll!76e2198e()    
    libdtool_d.dll!std::_Move_backward_opt<Filename *,Filename *,std::random_access_iterator_tag,std::_Undefined_move_tag>(Filename * _First=, Filename * _Last=, Filename * _Dest=, std::random_access_iterator_tag _First_dest_cat={...}, std::_Undefined_move_tag __formal={...}, std::_Undefined_move_tag __formal={...})  Line 2755 + 0xa bytes   C++



The line appears to be

Code: Select all
if (GLCAT.is_debug() && CLP(debug_buffers)) {


This is compiled with OPTIMIZE=1

The following errors are reported

Code: Select all
:display: loading display module: libpandagles_d.dll
Known pipe types:
  weglGraphicsPipe
(all display modules loaded.)
:display:windisplay: OS version: 6.0.2.6002
:display:windisplay:   Service Pack 2
:display:windisplay: max Mhz 2800000000, current Mhz 2800000000
:display:gsg:glesgsg(warning): Multitexture advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glesgsg(error): at 8321 of c:\panda3d-1.7.0\panda\src\glstuff\glGraphicsStateGuardian_src.cxx : GL error 1280
darkphoenix16
 
Posts: 52
Joined: Wed Nov 03, 2010 11:22 am

Postby darkphoenix16 » Wed Nov 17, 2010 9:02 am

I was able to get rid of the GL enumeration warning by forcibly disabling cube map support.
darkphoenix16
 
Posts: 52
Joined: Wed Nov 03, 2010 11:22 am

Postby darkphoenix16 » Tue Nov 23, 2010 4:19 pm

So no ideas on the ESP crash posted above?
darkphoenix16
 
Posts: 52
Joined: Wed Nov 03, 2010 11:22 am

Previous

Return to Compiling or Editing the Panda Source

Who is online

Users browsing this forum: No registered users and 0 guests