Re: [Mesa-dev] [PATCH 2/2] egl: update headers

2011-12-20 Thread Chia-I Wu
On Tue, Dec 20, 2011 at 5:28 AM, Ian Romanick  wrote:
> On 12/19/2011 02:05 AM, Chia-I Wu wrote:
>>
>> From: Chia-I Wu
>>
>> Update to revision 15052.
>>
>> EGL_MESA_drm_image is now official.  But apparently we have our own
>> extension
>> to it and we need this in eglmesaext.h:
>>
>>   #ifdef EGL_MESA_drm_image
>>   /* Mesa's extension to EGL_MESA_drm_image... */
>>   #ifndef EGL_DRM_BUFFER_USE_CURSOR_MESA
>>   #define EGL_DRM_BUFFER_USE_CURSOR_MESA               0x0004
>>   #endif
>>   #endif
> Where is this actually from?  Is it in the extension?  A layered extension?
>  Outer space? :)  It sounds like we need to propagate and update back to the
> Khronos registry.
Outer space it is :)

I am not sure if this extension (and mesa's own addition) is used
anywhere.  It was added for wayland, which seems to migrate away a
while ago.
>
>> ---
>>  include/EGL/eglext.h      |   65
>> +++-
>>  include/EGL/eglmesaext.h  |   23 ++--
>>  include/EGL/eglplatform.h |    9 +-
>>  3 files changed, 73 insertions(+), 24 deletions(-)
>>
>> diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
>> index 800a23d..a7ea2ea 100644
>> --- a/include/EGL/eglext.h
>> +++ b/include/EGL/eglext.h
>> @@ -34,8 +34,8 @@ extern "C" {
>>
>>  /* Header file version number */
>>  /* Current version at http://www.khronos.org/registry/egl/ */
>> -/* $Revision: 12124 $ on $Date: 2010-07-27 20:12:35 -0700 (Tue, 27 Jul
>> 2010) $ */
>> -#define EGL_EGLEXT_VERSION 7
>> +/* $Revision: 15052 $ on $Date: 2011-07-06 17:43:46 -0700 (Wed, 06 Jul
>> 2011) $ */
>> +#define EGL_EGLEXT_VERSION 10
>>
>>  #ifndef EGL_KHR_config_attribs
>>  #define EGL_KHR_config_attribs 1
>> @@ -267,6 +267,67 @@ typedef EGLSurface (EGLAPIENTRYP
>> PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp
>>  #define EGL_COLOR_ARGB_HI                     0x8F73
>>  #endif /* EGL_HI_colorformats */
>>
>> +#ifndef EGL_MESA_drm_image
>> +#define EGL_MESA_drm_image 1
>> +#define EGL_DRM_BUFFER_FORMAT_MESA             0x31D0      /*
>> CreateDRMImageMESA attribute */
>> +#define EGL_DRM_BUFFER_USE_MESA                        0x31D1      /*
>> CreateDRMImageMESA attribute */
>> +#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA      0x31D2      /*
>> EGL_IMAGE_FORMAT_MESA attribute value */
>> +#define EGL_DRM_BUFFER_MESA                    0x31D3      /*
>> eglCreateImageKHR target */
>> +#define EGL_DRM_BUFFER_STRIDE_MESA             0x31D4
>> +#define EGL_DRM_BUFFER_USE_SCANOUT_MESA                0x0001  /*
>> EGL_DRM_BUFFER_USE_MESA bits */
>> +#define EGL_DRM_BUFFER_USE_SHARE_MESA          0x0002  /*
>> EGL_DRM_BUFFER_USE_MESA bits */
>> +#ifdef EGL_EGLEXT_PROTOTYPES
>> +EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy,
>> const EGLint *attrib_list);
>> +EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy,
>> EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
>> +#endif /* EGL_EGLEXT_PROTOTYPES */
>> +typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC)
>> (EGLDisplay dpy, const EGLint *attrib_list);
>> +typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC)
>> (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint
>> *stride);
>> +#endif
>> +
>> +#ifndef EGL_NV_post_sub_buffer
>> +#define EGL_NV_post_sub_buffer 1
>> +#define EGL_POST_SUB_BUFFER_SUPPORTED_NV       0x30BE
>> +#ifdef EGL_EGLEXT_PROTOTYPES
>> +EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy,
>> EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
>> +#endif /* EGL_EGLEXT_PROTOTYPES */
>> +typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay
>> dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
>> +#endif
>> +
>> +#ifndef EGL_ANGLE_query_surface_pointer
>> +#define EGL_ANGLE_query_surface_pointer 1
>> +#ifdef EGL_EGLEXT_PROTOTYPES
>> +EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface
>> surface, EGLint attribute, void **value);
>> +#endif
>> +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC)
>> (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
>> +#endif
>> +
>> +#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
>> +#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
>> +#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE  0x3200
>> +#endif
>> +
>> +#ifndef EGL_NV_coverage_sample_resolve
>> +#define EGL_NV_coverage_sample_resolve 1
>> +#define EGL_COVERAGE_SAMPLE_RESOLVE_NV         0x3131
>> +#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
>> +#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV    0x3133
>> +#endif
>> +
>> +#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
>> +#ifndef EGL_NV_system_time
>> +#define EGL_NV_system_time 1
>> +
>> +typedef khronos_utime_nanoseconds_t EGLuint64NV;
>> +
>> +#ifdef EGL_EGLEXT_PROTOTYPES
>> +EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
>> +EGLAPI EGLuint64

Re: [Mesa-dev] [PATCH 2/2] egl: update headers

2011-12-19 Thread Ian Romanick

On 12/19/2011 02:05 AM, Chia-I Wu wrote:

From: Chia-I Wu

Update to revision 15052.

EGL_MESA_drm_image is now official.  But apparently we have our own extension
to it and we need this in eglmesaext.h:

   #ifdef EGL_MESA_drm_image
   /* Mesa's extension to EGL_MESA_drm_image... */
   #ifndef EGL_DRM_BUFFER_USE_CURSOR_MESA
   #define EGL_DRM_BUFFER_USE_CURSOR_MESA   0x0004
   #endif
   #endif


Where is this actually from?  Is it in the extension?  A layered 
extension?  Outer space? :)  It sounds like we need to propagate and 
update back to the Khronos registry.



