[android-porting] Re: Tearing issue with OpenGL

2009-04-01 Thread Manish
Hi Jay, I missed one thing in the psuedo code. pan_display() { 1. gets the yoffset(0/480) and updates the display base address in a global variable 2. enables the interuppt on vertical sync 3. waits for event } isr() { 1. clears the interrupt 2. gets the base address from global

[android-porting] Re: Tearing issue with OpenGL

2009-04-01 Thread arden jay
Hi Manish, My point is, if you disable/enable irq at each pan display, you will encounter that kernel resend the interrupt. Not the real hardware vsync triggers. So, if you check your waveform, you will find you send out data between two vsync interval. If you cross the next vsync, you will get

[android-porting] Re: Tearing issue with OpenGL

2009-04-01 Thread Manish
Hi Jay, I tried disabling CONFIG_HARDIRQS_SW_RESEND but still the situation is same. I agree with you if the data is sent between two vsync it will produce tearing. In my case out of below 5 applications only Translucent GLSurfaceView is giving tearing other applications are working fine.

[android-porting] Re: Tearing issue with OpenGL

2009-04-01 Thread Sean McNeil
The code below assumes that the change in the display base address happens immediately. If you have an architecture that provides shadow registers, then you want to set them in pan_display and not in the isr and just wait for the VSYNC. Manish wrote: Hi Jay, I missed one thing in the

[android-porting] Re: Tearing issue with OpenGL

2009-03-30 Thread arden....@gmail.com
Hi, I am assuming you are working on ARM, and the vsync is edge triggered. Looks like your vsync is trigged at a constant rate. In kernel, it will re-trigger the interrupt in resend.c right after enable_irq. So, you may encounter tearing because of this. (At this case, it is not real hardware