Hi Sachin,
I have summarized current status of clutk porting below, and if you have time, we can check the left issues together as we discussed in the conf-call yesterday. I think the issue marked with yellow has highest priority currently.
Branch: + https://code.launchpad.net/~jammy-zhou/clutk/gles2-shaders.hacky
Issues Fixed: + Normalize clutter vetex positions to adapt to the vertex shader + Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive, which is not supported by gles2 + Comment out cogl_flush() call in some functions (such as ctk_effect_blur_paint) to make sure following gles2 rendering can be shown + Fix render to cached texture problems
Issues Left: + run test-clutk, there is crash at "/Effect/Animation/Animation" test suite. This issue has already been reported by Alexandros, see https://bugs.launchpad.net/clutk/+bug/614415, and it should be an upstream problem. + when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950 2.1 1 10", crash happens with following error message. The error happens when call glBindFramebuffer (GL_FRAMEBUFFER, 0). Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File ./ctk-render-target.c at line: 581 + the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint) seems independent from other gles2 rendering, and it is not rendered into cached texture for later display. This means that we cannot add special effects to the actor.
Regards, Jammy **
On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou jammy.zhou@linaro.org wrote:
Issues Fixed:
- Normalize clutter vetex positions to adapt to the vertex shader
- Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive, which
is not supported by gles2
- Comment out cogl_flush() call in some functions (such as
ctk_effect_blur_paint) to make sure following gles2 rendering can be shown
- Fix render to cached texture problems
very nice.
is the cogl_flash call comment something we want to keep or does that show an underlying issue we should try to fix?
Issues Left:
- run test-clutk, there is crash at "/Effect/Animation/Animation" test
suite. This issue has already been reported by Alexandros, see https://bugs.launchpad.net/clutk/+bug/614415, and it should be an upstream problem.
neil replied in the other mail thread and has a patch for clutter that we should try. maybe see if that helps
- when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950 2.1
1 10", crash happens with following error message. The error happens when call glBindFramebuffer (GL_FRAMEBUFFER, 0). Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File ./ctk-render-target.c at line: 581
Is this a regression from our gles port? e.g. if you run the same command with desktop gl does it work?
- the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint)
seems independent from other gles2 rendering, and it is not rendered into cached texture for later display. This means that we cannot add special effects to the actor.
Do you think its a bug that it is independent from other rendering? what happens if we try to fix this?
Hi Alexander,
On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack asac@linaro.org wrote:
On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou jammy.zhou@linaro.org wrote:
Issues Fixed:
- Normalize clutter vetex positions to adapt to the vertex shader
- Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive,
which
is not supported by gles2
- Comment out cogl_flush() call in some functions (such as
ctk_effect_blur_paint) to make sure following gles2 rendering can be
shown
- Fix render to cached texture problems
very nice.
is the cogl_flash call comment something we want to keep or does that show an underlying issue we should try to fix?
[jammy] Because cogl_flush is implemented based on fixed pipeline, if we want to really fix it, we may need to use cogl for gles2 support in clutk, I think. So I just comment out them in some proper places for a workaround.
Issues Left:
- run test-clutk, there is crash at "/Effect/Animation/Animation" test
suite. This issue has already been reported by Alexandros, see https://bugs.launchpad.net/clutk/+bug/614415, and it should be an
upstream
problem.
neil replied in the other mail thread and has a patch for clutter that we should try. maybe see if that helps
[jammy] I have tried the patch from Neil, and it works, but now there is the same issue for glBindFramebuffer as mentioned below at "/Effect/Animation/Signals" test suite when run test-clutk.
- when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950
2.1
1 10", crash happens with following error message. The error happens when call glBindFramebuffer (GL_FRAMEBUFFER, 0). Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File ./ctk-render-target.c at line: 581
Is this a regression from our gles port? e.g. if you run the same command with desktop gl does it work?
[jammy] This is a regression from our gles port.
- the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint)
seems independent from other gles2 rendering, and it is not rendered into cached texture for later display. This means that we cannot add special effects to the actor.
Do you think its a bug that it is independent from other rendering? what happens if we try to fix this?
[jammy] I think it is not a bug, but incompatibility between cogl rendering and our gles2 rendering.
--
- Alexander
Jammy,
With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment?
cheers, Jesse
On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote:
Hi Alexander,
On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack asac@linaro.org wrote: On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou jammy.zhou@linaro.org wrote: > > Issues Fixed: > + Normalize clutter vetex positions to adapt to the vertex shader > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive, which > is not supported by gles2 > + Comment out cogl_flush() call in some functions (such as > ctk_effect_blur_paint) to make sure following gles2 rendering can be shown > + Fix render to cached texture problems very nice. is the cogl_flash call comment something we want to keep or does that show an underlying issue we should try to fix?
[jammy] Because cogl_flush is implemented based on fixed pipeline, if we want to really fix it, we may need to use cogl for gles2 support in clutk, I think. So I just comment out them in some proper places for a workaround.
> > Issues Left: > + run test-clutk, there is crash at "/Effect/Animation/Animation" test > suite. This issue has already been reported by Alexandros, see > https://bugs.launchpad.net/clutk/+bug/614415, and it should be an upstream > problem. neil replied in the other mail thread and has a patch for clutter that we should try. maybe see if that helps
[jammy] I have tried the patch from Neil, and it works, but now there is the same issue for glBindFramebuffer as mentioned below at "/Effect/Animation/Signals" test suite when run test-clutk.
> + when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950 2.1 > 1 10", crash happens with following error message. The error happens when > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File > ./ctk-render-target.c at line: 581 Is this a regression from our gles port? e.g. if you run the same command with desktop gl does it work?
[jammy] This is a regression from our gles port.
> + the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint) > seems independent from other gles2 rendering, and it is not rendered into > cached texture for later display. This means that we cannot add special > effects to the actor. Do you think its a bug that it is independent from other rendering? what happens if we try to fix this?
[jammy] I think it is not a bug, but incompatibility between cogl rendering and our gles2 rendering.
-- - Alexander
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Hi Jesse,
Thanks for your point. I can confirm that the fbo extension is available there for this functionality, and there is no such error messages when call the same function in other clutk test cases. And yes, the run-time check for the fbo capability is not implemented, it is assumed that this extension is supported by default now (It should not be a problem for opengl es2.0 driver with fbo extension supported, I think).
Regards, Jammy
On Wed, Sep 15, 2010 at 5:22 AM, Jesse Barker jesse.barker@arm.com wrote:
Jammy,
With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment?
cheers, Jesse
On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote:
Hi Alexander,
On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack asac@linaro.org wrote: On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou jammy.zhou@linaro.org wrote: > > Issues Fixed: > + Normalize clutter vetex positions to adapt to the vertex shader > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive, which > is not supported by gles2 > + Comment out cogl_flush() call in some functions (such as > ctk_effect_blur_paint) to make sure following gles2 rendering can be shown > + Fix render to cached texture problems
very nice. is the cogl_flash call comment something we want to keep or does that show an underlying issue we should try to fix?
[jammy] Because cogl_flush is implemented based on fixed pipeline, if we want to really fix it, we may need to use cogl for gles2 support in clutk, I think. So I just comment out them in some proper places for a workaround.
> > Issues Left: > + run test-clutk, there is crash at "/Effect/Animation/Animation" test > suite. This issue has already been reported by Alexandros, see > https://bugs.launchpad.net/clutk/+bug/614415, and it should be an upstream > problem. neil replied in the other mail thread and has a patch for clutter that we should try. maybe see if that helps
[jammy] I have tried the patch from Neil, and it works, but now there is the same issue for glBindFramebuffer as mentioned below at "/Effect/Animation/Signals" test suite when run test-clutk.
> + when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950 2.1 > 1 10", crash happens with following error message. The error happens when > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File > ./ctk-render-target.c at line: 581 Is this a regression from our gles port? e.g. if you run the same command with desktop gl does it work?
[jammy] This is a regression from our gles port.
> + the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint) > seems independent from other gles2 rendering, and it is not rendered into > cached texture for later display. This means that we cannot add special > effects to the actor. Do you think its a bug that it is independent from other rendering? what happens if we try to fix this?
[jammy] I think it is not a bug, but incompatibility between cogl rendering and our gles2 rendering.
-- - Alexander
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
After debugging into glBindFramebuffer, the error is not for this API call. And the GL_INVALID_OPERATION error should be caused by previous opengl call, for which CheckGLError is not called.
Regards, Jammy
On Wed, Sep 15, 2010 at 9:19 AM, Jammy Zhou jammy.zhou@linaro.org wrote:
Hi Jesse,
Thanks for your point. I can confirm that the fbo extension is available there for this functionality, and there is no such error messages when call the same function in other clutk test cases. And yes, the run-time check for the fbo capability is not implemented, it is assumed that this extension is supported by default now (It should not be a problem for opengl es2.0 driver with fbo extension supported, I think).
Regards, Jammy
On Wed, Sep 15, 2010 at 5:22 AM, Jesse Barker jesse.barker@arm.comwrote:
Jammy,
With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment?
cheers, Jesse
On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote:
Hi Alexander,
On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack asac@linaro.org wrote: On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou jammy.zhou@linaro.org wrote: > > Issues Fixed: > + Normalize clutter vetex positions to adapt to the vertex shader > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS primitive, which > is not supported by gles2 > + Comment out cogl_flush() call in some functions (such as > ctk_effect_blur_paint) to make sure following gles2 rendering can be shown > + Fix render to cached texture problems
very nice. is the cogl_flash call comment something we want to keep or does that show an underlying issue we should try to fix?
[jammy] Because cogl_flush is implemented based on fixed pipeline, if we want to really fix it, we may need to use cogl for gles2 support in clutk, I think. So I just comment out them in some proper places for a workaround.
> > Issues Left: > + run test-clutk, there is crash at "/Effect/Animation/Animation" test > suite. This issue has already been reported by Alexandros, see > https://bugs.launchpad.net/clutk/+bug/614415, and it should be an upstream > problem. neil replied in the other mail thread and has a patch for clutter that we should try. maybe see if that helps
[jammy] I have tried the patch from Neil, and it works, but now there is the same issue for glBindFramebuffer as mentioned below at "/Effect/Animation/Signals" test suite when run test-clutk.
> + when run "test-clutk-perf 0 10 125 5 single animated blur 0.3.2 GMA950 2.1 > 1 10", crash happens with following error message. The error happens when > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error in File > ./ctk-render-target.c at line: 581 Is this a regression from our gles port? e.g. if you run the same command with desktop gl does it work?
[jammy] This is a regression from our gles port.
> + the actor painting (i.e, "paint_func(actor);" in ctk_effect_blur_paint) > seems independent from other gles2 rendering, and it is not rendered into > cached texture for later display. This means that we cannot add special > effects to the actor. Do you think its a bug that it is independent from other rendering? what happens if we try to fix this?
[jammy] I think it is not a bug, but incompatibility between cogl rendering and our gles2 rendering.
-- - Alexander
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
On Wed, 2010-09-15 at 20:58 +0800, Jammy Zhou wrote:
After debugging into glBindFramebuffer, the error is not for this API call. And the GL_INVALID_OPERATION error should be caused by previous opengl call, for which CheckGLError is not called.
Glad to hear it. It would otherwise have suggested a potential implementation problem as the spec doesn't define that error for that situation.
cheers, Jesse
Regards, Jammy
On Wed, Sep 15, 2010 at 9:19 AM, Jammy Zhou jammy.zhou@linaro.org wrote: Hi Jesse, Thanks for your point. I can confirm that the fbo extension is available there for this functionality, and there is no such error messages when call the same function in other clutk test cases. And yes, the run-time check for the fbo capability is not implemented, it is assumed that this extension is supported by default now (It should not be a problem for opengl es2.0 driver with fbo extension supported, I think). Regards, Jammy On Wed, Sep 15, 2010 at 5:22 AM, Jesse Barker jesse.barker@arm.com wrote: Jammy, With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment? cheers, Jesse On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote: > Hi Alexander, > > On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack asac@linaro.org > wrote: > On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou > jammy.zhou@linaro.org wrote: > > > > Issues Fixed: > > + Normalize clutter vetex positions to adapt to the vertex > shader > > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS > primitive, which > > is not supported by gles2 > > + Comment out cogl_flush() call in some functions (such as > > ctk_effect_blur_paint) to make sure following gles2 > rendering can be shown > > + Fix render to cached texture problems > > > very nice. > > is the cogl_flash call comment something we want to keep or > does that > show an underlying issue we should try to fix? > > [jammy] Because cogl_flush is implemented based on fixed pipeline, if > we want to really fix it, we may need to use cogl for gles2 support in > clutk, I think. So I just comment out them in some proper places for a > workaround. > > > > > > > Issues Left: > > + run test-clutk, there is crash at > "/Effect/Animation/Animation" test > > suite. This issue has already been reported by Alexandros, > see > > https://bugs.launchpad.net/clutk/+bug/614415, and it should > be an upstream > > problem. > > > neil replied in the other mail thread and has a patch for > clutter that > we should try. maybe see if that helps > > [jammy] I have tried the patch from Neil, and it works, but now there > is the same issue for glBindFramebuffer as mentioned below at > "/Effect/Animation/Signals" test suite when run test-clutk. > > > > > + when run "test-clutk-perf 0 10 125 5 single animated blur > 0.3.2 GMA950 2.1 > > 1 10", crash happens with following error message. The error > happens when > > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error > in File > > ./ctk-render-target.c at line: 581 > > > Is this a regression from our gles port? e.g. if you run the > same > command with desktop gl does it work? > > [jammy] This is a regression from our gles port. > > > > + the actor painting (i.e, "paint_func(actor);" in > ctk_effect_blur_paint) > > seems independent from other gles2 rendering, and it is not > rendered into > > cached texture for later display. This means that we cannot > add special > > effects to the actor. > > > Do you think its a bug that it is independent from other > rendering? > what happens if we try to fix this? > > [jammy] I think it is not a bug, but incompatibility between cogl > rendering and our gles2 rendering. > > > > > -- > > - Alexander > > _______________________________________________ > linaro-dev mailing list > linaro-dev@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-dev -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Yes. Normally the GL error should be retrieved by call glGetError. In cogl of clutter, "GE" macro definition is used to check the GL error. But only when COGL_GL_DEBUG is defined, glGetError is called in GE.
Regards, Jammy
On Wed, Sep 15, 2010 at 10:10 PM, Jesse Barker jesse.barker@arm.com wrote:
On Wed, 2010-09-15 at 20:58 +0800, Jammy Zhou wrote:
After debugging into glBindFramebuffer, the error is not for this API call. And the GL_INVALID_OPERATION error should be caused by previous opengl call, for which CheckGLError is not called.
Glad to hear it. It would otherwise have suggested a potential implementation problem as the spec doesn't define that error for that situation.
cheers, Jesse
Regards, Jammy
On Wed, Sep 15, 2010 at 9:19 AM, Jammy Zhou jammy.zhou@linaro.org wrote: Hi Jesse,
Thanks for your point. I can confirm that the fbo extension is available there for this functionality, and there is no such error messages when call the same function in other clutk test cases. And yes, the run-time check for the fbo capability is not implemented, it is assumed that this extension is supported by default now (It should not be a problem for opengl es2.0 driver with fbo extension supported, I think). Regards, Jammy On Wed, Sep 15, 2010 at 5:22 AM, Jesse Barker <jesse.barker@arm.com> wrote: Jammy, With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment? cheers, Jesse On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote: > Hi Alexander, > > On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack <asac@linaro.org> > wrote: > On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou > <jammy.zhou@linaro.org> wrote: > > > > Issues Fixed: > > + Normalize clutter vetex positions to adapt to the vertex > shader > > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS > primitive, which > > is not supported by gles2 > > + Comment out cogl_flush() call in some functions (such as > > ctk_effect_blur_paint) to make sure following gles2 > rendering can be shown > > + Fix render to cached texture problems > > > very nice. > > is the cogl_flash call comment something we want to keep or > does that > show an underlying issue we should try to fix? > > [jammy] Because cogl_flush is implemented based on fixed pipeline, if > we want to really fix it, we may need to use cogl for gles2 support in > clutk, I think. So I just comment out them in some proper places for a > workaround. > > > > > > > Issues Left: > > + run test-clutk, there is crash at > "/Effect/Animation/Animation" test > > suite. This issue has already been reported by Alexandros, > see > > https://bugs.launchpad.net/clutk/+bug/614415, and it should > be an upstream > > problem. > > > neil replied in the other mail thread and has a patch for > clutter that > we should try. maybe see if that helps > > [jammy] I have tried the patch from Neil, and it works, but now there > is the same issue for glBindFramebuffer as mentioned below at > "/Effect/Animation/Signals" test suite when run test-clutk. > > > > > + when run "test-clutk-perf 0 10 125 5 single animated blur > 0.3.2 GMA950 2.1 > > 1 10", crash happens with following error message. The error > happens when > > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error > in File > > ./ctk-render-target.c at line: 581 > > > Is this a regression from our gles port? e.g. if you run the > same > command with desktop gl does it work? > > [jammy] This is a regression from our gles port. > > > > + the actor painting (i.e, "paint_func(actor);" in > ctk_effect_blur_paint) > > seems independent from other gles2 rendering, and it is not > rendered into > > cached texture for later display. This means that we cannot > add special > > effects to the actor. > > > Do you think its a bug that it is independent from other > rendering? > what happens if we try to fix this? > > [jammy] I think it is not a bug, but incompatibility between cogl > rendering and our gles2 rendering. > > > > > -- > > - Alexander > > _______________________________________________ > linaro-dev mailing list > linaro-dev@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-dev -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
I have found the point in cogl gles2 driver for this GL_INVALID_OPERATION error. Because our shader program and cogl shader program are used sequentially, we must make sure in _cogl_wrap_prepare_for_draw function that the correct cogl shader program is used to avoid invalid operation. I have prepared a clutter patch as attached.
Hi Alexandros, Could you please add this patch to the clutter branch in your ppa?
Regards, Jammy
On Wed, Sep 15, 2010 at 10:10 PM, Jesse Barker jesse.barker@arm.com wrote:
On Wed, 2010-09-15 at 20:58 +0800, Jammy Zhou wrote:
After debugging into glBindFramebuffer, the error is not for this API call. And the GL_INVALID_OPERATION error should be caused by previous opengl call, for which CheckGLError is not called.
Glad to hear it. It would otherwise have suggested a potential implementation problem as the spec doesn't define that error for that situation.
cheers, Jesse
Regards, Jammy
On Wed, Sep 15, 2010 at 9:19 AM, Jammy Zhou jammy.zhou@linaro.org wrote: Hi Jesse,
Thanks for your point. I can confirm that the fbo extension is available there for this functionality, and there is no such error messages when call the same function in other clutk test cases. And yes, the run-time check for the fbo capability is not implemented, it is assumed that this extension is supported by default now (It should not be a problem for opengl es2.0 driver with fbo extension supported, I think). Regards, Jammy On Wed, Sep 15, 2010 at 5:22 AM, Jesse Barker <jesse.barker@arm.com> wrote: Jammy, With respect to the CheckGLError assertion in test-clutk-perf, assuming that glGetError is called per OpenGL entry point (i.e. you are not seeing an error triggered by another call), the only way you should be seeing an invalid operation when setting framebuffer binding(s) back to the default (glBindFramebuffer(GL_FRAMEBUFFER, 0)) is if the framebuffer object extension functionality is simply not there (your OpenGL or GLES implementation is too old). I notice that the 'WITH_GLES' paths have fewer checks for capabilities. Is it possible that the code is simply not checking at the moment? cheers, Jesse On Tue, 2010-09-14 at 17:23 +0800, Jammy Zhou wrote: > Hi Alexander, > > On Tue, Sep 14, 2010 at 4:31 PM, Alexander Sack <asac@linaro.org> > wrote: > On Tue, Sep 14, 2010 at 9:38 AM, Jammy Zhou > <jammy.zhou@linaro.org> wrote: > > > > Issues Fixed: > > + Normalize clutter vetex positions to adapt to the vertex > shader > > + Use GL_TRIANGLE_FAN to implement original used GL_QUADS > primitive, which > > is not supported by gles2 > > + Comment out cogl_flush() call in some functions (such as > > ctk_effect_blur_paint) to make sure following gles2 > rendering can be shown > > + Fix render to cached texture problems > > > very nice. > > is the cogl_flash call comment something we want to keep or > does that > show an underlying issue we should try to fix? > > [jammy] Because cogl_flush is implemented based on fixed pipeline, if > we want to really fix it, we may need to use cogl for gles2 support in > clutk, I think. So I just comment out them in some proper places for a > workaround. > > > > > > > Issues Left: > > + run test-clutk, there is crash at > "/Effect/Animation/Animation" test > > suite. This issue has already been reported by Alexandros, > see > > https://bugs.launchpad.net/clutk/+bug/614415, and it should > be an upstream > > problem. > > > neil replied in the other mail thread and has a patch for > clutter that > we should try. maybe see if that helps > > [jammy] I have tried the patch from Neil, and it works, but now there > is the same issue for glBindFramebuffer as mentioned below at > "/Effect/Animation/Signals" test suite when run test-clutk. > > > > > + when run "test-clutk-perf 0 10 125 5 single animated blur > 0.3.2 GMA950 2.1 > > 1 10", crash happens with following error message. The error > happens when > > call glBindFramebuffer (GL_FRAMEBUFFER, 0). > > Clutk-WARNING **: [CheckGLError] GL_INVALID_OPERATION error > in File > > ./ctk-render-target.c at line: 581 > > > Is this a regression from our gles port? e.g. if you run the > same > command with desktop gl does it work? > > [jammy] This is a regression from our gles port. > > > > + the actor painting (i.e, "paint_func(actor);" in > ctk_effect_blur_paint) > > seems independent from other gles2 rendering, and it is not > rendered into > > cached texture for later display. This means that we cannot > add special > > effects to the actor. > > > Do you think its a bug that it is independent from other > rendering? > what happens if we try to fix this? > > [jammy] I think it is not a bug, but incompatibility between cogl > rendering and our gles2 rendering. > > > > > -- > > - Alexander > > _______________________________________________ > linaro-dev mailing list > linaro-dev@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-dev -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
On Thu, Sep 16, 2010 at 01:25:26PM +0800, Jammy Zhou wrote:
I have found the point in cogl gles2 driver for this GL_INVALID_OPERATION error. Because our shader program and cogl shader program are used sequentially, we must make sure in _cogl_wrap_prepare_for_draw function that the correct cogl shader program is used to avoid invalid operation. I have prepared a clutter patch as attached.
Hi Alexandros, Could you please add this patch to the clutter branch in your ppa?
Regards, Jammy
Hi Jammy!
Sure, I will include this patch. Is this patch upstreamable or is it very specific to our situation?
Thanks, Alexandros
Hi Alexandros,
I think this patch is upstreamable.
Regards, Jammy
On Fri, Sep 17, 2010 at 3:19 PM, Alexandros Frantzis < alexandros.frantzis@linaro.org> wrote:
On Thu, Sep 16, 2010 at 01:25:26PM +0800, Jammy Zhou wrote:
I have found the point in cogl gles2 driver for this GL_INVALID_OPERATION error. Because our shader program and cogl shader program are used sequentially, we must make sure in _cogl_wrap_prepare_for_draw function
that
the correct cogl shader program is used to avoid invalid operation. I
have
prepared a clutter patch as attached.
Hi Alexandros, Could you please add this patch to the clutter branch in your ppa?
Regards, Jammy
Hi Jammy!
Sure, I will include this patch. Is this patch upstreamable or is it very specific to our situation?
Thanks, Alexandros