---
  include/EGL/eglext.h  |   65 +++-
  include/EGL/eglmesaext.h  |   23 ++--
  include/EGL/eglplatform.h |9 +-
  3 files changed, 73 insertions(+), 24 deletions(-)

diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
index 800a23d..a7ea2ea 100644
--- a/include/EGL/eglext.h
+++ b/include/EGL/eglext.h
@@ -34,8 +34,8 @@ extern "C" {

  /* Header file version number */
  /* Current version at http://www.khronos.org/registry/egl/ */
-/* $Revision: 12124 $ on $Date: 2010-07-27 20:12:35 -0700 (Tue, 27 Jul 2010) $ 
*/
-#define EGL_EGLEXT_VERSION 7
+/* $Revision: 15052 $ on $Date: 2011-07-06 17:43:46 -0700 (Wed, 06 Jul 2011) $ 
*/
+#define EGL_EGLEXT_VERSION 10

  #ifndef EGL_KHR_config_attribs
  #define EGL_KHR_config_attribs 1
@@ -267,6 +267,67 @@ typedef EGLSurface (EGLAPIENTRYP 
PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp
  #define EGL_COLOR_ARGB_HI 0x8F73
  #endif /* EGL_HI_colorformats */

+#ifndef EGL_MESA_drm_image
+#define EGL_MESA_drm_image 1
+#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0  /* 
CreateDRMImageMESA attribute */
+#define EGL_DRM_BUFFER_USE_MESA0x31D1  /* 
CreateDRMImageMESA attribute */
+#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA  0x31D2  /* 
EGL_IMAGE_FORMAT_MESA attribute value */
+#define EGL_DRM_BUFFER_MESA0x31D3  /* 
eglCreateImageKHR target */
+#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
+#define EGL_DRM_BUFFER_USE_SCANOUT_MESA0x0001  /* 
EGL_DRM_BUFFER_USE_MESA bits */
+#define EGL_DRM_BUFFER_USE_SHARE_MESA  0x0002  /* 
EGL_DRM_BUFFER_USE_MESA bits */
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const 
EGLint *attrib_list);
+EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, 
EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay 
dpy, const EGLint *attrib_list);
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay 
dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
+#endif
+
+#ifndef EGL_NV_post_sub_buffer
+#define EGL_NV_post_sub_buffer 1
+#define EGL_POST_SUB_BUFFER_SUPPORTED_NV   0x30BE
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface 
surface, EGLint x, EGLint y, EGLint width, EGLint height);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, 
EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
+#endif
+
+#ifndef EGL_ANGLE_query_surface_pointer
+#define EGL_ANGLE_query_surface_pointer 1
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface 
surface, EGLint attribute, void **value);
+#endif
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) 
(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
+#endif
+
+#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
+#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
+#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE  0x3200
+#endif
+
+#ifndef EGL_NV_coverage_sample_resolve
+#define EGL_NV_coverage_sample_resolve 1
+#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
+#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
+#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV0x3133
+#endif
+
+#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
+#ifndef EGL_NV_system_time
+#define EGL_NV_system_time 1
+
+typedef khronos_utime_nanoseconds_t EGLuint64NV;
+
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
+#endif
+#endif
+
  #include

  #ifdef __cplusplus
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
index 1b83778..53576ba 100644
--- a/include/EGL/eglmesaext.h
+++ b/include/EGL/eglmesaext.h
@@ -102,28 +102,11 @@ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) 
(int fd)

