IP Library Granted Patent US 10,789,669
Granted Patent B2
US 10,789,669 · App. 16/057,968 · Granted Sep 29, 2020

Systems and methods for using EGL with an OpenGL API and a Vulkan graphics driver

Inventors: Daniel Herring (Fort Worth, TX); Ken Wenger (Mississauga, CA)
Assignee: Channel One Holdings Inc.
G06T1/20G06F9/451G06T15/005G06T2210/32
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,789,669
App. No.
16/057,968
Granted
Sep 29, 2020
Kind
B2
Abstract

A method for using an EGL driver to create a renderable surface for an OpenGL API is provided. The EGL driver and the OpenGL API can be used with a Vulkan graphics driver, a memory, at least one processor, and a module stored in the memory including computer instruction code that is executable by the at least on processor. The method includes creating an EGL display structure; initializing the EGL display structure by querying the Vulkan driver for attributes of a physical display; choosing an EGL configuring matching the provided attributes; and creating the EGL surface. A non-transitory computer readable medium having an EGL driver with computer instruction code that is executable by a processor to create a renderable surface for an OpenGL API is also provided.

Claims (34)

1. A method for using an EGL driver to create a renderable surface for an OpenGL API, the EGL driver and the OpenGL API for use with a Vulkan graphics driver, a memory, at least one processor, and a module stored in the memory including computer instruction code that is executable by the at least one processor, the method comprising:

creating an EGL display structure;

initializing the EGL display structure by querying the Vulkan driver for attributes of a physical display;

receiving the attributes of the physical display from the Vulkan driver;

choosing an EGL configuration matching the attributes of the physical display; and

creating the EGL surface.

2. The method of claim 1 , further comprising

associating the EGL surface with the EGL display and a native windowing system.

3. The method of claim 1 , further comprising:

creating a graphics context;

associating the graphics context with the EGL display; and

associating the graphics context with the EGL surface to make the EGL surface a render target.

4. The method of claim 1 , wherein the step of creating the EGL display structure is by making an eglGetDisplay function call which uses the Vulkan graphics driver.

5. The method of claim 1 , wherein the step of initializing the EGL display structure is by making an egllnitialize function call which uses the Vulkan graphics driver.

6. The method of claim 1 , wherein the step of choosing the EGL configuring matching the attributes of the physical display is by making an eglChooseConfig function call which uses the Vulkan graphics driver.

7. The method of claim 1 , wherein the step of creating the EGL surface is by making an eglCreateWindowSurface function call which uses the Vulkan graphics driver.

8. The method of claim 1 , wherein the attributes of the physical display include color buffer size and/or depth buffer size.

9. A non-transitory, computer-readable medium, comprising: an EGL driver having computer instruction code that is executable by at least one processor and structured to cause the at least one processor to be configured to:

create an EGL display structure;

initialize the EGL display structure by querying the Vulkan driver for attributes of a physical display;

receive the attributes of the physical display from the Vulkan driver;

choose an EGL configuration matching the attributes of the physical display; and

create the EGL surface.

10. The non-transitory, computer-readable medium of claim 9 , wherein the EGL driver has computer instruction code that is executable by at least one processor and structured to cause the at least one processor to be configured to also:

associate the EGL surface with the EGL display and a native windowing system.

11. The non-transitory, computer-readable medium of claim 9 , wherein the EGL driver has computer instruction code that is executable by at least one processor and structured to cause the at least one processor to be configured to also:

create a graphics context;

associate the graphics context with the EGL display; and

associate the graphics context with the EGL surface to make the EGL surface a render target.

12. The non-transitory, computer-readable medium of claim 9 , wherein the step of create the EGL display structure is by making an eglGetDisplay function call which uses the Vulkan graphics driver.

13. The non-transitory, computer-readable medium of claim 9 , wherein the step of initialize the EGL display structure is by making an egllnitialize function call which uses the Vulkan graphics driver.

14. The non-transitory, computer-readable medium of claim 9 , wherein the step of choose the EGL configuring matching the attributes of the physical display is by making an eglChooseConfig function call which uses the Vulkan graphics driver.

15. The non-transitory, computer-readable medium of claim 9 , wherein the step of create the EGL surface is by making an eglCreateWindowSurface function call which uses the Vulkan graphics driver.

16. The non-transitory, computer-readable medium of claim 9 , wherein the attributes of the physical display include color buffer size and/or depth buffer size.

Assignments (2)
SECURITY INTEREST Recorded Jan 16, 2025
From: CHANNEL ONE HOLDINGS INC.
To: PENNANTPARK LOAN AGENCY SERVICING, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 069890/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2020
From: HERRING, DANIEL; WENGER, KEN
To: CHANNEL ONE HOLDINGS INC.
Reel/Frame 052302/0753 →
Continuity (2)
Provisional Application 62543046 · Aug 9, 2017
Related Publication 20190073741A1 · Mar 7, 2019