VirtualBox

Ticket #3786 (new defect)

Opened 5 years ago

Last modified 4 years ago

OpenGL feedback makes application freeze, picking doesn't work.

Reported by: egasimus Owned by:
Priority: major Component: 3D support
Version: VirtualBox 2.2.0 Keywords: OpenGL, GL_SELECT, GL_FEEDBACK, picking
Cc: Guest type: Windows
Host type: Linux

Description

VirtualBox 2.2.0 closed source here, running Windows XP hosted on Ubuntu Intrepid. I'm developing an OpenGL application which relies heavily on GL_SELECT and GL_FEEDBACK render modes. However, neither seems to work for me. On leaving GL_SELECT, glRenderMode always returns -1 hits, and GL_FEEDBACK outright freezes the program. I thought it was me who was doing something wrong, but then I ran my program in Wine, and it worked like a charm. What could be done to fix this issue?

Change History

comment:1 Changed 5 years ago by leonid

Going to close unless you provide more info.

Just checked and feedback/select works as expected in testcases here.

Apart from that, make sure you have 2.2.0 additions installed. Also checking things under Wine isn't a good way to prove something is working, check in real OS. Check glGetError results after every gl call you make, try to extract the failing testcase from your closed source.

comment:2 Changed 5 years ago by chunkyks

I'm getting problems with GL_SELECT too. The windows binary works fine if I disable hardware 3d acceleration, and under wine, but not if I have hardware 3d acceleration enabled.

I'm using 32-bit XP Pro SP3 in the VM VirtualBox is, at time of writing, the most recent version in the VirtualBox repository for my ubuntu distribution, 32-bit 9.04: 2.2.4 r47978. I'm using a quad-core Xeon X5460@3.16GHz The system has 4G of RAM.

My code looks like this where it checks for hits:

GLint hits = glRenderMode(GL_RENDER);
GLenum err = glGetError();
if(GL_NO_ERROR != err) {
   printf("Error %i: %s\n", err, gluErrorString(err));
}
printf("hits=%i\n");

In all three: wine, vm +hardware accel, vm -hardware accel, I get no error. In wine and vm -hardware accel, I get a number of hits. In vm +hardware accel, I get hits=0

It's worth noting that it works if I reboot into windows, also.

Unfortunately, I can't release my code or binaries. On the other hand, the best simplest example of using GL_SELECT is in the redbook, select.c  http://opengl-redbook.com/code/OpenGL-1.4.tgz

comment:3 Changed 5 years ago by leonid

The point is that redbook sample as well as couple of other samples works just like expected here. For ex, here's an output from the guest vm: hits = 2

number of names for hit = 1

z1 is 0.999999; z2 is 0.999999

the name is 1

number of names for hit = 1

z1 is 0.2; z2 is 1.8

the name is 3

Please try to extract some failing testcase from your source which you could share as a binary or source.

comment:4 Changed 5 years ago by leonid

Also please check host log and run your app on the guest with CR_DEBUG_FILE set to c:\log.txt and check for errors there as well.

comment:5 Changed 4 years ago by jesspepper

I have exactly the same problem!

comment:6 Changed 4 years ago by jesspepper

Is anybody still looking at this? I can give some information if needed.

Jesse

comment:7 Changed 4 years ago by leonid

Nope...because as I wrote few comments above, simple samples work just like expected. And I need atleast a log file of failures.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use