Imagination PowerVR SDK Blog

All 4 texture units enabled/disabled at once. Bug?

pvrvframe

#1

Hello!


I’ve been attempting to work with multiple texture units in both the ES 1.1 emulator and PVRVFrame - the 2.10 version on Windows 7 64 bit, but in 32 bit mode.

A funny thing happens: If I activate any texture unit and enable/disable it, all other texture units (4 are advertised) become enabled/disabled. Similar code on iPhone hardware works as expected: each texture unit is enabled/disabled separately.

Has anyone experienced this? 

Is this a limitiation of the emulator? If so, why doesn’t PVRVFrame work correctly?

Is the ES 1.1 profile emulator still being developed?

Here is a c++ code snippet to quickly reproduce:

// start with ‘fresh’ context<span =“Apple-tab-span” style=“white-space:pre”>
glActiveTexture(GL_TEXTURE0);
int ena0 = glIsEnabled( GL_TEXTURE_2D ); // equals 0, OK
glActiveTexture(GL_TEXTURE1);
int ena1 = glIsEnabled( GL_TEXTURE_2D ); // equals 0, OK

glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D); // enable unit 0
ena0 = glIsEnabled( GL_TEXTURE_2D ); // equals 1, OK
glActiveTexture(GL_TEXTURE1);
ena1 = glIsEnabled( GL_TEXTURE_2D ); // equals 1, should be 0, not OK



#2

Hi there,

Thanks for the info. This is indeed a bug in the current version of the emulator. I'll push an updated version onto the website soon which will fix this and a number of other issues. In the meantime if this is a blocking issue for you then send an e-mail to devtech@imgtec.com referencing this thread and I'll hook you up with a development drop for your platform.



chris2012-07-06 14:43:48

#3

Hello!


Thanks for this, the fix for this bug will really help me out.
I think I’ll wait for the updated version of the emulator, since I’m currently busy on other projects.