Re: [Mesa-dev] Extension help

2019-08-02 Thread Fritz Koenig
On Fri, Aug 2, 2019 at 3:03 PM Ian Romanick  wrote:
>
> On 8/2/19 1:13 PM, Fritz Koenig wrote:
> > Hi,
> >
> > I would like to be able to use the MESA_framebuffer_flip_y extension
> > in GLES 3.0.  The blocker is that FramebufferParameteri is not part of
> > GLES 3.0.  I have explored a couple of ways of achieving this.
> >
> > 1.   FramebufferParameteri was first provided by the GL extension
> > ARB_framebuffer_no_attachments.  However,
> > ARB_framebuffer_no_attachments was never a GLES extension.  An option
> > would be to modify the ARB_framebuffer_no_attachments spec to make it
> > an extension for GLES.
> >
> > 2.  Change the MESA_framebuffer_flip_y spec to allow the extension to
> > implement FramebufferParameteri.
>
> GLES has more strict rules about what functions can be advertised than
> desktop OpenGL.  Since glFramebufferParameteri is part of the reserved
> namespace, I'm not 100% sure that it's legal to expose it in pre-3.1.  I
> would suggest making a PR to the registry first.
>
I have opened a pr with Khronos.
https://github.com/KhronosGroup/OpenGL-Registry/pull/289

> My gut tells me you're going to have to add a FramebufferParameteriMESA
> function that is an alias of FramebufferParameteri.
>
Thanks for the feedback.  I was hoping to be able to drop in
FramebufferParameteri, but I believe you are correct that I need
FramebufferParameteriMESA.

> Has this extension already shipped in a Mesa release?
>
Yes, it has was present in Mesa 19

> > I choose the 2nd option and put together a pr for it[1].
> >
> > I didn't get the implementation quite right, and I'm looking for some
> > help.  My change is failing the DispatchSanity_test.GLES3 test:
> >
> > [ RUN  ] DispatchSanity_test.GLES3
> > ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
> >   Expected: nop_table[i]
> >   Which is: 0x563d50d6fa01
> > To be equal to: table[i]
> >   Which is: 0x563d50db158a
> > i = 888 (FramebufferParameteri)
> > ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
> >   Expected: nop_table[i]
> >   Which is: 0x563d50d6fa01
> > To be equal to: table[i]
> >   Which is: 0x563d50db1add
> > i = 889 (GetFramebufferParameteriv)
> > [  FAILED  ] DispatchSanity_test.GLES3 (1 ms)
> >
> > It appears there is a problem with the way that I'm
> > defining/redefining FramebufferParameteri.  I've tried adding it to
> > src/mapi/glapi/gen/es_EXT.xml, but the only way I was able to achieve
> > that was to give it a different function name and an alias.
> >
> > Does anyone have experience with this sort of backporting of
> > extensions that could offer some insight on what I might be doing
> > wrong?
> >
> > Thanks.
> >
> > -Fritz
> >
> > [1]: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1560
> > ___
> > mesa-dev mailing list
> > mesa-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] Extension help

2019-08-02 Thread Ian Romanick
On 8/2/19 1:13 PM, Fritz Koenig wrote:
> Hi,
> 
> I would like to be able to use the MESA_framebuffer_flip_y extension
> in GLES 3.0.  The blocker is that FramebufferParameteri is not part of
> GLES 3.0.  I have explored a couple of ways of achieving this.
> 
> 1.   FramebufferParameteri was first provided by the GL extension
> ARB_framebuffer_no_attachments.  However,
> ARB_framebuffer_no_attachments was never a GLES extension.  An option
> would be to modify the ARB_framebuffer_no_attachments spec to make it
> an extension for GLES.
> 
> 2.  Change the MESA_framebuffer_flip_y spec to allow the extension to
> implement FramebufferParameteri.

GLES has more strict rules about what functions can be advertised than
desktop OpenGL.  Since glFramebufferParameteri is part of the reserved
namespace, I'm not 100% sure that it's legal to expose it in pre-3.1.  I
would suggest making a PR to the registry first.

My gut tells me you're going to have to add a FramebufferParameteriMESA
function that is an alias of FramebufferParameteri.

Has this extension already shipped in a Mesa release?

