From 9c5e6654f7fbf2935a87fa3fd8ae47ff1e9a59a0 Mon Sep 17 00:00:00 2001
From: Martin Pieuchot
Date: Fri, 17 Aug 2012 13:58:22 +0000
Subject: Upate to libGL 7.11.2
Tested by jsg@, matthieu@ and ajacoutot@, ok mattieu@
---
dist/Mesa/docs/ARB_color_buffer_float.txt | 4 +
dist/Mesa/docs/GL3.txt | 39 ++-
dist/Mesa/docs/MESA_agp_offset.spec | 2 +-
dist/Mesa/docs/MESA_drm_image.spec | 22 +-
dist/Mesa/docs/MESA_multithread_makecurrent.spec | 158 +++++++++
dist/Mesa/docs/MESA_pack_invert.spec | 2 +-
dist/Mesa/docs/MESA_release_buffers.spec | 8 +-
dist/Mesa/docs/MESA_resize_buffers.spec | 4 +-
dist/Mesa/docs/MESA_swap_control.spec | 4 +-
dist/Mesa/docs/MESA_texture_array.spec | 8 +-
dist/Mesa/docs/MESA_texture_signed_rgba.spec | 4 +-
dist/Mesa/docs/MESA_window_pos.spec | 4 +-
dist/Mesa/docs/MESA_ycbcr_texture.spec | 4 +-
dist/Mesa/docs/README.WIN32 | 113 +------
dist/Mesa/docs/WL_bind_wayland_display.spec | 92 ++++++
dist/Mesa/docs/egl.html | 59 ++--
dist/Mesa/docs/envvars.html | 10 +-
dist/Mesa/docs/install.html | 1 -
dist/Mesa/docs/llvmpipe.html | 48 ++-
dist/Mesa/docs/news.html | 41 ++-
dist/Mesa/docs/opengles.html | 23 +-
dist/Mesa/docs/openvg.html | 10 +-
dist/Mesa/docs/patents.txt | 31 ++
dist/Mesa/docs/relnotes-7.10.1.html | 2 +-
dist/Mesa/docs/relnotes-7.11.1.html | 391 +++++++++++++++++++++++
dist/Mesa/docs/relnotes-7.11.2.html | 85 +++++
dist/Mesa/docs/relnotes-7.11.html | 348 ++++++++++++++++++++
dist/Mesa/docs/relnotes-7.9.2.html | 2 +-
dist/Mesa/docs/relnotes.html | 3 +
29 files changed, 1267 insertions(+), 255 deletions(-)
create mode 100644 dist/Mesa/docs/ARB_color_buffer_float.txt
create mode 100644 dist/Mesa/docs/MESA_multithread_makecurrent.spec
create mode 100644 dist/Mesa/docs/WL_bind_wayland_display.spec
create mode 100644 dist/Mesa/docs/patents.txt
create mode 100644 dist/Mesa/docs/relnotes-7.11.1.html
create mode 100644 dist/Mesa/docs/relnotes-7.11.2.html
create mode 100644 dist/Mesa/docs/relnotes-7.11.html
(limited to 'dist/Mesa/docs')
diff --git a/dist/Mesa/docs/ARB_color_buffer_float.txt b/dist/Mesa/docs/ARB_color_buffer_float.txt
new file mode 100644
index 000000000..e50112002
--- /dev/null
+++ b/dist/Mesa/docs/ARB_color_buffer_float.txt
@@ -0,0 +1,4 @@
+Known issues in the ARB_color_buffer_float implementation:
+- Rendering to multiple render targets, some fixed-point, some floating-point, with FIXED_ONLY fragment clamping and polygon smooth enabled may write incorrect values to the fixed point buffers (depends on spec interpretation)
+- For fragment programs with ARB_fog_* options, colors are clamped before fog application regardless of the fragment clamping setting (this depends on spec interpretation)
+
diff --git a/dist/Mesa/docs/GL3.txt b/dist/Mesa/docs/GL3.txt
index fb22739b6..d86c4b0bf 100644
--- a/dist/Mesa/docs/GL3.txt
+++ b/dist/Mesa/docs/GL3.txt
@@ -12,43 +12,48 @@ Feature Status
GL 3.0:
-GLSL changes (GL_EXT_gpu_shader4, etc) not started
-Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
+GLSL 1.30 (GL_EXT_gpu_shader4, etc.) started
+Conditional rendering (GL_NV_conditional_render) DONE (swrast, softpipe, i965)
Map buffer subranges (GL_ARB_map_buffer_range) DONE
-Float textures, renderbuffers some infrastructure done
- (incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
+Clamping controls (GL_ARB_color_buffer_float) DONE
+Float textures, renderbuffers (GL_ARB_texture_float) DONE (gallium r300)
+GL_EXT_packed_float DONE (gallium r600)
+GL_EXT_texture_shared_exponent DONE (gallium, swrast)
+Float depth buffers (GL_ARB_depth_buffer_float) not started
Framebuffer objects (GL_EXT_framebuffer_object) DONE
-Half-float some infrastructure done
+Half-float DONE
Multisample blit DONE
Non-normalized Integer texture/framebuffer formats ~50% done
1D/2D Texture arrays core Mesa, swrast done
Packed depth/stencil formats DONE
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
-GL_EXT_texture_compression_rgtc not started
+GL_EXT_texture_compression_rgtc DONE (swrast, gallium r600)
Red and red/green texture formats DONE (swrast, i965, gallium)
Transform feedback (GL_EXT_transform_feedback) ~50% done
glBindFragDataLocation, glGetFragDataLocation,
glBindBufferRange, glBindBufferBase commands
Vertex array objects (GL_APPLE_vertex_array_object) DONE
-sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started
+sRGB framebuffer format (GL_EXT_framebuffer_sRGB) core GL done (i965, gallium), GLX todo
glClearBuffer commands DONE
glGetStringi command DONE
glTexParameterI, glGetTexParameterI commands DONE
glVertexAttribI commands DONE (but converts int
values to floats)
+Depth format cube textures 0% done
+
GL 3.1:
-GLSL 1.30 and 1.40 not started
-Instanced drawing (GL_ARB_draw_instanced) ~50% done
+GLSL 1.40 not started
+Instanced drawing (GL_ARB_draw_instanced) DONE (gallium, swrast)
Buffer copying (GL_ARB_copy_buffer) DONE
Primitive restart (GL_NV_primitive_restart) DONE (gallium)
16 vertex texture image units not started
Texture buffer objs (GL_ARB_texture_buffer_object) not started
Rectangular textures (GL_ARB_texture_rectangle) DONE
Uniform buffer objs (GL_ARB_uniform_buffer_object) not started
-Signed normalized texture formats ~50% done
+Signed normalized textures (GL_EXT_texture_snorm) DONE (gallium)
GL 3.2:
@@ -60,7 +65,7 @@ BGRA vertex order (GL_ARB_vertex_array_bgra) DONE
Base vertex offset(GL_ARB_draw_elements_base_vertex) DONE
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
Provoking vertex (GL_ARB_provoking_vertex) DONE
-Seamless cubemaps (GL_ARB_seamless_cube_map) DONE, mostly?
+Seamless cubemaps (GL_ARB_seamless_cube_map) DONE
Multisample textures (GL_ARB_texture_multisample) not started
Frag depth clamp (GL_ARB_depth_clamp) DONE
Fence objects (GL_ARB_sync) DONE
@@ -71,12 +76,12 @@ GL 3.3:
GLSL 3.30 not started
GL_ARB_blend_func_extended not started
GL_ARB_explicit_attrib_location DONE (swrast, i915, i965)
-GL_ARB_occlusion_query2 not started
-GL_ARB_sampler_objects not started
+GL_ARB_occlusion_query2 DONE (swrast, gallium)
+GL_ARB_sampler_objects DONE (gallium)
GL_ARB_texture_rgb10_a2ui not started
GL_ARB_texture_swizzle DONE (same as EXT version)
-GL_ARB_timer_query DONE (only Xlib sw driver)
-GL_ARB_instanced_arrays not started
+GL_ARB_timer_query ~60% done (the EXT variant)
+GL_ARB_instanced_arrays DONE (gallium)
GL_ARB_vertex_type_2_10_10_10_rev not started
@@ -84,7 +89,7 @@ GL 4.0:
GLSL 4.0 not started
GL_ARB_texture_query_lod not started
-GL_ARB_draw_buffers_blend not started
+GL_ARB_draw_buffers_blend DONE (gallium softpipe)
GL_ARB_draw_indirect not started
GL_ARB_gpu_shader_fp64 not started
GL_ARB_sample_shading not started
@@ -100,7 +105,7 @@ GL_ARB_transform_feedback3 not started
GL 4.1:
GLSL 4.1 not started
-GL_ARB_ES2_compatibility not started
+GL_ARB_ES2_compatibility DONE (i965)
GL_ARB_get_program_binary not started
GL_ARB_separate_shader_objects some infrastructure done
GL_ARB_shader_precision not started
diff --git a/dist/Mesa/docs/MESA_agp_offset.spec b/dist/Mesa/docs/MESA_agp_offset.spec
index 8dcc72379..06e1d902e 100644
--- a/dist/Mesa/docs/MESA_agp_offset.spec
+++ b/dist/Mesa/docs/MESA_agp_offset.spec
@@ -67,7 +67,7 @@ Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
block of AGP memory is located with respect to the start of the AGP
- aperature. The function
+ aperture. The function
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
diff --git a/dist/Mesa/docs/MESA_drm_image.spec b/dist/Mesa/docs/MESA_drm_image.spec
index c9853a7fd..1150a4c43 100644
--- a/dist/Mesa/docs/MESA_drm_image.spec
+++ b/dist/Mesa/docs/MESA_drm_image.spec
@@ -24,7 +24,7 @@ Number
Dependencies
- Reguires EGL 1.4 or later. This extension is written against the
+ Requires EGL 1.4 or later. This extension is written against the
wording of the EGL 1.4 specification.
EGL_KHR_base_image is required.
@@ -66,6 +66,7 @@ New Tokens
EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x0001
EGL_DRM_BUFFER_USE_SHARE_MESA 0x0002
+ EGL_DRM_BUFFER_USE_CURSOR_MESA 0x0004
Accepted in the parameter of eglCreateImageKHR:
@@ -89,13 +90,16 @@ Additions to the EGL 1.4 Specification:
extension is EGL_DRM_BUFFER_FORMAT_ARGB32_MESA, where each pixel
is a CPU-endian, 32-bit quantity, with alpha in the upper 8 bits,
then red, then green, then blue. The bit values accepted by
- EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA and
- EGL_DRM_BUFFER_USE_SHARE_MESA. EGL_DRM_BUFFER_USE_SCANOUT_MESA
- requests that the created EGLImage should be usable as a scanout
- buffer with the DRM kernel modesetting API. The
- EGL_DRM_BUFFER_USE_SHARE_MESA bit requests that the EGLImage can
- be shared with other processes by passing the underlying DRM
- buffer name.
+ EGL_DRM_BUFFER_USE_MESA are EGL_DRM_BUFFER_USE_SCANOUT_MESA,
+ EGL_DRM_BUFFER_USE_SHARE_MESA and EGL_DRM_BUFFER_USE_CURSOR_MESA.
+ EGL_DRM_BUFFER_USE_SCANOUT_MESA requests that the created EGLImage
+ should be usable as a scanout buffer with the DRM kernel
+ modesetting API. EGL_DRM_BUFFER_USE_SHARE_MESA requests that the
+ EGLImage can be shared with other processes by passing the
+ underlying DRM buffer name. EGL_DRM_BUFFER_USE_CURSOR_MESA
+ requests that the image must be usable as a cursor with KMS. When
+ EGL_DRM_BUFFER_USE_CURSOR_MESA is set, width and height must both
+ be 64.
To create a process local handle or a global DRM name for a
buffer, call
@@ -134,7 +138,7 @@ Issues
RESOLVED: The eglQueryImage function has been proposed often,
but it goes against the EGLImage design. EGLImages are opaque
handles to a 2D array of pixels, which can be passed between
- client APIs. By referenceing an EGLImage in a client API, the
+ client APIs. By referencing an EGLImage in a client API, the
EGLImage target (a texture, a renderbuffer or such) can be
used to query the attributes of the EGLImage. We don't have a
full client API for creating and querying DRM buffers, though,
diff --git a/dist/Mesa/docs/MESA_multithread_makecurrent.spec b/dist/Mesa/docs/MESA_multithread_makecurrent.spec
new file mode 100644
index 000000000..5065c2fc0
--- /dev/null
+++ b/dist/Mesa/docs/MESA_multithread_makecurrent.spec
@@ -0,0 +1,158 @@
+Name
+
+ MESA_multithread_makecurrent
+
+Name Strings
+
+ GLX_MESA_multithread_makecurrent
+
+Contact
+
+ Eric Anholt (eric@anholt.net)
+
+Status
+
+ Not shipping.
+
+Version
+
+ Last Modified Date: 21 February 2011
+
+Number
+
+ TBD
+
+Dependencies
+
+ OpenGL 1.0 or later is required.
+ GLX 1.3 or later is required.
+
+Overview
+
+ The GLX context setup encourages multithreaded applications to
+ create a context per thread which each operate on their own
+ objects in parallel, and leaves synchronization for write access
+ to shared objects up to the application.
+
+ For some applications, maintaining per-thread contexts and
+ ensuring that the glFlush happens in one thread before another
+ thread starts working on that object is difficult. For them,
+ using the same context across multiple threads and protecting its
+ usage with a mutex is both higher performance and easier to
+ implement. This extension gives those applications that option by
+ relaxing the context binding requirements.
+
+ This new behavior matches the requirements of AGL, while providing
+ a feature not specified in WGL.
+
+IP Status
+
+ Open-source; freely implementable.
+
+Issues
+
+ None.
+
+New Procedures and Functions
+
+ None.
+
+New Tokens
+
+ None.
+
+Changes to Chapter 2 of the GLX 1.3 Specification (Functions and Errors)
+
+ Replace the following sentence from section 2.2 Rendering Contexts:
+ In addition, a rendering context can be current for only one
+ thread at a time.
+ with:
+ In addition, an indirect rendering context can be current for
+ only one thread at a time. A direct rendering context may be
+ current to multiple threads, with synchronization of access to
+ the context thruogh the GL managed by the application through
+ mutexes.
+
+Changes to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
+
+ Replace the following sentence from section 3.3.7 Rendering Contexts:
+ If ctx is current to some other thread, then
+ glXMakeContextCurrent will generate a BadAccess error.
+ with:
+ If ctx is an indirect context current to some other thread,
+ then glXMakeContextCurrent will generate a BadAccess error.
+
+ Replace the following sentence from section 3.5 Rendering Contexts:
+ If ctx is current to some other thread, then
+ glXMakeCurrent will generate a BadAccess error.
+ with:
+ If ctx is an indirect context current to some other thread,
+ then glXMakeCurrent will generate a BadAccess error.
+
+GLX Protocol
+
+ None. The GLX extension only extends to direct rendering contexts.
+
+Errors
+
+ None.
+
+New State
+
+ None.
+
+Issues
+
+ (1) What happens if the app binds a context/drawable in multiple
+ threads, then binds a different context/thread in one of them?
+
+ As with binding a new context from the current thread, the old
+ context's refcount is reduced and the new context's refcount is
+ increased.
+
+ (2) What happens if the app binds a context/drawable in multiple
+ threads, then binds None/None in one of them?
+
+ The GLX context is unreferenced from that thread, and the other
+ threads retain their GLX context binding.
+
+ (3) What happens if the app binds a context/drawable in 7 threads,
+ then destroys the context in one of them?
+
+ As with GLX context destruction previously, the XID is destroyed
+ but the context remains usable by threads that have the context
+ current.
+
+ (4) What happens if the app binds a new drawable/readable with
+ glXMakeCurrent() when it is already bound to another thread?
+
+ The context becomes bound to the new drawable/readable, and
+ further rendering in either thread will use the new
+ drawable/readable.
+
+ (5) What requirements should be placed on the user managing contexts
+ from multiple threads?
+
+ The intention is to allow multithreaded access to the GL at the
+ minimal performance cost, so requiring that the GL do general
+ synchronization (beyond that already required by context sharing)
+ is not an option, and synchronizing of GL's access to the GL
+ context between multiple threads is left to the application to do
+ across GL calls. However, it would be unfortunate for a library
+ doing multithread_makecurrent to require that other libraries
+ share in synchronization for binding of their own contexts, so the
+ refcounting of the contexts is required to be threadsafe.
+
+ (6) Does this apply to indirect contexts?
+
+ This was ignored in the initial revision of the spec. Behavior
+ for indirect contexts is left as-is.
+
+Revision History
+
+ 20 November 2009 Eric Anholt - initial specification
+ 22 November 2009 Eric Anholt - added issues from Ian Romanick.
+ 3 February 2011 Eric Anholt - updated with resolution to issues 1-3
+ 3 February 2011 Eric Anholt - added issue 4, 5
+ 21 February 2011 Eric Anholt - Include glXMakeCurrent() sentence
+ along with glXMakeContextCurrent() for removal.
diff --git a/dist/Mesa/docs/MESA_pack_invert.spec b/dist/Mesa/docs/MESA_pack_invert.spec
index 53d5fca71..33fb3c7bf 100644
--- a/dist/Mesa/docs/MESA_pack_invert.spec
+++ b/dist/Mesa/docs/MESA_pack_invert.spec
@@ -48,7 +48,7 @@ IP Status
Issues
- 1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc?
+ 1. Should we also define UNPACK_INVERT_MESA for glDrawPixels, etc?
Resolved: No, we're only concerned with pixel packing. There are other
solutions for inverting images when using glDrawPixels (negative Y pixel
diff --git a/dist/Mesa/docs/MESA_release_buffers.spec b/dist/Mesa/docs/MESA_release_buffers.spec
index 8db9350d8..52d1e5a9c 100644
--- a/dist/Mesa/docs/MESA_release_buffers.spec
+++ b/dist/Mesa/docs/MESA_release_buffers.spec
@@ -31,12 +31,12 @@ Overview
Mesa's implementation of GLX is entirely implemented on the client side.
Therefore, Mesa cannot immediately detect when an X window or pixmap is
- destroyed in order to free any ancilliary data associated with the window
+ destroyed in order to free any ancillary data associated with the window
or pixmap.
The glxMesaReleaseBuffers() function can be used to explicitly indicate
- when the back color buffer, depth buffer, stencil buffer, and/or accum-
- ulation buffer associated with a drawable can be freed.
+ when the back color buffer, depth buffer, stencil buffer, and/or accumu-
+ lation buffer associated with a drawable can be freed.
IP Status
@@ -60,7 +60,7 @@ Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
- causes all software ancilliary buffers (back buffer, depth, stencil,
+ causes all software ancillary buffers (back buffer, depth, stencil,
accum, etc) associated with the named drawable to be immediately
deallocated. True is returned if is a valid Mesa GLX drawable,
else False is returned. After calling glXReleaseBuffersMESA, the
diff --git a/dist/Mesa/docs/MESA_resize_buffers.spec b/dist/Mesa/docs/MESA_resize_buffers.spec
index 533d017c9..dabc7c421 100644
--- a/dist/Mesa/docs/MESA_resize_buffers.spec
+++ b/dist/Mesa/docs/MESA_resize_buffers.spec
@@ -35,7 +35,7 @@ Overview
Mesa's glViewport command queries the current window size and updates
its internal data structors accordingly. This normally works fine
- since most applications call glViewport in responce to window size
+ since most applications call glViewport in response to window size
changes.
In some situations, however, the application may not call glViewport
@@ -65,7 +65,7 @@ Additions to the AGL/GLX/WGL Specifications
Errors
- INVALID_OPERATION is generated if ResizeBuffersMESA is called betweeen
+ INVALID_OPERATION is generated if glResizeBuffersMESA is called between
Begin and End.
New State
diff --git a/dist/Mesa/docs/MESA_swap_control.spec b/dist/Mesa/docs/MESA_swap_control.spec
index 856978b53..a002563c9 100644
--- a/dist/Mesa/docs/MESA_swap_control.spec
+++ b/dist/Mesa/docs/MESA_swap_control.spec
@@ -88,8 +88,8 @@ Additions to the GLX 1.3 Specification
this is typically the time required to display both the even and odd
fields of a frame of video data.
- If is set to a value of 0, buffer swaps are not synchron-
- ized to a video frame. The value is silently clamped to
+ If is set to a value of 0, buffer swaps are not synchro-
+ nized to a video frame. The value is silently clamped to
the maximum implementation-dependent value supported before being
stored.
diff --git a/dist/Mesa/docs/MESA_texture_array.spec b/dist/Mesa/docs/MESA_texture_array.spec
index 9dee65b04..b146821f7 100644
--- a/dist/Mesa/docs/MESA_texture_array.spec
+++ b/dist/Mesa/docs/MESA_texture_array.spec
@@ -328,7 +328,7 @@ Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
-- Section 3.8.10 "Texture Completeness"
- Change the second paragaph (page 177) to say (spec changes identical
+ Change the second paragraph (page 177) to say (spec changes identical
to EXT_texture_array):
"For one-, two-, or three-dimensional textures and one- or
@@ -443,10 +443,10 @@ Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
Change second through fourth paragraphs (page 188) to say:
"Let D_t be the depth texture value, in the range [0, 1]. For
- texture lookups from one- and two-dimesional, rectangle, and
+ texture lookups from one- and two-dimensional, rectangle, and
one-dimensional array targets, let R be the interpolated
texture coordinate, clamped to the range [0, 1]. For texture lookups
- from two-dimesional array texture targets, let R be the interpolated
+ from two-dimensional array texture targets, let R be the interpolated
texture coordinate, clamped to the range [0, 1]. Then the
effective texture value L_t, I_t, or A_t is computed as follows:
@@ -604,7 +604,7 @@ Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
-- Section 5.4 "Display Lists"
- Change the first paragraphi on page 242 to say (spec changes
+ Change the first paragraph on page 242 to say (spec changes
identical to EXT_texture_array):
"TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
diff --git a/dist/Mesa/docs/MESA_texture_signed_rgba.spec b/dist/Mesa/docs/MESA_texture_signed_rgba.spec
index 49c8e9e5d..e3a6b59af 100644
--- a/dist/Mesa/docs/MESA_texture_signed_rgba.spec
+++ b/dist/Mesa/docs/MESA_texture_signed_rgba.spec
@@ -44,7 +44,7 @@ Overview
ARB_texture_compression_rgtc introduces some compressed red and
red_green signed formats but no uncompressed ones, which might
still be useful. NV_texture_shader adds signed texture formats,
- but also a lot of functionality which has been superceded by fragment
+ but also a lot of functionality which has been superseded by fragment
shaders.
It is usually possible to get the same functionality
using a unsigned format by doing scale and bias in a shader, but this
@@ -105,7 +105,7 @@ Issues
This is also different to what NV_texture_shader used.
The above mapping should be considered the reference, but there
is some leeway so other mappings are allowed for implementations which
- cannot do this. Particulary the mapping given in NV_texture_shader or
+ cannot do this. Particularly the mapping given in NV_texture_shader or
the standard OpenGL byte/float mapping is considered acceptable too, as
might be a mapping which represents -1.0 by -128, 0.0 by 0 and 1.0 by
127 (that is, uses different scale factors for negative and positive
diff --git a/dist/Mesa/docs/MESA_window_pos.spec b/dist/Mesa/docs/MESA_window_pos.spec
index 4d01f1814..9e81e9c4d 100644
--- a/dist/Mesa/docs/MESA_window_pos.spec
+++ b/dist/Mesa/docs/MESA_window_pos.spec
@@ -88,7 +88,7 @@ Additions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation)
WindosPos4MESA takes four values indicating x, y, z, and w.
WindowPos3MESA (or WindowPos2MESA) is analaguos, but sets only
x, y, and z with w implicitly set to 1 (or only x and y with z
- implicititly set to 0 and w implicitly set to 1).
+ implicitly set to 0 and w implicitly set to 1).
WindowPosMESA operates like RasterPos except that the current modelview
matrix, projection matrix and viewport parameters are ignored and the
@@ -108,7 +108,7 @@ GLX Protocol
Errors
- INVALID_OPERATION is generated if WindowPosMESA is called betweeen
+ INVALID_OPERATION is generated if WindowPosMESA is called between
Begin and End.
New State
diff --git a/dist/Mesa/docs/MESA_ycbcr_texture.spec b/dist/Mesa/docs/MESA_ycbcr_texture.spec
index 0fa1f7b39..6a730e81c 100644
--- a/dist/Mesa/docs/MESA_ycbcr_texture.spec
+++ b/dist/Mesa/docs/MESA_ycbcr_texture.spec
@@ -26,7 +26,7 @@ Number
Dependencies
OpenGL 1.0 or later is required
- This extensions is written against the OpenGL 1.4 Specification.
+ This extension is written against the OpenGL 1.4 Specification.
NV_texture_rectangle effects the definition of this extension.
Overview
@@ -104,7 +104,7 @@ Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
In section 3.6.4, Rasterization of Pixel Rectangles, on page 104,
- add the following to Table 3.12 (Packed pixel fiedl assignments):
+ add the following to Table 3.12 (Packed pixel field assignments):
First Second Third Fourth
Format Element Element Element Element
diff --git a/dist/Mesa/docs/README.WIN32 b/dist/Mesa/docs/README.WIN32
index 204b8e660..ab0df573b 100644
--- a/dist/Mesa/docs/README.WIN32
+++ b/dist/Mesa/docs/README.WIN32
@@ -1,110 +1,33 @@
File: docs/README.WIN32
-Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net
+Last updated: 23 April 2011
+
Quick Start
----- -----
-Unzip the MesaLib, MesaGLUT, and MesaDemos ZIP files into the same
-directory. The libs and demos build separately, so if you do not care
-about the demos or GLUT, you only need to unzip MesaLib. If you unzip
-more than one ZIP file, they all need to be unzipped into the same
-directory. Don't worry, you will not overwrite anything.
-
-The Windows build system uses Microsoft Visual Studio. Project files
-for a specific version of Visual Studio are in their own directory in
-the top-level "windows" directory. For example, Visual Studio 8 files
-are in windows/VC8.
+Windows drivers are build with SCons. Makefiles or Visual Studio projects are
+no longer shipped or supported.
-Support has been dropped for versions of Visual Studio prior to 8. The
-main reason is because Microsoft now provides a free compiler and
-developer environment. Visual Studio Express can be found at
+Run
-http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
+ scons osmesa mesagdi
-You'll also need the Platform SDK. Instructions for obtaining and
-using the SDK with Visual Studio Express can be found at
+to build classic mesa Windows GDI drivers; or
-http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
+ scons libgl-gdi
-The project files to build the core Mesa library, Windows Mesa
-drivers, OSMesa, and GLU are in the mesa directory. The project files
-to build GLUT and some demo programs are in the progs directory.
-
-Makefiles are no longer shipped or supported, but can be generated
-from the projects using Visual Studio.
+to build gallium based GDI driver.
Windows Drivers
------- -------
-At this time, only the GDI driver is known to work. Most of the demos
-in progs/demos should work with this driver.
+At this time, only the gallium GDI driver is known to work.
Source code also exists in the tree for other drivers in
src/mesa/drivers/windows, but the status of this code is unknown.
-The GDI driver operates basically by writing pixel spans into a DIB
-section and then blitting the DIB to the window. The driver was
-recently cleaned up and rewitten and so may have bugs or may be
-missing some functionality. The older versions of the CVS source may
-be useful in figuring out any problems, or report them to me.
-
-To build Mesa with the GDI driver, build the mesa, gdi, and glu
-projects in the Visual Studio workspace found at
-
- windows/VC8/mesa/mesa.sln
-
-The osmesa DLL can also be built with the osmesa project.
-
-The build system creates a lib top-level directory and copies
-resulting LIB and DLL files to this lib directory. The files are:
-
- OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
- OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
-
-If the MesaDemos ZIP file was extracted, the DLL files are also copied
-to the demos directory. This facilitates running the demos as described
-below.
-
-
-GLUT and Demos
----- --- -----
-
-A Visual Studio workspace can be found at
-
- windows/VC8/progs/progs.sln
-
-It can be used to build GLUT and a few demos. The GLUT lib and DLL
-are copied to the top-level lib directory, along with the Mesa libs.
-
-The demo build system expects to find the LIB files in the top level
-lib directory, so you must build the Mesa libs first. The demo
-executables are placed in the demos directory, because some of them
-rely on data files found there. Also, the Mesa lib DLL's were copied
-there by the Mesa lib build process. Therefore, you should be able to
-simply run the demo executables from the demo directory.
-
-If you want to run the demos from the Visual Studio, you may have to
-change the startup directory and explicitly state where the executables are.
-
-You may also build all the demo programs by using a makefile. Go to
-the progs/demos directory and make sure you have executed VCVARS32.BAT
-or whatever setup script is appropriate for your compiler. Then,
-
- nmake -f Makefile.win
-
-should build all the demos.
-
-
-Build System Notes
------ ------ -----
-
-VC8
----
-
-No notes.
-
General
-------
@@ -124,17 +47,5 @@ the linker import files associated with the DLL files.
The si-glu sources are used to build the GLU libs. This was done
mainly to get the better tessellator code.
-To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
-to the project settings. You will also need to edit src/mesa.def to
-change all the gl* symbols to mgl*. Because this is easy to do with a
-global replace operation in a text editor, no additional mangled
-version of mesa.def is maintained or shipped.
-
-If you have a Windows-related build problem or question, it is
-probably better to direct it to me (kschultz@users.sourceforge.net),
-rather than directly to the other Mesa developers. I will help you as
-much as I can. I also monitor the Mesa mailing lists and will answer
-questions in this area there as well.
-
-
-Karl Schultz
+If you have a Windows-related build problem or question, please post
+to the mesa-dev or mesa-users list.
diff --git a/dist/Mesa/docs/WL_bind_wayland_display.spec b/dist/Mesa/docs/WL_bind_wayland_display.spec
new file mode 100644
index 000000000..e2fde3c50
--- /dev/null
+++ b/dist/Mesa/docs/WL_bind_wayland_display.spec
@@ -0,0 +1,92 @@
+Name
+
+ WL_bind_wayland_display
+
+Name Strings
+
+ EGL_WL_bind_wayland_display
+
+Contact
+
+ Kristian Høgsberg
+ Benjamin Franzke
+
+Status
+
+ Proposal
+
+Version
+
+ Version 1, March 1, 2011
+
+Number
+
+ EGL Extension #not assigned
+
+Dependencies
+
+ Requires EGL 1.4 or later. This extension is written against the
+ wording of the EGL 1.4 specification.
+
+ EGL_KHR_base_image is required.
+
+Overview
+
+ This extension provides entry points for binding and unbinding the
+ wl_display of a Wayland compositor to an EGLDisplay. Binding a
+ wl_display means that the EGL implementation should provide one or
+ more interfaces in the Wayland protocol to allow clients to create
+ wl_buffer objects. On the server side, this extension also
+ provides a new target for eglCreateImageKHR, to create an EGLImage
+ from a wl_buffer
+
+ Adding an implementation specific wayland interface, allows the
+ EGL implementation to define specific wayland requests and events,
+ needed for buffer sharing in an EGL wayland platform.
+
+IP Status
+
+ Open-source; freely implementable.
+
+New Procedures and Functions
+
+ EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
+ struct wl_display *display);
+
+ EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
+ struct wl_display *display);
+
+New Tokens
+
+ Accepted as in eglCreateImageKHR
+
+ EGL_WAYLAND_BUFFER_WL 0x31D5
+
+Additions to the EGL 1.4 Specification:
+
+ To bind a server side wl_display to an EGLDisplay, call
+
+ EGLBoolean eglBindWaylandDisplayWL(EGLDisplay dpy,
+ struct wl_display *display);
+
+ To unbind a server side wl_display from an EGLDisplay, call
+
+ EGLBoolean eglUnbindWaylandDisplayWL(EGLDisplay dpy,
+ struct wl_display *display);
+
+ eglBindWaylandDisplayWL returns EGL_FALSE when there is already a
+ wl_display bound to EGLDisplay otherwise EGL_TRUE.
+
+ eglUnbindWaylandDisplayWL returns EGL_FALSE when there is no
+ wl_display bound to the EGLDisplay currently otherwise EGL_TRUE.
+
+ Import a wl_buffer by calling eglCreateImageKHR with
+ wl_buffer as EGLClientBuffer, EGL_WAYLAND_BUFFER_WL as the target,
+ NULL context and an empty attribute_list.
+
+Issues
+
+Revision History
+
+ Version 1, March 1, 2011
+ Initial draft (Benjamin Franzke)
diff --git a/dist/Mesa/docs/egl.html b/dist/Mesa/docs/egl.html
index 33e9187ce..5b750070c 100644
--- a/dist/Mesa/docs/egl.html
+++ b/dist/Mesa/docs/egl.html
@@ -29,12 +29,14 @@ directly dispatched to the drivers.
the driver for your hardware. For example
- $ ./configure --enable-gles2 --enable-openvg --enable-gallium-nouveau
+ $ ./configure --enable-gles1 --enable-gles2 \
+ --with-dri-drivers=... \
+ --with-gallium-drivers=...
-The main library and OpenGL is enabled by default. The first option above
-enables OpenGL ES 2.x. The second option enables
-OpenVG.
+The main library and OpenGL is enabled by default. The first two options
+above enables OpenGL ES 1.x and 2.x. The last two
+options enables the listed classic and and Gallium drivers respectively.
@@ -42,8 +44,8 @@ enables OpenGL ES 2.x. The second option enables
In the given example, it will build and install libEGL
,
-libGL
, libGLESv1_CM
, libGLESv2
,
-libOpenVG
, and one or more EGL drivers.
+libGL
, libGLESv1_CM
, libGLESv2
, and one
+or more EGL drivers.
Configure Options
@@ -65,6 +67,12 @@ drivers will be installed to ${libdir}/egl
.
+--enable-gallium-egl
+
+Enable the optional egl_gallium
driver.
+
+
+
--with-egl-platforms
List the platforms (window systems) to support. Its argument is a comma
@@ -88,14 +96,11 @@ internal library that supports multiple APIs.
---enable-gles-overlay
+--enable-shared-glapi
-This option enables OpenGL ES as separate internal libraries. This is an
-alternative approach to enable OpenGL ES.
-
-This is only supported by egl_gallium
. For systems using DRI
-drivers, --enable-gles1
and --enable-gles2
are
-suggested instead as all drivers will benefit.
+By default, libGL
has its own copy of libglapi
.
+This options makes libGL
use the shared libglapi
. This
+is required if applications mix OpenGL and OpenGL ES.
@@ -105,12 +110,6 @@ suggested instead as all drivers will benefit.
---enable-gallium-egl
-
-Explicitly enable or disable egl_gallium
.
-
-
-
Use EGL
@@ -148,9 +147,10 @@ may set
EGL_DRIVER
-This variable specifies a full path to an EGL driver and it forces the
-specified EGL driver to be loaded. It comes in handy when one wants to test a
-specific driver. This variable is ignored for setuid/setgid binaries.
+This variable specifies a full path to or the name of an EGL driver. It
+forces the specified EGL driver to be loaded. It comes in handy when one wants
+to test a specific driver. This variable is ignored for setuid/setgid
+binaries.
@@ -230,8 +230,7 @@ distribution.
Generally, egl_dri2
is preferred over egl_gallium
when the system already has DRI drivers. As egl_gallium
is loaded
before egl_dri2
when both are available, egl_gallium
-may either be disabled with --disable-gallium-egl
or packaged
-separately.
+is disabled by default.
Developers
@@ -317,17 +316,5 @@ not be called with the sample display at the same time. If a driver has access
to an EGLDisplay
without going through the EGL APIs, the driver
should as well lock the display before using it.
-TODOs
-
-
-- Pass the conformance tests
-- Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported. But
-which one of
libGL.so
, libGLESv1_CM.so
, and
-libGLESv2.so
should an application link to? Bad things may happen
-when, say, an application is linked to libGLESv2.so
and
-libcairo
, which is linked to libGL.so
instead.
-
-
-