diff --git a/libsrc/general/mpi_interface.cpp b/libsrc/general/mpi_interface.cpp index fea0d8a0..36df5542 100644 --- a/libsrc/general/mpi_interface.cpp +++ b/libsrc/general/mpi_interface.cpp @@ -18,7 +18,6 @@ namespace netgen { char buf[10000]; strcpy (buf, cmd); - // MPI_Bcast (&buf, 100, MPI_CHAR, 0, MPI_COMM_WORLD); for (int dest = 1; dest < ntasks; dest++) diff --git a/ng/drawing.tcl b/ng/drawing.tcl index a19b1c8e..a0fcb102 100644 --- a/ng/drawing.tcl +++ b/ng/drawing.tcl @@ -21,7 +21,7 @@ puts "togl-version : $toglversion" set toglok 0 if { [Ng_GetToglVersion] == 2 } { # Togl 2.x - if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect false -create init -display draw -reshape reshape }] } { + if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true -create init -display draw -reshape reshape }] } { puts "no OpenGL" } { # puts "have Togl 2.1" @@ -29,7 +29,7 @@ if { [Ng_GetToglVersion] == 2 } { } } { # Togl 1.7 - if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect false }] } { + if {[catch {togl .ndraw -width 400 -height 300 -rgba true -double true -depth true -privatecmap false -stereo false -indirect true }] } { puts "no OpenGL" } { # puts "have Togl 1.7" diff --git a/ng/parallelfunc.cpp b/ng/parallelfunc.cpp index 48bcbf5d..2985f0d0 100644 --- a/ng/parallelfunc.cpp +++ b/ng/parallelfunc.cpp @@ -77,6 +77,7 @@ void ParallelRun() while ( true ) { message = MyMPI_RecvCmd(); + if ( message.compare(0, 3, "ngs") == 0 ) { // PrintMessage ( 1, "Starting NgSolve routine ", message ) ; @@ -137,7 +138,7 @@ void ParallelRun() string redraw_cmd; // MyMPI_Recv (redraw_cmd, 0, MPI_TAG_VIS); redraw_cmd = MyMPI_RecvCmd(); - + // PrintMessage (1, "Redraw - ", redraw_cmd); static string displname; @@ -155,6 +156,7 @@ void ParallelRun() MyMPI_Recv (contextid, 0, MPI_TAG_VIS); display = XOpenDisplay (displname.c_str()); + /* PrintMessage (3, "displ - name = ", displname); PrintMessage (3, "display = ", display, @@ -163,20 +165,21 @@ void ParallelRun() " , h = ", XDisplayHeight (display, 0)); */ - // Window win; - // int wx, wy; - // unsigned int ww, wh, bw, depth; - // cout << "got drawable: " << curDrawable << ", contextid: " << contextid << endl; + /* + Window win; + int wx, wy; + unsigned int ww, wh, bw, depth; + cout << "got drawable: " << curDrawable << ", contextid: " << contextid << endl; - // cout << "get geometriy..." << endl; - // XGetGeometry(display, curDrawable, &win, - // &wx, &wy, &ww, &wh, - // &bw, &depth); - // cout << "have!" << endl; - - // cout << "P" << id << ": window-props: x = " << wx << ", y = " << wy - // << ", w = " << ww << ", h = " << wh << ", depth = " << depth << endl; + cout << "get geometriy..." << endl; + XGetGeometry(display, curDrawable, &win, + &wx, &wy, &ww, &wh, + &bw, &depth); + cout << "have!" << endl; + cout << "P" << id << ": window-props: x = " << wx << ", y = " << wy + << ", w = " << ww << ", h = " << wh << ", depth = " << depth << endl; + */ #define VISUAL #ifdef VISUAL @@ -221,29 +224,23 @@ void ParallelRun() attrib_list[attrib_count++] = GLX_DOUBLEBUFFER; attrib_list[attrib_count++] = None; - - { - int hi = 0; - std::cout << "min attribs = "; - while (attrib_list[hi] != None) - std::cout << attrib_list[hi++] << " "; - std::cout << std::endl; - } - - cout << "choose visual!!" << endl; - visinfo = NULL; + visinfo = glXChooseVisual(display, 0, attrib_list); cout << "have vis?" << endl; + if (visinfo) { /* found a GLX visual! */ + // cout << "found VISINFO !!!" << endl; cout << "found VISINFO !!!" << endl; + /* int hi = 0; std::cout << "attribs = "; while (attrib_list[hi] != None) std::cout << attrib_list[hi++] << " "; std::cout << std::endl; + */ break; } @@ -251,17 +248,15 @@ void ParallelRun() if (!visinfo) cerr << "no VISINFO found" << endl; - #else - //get all confs + //get all possible confs int nconfs; auto cptr = glXGetFBConfigs (display,0, &nconfs); - cout << "found " << nconfs << " valid confs " << endl; Array conf_ids(nconfs); for(int k=0;kFBConfig->visual and try with that + //get drawable->FBConfig->visual unsigned int d_fbc_id; glXQueryDrawable( display, curDrawable, GLX_FBCONFIG_ID, &d_fbc_id); GLXFBConfig d_fbc; @@ -287,7 +282,8 @@ void ParallelRun() // PrintMessage (1, "redraw - init complete"); } - + + if (redraw_cmd == "broadcast") { vsmesh.Broadcast ();