> I choose the 2nd option and put together a pr for it[1].
> 
> I didn't get the implementation quite right, and I'm looking for some
> help.  My change is failing the DispatchSanity_test.GLES3 test:
> 
> [ RUN  ] DispatchSanity_test.GLES3
> ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
>   Expected: nop_table[i]
>   Which is: 0x563d50d6fa01
> To be equal to: table[i]
>   Which is: 0x563d50db158a
> i = 888 (FramebufferParameteri)
> ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
>   Expected: nop_table[i]
>   Which is: 0x563d50d6fa01
> To be equal to: table[i]
>   Which is: 0x563d50db1add
> i = 889 (GetFramebufferParameteriv)
> [  FAILED  ] DispatchSanity_test.GLES3 (1 ms)
> 
> It appears there is a problem with the way that I'm
> defining/redefining FramebufferParameteri.  I've tried adding it to
> src/mapi/glapi/gen/es_EXT.xml, but the only way I was able to achieve
> that was to give it a different function name and an alias.
> 
> Does anyone have experience with this sort of backporting of
> extensions that could offer some insight on what I might be doing
> wrong?
> 
> Thanks.
> 
> -Fritz
> 
> [1]: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1560
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] Extension help

2019-08-02 Thread Fritz Koenig
I made another pass and I think I solved it in the correct way.  I
think the problem was that the test needed to be updated to take into
consideration that the extension can apply to GLES 3.0 and not just
GLES 3.1.


On Fri, Aug 2, 2019 at 1:13 PM Fritz Koenig  wrote:
>
> Hi,
>
> I would like to be able to use the MESA_framebuffer_flip_y extension
> in GLES 3.0.  The blocker is that FramebufferParameteri is not part of
> GLES 3.0.  I have explored a couple of ways of achieving this.
>
> 1.   FramebufferParameteri was first provided by the GL extension
> ARB_framebuffer_no_attachments.  However,
> ARB_framebuffer_no_attachments was never a GLES extension.  An option
> would be to modify the ARB_framebuffer_no_attachments spec to make it
> an extension for GLES.
>
> 2.  Change the MESA_framebuffer_flip_y spec to allow the extension to
> implement FramebufferParameteri.
>
> I choose the 2nd option and put together a pr for it[1].
>
> I didn't get the implementation quite right, and I'm looking for some
> help.  My change is failing the DispatchSanity_test.GLES3 test:
>
> [ RUN  ] DispatchSanity_test.GLES3
> ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
>   Expected: nop_table[i]
>   Which is: 0x563d50d6fa01
> To be equal to: table[i]
>   Which is: 0x563d50db158a
> i = 888 (FramebufferParameteri)
> ../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
>   Expected: nop_table[i]
>   Which is: 0x563d50d6fa01
> To be equal to: table[i]
>   Which is: 0x563d50db1add
> i = 889 (GetFramebufferParameteriv)
> [  FAILED  ] DispatchSanity_test.GLES3 (1 ms)
>
> It appears there is a problem with the way that I'm
> defining/redefining FramebufferParameteri.  I've tried adding it to
> src/mapi/glapi/gen/es_EXT.xml, but the only way I was able to achieve
> that was to give it a different function name and an alias.
>
> Does anyone have experience with this sort of backporting of
> extensions that could offer some insight on what I might be doing
> wrong?
>
> Thanks.
>
> -Fritz
>
> [1]: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1560
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] Extension help

2019-08-02 Thread Fritz Koenig
Hi,

I would like to be able to use the MESA_framebuffer_flip_y extension
in GLES 3.0.  The blocker is that FramebufferParameteri is not part of
GLES 3.0.  I have explored a couple of ways of achieving this.

1.   FramebufferParameteri was first provided by the GL extension
ARB_framebuffer_no_attachments.  However,
ARB_framebuffer_no_attachments was never a GLES extension.  An option
would be to modify the ARB_framebuffer_no_attachments spec to make it
an extension for GLES.

2.  Change the MESA_framebuffer_flip_y spec to allow the extension to
implement FramebufferParameteri.

I choose the 2nd option and put together a pr for it[1].

I didn't get the implementation quite right, and I'm looking for some
help.  My change is failing the DispatchSanity_test.GLES3 test:

[ RUN  ] DispatchSanity_test.GLES3
../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
  Expected: nop_table[i]
  Which is: 0x563d50d6fa01
To be equal to: table[i]
  Which is: 0x563d50db158a
i = 888 (FramebufferParameteri)
../src/mesa/main/tests/dispatch_sanity.cpp:174: Failure
  Expected: nop_table[i]
  Which is: 0x563d50d6fa01
To be equal to: table[i]
  Which is: 0x563d50db1add
i = 889 (GetFramebufferParameteriv)
[  FAILED  ] DispatchSanity_test.GLES3 (1 ms)

It appears there is a problem with the way that I'm
defining/redefining FramebufferParameteri.  I've tried adding it to
src/mapi/glapi/gen/es_EXT.xml, but the only way I was able to achieve
that was to give it a different function name and an alias.

Does anyone have experience with this sort of backporting of
extensions that could offer some insight on what I might be doing
wrong?

Thanks.

-Fritz

[1]: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1560
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev