Closed Bug 1337625 Opened 7 years ago Closed 6 years ago

Make webrender as to use GLContext functions

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox56 --- unaffected
firefox57 --- unaffected

People

(Reporter: sotaro, Unassigned)

References

Details

(Whiteboard: gfx-noted)

get_proc_address_from_glcontext() returns a function pointer of GLContext::LookupSymbol(). It bypasses GLContext's several workaround for specific GPUs. It is not good.
Blocks: webrender
Summary: Change get_proc_address_from_glcontext as to return GLContext function pointer → Make webrender as to use GLContext functions
Depends on: 1325911
Component: Graphics: Layers → Graphics: WebRender
(In reply to Sotaro Ikeda [:sotaro] from comment #0)
> get_proc_address_from_glcontext() returns a function pointer of
> GLContext::LookupSymbol(). It bypasses GLContext's several workaround for
> specific GPUs. It is not good.

It is also a request of :jgilbert.
Priority: -- → P3
Whiteboard: gfx-noted
My first thought here is to create a map from string -> function pointer, where the string is GL function name that webrender is trying to look up, and the function pointer is one of the "GL official entry points" wrapper functions in GLContext.h. Is there a better way to do this?
I also thought similar things at first. But now, I tend to implement gl::Gl[1] trait at webrender_bindings. And the trait implementation directly calls functions of GLContext.h.

 - [1] https://github.com/servo/gleam/pull/106
Assignee: nobody → sotaro.ikeda.g
Blocks: 1323612
No longer blocks: 1323612
Assignee: sotaro.ikeda.g → nobody
Reopen it when this becomes actually necessary.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.