[Mesa-dev] [PATCH 2/2] egl: update headers

2011-12-19 Thread Chia-I Wu
From: Chia-I Wu 

Update to revision 15052.

EGL_MESA_drm_image is now official.  But apparently we have our own extension
to it and we need this in eglmesaext.h:

  #ifdef EGL_MESA_drm_image
  /* Mesa's extension to EGL_MESA_drm_image... */
  #ifndef EGL_DRM_BUFFER_USE_CURSOR_MESA
  #define EGL_DRM_BUFFER_USE_CURSOR_MESA0x0004
  #endif
  #endif
---
 include/EGL/eglext.h  |   65 +++-
 include/EGL/eglmesaext.h  |   23 ++--
 include/EGL/eglplatform.h |9 +-
 3 files changed, 73 insertions(+), 24 deletions(-)

diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
index 800a23d..a7ea2ea 100644
--- a/include/EGL/eglext.h
+++ b/include/EGL/eglext.h
@@ -34,8 +34,8 @@ extern "C" {
 
 /* Header file version number */
 /* Current version at http://www.khronos.org/registry/egl/ */
-/* $Revision: 12124 $ on $Date: 2010-07-27 20:12:35 -0700 (Tue, 27 Jul 2010) $ 
*/
-#define EGL_EGLEXT_VERSION 7
+/* $Revision: 15052 $ on $Date: 2011-07-06 17:43:46 -0700 (Wed, 06 Jul 2011) $ 
*/
+#define EGL_EGLEXT_VERSION 10
 
 #ifndef EGL_KHR_config_attribs
 #define EGL_KHR_config_attribs 1
@@ -267,6 +267,67 @@ typedef EGLSurface (EGLAPIENTRYP 
PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dp
 #define EGL_COLOR_ARGB_HI  0x8F73
 #endif /* EGL_HI_colorformats */
 
+#ifndef EGL_MESA_drm_image
+#define EGL_MESA_drm_image 1
+#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0  /* 
CreateDRMImageMESA attribute */
+#define EGL_DRM_BUFFER_USE_MESA0x31D1  /* 
CreateDRMImageMESA attribute */
+#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA  0x31D2  /* 
EGL_IMAGE_FORMAT_MESA attribute value */
+#define EGL_DRM_BUFFER_MESA0x31D3  /* 
eglCreateImageKHR target */
+#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
+#define EGL_DRM_BUFFER_USE_SCANOUT_MESA0x0001  /* 
EGL_DRM_BUFFER_USE_MESA bits */
+#define EGL_DRM_BUFFER_USE_SHARE_MESA  0x0002  /* 
EGL_DRM_BUFFER_USE_MESA bits */
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const 
EGLint *attrib_list);
+EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, 
EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay 
dpy, const EGLint *attrib_list);
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay 
dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
+#endif
+
+#ifndef EGL_NV_post_sub_buffer
+#define EGL_NV_post_sub_buffer 1
+#define EGL_POST_SUB_BUFFER_SUPPORTED_NV   0x30BE
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface 
surface, EGLint x, EGLint y, EGLint width, EGLint height);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, 
EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
+#endif
+
+#ifndef EGL_ANGLE_query_surface_pointer
+#define EGL_ANGLE_query_surface_pointer 1
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface 
surface, EGLint attribute, void **value);
+#endif
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) 
(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
+#endif
+
+#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
+#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
+#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE  0x3200
+#endif
+
+#ifndef EGL_NV_coverage_sample_resolve
+#define EGL_NV_coverage_sample_resolve 1
+#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
+#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
+#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV0x3133
+#endif
+
+#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
+#ifndef EGL_NV_system_time
+#define EGL_NV_system_time 1
+
+typedef khronos_utime_nanoseconds_t EGLuint64NV;
+
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
+EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
+typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
+#endif
+#endif
+
 #include 
 
 #ifdef __cplusplus
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
index 1b83778..53576ba 100644
--- a/include/EGL/eglmesaext.h
+++ b/include/EGL/eglmesaext.h
@@ -102,28 +102,11 @@ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) 
(int fd);
 
 #endif /* EGL_MESA_drm_display */
 
-#ifndef EGL_MESA_drm_image
-#define EGL_MESA_drm_image 1
-#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0  /* eglCreateImageKHR 
attribute */
-#define EGL_DRM_BUFFER_USE_MESA