Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

EGL_MESA_platform_surfaceless.txt 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. Name
  2. MESA_platform_surfaceless
  3. Name Strings
  4. EGL_MESA_platform_surfaceless
  5. Contributors
  6. Chad Versace <chadversary@google.com>
  7. Haixia Shi <hshi@google.com>
  8. Stéphane Marchesin <marcheu@google.com>
  9. Zach Reizner <zachr@chromium.org>
  10. Gurchetan Singh <gurchetansingh@google.com>
  11. Contacts
  12. Chad Versace <chadversary@google.com>
  13. Status
  14. DRAFT
  15. Version
  16. Version 2, 2016-10-13
  17. Number
  18. EGL Extension #TODO
  19. Extension Type
  20. EGL client extension
  21. Dependencies
  22. Requires EGL 1.5 or later; or EGL 1.4 with EGL_EXT_platform_base.
  23. This extension is written against the EGL 1.5 Specification (draft
  24. 20140122).
  25. This extension interacts with EGL_EXT_platform_base as follows. If the
  26. implementation supports EGL_EXT_platform_base, then text regarding
  27. eglGetPlatformDisplay applies also to eglGetPlatformDisplayEXT;
  28. eglCreatePlatformWindowSurface to eglCreatePlatformWindowSurfaceEXT; and
  29. eglCreatePlatformPixmapSurface to eglCreatePlatformPixmapSurfaceEXT.
  30. Overview
  31. This extension defines a new EGL platform, the "surfaceless" platform. This
  32. platfom's defining property is that it has no native surfaces, and hence
  33. neither eglCreatePlatformWindowSurface nor eglCreatePlatformPixmapSurface
  34. can be used. The platform is independent of any native window system.
  35. The platform's intended use case is for enabling OpenGL and OpenGL ES
  36. applications on systems where no window system exists. However, the
  37. platform's permitted usage is not restricted to this case. Since the
  38. platform is independent of any native window system, it may also be used on
  39. systems where a window system is present.
  40. New Types
  41. None
  42. New Procedures and Functions
  43. None
  44. New Tokens
  45. Accepted as the <platform> argument of eglGetPlatformDisplay:
  46. EGL_PLATFORM_SURFACELESS_MESA 0x31DD
  47. Additions to the EGL Specification
  48. None.
  49. New Behavior
  50. To determine if the EGL implementation supports this extension, clients
  51. should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY.
  52. To obtain an EGLDisplay on the surfaceless platform, call
  53. eglGetPlatformDisplay with <platform> set to EGL_PLATFORM_SURFACELESS_MESA.
  54. The <native_display> parameter must be EGL_DEFAULT_DISPLAY.
  55. eglCreatePlatformWindowSurface fails when called with a <display> that
  56. belongs to the surfaceless platform. It returns EGL_NO_SURFACE and
  57. generates EGL_BAD_NATIVE_WINDOW. The justification for this unconditional
  58. failure is that the surfaceless platform has no native windows, and
  59. therefore the <native_window> parameter is always invalid.
  60. Likewise, eglCreatePlatformPixmapSurface also fails when called with a
  61. <display> that belongs to the surfaceless platform. It returns
  62. EGL_NO_SURFACE and generates EGL_BAD_NATIVE_PIXMAP.
  63. The surfaceless platform imposes no platform-specific restrictions on the
  64. creation of pbuffers, as eglCreatePbufferSurface has no native surface
  65. parameter. Specifically, if the EGLDisplay advertises an EGLConfig whose
  66. EGL_SURFACE_TYPE attribute contains EGL_PBUFFER_BIT, then the EGLDisplay
  67. permits the creation of pbuffers with that config.
  68. Issues
  69. None.
  70. Revision History
  71. Version 2, 2016-10-13 (Chad Versace)
  72. - Assign enum values
  73. - Define interfactions with EGL 1.4 and EGL_EXT_platform_base.
  74. - Add Gurchetan as contributor, as he implemented the pbuffer support.
  75. Version 1, 2016-09-23 (Chad Versace)
  76. - Initial version
  77. - Posted for review at
  78. https://lists.freedesktop.org/archives/mesa-dev/2016-September/129549.html