aboutsummaryrefslogtreecommitdiff
path: root/mesalib/docs
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/docs')
-rw-r--r--mesalib/docs/GL3.txt21
-rw-r--r--mesalib/docs/README.WIN324
-rw-r--r--mesalib/docs/faq.html13
-rw-r--r--mesalib/docs/index.html12
-rw-r--r--mesalib/docs/llvmpipe.html32
-rw-r--r--mesalib/docs/relnotes.html2
-rw-r--r--mesalib/docs/relnotes/10.5.2.html130
-rw-r--r--mesalib/docs/relnotes/10.5.3.html125
-rw-r--r--mesalib/docs/relnotes/10.6.0.html8
-rw-r--r--mesalib/docs/specs/MESA_image_dma_buf_export.txt142
-rw-r--r--mesalib/docs/viewperf.html94
11 files changed, 541 insertions, 42 deletions
diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt
index 93fa60d25..2dbd987de 100644
--- a/mesalib/docs/GL3.txt
+++ b/mesalib/docs/GL3.txt
@@ -111,11 +111,11 @@ GL 4.0, GLSL 4.00:
- New overload resolution rules DONE
GL_ARB_gpu_shader_fp64 DONE (nvc0, softpipe)
GL_ARB_sample_shading DONE (i965, nv50, nvc0, r600, radeonsi)
- GL_ARB_shader_subroutine not started
+ GL_ARB_shader_subroutine started (Dave)
GL_ARB_tessellation_shader started (Chris, Ilia)
GL_ARB_texture_buffer_object_rgb32 DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_texture_cube_map_array DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
- GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi)
+ GL_ARB_texture_gather DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
GL_ARB_texture_query_lod DONE (i965, nv50, nvc0, r600, radeonsi)
GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi)
GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi)
@@ -161,7 +161,7 @@ GL 4.3, GLSL 4.30:
GL_ARB_internalformat_query2 not started
GL_ARB_invalidate_subdata DONE (all drivers)
GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
- GL_ARB_program_interface_query not started
+ GL_ARB_program_interface_query DONE (all drivers)
GL_ARB_robust_buffer_access_behavior not started
GL_ARB_shader_image_size not started
GL_ARB_shader_storage_buffer_object not started
@@ -188,20 +188,20 @@ GL 4.4, GLSL 4.40:
GL 4.5, GLSL 4.50:
GL_ARB_ES3_1_compatibility not started
- GL_ARB_clip_control DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
+ GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, llvmpipe, softpipe)
GL_ARB_cull_distance not started
GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600)
GL_ARB_direct_state_access started
- - Transform Feedback object started (Martin Peres)
+ - Transform Feedback object DONE
- Buffer object DONE
- Framebuffer object started (Laura Ekstrand)
- - Renderbuffer object started (Martin Peres)
+ - Renderbuffer object DONE
- Texture object DONE
- Vertex array object started (Fredrik Höglund)
- - Sampler object started (Martin Peres)
- - Program Pipeline object started (Martin Peres)
- - Query object started (Martin Peres)
+ - Sampler object DONE
+ - Program Pipeline object DONE
+ - Query object DONE (will require changes when GL_ARB_query_buffer_object lands)
GL_ARB_get_texture_sub_image started (Brian Paul)
GL_ARB_shader_texture_image_samples not started
GL_ARB_texture_barrier DONE (nv50, nvc0, r600, radeonsi)
@@ -217,9 +217,10 @@ GLES3.1, GLSL ES 3.1
GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
GL_ARB_framebuffer_no_attachments not started
- GL_ARB_program_interface_query not started
+ GL_ARB_program_interface_query DONE (all drivers)
GL_ARB_shader_atomic_counters DONE (i965)
GL_ARB_shader_image_load_store in progress (curro)
+ GL_ARB_shader_image_size not started
GL_ARB_shader_storage_buffer_object not started
GL_ARB_shading_language_packing DONE (all drivers)
GL_ARB_separate_shader_objects DONE (all drivers)
diff --git a/mesalib/docs/README.WIN32 b/mesalib/docs/README.WIN32
index e0e5b9b2d..94e1d6fd8 100644
--- a/mesalib/docs/README.WIN32
+++ b/mesalib/docs/README.WIN32
@@ -11,10 +11,6 @@ no longer shipped or supported.
Run
- scons osmesa
-
-to build classic osmesa driver; or
-
scons libgl-gdi
to build gallium based GDI driver.
diff --git a/mesalib/docs/faq.html b/mesalib/docs/faq.html
index d4037e83c..b7c6fbf8a 100644
--- a/mesalib/docs/faq.html
+++ b/mesalib/docs/faq.html
@@ -327,19 +327,6 @@ Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates
will fix the problem.
</p>
-<h2>3.6 How can I change the maximum framebuffer size in Mesa's
-<tt>swrast</tt> backend?</h2>
-<p>
-These can be overridden by using the <tt>--with-max-width</tt> and
-<tt>--with-max-height</tt> options. The two need not be equal.
-</p><p>
-Do note that Mesa uses these values to size some internal buffers,
-so increasing these sizes will cause Mesa to require additional
-memory. Furthermore, increasing these limits beyond <tt>4096</tt>
-may introduce rasterization artifacts; see the leading comments in
-<tt>src/mesa/swrast/s_tritemp.h</tt>.
-</p>
-
<br>
<br>
diff --git a/mesalib/docs/index.html b/mesalib/docs/index.html
index 9bc5843ff..9e4644caa 100644
--- a/mesalib/docs/index.html
+++ b/mesalib/docs/index.html
@@ -16,6 +16,18 @@
<h1>News</h1>
+<h2>April 12, 2015</h2>
+<p>
+<a href="relnotes/10.5.3.html">Mesa 10.5.3</a> is released.
+This is a bug-fix release.
+</p>
+
+<h2>March 28, 2015</h2>
+<p>
+<a href="relnotes/10.5.2.html">Mesa 10.5.2</a> is released.
+This is a bug-fix release.
+</p>
+
<h2>March 20, 2015</h2>
<p>
<a href="relnotes/10.4.7.html">Mesa 10.4.7</a> is released.
diff --git a/mesalib/docs/llvmpipe.html b/mesalib/docs/llvmpipe.html
index 72db93aaf..f603bd646 100644
--- a/mesalib/docs/llvmpipe.html
+++ b/mesalib/docs/llvmpipe.html
@@ -58,15 +58,37 @@ It's the fastest software rasterizer for Mesa.
</pre>
<p>
- For Windows you will need to build LLVM from source with MSVC or MINGW
- (either natively or through cross compilers) and CMake, and set the LLVM
- environment variable to the directory you installed it to.
+ For Windows you will need to build LLVM from source with MSVC or MINGW
+ (either natively or through cross compilers) and CMake, and set the LLVM
+ environment variable to the directory you installed it to.
LLVM will be statically linked, so when building on MSVC it needs to be
built with a matching CRT as Mesa, and you'll need to pass
- -DLLVM_USE_CRT_RELEASE=MTd for debug and checked builds,
- -DLLVM_USE_CRT_RELEASE=MTd for profile and release builds.
+ <code>-DLLVM_USE_CRT_xxx=yyy</code> as described below.
+ </p>
+
+ <table border="1">
+ <tr>
+ <th rowspan="2">LLVM build-type</th>
+ <th colspan="2" align="center">Mesa build-type</th>
+ </tr>
+ <tr>
+ <th>debug,checked</th>
+ <th>release,profile</th>
+ </tr>
+ <tr>
+ <th>Debug</th>
+ <td><code>-DLLVM_USE_CRT_DEBUG=MTd</code></td>
+ <td><code>-DLLVM_USE_CRT_DEBUG=MT</code></td>
+ </tr>
+ <tr>
+ <th>Release</th>
+ <td><code>-DLLVM_USE_CRT_RELEASE=MTd</code></td>
+ <td><code>-DLLVM_USE_CRT_RELEASE=MT</code></td>
+ </tr>
+ </table>
+ <p>
You can build only the x86 target by passing -DLLVM_TARGETS_TO_BUILD=X86
to cmake.
</p>
diff --git a/mesalib/docs/relnotes.html b/mesalib/docs/relnotes.html
index 023f7dd8f..6ec35d11f 100644
--- a/mesalib/docs/relnotes.html
+++ b/mesalib/docs/relnotes.html
@@ -21,6 +21,8 @@ The release notes summarize what's new or changed in each Mesa release.
</p>
<ul>
+<li><a href="relnotes/10.5.3.html">10.5.3 release notes</a>
+<li><a href="relnotes/10.5.2.html">10.5.2 release notes</a>
<li><a href="relnotes/10.4.7.html">10.4.7 release notes</a>
<li><a href="relnotes/10.5.1.html">10.5.1 release notes</a>
<li><a href="relnotes/10.5.0.html">10.5.0 release notes</a>
diff --git a/mesalib/docs/relnotes/10.5.2.html b/mesalib/docs/relnotes/10.5.2.html
new file mode 100644
index 000000000..9114199c9
--- /dev/null
+++ b/mesalib/docs/relnotes/10.5.2.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <title>Mesa Release Notes</title>
+ <link rel="stylesheet" type="text/css" href="../mesa.css">
+</head>
+<body>
+
+<div class="header">
+ <h1>The Mesa 3D Graphics Library</h1>
+</div>
+
+<iframe src="../contents.html"></iframe>
+<div class="content">
+
+<h1>Mesa 10.5.2 Release Notes / March 28, 2015</h1>
+
+<p>
+Mesa 10.5.2 is a bug fix release which fixes bugs found since the 10.5.1 release.
+</p>
+<p>
+Mesa 10.5.2 implements the OpenGL 3.3 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.3. OpenGL
+3.3 is <strong>only</strong> available if requested at context creation
+because compatibility contexts are not supported.
+</p>
+
+
+<h2>SHA256 checksums</h2>
+<pre>
+755220e160a9f22fda0dffd47746f997b6e196d03f8edc390df7793aecaaa541 mesa-10.5.2.tar.gz
+2f4b6fb77c3e7d6f861558d0884a3073f575e1e673dad8d1b0624e78e9c4dd44 mesa-10.5.2.tar.xz
+</pre>
+
+
+<h2>New features</h2>
+<p>None</p>
+
+<h2>Bug fixes</h2>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=88534">Bug 88534</a> - include/c11/threads_posix.h PTHREAD_MUTEX_RECURSIVE_NP not defined</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89328">Bug 89328</a> - python required to build Mesa release tarballs</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89530">Bug 89530</a> - FTBFS in loader: missing fstat</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89590">Bug 89590</a> - Crash in glLinkProgram with shaders with multiple constant arrays</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89680">Bug 89680</a> - Hard link exist in Mesa 10.5.1 sources</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Anuj Phogat (1):</p>
+<ul>
+ <li>glsl: Generate link error for non-matching gl_FragCoord redeclarations</li>
+</ul>
+
+<p>Emil Velikov (7):</p>
+<ul>
+ <li>docs: Add sha256 sums for the 10.5.1 release</li>
+ <li>automake: add missing egl files to the tarball</li>
+ <li>st/egl: don't ship the dri2.c link at the tarball</li>
+ <li>loader: include &lt;sys/stat.h&gt; for non-sysfs builds</li>
+ <li>auxiliary/os: fix the android build - s/drm_munmap/os_munmap/</li>
+ <li>cherry-ignore: add commit non applicable for 10.5</li>
+ <li>Update version to 10.5.2</li>
+</ul>
+
+<p>Felix Janda (1):</p>
+<ul>
+ <li>c11/threads: Use PTHREAD_MUTEX_RECURSIVE by default</li>
+</ul>
+
+<p>Francisco Jerez (1):</p>
+<ul>
+ <li>i965: Set nr_params to the number of uniform components in the VS/GS path.</li>
+</ul>
+
+<p>Ilia Mirkin (2):</p>
+<ul>
+ <li>freedreno/a3xx: use the same layer size for all slices</li>
+ <li>freedreno: fix slice pitch calculations</li>
+</ul>
+
+<p>Marek Olšák (1):</p>
+<ul>
+ <li>radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords</li>
+</ul>
+
+<p>Mario Kleiner (2):</p>
+<ul>
+ <li>glx: Handle out-of-sequence swap completion events correctly. (v2)</li>
+ <li>mapi: Make private copies of name strings provided by client.</li>
+</ul>
+
+<p>Rob Clark (1):</p>
+<ul>
+ <li>freedreno: update generated headers</li>
+</ul>
+
+<p>Samuel Iglesias Gonsalvez (2):</p>
+<ul>
+ <li>glsl: optimize (0 cmp x + y) into (-x cmp y).</li>
+ <li>configure: Introduce new output variable to ax_check_python_mako_module.m4</li>
+</ul>
+
+<p>Tapani Pälli (1):</p>
+<ul>
+ <li>glsl: fix names in lower_constant_arrays_to_uniforms</li>
+</ul>
+
+<p>Tom Stellard (1):</p>
+<ul>
+ <li>clover: Return 0 as storage size for local kernel args that are not set v2</li>
+</ul>
+
+
+</div>
+</body>
+</html>
diff --git a/mesalib/docs/relnotes/10.5.3.html b/mesalib/docs/relnotes/10.5.3.html
new file mode 100644
index 000000000..e5e0d3063
--- /dev/null
+++ b/mesalib/docs/relnotes/10.5.3.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <title>Mesa Release Notes</title>
+ <link rel="stylesheet" type="text/css" href="../mesa.css">
+</head>
+<body>
+
+<div class="header">
+ <h1>The Mesa 3D Graphics Library</h1>
+</div>
+
+<iframe src="../contents.html"></iframe>
+<div class="content">
+
+<h1>Mesa 10.5.3 Release Notes / April 12, 2015</h1>
+
+<p>
+Mesa 10.5.3 is a bug fix release which fixes bugs found since the 10.5.2 release.
+</p>
+<p>
+Mesa 10.5.3 implements the OpenGL 3.3 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.3. OpenGL
+3.3 is <strong>only</strong> available if requested at context creation
+because compatibility contexts are not supported.
+</p>
+
+
+<h2>SHA256 checksums</h2>
+<pre>
+2371b8e210ccd19f61dd94b6664d612e5a479ba7d431a074512d87633bd6aeb4 mesa-10.5.3.tar.gz
+8701ee1be4f5c03238f5e63c1a9bd4cc03a2f6c0155ed42a1ae7d58f18912ba2 mesa-10.5.3.tar.xz
+</pre>
+
+
+<h2>New features</h2>
+<p>None</p>
+
+<h2>Bug fixes</h2>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83962">Bug 83962</a> - [HSW/BYT]Piglit spec_ARB_gpu_shader5_arb_gpu_shader5-emitstreamvertex_nodraw fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89679">Bug 89679</a> - [NV50] Portal/Half-Life 2 will not start (native Steam)</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89746">Bug 89746</a> - Mesa and LLVM 3.6+ break opengl for genymotion</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89754">Bug 89754</a> - vertexAttrib fails WebGL Conformance test with mesa drivers</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89758">Bug 89758</a> - pow WebGL Conformance test with mesa drivers</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89759">Bug 89759</a> - WebGL OGL ES GLSL conformance test with mesa drivers fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=89905">Bug 89905</a> - scons build broken on 10.5.2 due to activated vega st</li>
+
+</ul>
+
+<h2>Changes</h2>
+
+<p>Dave Airlie (1):</p>
+<ul>
+ <li>st_glsl_to_tgsi: only do mov copy propagation on temps (v2)</li>
+</ul>
+
+<p>Emil Velikov (5):</p>
+<ul>
+ <li>docs: Add sha256 sums for the 10.5.2 release</li>
+ <li>xmlpool: don't forget to ship the MOS</li>
+ <li>configure.ac: error out if python/mako is not found when required</li>
+ <li>dist: add the VG depedencies into the tarball</li>
+ <li>Update version to 10.5.3</li>
+</ul>
+
+<p>Iago Toral Quiroga (1):</p>
+<ul>
+ <li>i965: Do not render primitives in non-zero streams then TF is disabled</li>
+</ul>
+
+<p>Ilia Mirkin (7):</p>
+<ul>
+ <li>st/mesa: update arrays when the current attrib has been updated</li>
+ <li>nv50/ir: take postFactor into account when doing peephole optimizations</li>
+ <li>nv50/ir/gk110: fix offset flag position for TXD opcode</li>
+ <li>freedreno/a3xx: fix 3d texture layout</li>
+ <li>freedreno/a3xx: point size should not be divided by 2</li>
+ <li>nv50: allocate more offset space for occlusion queries</li>
+ <li>nv50,nvc0: limit the y-tiling of 3d textures to the first level's tiling</li>
+</ul>
+
+<p>Kenneth Graunke (2):</p>
+<ul>
+ <li>i965: Fix instanced geometry shaders on Gen8+.</li>
+ <li>i965: Add forgotten multi-stream code to Gen8 SOL state.</li>
+</ul>
+
+<p>Marcin Ślusarz (1):</p>
+<ul>
+ <li>nouveau: synchronize "scratch runout" destruction with the command stream</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+ <li>radeonsi: Cache LLVMTargetMachineRef in context instead of in screen</li>
+</ul>
+
+<p>Tom Stellard (1):</p>
+<ul>
+ <li>clover: Return CL_BUILD_ERROR for CL_PROGRAM_BUILD_STATUS when compilation fails v2</li>
+</ul>
+
+<p>Ville Syrjälä (1):</p>
+<ul>
+ <li>i965: Fix URB size for CHV</li>
+</ul>
+
+
+</div>
+</body>
+</html>
diff --git a/mesalib/docs/relnotes/10.6.0.html b/mesalib/docs/relnotes/10.6.0.html
index 00aaaa5fc..82aea5cf9 100644
--- a/mesalib/docs/relnotes/10.6.0.html
+++ b/mesalib/docs/relnotes/10.6.0.html
@@ -45,11 +45,15 @@ Note: some of the new features are only available with certain drivers.
<ul>
<li>GL_AMD_pinned_memory on r600, radeonsi</li>
+<li>GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600</li>
<li>GL_ARB_draw_instanced on freedreno</li>
<li>GL_ARB_gpu_shader_fp64 on nvc0, softpipe</li>
<li>GL_ARB_instanced_arrays on freedreno</li>
<li>GL_ARB_pipeline_statistics_query on i965, nv50, nvc0, r600, radeonsi, softpipe</li>
-<li>GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect on r600</li>
+<li>GL_ARB_uniform_buffer_object on freedreno</li>
+<li>GL_EXT_draw_buffers2 on freedreno</li>
+<li>GL_ARB_clip_control on i965</li>
+<li>GL_ARB_program_interface_query (all drivers)</li>
</ul>
<h2>Bug fixes</h2>
@@ -65,6 +69,8 @@ TBD.
<li>Removed OpenVG support.</li>
<li>Removed the galahad gallium driver.</li>
<li>Removed the identity gallium driver.</li>
+<li>Removed the EGL loader from the Windows SCons build.</li>
+<li>Removed the classic osmesa from the Windows SCons build.</li>
</ul>
</div>
diff --git a/mesalib/docs/specs/MESA_image_dma_buf_export.txt b/mesalib/docs/specs/MESA_image_dma_buf_export.txt
new file mode 100644
index 000000000..c3794ee36
--- /dev/null
+++ b/mesalib/docs/specs/MESA_image_dma_buf_export.txt
@@ -0,0 +1,142 @@
+Name
+
+ MESA_image_dma_buf_export
+
+Name Strings
+
+ EGL_MESA_image_dma_buf_export
+
+Contributors
+
+ Dave Airlie
+
+Contact
+
+ Dave Airlie (airlied 'at' redhat 'dot' com)
+
+Status
+
+ Proposal
+
+Version
+
+ Version 2, Mar 30, 2015
+
+Number
+
+ EGL Extension #not assigned
+
+Dependencies
+
+ Reguires EGL 1.4 or later. This extension is written against the
+ wording of the EGL 1.4 specification.
+
+ EGL_KHR_base_image is required.
+
+ The EGL implementation must be running on a Linux kernel supporting the
+ dma_buf buffer sharing mechanism.
+
+Overview
+
+ This extension provides entry points for integrating EGLImage with the
+ dma-buf infrastructure. The extension allows creating a Linux dma_buf
+ file descriptor or multiple file descriptors, in the case of multi-plane
+ YUV image, from an EGLImage.
+
+ It is designed to provide the complementary functionality to EGL_EXT_image_dma_buf_import.
+
+IP Status
+
+ Open-source; freely implementable.
+
+New Types
+
+ This is a 64 bit unsigned integer.
+
+ typedef khronos_uint64_t EGLuint64MESA;
+
+
+New Procedures and Functions
+
+ EGLBoolean eglExportDMABUFImageQueryMESA(EGLDisplay dpy,
+ EGLImageKHR image,
+ int *fourcc,
+ int *num_planes,
+ EGLuint64MESA *modifiers);
+
+ EGLBoolean eglExportDMABUFImageMESA(EGLDisplay dpy,
+ EGLImageKHR image,
+ int *fds,
+ EGLint *strides,
+ EGLint *offsets);
+
+New Tokens
+
+ None
+
+
+Additions to the EGL 1.4 Specification:
+
+ To mirror the import extension, this extension attempts to return
+ enough information to enable an exported dma-buf to be imported
+ via eglCreateImageKHR and EGL_LINUX_DMA_BUF_EXT token.
+
+ Retrieving the information is a two step process, so two APIs
+ are required.
+
+ The first entrypoint
+ EGLBoolean eglExportDMABUFImageQueryMESA(EGLDisplay dpy,
+ EGLImageKHR image,
+ int *fourcc,
+ int *num_planes,
+ EGLuint64MESA *modifiers);
+
+ is used to retrieve the pixel format of the buffer, as specified by
+ drm_fourcc.h, the number of planes in the image and the Linux
+ drm modifiers. <fourcc>, <num_planes> and <modifiers> may be NULL,
+ in which case no value is retrieved.
+
+ The second entrypoint retrieves the dma_buf file descriptors,
+ strides and offsets for the image. The caller should pass
+ arrays sized according to the num_planes values retrieved previously.
+ Passing arrays of the wrong size will have undefined results.
+ If the number of fds is less than the number of planes, then
+ subsequent fd slots should contain -1.
+
+ EGLBoolean eglExportDMABUFImageMESA(EGLDisplay dpy,
+ EGLImageKHR image,
+ int *fds,
+ EGLint *strides,
+ EGLint *offsets);
+
+ <fds>, <strides>, <offsets> can be NULL if the infomatation isn't
+ required by the caller.
+
+Issues
+
+1. Should the API look more like an attribute getting API?
+
+ANSWER: No, from a user interface pov, having to iterate across calling
+the API up to 12 times using attribs seems like the wrong solution.
+
+2. Should the API take a plane and just get the fd/stride/offset for that
+ plane?
+
+ANSWER: UNKNOWN,this might be just as valid an API.
+
+3. Does ownership of the file descriptor remain with the app?
+
+ANSWER: Yes, the app is responsible for closing any fds retrieved.
+
+4. If number of planes and number of fds differ what should we do?
+
+ANSWER: Return -1 for the secondary slots, as this avoids having
+to dup the fd extra times to make the interface sane.
+
+Revision History
+
+ Version 2, March, 2015
+ Add a query interface (Dave Airlie)
+ Version 1, June 3, 2014
+ Initial draft (Dave Airlie)
+
diff --git a/mesalib/docs/viewperf.html b/mesalib/docs/viewperf.html
index 23c6028d2..6b63b94d8 100644
--- a/mesalib/docs/viewperf.html
+++ b/mesalib/docs/viewperf.html
@@ -19,6 +19,7 @@
<p>
This page lists known issues with
<a href="http://www.spec.org/gwpg/gpc.static/vp11info.html" target="_main">SPEC Viewperf 11</a>
+and <a href="https://www.spec.org/gwpg/gpc.static/vp12info.html" target="_main">SPEC Viewperf 12</a>
when running on Mesa-based drivers.
</p>
@@ -40,13 +41,15 @@ These issues have been reported to the SPEC organization in the hope that
they'll be fixed in the future.
</p>
+<h2><u>Viewperf 11</u></h2>
+
<p>
-Some of the Viewperf tests use a lot of memory.
+Some of the Viewperf 11 tests use a lot of memory.
At least 2GB of RAM is recommended.
</p>
-<h2>Catia-03 test 2</h2>
+<h3>Catia-03 test 2</h3>
<p>
This test creates over 38000 vertex buffer objects. On some systems
@@ -59,7 +62,7 @@ either in Viewperf or the Mesa driver.
-<h2>Catia-03 tests 3, 4, 8</h2>
+<h3>Catia-03 tests 3, 4, 8</h3>
<p>
These tests use features of the
@@ -79,7 +82,7 @@ Subsequent drawing calls become no-ops and the rendering is incorrect.
-<h2>sw-02 tests 1, 2, 4, 6</h2>
+<h3>sw-02 tests 1, 2, 4, 6</h3>
<p>
These tests depend on the
@@ -99,7 +102,7 @@ color. This is probably due to some uninitialized state somewhere.
-<h2>sw-02 test 6</h2>
+<h3>sw-02 test 6</h3>
<p>
The lines drawn in this test appear in a random color.
@@ -111,7 +114,7 @@ situation, we get a random color.
-<h2>Lightwave-01 test 3</h2>
+<h3>Lightwave-01 test 3</h3>
<p>
This test uses a number of mipmapped textures, but the textures are
@@ -172,7 +175,7 @@ However, we have no plans to implement this work-around in Mesa.
</p>
-<h2>Maya-03 test 2</h2>
+<h3>Maya-03 test 2</h3>
<p>
This test makes some unusual calls to glRotate. For example:
@@ -204,7 +207,7 @@ and with a semi-random color (between white and black) since GL_FOG is enabled.
</p>
-<h2>Proe-05 test 1</h2>
+<h3>Proe-05 test 1</h3>
<p>
This uses depth testing but there's two problems:
@@ -232,7 +235,7 @@ glClear is called so clearing the depth buffer would be a no-op anyway.
</p>
-<h2>Proe-05 test 6</h2>
+<h3>Proe-05 test 6</h3>
<p>
This test draws an engine model with a two-pass algorithm.
@@ -261,6 +264,79 @@ blending with appropriate patterns/modes to ensure the same fragments
are produced in both passes.
</p>
+<h2><u>Viewperf 12</u></h2>
+
+<p>
+Note that Viewperf 12 only runs on 64-bit Windows 7 or later.
+</p>
+
+<h3>catia-04</h3>
+
+<p>
+One of the catia tests calls wglGetProcAddress() to get some
+GL_EXT_direct_state_access functions (such as glBindMultiTextureEXT) and some
+GL_NV_half_float functions (such as glMultiTexCoord3hNV).
+If the extension/function is not supported, wglGetProcAddress() can return NULL.
+Unfortunately, Viewperf doesn't check for null pointers and crashes when it
+later tries to use the pointer.
+</p>
+
+<p>
+Another catia test uses OpenGL 3.1's primitive restart feature.
+But when Viewperf creates an OpenGL context, it doesn't request version 3.1
+If the driver returns version 3.0 or earlier all the calls related to primitive
+restart generate an OpenGL error.
+Some of the rendering is then incorrect.
+</p>
+
+
+<h3>energy-01</h3>
+
+<p>
+This test creates a 3D luminance texture of size 1K x 1K x 1K.
+If the OpenGL driver/device doesn't support a texture of this size
+the glTexImage3D() call will fail with GL_INVALID_VALUE or GL_OUT_OF_MEMORY
+and all that's rendered is plain white polygons.
+Ideally, the test would use a proxy texture to determine the max 3D
+texture size. But it does not do that.
+</p>
+
+<h3>maya-04</h3>
+
+<p>
+This test generates many GL_INVALID_OPERATION errors in its calls to
+glUniform().
+Causes include:
+<ul>
+<li> Trying to set float uniforms with glUniformi()
+<li> Trying to set float uniforms with glUniform3f()
+<li> Trying to set matrix uniforms with glUniform() instead of glUniformMatrix().
+</ul>
+<p>
+Apparently, the indexes returned by glGetUniformLocation() were hard-coded
+into the application trace when it was created.
+Since different implementations of glGetUniformLocation() may return different
+values for any given uniform name, subsequent calls to glUniform() will be
+invalid since they refer to the wrong uniform variables.
+This causes many OpenGL errors and leads to incorrect rendering.
+</p>
+
+<h3>medical-01</h3>
+
+<p>
+This test uses a single GLSL fragment shader which contains a GLSL 1.20
+array initializer statement, but it neglects to specify
+<code>#version 120</code> at the top of the shader code.
+So, the shader does not compile and all that's rendered is plain white polygons.
+</p>
+
+<h3>showcase-01</h3>
+
+<p>
+This is actually a DX11 test based on Autodesk's Showcase product.
+As such, it won't run with Mesa.
+</p>
+
</div>
</body>