Mesa (gles3): 155 new commits
Matt Turner
mattst88 at kemper.freedesktop.org
Fri Dec 14 22:30:26 UTC 2012
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26b4d19f44ad5656400953dfd2bed4298c3de4ec
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Aug 17 18:09:09 2012 -0700
i965: Don't maintain programs for ff state when there is no ff
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd621c1ee9c5e71710b5ea5d932d0ac31d69a580
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Aug 17 18:08:39 2012 -0700
mesa: Don't muck about with ff state when there is no ff
NOTE: This is a candidate for the 9.0 branch.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1025c1b13fd672590fad69ee0e407dc59fb968f9
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Tue Nov 20 13:43:11 2012 -0800
egl/dri2: Add plumbing for EGL_OPENGL_ES3_BIT_KHR
Fixes error EGL_BAD_ATTRIBUTE in the tests below on Intel Sandybridge:
* piglit egl-create-context-verify-gl-flavor, testcase OpenGL ES 3.0
* gles3conform, revision 19700, when runnning GL3Tests with -fbo
This plumbing is added in order to comply with the EGL_KHR_create_context
spec. According to the EGL_KHR_create_context spec, it is illegal to call
eglCreateContext(EGL_CONTEXT_MAJOR_VERSION_KHR=3) with a config whose
EGL_RENDERABLE_TYPE does not contain the EGL_OPENGL_ES3_BIT_KHR. The
pertinent
portion of the spec is quoted below; the key word is "respectively".
* If <config> is not a valid EGLConfig, or does not support the
requested client API, then an EGL_BAD_CONFIG error is generated
(this includes requesting creation of an OpenGL ES 1.x, 2.0, or
3.0 context when the EGL_RENDERABLE_TYPE attribute of <config>
does not contain EGL_OPENGL_ES_BIT, EGL_OPENGL_ES2_BIT, or
EGL_OPENGL_ES3_BIT_KHR respectively).
To create this patch, I searched for all the ES2 bit plumbing by calling
`git grep "ES2_BIT\|DRI_API_GLES2" src/egl`, and then at each location
added a case for ES3.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89878ebd59069f8ac7a2e6fbd0f06c2a2d728979
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 21 16:55:43 2012 -0800
intel: Expose support for DRI_API_GLES3
If the hardware/driver combo supports GLES3, then set the GLES3 bit in
intel_screen's bitmask of supported DRI API's. Neither the EGL nor GLX
layer uses the bit yet.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4feacdd6fa959e5ed01e9fed706b2116070025b0
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Tue Nov 20 13:27:14 2012 -0800
dri: Define enum __DRI_API_GLES3
This enum corresponds to EGL_OPENGL_ES3_BIT_KHR.
Neither the GLX nor EGL layer use the enum yet.
I don't like the GLES bits. I'd prefer that all GLES APIs be exposed
through a single API bit, as is done in GLX_EXT_create_context_es_profile.
But, we need this GLES3 enum in order to do the plumbing necessary to
correctly support EGL_OPENGL_ES3_BIT_KHR as required by the
EGL_KHR_create_context spec.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=719d878605df0a8ebc2d762d64c57066bd5e28b8
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 21 16:22:19 2012 -0800
intel: Move validation of context version into intelInitContext
Each driver (i830, i915, i965) used independent but similar code to
validate the requested context version. With the rececnt arrival of GLES3,
that logic has needed an update. Rather than apply identical updates to
each drivers validation code, let's just move the validation into the
shared routine intelInitContext.
This refactor required some incidental changes to functions
i830CreateContext and intelInitContext. For each function, this patch:
- Adds context version parameters to the signature.
- Adds a DRI_CTX_ERROR out param to the signature.
- Sets the DRI_CTX_ERROR at each early return.
Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
Verified that this patch does not change the set of exposed EGL context
flavors.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a50ad04ddab682db603dc4f63185330d90d03be3
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 21 15:08:27 2012 -0800
intel: Set screen's api mask according to hw capabilities (v3)
Before this patch, intelInitScreen2 set DRIScreen::api_mask with the hacky
heuristic below:
if (gen >= 3)
api_mask = GL | GLES1 | GLES2;
else
api_mask = 0;
This hack was likely broken on gen2 (i830), but I don't care enough to
properly investigate. It appears that every EGLConfig on i830 has
EGL_RENDERABLE_TYPE=0, and thus eglCreateContext will never succeed.
Anyway, moving on to living drivers...
With the arrival of EGL_OPENGL_ES3_BIT_KHR, this heuristic is now
insufficient. We must enable the GLES3 bit if and only if the driver is
capable of creating a GLES3 context. This requires us to determine the
maximum supported context version supported by the hardware/driver for
each api *during initialization of intel_screen*.
Therefore, this patch adds four new fields to intel_screen which indicate
the maximum supported context version for each api:
max_gl_core_version
max_gl_compat_version
max_gl_es1_version
max_gl_es2_version
The api mask is now correctly set as:
api_mask = GL;
if (max_gl_es1_version > 0)
api_mask |= GLES1;
if (max_gl_es2_version > 0)
api_mask |= GLES2;
Tested against gen6 with piglit egl-create-context-verify-gl-flavor.
Verified that this patch does not change the set of exposed EGL context
flavors.
v2:
- Replace the if-tree on gen with a switch, for Ian.
- Unconditionally enable the DRI_API_OPENGL bit, for Ian.
v3:
- Drop max gl version to 1.4 on gen3 if !has_occlusion_query,
because occlusion queries entered core in 1.5. For Ian.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b9c5eb1f8567339092bfac2a710eaeb3e53a768
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 21 09:28:36 2012 -0800
i965: Bump maximum supported ES2 context version to 3.0
Since patch "i965: Validate requested GLES context version in
brwCreateContext", we have been able to create ES 3.0 contexts due to the
max version check. So...bump the max version.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6bb386244348d331e4392881ed84605f1ec3c4c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Aug 7 12:39:30 2012 -0700
i965/Gen6+: Enable ARB_ES3_compatibility extension
IMPORTANT: this patch should not be pushed to master until ES3 support
is fully implemented on i965/Gen6+.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cea21a7edf5e11d40a691ed0f60d18b3ce11557
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Nov 9 10:23:30 2012 -0800
i965: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE
We just treat this as an alias for GL_ANY_SAMPLES_PASSED.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d82d9b7432c391c1f7ae99379d485a633b63c23
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Aug 8 15:25:00 2012 -0700
mesa/es3: Enable ES 3.0 API and shading language version
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=051cf42551d40e08c9c9f16bfb19cdc2a5d8f252
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Nov 16 13:40:59 2012 -0800
mesa: assert if driver did not compute the version
Make sure drivers initialize the version before:
* _mesa_initialize_exec_table is called
* _mesa_initialize_exec_table_vbo is called
* A context is made current
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=16971caefd6c73c33d62b485c1b6edd62cdb66ae
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Mon Nov 19 11:21:05 2012 -0800
mesa: don't initialize VBO vtxfmt in _vbo_CreateContext
The driver should call _mesa_initialize_vbo_vtxfmt after
computing the context version.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9414f357bcfc1da5d1809c7b64d7967776c9924b
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Nov 16 10:42:02 2012 -0800
mesa: don't initialize exec dispatch tables in _mesa_initialize_context
Drivers must compute the context version, and then call
_mesa_initialize_exec_table themselves.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53b02fc9e79a6d7778b803d274f46692d235b7b7
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Nov 16 18:25:35 2012 -0800
mesa dispatch_sanity: call new functions to initialize exec table
In a future patch the exec functions will no longer set up
by _mesa_initialize_context and _vbo_CreateContext.
Therefore we must call _mesa_initialize_exec_table and
_mesa_initialize_exec_table_vbo.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d479c85b48cd7027d180e14303b143bcc88edf30
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Nov 16 10:30:19 2012 -0800
drivers: compute version and then initialize exec table
This change forces the context version to be computed before
initilizing the exec dispatch tables.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=899bf70edb5ce956536524016b8458cbe6bb4eb9
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Mon Nov 19 11:17:39 2012 -0800
vbo: add _mesa_initialize_vbo_vtxfmt
This function initializes the exec/save dispatch tables
for VBO vtxfmt.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fd7db1892e9e130d9a07c4c887e54d3bc9be7b9
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Nov 16 10:27:13 2012 -0800
mesa: separate exec allocation from initialization
In glapi/gl_genexec.py:
* Remove _mesa_alloc_dispatch_table call
In glapi/gl_genexec.py and api_exec.h:
* Rename _mesa_create_exec_table to _mesa_initialize_exec_table
In context.c:
* Call _mesa_alloc_dispatch_table instead of _mesa_create_exec_table
* Call _mesa_initialize_exec_table (this is temporary)
Once all drivers have been modified to call
_mesa_initialize_exec_table, then the call to
_mesa_initialize_context can be removed from context.c.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21bb3b52105b06ef639a21d2840e825d525c2078
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 27 12:18:02 2012 -0800
glcpp: Reject token pasting operator in GLES
The GLSL ES 3.0 spec (Section 12.17) says:
"GLSL ES 1.00 removed token pasting and other functionality."
NOTE: This is a candidate for the stable branches.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Carl Worth <cworth at cworth.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f73e7faa864774bce619b9712d15f8d4a1f08ac9
Author: Carl Worth <cworth at cworth.org>
Date: Mon Nov 26 15:00:05 2012 -0800
glcpp: Make undefined macros illegal in #if and #elif for GLES3
Simply emitting a nicely-formatted error message if any undefined macro is
encountered in a parser context expecting an expression.
With this commit, the following piglit test now passes:
spec/glsl-es-3.00/compiler/undefined-macro.vert
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=87cc4df94a4c4fe1c8116364deea9086af75b3a6
Author: Carl Worth <cworth at cworth.org>
Date: Mon Nov 26 14:53:54 2012 -0800
glcpp: Add a flag to the parser state to indicate GLES.
This can be triggered either by creation of a GLES context (with
api == API_OPENGLES2) or else by a #version directive with version
value 100 or with a string of "es" following the version value.
There's no behavioral change with this commit—just preparation for ES-specific
behavior in the preprocessor in the future.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=813521343f1c2273167a8d99153085bce235fd59
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Nov 30 15:07:54 2012 -0800
mesa: Return INVALID_ENUM for glReadPixels(..., GL_DEPTH_*, ...) on ES 3
I'm not sure if this is the correct fix. The
_mesa_es_error_check_format_and_type function (used above in the ES 1
and 2 cases) was originally added for glTexImage checking and allows
GL_DEPTH_STENCIL/GL_UNSIGNED_INT_24_8 combinations. Using it in ES 3
causes other tests to regress.
Fixes es3conform's packed_depth_stencil_error test.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a41dc4fafc77fee270baa9caf1728a415370b8c
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Nov 30 15:07:18 2012 -0800
mesa: Return INVALID_OPERATION when type is known but not allowed
INVALID_ENUM is for when the type is simply not known.
Fixes part of es3conform's packed_depth_stencil_error test.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c44a069bcc8996fb2e34e33655ae841c5a2d3805
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Nov 30 11:10:20 2012 -0800
mesa: Use _mesa_lookup_enum_by_nr in tex*_error_check
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4227af190f56eff37057efafc3b356f3e5861e46
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Nov 28 21:45:19 2012 -0800
mesa: Allow HALF_FLOAT in glVertexAttribPointer
Fixes es3conform's half_float_max_vertex_dimensions and
half_float_textures tests.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=989190e81ec48f6900e9c858f0179e4799566bb2
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 20 13:45:03 2012 -0800
mesa: Reject texture-only formats as renderbuffer formats in ES 3
ES 3 specifies some formats as texture-only (i.e., not available for
renderbuffers).
See the "Required Texture Formats" section (pg 126) of the ES 3 spec.
Fixes es3conform's color_buffer_unsupported_format test.
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c38fd643154aa35c8c8d6e9c532ed734ce409787
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 17 21:23:28 2012 -0800
mesa: Fix default value of BUFFER_ACCESS_FLAGS.
According to both the GL 3.0 and ES 3.0 specifications (table 2.7 for GL
and table 2.8 for ES), the default value of BUFFER_ACCESS_FLAGS is
supposed to be zero.
Note that there are two related quantities: the obsolete BUFFER_ACCESS
enum and the new BUFFER_ACCESS_FLAGS bitfield.
BUFFER_ACCESS can only be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE;
BUFFER_ACCESS_FLAGS can easily represent all three via GL_MAP_WRITE_BIT,
GL_MAP_READ_BIT, and their logical or. It also supports more flags.
Thus, Mesa only stores the bitfield, and simply computes the old enum
when queried, via simplified_access_mode(bufObj->AccessFlags).
The tricky part is that, while BUFFER_ACCESS_FLAGS defaults to 0,
BUFFER_ACCESS defaults to GL_READ_WRITE for desktop [GL 3.0, table 2.8]
and GL_WRITE_ONLY_OES for ES [the GL_EXT_map_buffer_range extension].
Mesa tried to implement this by setting the default AccessFlags to
GL_MAP_READ_BIT | GL_MAP_WRITE_BIT on desktop, and GL_MAP_WRITE_BIT on
ES. But in all specifications, it needs to be 0.
This patch moves that logic into simplified_access_mode(): when
AccessFlags == 0, it now returns GL_READ_WRITE for desktop and
GL_WRITE_ONLY for ES 1/2. (BUFFER_ACCESS doesn't exist on ES 3.0,
so it's irrelevant there.)
With that in place, it changes the AccessFlags default to 0.
Fixes three es3conform tsets:
- copy_buffer_defaults
- map_buffer_range_modify_indices
- pixel_buffer_object_default_parameters
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ce165fa882870625956b6b3939444a4473947b9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 16 14:52:01 2012 -0800
mesa: Rework crazy error code rules in glDrawBuffers().
Perhaps most importantly, this patch adds comments quoting the relevant
spec paragraphs above each error condition.
It also makes three changes:
- For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed
to generate INVALID_OPERATION (not INVALID_ENUM).
- Constants that refer to multiple buffers (such as FRONT, BACK, LEFT,
RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION,
not INVALID_ENUM.
- In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi
or else INVALID_OPERATION occurs. (This is a new restriction.)
Fixes es3conform's draw-buffers-api test.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f035d10cfa00b6e371e13c75333ab2989aeb491
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Aug 10 22:28:27 2012 -0700
mesa/es3: Add support for GL_PRIMITIVE_RESTART_FIXED_INDEX
This requires some derived state. The cut vertex used is either the
value specified by glPrimitiveRestartIndex or it's hard-coded to ~0.
The derived state gl_array_attrib::_RestartIndex captures this value.
In addition, the derived state gl_array_attrib::_PrimitiveRestart is set
whenever either gl_array_attrib::PrimitiveRestart or
gl_array_attrib::PrimitiveRestartFixedIndex is set.
v2: Use _mesa_is_gles3.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=09d16860d4b880553d55cb41e41ab6bae43d4b2d
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Aug 10 21:38:21 2012 -0700
mesa/es3: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE query target
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ce1447921a7067aef3b76e036d223a9708e662b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Aug 8 13:11:32 2012 -0700
mesa/es3: Allow transpose matrix uniforms in GLES3
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf26cc41e9e83a4da539bce5c286a8c67f23826c
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 20 13:01:04 2012 -0800
mesa: Rename and wire-up GetInteger64i_v
The function was named badly and wasn't in the dispatch table,
making it hard to find.
Fixes transform_feedback2_states and gets a few other transform
feedback tests closer to working in es3conform.
Reviewed-by Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd85ac461d989bd09cbdc70e638d7d05863d33ef
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 20 12:56:52 2012 -0800
mesa: Correct glGet{Boolean,Integer}i_v names
Reviewed-by Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a525c49e1f812391d57331e8d6d853b8f187440
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 22:13:48 2012 -0800
mesa: Allow GL_DEPTH_STENCIL_ATTACHMENT in ES 3
Fixes framebuffer_srgb_default_encoding_fbo and 5 packed_depth_stencil
tests from es3conform.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e19471628c261564ff790437941cd24ffb5b7ae0
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Tue Nov 20 17:04:45 2012 -0800
mesa: Support more glGet enums for ES3
For glGetIntegerv, add support for the following in an OpenGL ES 3.0
context:
GL_MAJOR_VERSION
GL_MINOR_VERSION
GL_NUM_EXTENSIONS
See Table 6.29 of the OpenGL ES 3.0 spec.
Fixes error GL_INVALID_ENUM in piglit egl-create-context-verify-gl-flavor,
testcase for OpenGL ES 3.0.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93a3162a05067ff8bb0cd4533937fe8e5dcc79cc
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:24:19 2012 -0800
mesa: Support querying GL_MAX_ELEMENT_INDEX in ES 3
The ES 3 spec says that the minumum allowable value is 2^24-1, but the
GL 4.3 and ARB_ES3_compatibility specs require 2^32-1, so return 2^32-1.
Fixes es3conform's element_index_uint_constants test.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=510726d06ec972d65bbe74e09050eb09ad876811
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:17:19 2012 -0800
mesa: De-duplicate ES2 queries
From GL/GLES/GL_CORE and GLES2 -> GL/GL_CORE/GLES2.
Yes, we really were exposing ES2_compatibility queries on ES 1.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5f050686a087ee830eafc4b8d90540ca3778a6c
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:10:50 2012 -0800
mesa: Allow glGet* queries on EXT_texture_lod_bias data in ES 3
Fixes the remaining 4 texture_lod_bias failures in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7833c3e885c8c075b0b9aa58879fbaab13970983
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:04:42 2012 -0800
mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3
Fixes 2 framebuffer_blit es3conform tests.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=acc4f37bd9ace8dd5479493359fcd7edb241a993
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:03:44 2012 -0800
mesa: Allow glGet* queries on ARB_fragment/vertex_shader data in ES 3
Fixes uniform_buffer_object_implementation_dependent_limits in
es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d1b759b772b88186cb74cd7c99661129ad96b2d
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:02:26 2012 -0800
mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a80e08d0c7d3ab7e7e24aa18d4b537304b14730
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:01:42 2012 -0800
mesa: Allow glGet* queries on ARB_transform_feedback2 data in ES 3
Fixes the transform_feedback2_init_defaults test from es3conform.
The ES 3 spec lists these as TRANSFORM_FEEDBACK_PAUSED and
TRANSFORM_FEEDBACK_ACTIVE.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c697ab2e85eff0b8c7cca6112b739fd304c81aab
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:00:57 2012 -0800
mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3284404584a7ee76993d6c583d4d0bc5cbb5be80
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 17:00:17 2012 -0800
mesa: Allow glGet* queries on ARB_sync data in ES 3
Fixes the sync_coverage_max_server_wait_timeout test in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9a2ff052900724a30cf6ea20b82ec14b7e588cf
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 16:59:37 2012 -0800
mesa: Allow glGet* queries of EXT_pbo data in ES 3
Fixes pixel_buffer_object_default_binding and gets other tests in
es3conform closer to passing.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bf74268cc61669510df6f129a809accb7838924
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Dec 8 16:43:54 2012 -0800
mesa: Allow glGet* queries of select ARB_ubo data in ES 3
Fixes 5 uniform_buffer_object tests in es3conform.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3d8faa3f7ef71f92ee32db59a9918c4ebe68990
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Dec 14 14:22:28 2012 -0800
Add ES 3 handling to get.c and get_hash_generator.py
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2da2cc417bf015ad69d743f436ff2cfd90a30d96
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Nov 28 12:03:26 2012 -0800
glapi: Move ARB_base_instance to the correct location
It's #107, it shouldn't be added after the #116 comment.
Reviewed-by: Fredrik Höglund <fredrik at kde.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f8ffabf2be72e1ee37c3fb3114438a90f15346c
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 29 12:43:39 2012 -0800
mesa/tests: Add ARB_ES3_compatibility enums
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cec6e48dc4713535af241d070ab0d97c41447a5
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Nov 28 12:12:09 2012 -0800
glapi: Add enums for ARB_ES3_compatibility
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca7e891e8aceaf1adb4c9ae776916fa3636747ee
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 5 14:37:19 2012 -0800
glsl/linker: Pack between varyings.
This patch implements varying packing between varyings.
Previously, each varying occupied components 0 through N-1 of its
assigned varying slot, so there was no way to pack two varyings into
the same slot. For example, if the varyings were a float, a vec2, a
vec3, and another vec2, they would be stored as follows:
<----slot1----> <----slot2----> <----slot3----> <----slot4----> slots
* * * * * * * * * * * * * * * *
flt x x x <vec2-> x x <--vec3---> x <vec2-> x x varyings
(Each * represents a varying component, and the "x"s represent wasted
space).
This change packs the varyings together to eliminate wasted space
between varyings, like so:
<----slot1----> <----slot2----> <----slot3----> <----slot4----> slots
* * * * * * * * * * * * * * * *
<vec2-> <vec2-> flt <--vec3---> x x x x x x x x varyings
Note that we take advantage of the sort order introduced in previous
patches (vec4's first, then vec2's, then scalars, then vec3's) to
minimize how often a varying is "double parked" (split across varying
slots).
Reviewed-by: Eric Anholt <eric at anholt.net>
v2: Skip varying packing if ctx->Const.DisableVaryingPacking is true.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df87722beccf0255d149668ca54a35cabf99a9c4
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sun Dec 9 20:59:26 2012 -0800
glsl/linker: Pack within compound varyings.
This patch implements varying packing within varyings that are
composed of multiple vectors of size less than 4 (e.g. arrays of
vec2's, or matrices with height less than 4).
Previously, such varyings used up a full 4-wide varying slot for each
constituent vector, meaning that some of the components of each
varying slot went unused. For example, a mat4x3 would be stored as
follows:
<----slot1----> <----slot2----> <----slot3----> <----slot4----> slots
* * * * * * * * * * * * * * * *
<-column1-> x <-column2-> x <-column3-> x <-column4-> x matrix
(Each * represents a varying component, and the "x"s represent wasted
space). In addition to wasting precious varying components, this
layout complicated transform feedback, since the constituents of the
varying are expected to be output to the transform feedback buffer
contiguously (e.g. without gaps between the columns, in the case of a
matrix).
This change packs the constituents of each varying together so that
all wasted space is at the end. For the mat4x3 example, this looks
like so:
<----slot1----> <----slot2----> <----slot3----> <----slot4----> slots
* * * * * * * * * * * * * * * *
<-column1-> <-column2-> <-column3-> <-column4-> x x x x matrix
Note that matrix columns 2 and 3 now cross a boundary between varying
slots (a characteristic I call "double parking" of a varying).
We don't bother trying to eliminate the wasted space at the end of the
varying, since the patch that follows will take care of that.
Since compiler back-ends don't (yet) support this packed layout, the
lower_packed_varyings function is used to rewrite the shader into a
form where each varying occupies a full varying slot. Later, if we
add native back-end support for varying packing, we can make this
lowering pass optional.
Reviewed-by: Eric Anholt <eric at anholt.net>
v2: Skip varying packing if ctx->Const.DisableVaryingPacking is true.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bb8661b1ba69a223eb4d186ed9528525c3269f3
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Dec 13 12:45:54 2012 -0800
gallium: Disable varying packing on hardware with <=8 texture indirections.
In practice this will disable varying packing on R300, R400, i915g,
and nv30.
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ee500cfd28324bef27f145fbe03e77993810c45
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Dec 13 12:45:37 2012 -0800
mesa: Add an option so driver can opt out of varying packing.
On hardware that supports a limited number of texture indirections,
varying packing will comsume an extra texture indirection, since ALU
operations are needed in the fragment shader to unpack the varyings
before any texturing can be done.
This patch introduces a new driver option,
ctx->Const.DisableVaryingPacking, which can be used by a driver to opt
out of varying packing if the extra texture indirection is costly
enough to outweigh the advantages of packing varyings.
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1745a4d751a4184771628ad2be1336439c831afb
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sun Dec 9 15:25:38 2012 -0800
glsl: Add a lowering pass for packing varyings.
This lowering pass generates GLSL code that manually packs varyings
into vec4 slots, for the benefit of back-ends that don't support
packed varyings natively.
No functional change--the lowering pass is not yet used.
Reviewed-by: Eric Anholt <eric at anholt.net>
v2: Don't use ir_hierarchical_visitor--just loop over instructions
directly. Also, make the names of the packed varyings include the
names of the original varyings that were packed into them.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3993107f0b997195c4d97b95c47e84220f10b6d
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 5 10:19:19 2012 -0800
glsl/linker: Sort varyings by packing class, then vector size.
This patch paves the way for varying packing by adding a sorting step
before varying assignment, which sorts the varyings into an order that
increases the likelihood of being able to find an efficient packing.
First, varyings are sorted into "packing classes" by considering
attributes that can't be mixed during varying packing--at the moment
this includes base type (float/int/uint/bool) and interpolation mode
(smooth/noperspective/flat/centroid), though later we will hopefully
be able to relax some of these restrictions. The number of packing
classes places an upper limit on the amount of space that must be
wasted by varying packing, since in theory a shader might nave 4n+1
components worth of varyings in each of m packing classes, resulting
in 3m components worth of wasted space.
Then, within each packing class, varyings are sorted by vector size,
with vec4's coming first, then vec2's, then scalars, and then finally
vec3's. The motivation for this order is that it ensures that the
only vectors that might be "double parked" (with part of the vector in
one varying slot and the remainder in another) are vec3's.
Note that the varyings aren't actually packed yet, merely placed in an
order that will facilitate packing.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb989e37cb7ed2e3268959bdd869dc305177e468
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Dec 4 15:55:59 2012 -0800
glsl/linker: Subdivide the first phase of varying assignment.
This patch further subdivides the loop that assigns varying locations
into two phases: one phase to match up the varyings between shader
stages, and one phase to assign them varying locations.
In between the two phases the matched varyings are stored in a new
data structure called varying_matches. This will free us to be able
to assign varying locations in any order, which will pave the way for
packing varyings.
Note that the new varying_matches::assign_locations() function returns
the number of varying slots that were used; this return value will be
used in a future patch.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25ed3bef9b84c06cda06c9e77ff733d1ba863bf5
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Dec 4 10:34:45 2012 -0800
glsl/linker: Defer recording transform feedback locations.
This patch subdivides the loop that assigns varying locations into two
phases: one phase to match up varyings between shader stages (and
assign them varying locations), and a second phase to record the
varying assignments for use by transform feedback.
This paves the way for varying packing, which will require us to
further subdivide the first phase.
In addition, it lets us avoid a clumsy O(n^2) algorithm, since we can
now record the locations of all transform feedback varyings in a
single pass through the tfeedback_decls array, rather than have to
iterate through the array after assigning each varying.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e81c666db6940675eca623044e5b372dc6b7756
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 5 10:47:55 2012 -0800
glsl: Create a field to store fractional varying locations.
Currently, the location of each varying is recorded in ir_variable as
a multiple of the size of a vec4. In order to pack varyings, we need
to be able to record, e.g. that a vec2 is stored in the second half of
a varying slot rather than the first half.
This patch introduces a field ir_variable::location_frac, which
represents the offset within a vec4 where a varying's value is stored.
Varyings that are not subject to packing will always have a
location_frac value of zero.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c9c17db4a02ab5b1b2f60b9655c20319d9a9093
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Dec 4 15:17:01 2012 -0800
glsl/linker: Make separate ir_variable field to mean "unmatched".
Previously, the linker used a value of -1 in ir_variable::location to
denote a generic input or output of the shader that had not yet been
matched up to a variable in another pipeline stage.
This patch introduces a new ir_variable field,
is_unmatched_generic_inout, for that purpose.
In future patches, this will allow us to separate the process of
matching varyings between shader stages from the processes of
assigning locations to those varying. That will in turn pave the way
for packing varyings.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50895d443ae7b96cb7de6b41857393d4e129d6eb
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 5 07:17:07 2012 -0800
glsl/linker: Always invalidate shader ins/outs, even in corner cases.
Previously, link_invalidate_variable_locations() was only called
during assign_attribute_or_color_locations() and
assign_varying_locations(). This meant that in the corner case when
there was only a vertex shader, and varyings were being captured by
transform feedback, link_invalidate_variable_locations() wasn't being
called for the varyings.
This patch migrates the calls to link_invalidate_variable_locations()
to link_shaders(), so that they will be called in all circumstances.
In addition, it modifies the call semantics so that
link_invalidate_variable_locations() need only be called once per
shader stage (rather than once for inputs and once for outputs).
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=18392443d448e083187d085965375e7de910b18a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Dec 4 11:11:02 2012 -0800
glsl/lower_clip_distance: Update symbol table.
This patch modifies the clip distance lowering pass so that the new
symbol it generates (glClipDistanceMESA) is added to the shader's
symbol table.
This will allow a later patch to modify the linker so that it finds
transform feedback varyings using the symbol table rather than having
to iterate through all the declarations in the shader.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d249159fe6555d5d0fd44d3b661f796a2eb168d6
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Thu Dec 13 10:56:08 2012 +0200
android: build fix for libmesa_glsl_utils
hash_table.c compilation requires ralloc.h include path
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a12a8c910f818c8c7a5d36b5884b5c5201332b5f
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: minor indentation fixes in texcompress_etc.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b29f2d5ff54c5031e5b0f0ae9f89acb4eb38b219
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: remove old swrast-based compressed texel fetch code
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dc36a50de516d95fc6edc58cf1ab5cd7129e95a
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
swrast: use new core Mesa compressed texel fetch functions
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=faa95fd7faa97a1be48c8e04fc6ee443d44939b4
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: reimplement _mesa_decompress_image() using new tex fetch code
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccbe7db1e6ab4a731fbd11445c7b5c2aca00fc4e
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: added _mesa_get_compressed_fetch_func()
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad3e39bb6dcb139c3eb6a460833f30ba0fb3e974
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: add new texel fetch code for etc formats
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd7baf5bf488299da0e75c7d04dd611274a0eb8f
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: add new texel fetch code for rgtc formats
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=141d299965d9594e82e5218cf162440903e44ea7
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: add new texel fetch code for fxt formats
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a774eaa57e290a4fe0bcf5827019ac7054d096e0
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: add new texel fetch code for dxt formats
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2037a06da94bc0e14a0732c50c7d7044d9a29da0
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
mesa: add compressed_fetch_func typedef
This is a first step in removing the swrast-related code in core
Mesa's texture compression files.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=90b7797a1d962e64eabd98b3aeb9251fd5b873bb
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
swrast: merge get_texel_fetch_func() and set_fetch_functions()
No real need for separate functions anymore.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4896cea0435905eb4871c78e32da6984e4d344c
Author: Brian Paul <brianp at vmware.com>
Date: Sat Dec 8 15:19:44 2012 -0700
swrast: make _mesa_get_texel_fetch_func() static
Not called from any other file.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e41b0badbab97c9db03d5825f91533c69e4f9f9
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 13 20:17:58 2012 +1000
draw/llvmpipe: fix transform feedback position + enable other extensions
This builds on the previous draw/softpipe patch.
So llvmpipe does streamout calls after clip/viewport stages,
but we have the pre-clip position stored for later use, so
when we are doing transform feedback, and its the position vertex
grab the vertex from the stored pre clip position.
The perfect fix is too probably add a codegen transform feedback
stage in between shader and clip stages, but this is good enough
for now.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=55d37eb40edff67fa12d1729165b292b914d8e51
Author: Dave Airlie <airlied at gmail.com>
Date: Wed Dec 12 21:14:58 2012 +1000
draw: add support for later transform feedback extensions
This adds support to draw for the new features of transform feedback.
a) fix count_from_stream_output, using max_index+1 for now but it looks
like it should be valid as its derived from the vertex elements/vbo.
b) fix striding and dst offsets in output buffers - was just wrong before.
c) fix crash if tfb is suspended (so.num_targets == 0)
This also enables the new features on softpipe. It should be possible
to enable them on llvmpipe as well after this commit, but would need
to schedule piglit runs.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4330cfec8b5225283bccc03f53a440c20e8e5cb5
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Thu Dec 13 20:04:34 2012 +0000
clover: Fix build since removal of pipe_surface::usage
by commit 25409c6da8163d9acb386511aef0c11577c7aadb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d7d821e3df7dde45fbd7ae2988eee8e94baa14f
Author: Maxence Le Dore <maxence.ledore at gmail.com>
Date: Thu Dec 13 05:17:35 2012 +0100
r600g/radeonsi: Silence warnings
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c68babfc3c7b65dd53697528781bd6b6186f5190
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Tue Nov 27 21:57:15 2012 +0000
clover: Add support for compiler flags
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f71efcf7a8eace124e71ca72c86d4c2bdc8042d
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Mon Dec 10 16:04:04 2012 +0000
clover: Don't erase build info of devices not being built
Every call to _cl_program::build() was erasing the binaries and logs for
every device associated with the program. This is incorrect because
it is possible to build a program for only a subset of devices and so
any device not being build should not have this information erased.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7f9fb37eaa4a6849bb427b6096e52eb0daa9925
Author: Vincent Lejeune <vljn at ovi.com>
Date: Tue Nov 6 16:18:06 2012 +0100
r600g: use load_ar checks with llvm output.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60e05d7388b85bdc1d833a7755a81e366ef28dac
Author: Thierry Reding <thierry.reding at avionic-design.de>
Date: Tue Nov 20 16:50:35 2012 +0100
build: Fix AX_PROG_{CC,CXX}_FOR_BUILD macros
Override the cross_compiling and ac_tool_prefix variables by reassigning
to them instead of redefining the macros. Redefining them will actually
cause the variable names to be replaced instead of their content.
Furthermore push the definition of CPPFLAGS before running the checks
for the build tools to avoid the host CPPFLAGS from leaking into the
build CPPFLAGS.
While at it drop the redefinition of AC_TRY_COMPILER which hasn't been
used since autoconf 2.50 and make sure that all definitions are properly
popped when done (LDFLAGS, ac_cv_prog_CPP, ac_cv_prog_CXXCPP).
Acked-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Thierry Reding <thierry.reding at avionic-design.de>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a460aea3f14222af46f88d1bc686f82180b8a872
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Dec 13 19:12:58 2012 +0100
gallivm: fix texel fetch for array textures
Since we don't call lp_build_sample_common() in the texel fetch path we missed
the layer fixup code. If someone would have tried to do texelFetch with array
textures it would have crashed for sure.
Not really tested (can't run the piglit test being able to use texelFetch with
array samplers for now with llvmpipe).
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6267853055e4ecb5ce0580316c4aa77935f541d3
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Dec 11 19:14:33 2012 -0800
mesa: Fix computation of default vertex attrib stride for 2_10_10_10 formats.
Previously, if the client program didn't specify a stride when setting
up a vertex attribute, we used _mesa_sizeof_type() to compute the size
of the type, and multiplied it by the number of components.
This didn't work for the 2_10_10_10 formats, since _mesa_sizeof_type()
returns -1 for those types, resulting in all kinds of havoc, since it
was causing the hardware to be programmed with a negative stride
value.
This patch adds a new function _mesa_bytes_per_vertex_attrib(), which
is similar to the existing function _mesa_bytes_per_pixel(), but which
computes the size of a vertex attribute based on the type and the
number of formats. For packed formats (currently only the 2_10_10_10
formats), it verifies that the number of components is correct and
returns the size of the packed format. For unpacked formats, it
returns the size of the type times the number of components.
In addition, this patch adds an assertion so that if we ever forget to
update _mesa_bytes_per_vertex_attrib() when adding a new vertex
format, we'll see the problem quickly rather than having to debug a
subtle conformance test failure.
Fixes GLES3 conformance tests
vertex_type_2_10_10_10_rev_{conversion,divisor,stride_pointer}.test.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=11cea472466f731fa9c44d56f1643dec26e6601c
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Dec 7 16:32:30 2012 -0800
mesa/uniform_query: Don't write to *params if there is an error
The GL 3.1 and ES 3.0 specs say of glGetActiveUniformsiv:
"If an error occurs, nothing will be written to params."
So, make a pass through the indices and check that they're valid before
the pass that actually writes to params. Checking pname happens on the
first iteration of the second loop.
Fixes es3conform's getactiveuniformsiv_for_nonexistent_uniform_indices
test.
NOTE: This is a candidate for the 9.0 branch.
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6acabe33a35a75d008e33d5e01502a66b3bc6238
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Dec 7 14:26:04 2012 -0800
mesa: print unsigned values with %u
Otherwise messages say silly things like
glGetActiveUniformBlockiv(block index -1 >= 0)
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=200bb36778f841d9d80db0ddd8ce18e5fed3c5a8
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 12 02:37:58 2012 -0800
i965: Fix disassembly of jump targets on Gen7.
Gen7 stores the JIP/UIP bits in different places.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2eb9d3a0a0dfe42255e0b68c5064213053ac293
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Dec 9 15:44:03 2012 -0800
i965: Make try_rewrite_rhs_to_dst compare VGRF size to regs written.
try_rewrite_rhs_to_dst is a quick optimization to avoid generating new
temporaries (and MOVs from those temporaries to the dest) for every
expression tree we visit. By generating better code in simple cases, we
reduce the burden on later optimization passes like register coalescing.
Previously, we compared inst->regs_written() to lhs->vector_elements
to make sure the instruction generating our value wrote the same number
of components as our destination register.
However, this fails in some cases. One example is texturing (which
produces a vec4) into gl_FragData[i]. Technically, gl_FragData[i] is
also a vec4. However, the destination VGRF actually has size 4n (where
n is the size of the array).
split_virtual_grfs() can't split VGRFs that are used by SEND messages
which require contiguous destination registers (like texturing), and
register allocation needs all VGRFs to have sizes between 1 and 4.
Amnesia: The Dark Descent hits this case: a texturing instruction
(4 components) gets rewritten to the gl_FragData output register
(which was 4*3 = 12 components), causing the register allocator to
hit the "we rely on split_virtual_grfs" assertion.
This makes it possible to play Amnesia.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=122345876479cf5cf553e38162ab105658614ab7
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Wed Dec 12 14:59:36 2012 +0000
configure.ac: Disable compiler optimizations when --enable-debug is set
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e721a76e6842f8aeec2c40bd9960a55f5d606f7d
Author: Brian Paul <brianp at vmware.com>
Date: Wed Dec 12 08:51:19 2012 -0700
softpipe: remove unused corner0 variable
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ef27e8fa9d4b3c854d7d3c20e26ede7d2147753
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 10 10:32:07 2012 -0700
llvmpipe: remove unneeded draw_flush() call
This is redundant since we're calling draw_bind_fragment_shader()
which already does a flush.
v2: the redundant flush in llvmpipe_set_constant_buffer() has
already been removed by commit 3427466e6dbbb8db7c1ecda6b3859ca1cc5827a3
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d225d076a9807083ea065462390981b9514b6cfc
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun Dec 9 18:51:31 2012 +0100
r600g: suballocate memory for fetch shaders from a large buffer
Fetch shaders are usually destroyed at the context destruction by the state
tracker, so we can put them all in a large buffer without wasting memory.
This reduces the number of relocations sent to the kernel a little bit.
Tested-by: Aaron Watry <awatry at gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8df3855eed67302e83e4b181c4fa02183ccc185a
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun Dec 9 17:56:26 2012 +0100
r600g: suballocate memory for the STRMOUT_BUFFER_FILLED_SIZE register
Instead of having a 4-byte buffer for each streamout target, we suballocate
each dword from a 4K buffer.
This further reduces the overall number of relocations.
Tested-by: Aaron Watry <awatry at gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc2d908572d0ed97171e37e446372ab039ed5422
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun Dec 9 17:33:28 2012 +0100
gallium/util: add a simple allocator for suballocating from a large buffer
Tested-by: Aaron Watry <awatry at gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2478fcd87c4361ce288b042cc922373ef40b113c
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun Dec 9 16:43:16 2012 +0100
r600g: use u_upload_mgr for allocating staging transfer buffers
u_upload_mgr suballocates memory from a large buffer and maps the allocated
range (unsychronized), which is perfect for short-lived staging buffers.
This reduces the number of relocations sent to the kernel.
Tested-by: Aaron Watry <awatry at gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=448cd5ea60403576c3eec86ffb2b892e78b9dfe0
Author: Marek Olšák <maraeo at gmail.com>
Date: Sun Dec 9 00:02:46 2012 +0100
winsys/radeon: don't use BIND flags, add a flag for the cache bufmgr instead
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d0bf69f831e138a05a282e59746f20141046fd6
Author: Marek Olšák <maraeo at gmail.com>
Date: Mon Dec 10 21:35:59 2012 +0100
st/dri: add a way to force MSAA on with an environment variable
There are 2 ways. I prefer the former:
GALLIUM_MSAA=n
__GL_FSAA_MODE=n
Tested with ETQW, which doesn't support MSAA on Linux. This is
the only way to get MSAA there.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=afa902a705b9de70902b6559a383a35f38152555
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 8 22:53:23 2012 +0100
mesa: don't advertise ARB_texture_buffer_object in legacy contexts
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ac83a20010ae5fa1635866d1950f06aac15a46d
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 8 22:48:47 2012 +0100
mesa: disallow creation of GL 3.1 compatibility contexts
Death to driver-specific hacks!
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25409c6da8163d9acb386511aef0c11577c7aadb
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 8 15:37:17 2012 +0100
gallium: remove pipe_surface::usage
Not really used by anybody now.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1f704073b8992f3556c8e44a7fc496e250ba3ae
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 8 14:53:55 2012 +0100
svga: stop using pipe_surface::usage
There are only 2 possible usages: render target and depth stencil.
Both can be derived from the surface format, so the flag is redundant.
And it's going away...
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21b1ec69fc846c562f7d3685355315ce66b0f436
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 7 20:07:48 2012 +0100
gallium/util: move util_try_blit_via_copy_region to u_surface.c
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a555637b2fa2c3e8095e4aa48098c1ae28655d9
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 7 19:59:03 2012 +0100
gallium/cso: don't use the pipe_error return type where it's not needed
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eae9674f187ea0f250723fef75d4f71bb3ba632e
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 7 19:52:00 2012 +0100
gallium: manage render condition in cso_context and fix postprocessing w/ it
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ec6ffd85d019cdba3bbeba24dbc49981791df28
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 7 19:31:33 2012 +0100
st/mesa: remove a weird msaa hack
It doesn't work and it's not clear how it's supposed to work.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=621259b3de1f15c879620bbf17764fd8a27ae6f5
Author: Dave Airlie <airlied at gmail.com>
Date: Tue Dec 11 19:52:48 2012 +1000
softpipe: implement seamless cubemap support. (v1.1)
This adds seamless sampling for cubemap boundaries if requested.
The corner case averaging is messy but seems like it should be spec
compliant.
The face direction stuff is also a bit messy, I've no idea if that could
or should be simpler, or even if all my directions are fully correct!
v1.1: update comments, drop unneeded seamless calls for nearest, fix
if statement layout.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3392f2fbcfe8c82b764a064359999866c97ba551
Author: Dave Airlie <airlied at gmail.com>
Date: Wed Dec 12 07:15:31 2012 +1000
gallium: fix cap warnings for tbo cap.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5cdcd7251a213a448f2bfaf0e7527213c8afa3f5
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Dec 10 17:20:05 2012 +1000
glsl_to_tgsi: emit multi-level structs and arrays properly.
This follow the code from the i965 driver, and emits the structs
and arrays recursively.
This fixes an assert in the two UBO tests
fs-struct-copy-complicated and
vs-struct-copy-complicated
These tests now pass on softpipe, with no regressions.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ee0b442528c7d0d0207504e8d315dfb5666afcd
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 10 12:35:23 2012 -0700
llvmpipe: don't use user constant buffers
This fixes some use-after-free issues. I haven't measured any real
performance difference with a handful of Mesa demos.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3427466e6dbbb8db7c1ecda6b3859ca1cc5827a3
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 10 12:31:46 2012 -0700
llvmpipe: support pipe_resource-based constant buffers
Before this we only supported user-based constant buffers.
First, we basically plumb pipe_constant_buffer objects through llvmpipe
rather than pipe_resource objects.
Second, update llvmpipe_set_constant_buffer() and try_update_scene_state()
so they understand both resource- and user-based constant buffers.
The problem with user constant buffers is the potential for use-after-free,
as seen in some WebGL tests. The next patch will flip the switch for
resource-based const buffers.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c6053dc519aecd93c12c383b4cdc0c159b3d9b3
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 10 12:29:08 2012 -0700
util: add util_copy_constant_buffer() helper function
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=beafced21c3c11315a8b94f20508562729453175
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 10:15:08 2012 -0800
i965/fs: Improve performance of shaders that start out with a discard.
I had tried this in the past, but ran into trouble with applications
that sample from undiscarded pixels in the same subspan. To fix that
issue, only jump to the end for an entire subspan at a time.
Improves GLbenchmark 2.7 (1024x768) performance by 7.9 +/- 1.5% (n=8).
v2: Drop the br variable in the jump instruction -- if I ever do jumps
pre-gen6, it'll be a different code block anyway since we don't have
HALT until gen6.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5016495cc1b50b1673d0d3ab8e6af8249b071d5
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 12:15:13 2012 -0800
i965/fs: Rewrite discards to use a flag subreg to track discarded pixels.
This makes much more sense on gen6+, and will also prove useful for
early exit of shaders on discard.
v2: fix up a stale comment from before converting gen4-5.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b278f65e1c5295794dcf08d100356e6ded6c1f32
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 10:36:11 2012 -0800
i965/fs: Add an instruction flag for choosing the flag subregister.
We're going to redo discard handling to track discards in the other flag
subregister, saving instructions in the discard and allowing predicated
jumps out to the end of the shader.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c69a9fb60e1b5e879a9b9bb4d0c08485483a7db
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 10:43:13 2012 -0800
i965: Let brw_flag_reg() choose the flag reg and subreg.
We're about to start using the f0.1 subregister.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a1490bc8ffd6b0259e7d36d04ac207f39a029bb
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 11:48:25 2012 -0800
i965: Print the flag reg updated by conditional modifiers.
This makes our output more consistent with other disasm tools, and
will be necessary when we start using f0.1.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7fd4b3f9419353732a061920aefdc7bcec4728d
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 11:35:28 2012 -0800
i965: Add the new flag_reg_nr instruction field from IVB.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f606a42a3cad9dad27c207864417bcb20efa5c2e
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 10:55:26 2012 -0800
i965: Correct the name and usage of the flag subregister number field.
We've been calling it a register number, it's actually the subregister,
and things will get confusing once we start using it if it isn't fixed.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d404a4bd8feb1a6575774d8eec7bc993c8e095e
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 6 11:31:31 2012 -0800
i965: Remove bogus flag_reg_nr field from bits3.
There's a flag subreg nr field in bits2 next to src0.vertstride, but
there shouldn't be anything in bits3 next to src1.vertstride.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb8300f5a98016ccc8d34f1bbfee9eb319a2a8a8
Author: Tobias Droste <tdroste at gmx.de>
Date: Thu Nov 29 17:02:28 2012 +0100
st/egl/drm: only unref the udev device if needed
Fixes compiler warning:
drm/native_drm.c: In function ‘native_create_display’:
drm/native_drm.c:180:21: warning: ‘device’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drm/native_drm.c:157:24: note: ‘device’ was declared here
Signed-off-by: Tobias Droste <tdroste at gmx.de>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc4bf3c84015144100ebdb4015bf06f7eab9f646
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sat Dec 8 11:45:58 2012 +0000
softpipe: Use os_time_get_nano() everywhere.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b361bb3de4bd8d27f6fcb920e5516e51db00ef73
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date: Tue Dec 4 14:18:03 2012 +0100
clover: Install CL headers.
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe1794e0c7efc46e7a5056ac222dd081cae4020
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Thu Dec 6 11:56:21 2012 -0800
gallivm: Lower TGSI_OPCODE_MUL to fmul by default
This fixes a number of crashes on r600g due to the fact that
lp_build_mul assumes vector types when optimizing mul to bit shifts.
This bug was uncovered by 0ad1fefd6951aa47ab58a41dc9ee73083cbcf85c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8000e7b4b6e2866b42de19448cbf3412cce1f26c
Author: Dave Airlie <airlied at redhat.com>
Date: Sat Dec 8 06:00:30 2012 +0000
llvmpipe: fix txq for 1d/2d arrays. (v3)
Noticed would fail, we were doing two things wrong
a) 1d arrays require the layers in height
b) minifying the layers field.
v2: don't change height code, fixup completely inside txq
as suggested by Roland.
v3: just add minify before texture array size
v1: Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41f4f094c484b3eb040e1a892f0a5c5533ac7321
Author: Dave Airlie <airlied at redhat.com>
Date: Sat Dec 8 05:41:03 2012 +0000
llvmpipe: increase texture target width to reflect increase
Now that we've gone over 7.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0151237457f47a43fa64111e462da851c4b8ab4c
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Sat Dec 8 12:43:10 2012 -0800
mesa syncobj: don't store a pointer to the set_entry
The set_entry pointer can become invalid if the set table
is re-hashed.
This likely will fix
https://bugs.freedesktop.org/show_bug.cgi?id=58012
(Regression since 56e95d3c)
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6e782eb9bb91907c8ad6ac88365feca4a26d2e
Author: Fabio Pedretti <fabio.ped at libero.it>
Date: Fri Dec 7 23:00:05 2012 +0100
vega: remove unused variables
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eefd373876d74249e8a94773543f268c5a59371a
Author: Fabio Pedretti <fabio.ped at libero.it>
Date: Fri Dec 7 23:00:00 2012 +0100
nvc0: comment unused nvc0_validate_zcull function
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b4926b64bfcdd36d2665dcc58dbbd5de2249672
Author: Fabio Pedretti <fabio.ped at libero.it>
Date: Fri Dec 7 22:59:53 2012 +0100
nv50: remove unused OpClassStr array
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=320d531373e7b0873f5de42f6173b986290f593f
Author: smoki <smoki00790 at gmail.com>
Date: Mon Dec 10 17:30:26 2012 +0100
r200: fix broken tcl lighting
command mistakenly used vector instead of scalar emit (the more or less
identical code in radeon is already correct).
Seems like it would be broken ever since kms probably.
Should fix bugs 22576, 26809.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17f5dc57306b8f5079304701e455bf4b927d3cae
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Dec 10 14:25:49 2012 +1000
st_glsl_to_tgsi: fix ubo bools.
This should fix the ubo boolean tests, along with the previous
ubo loading fix.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a66c8acd382414a73c2db0ffdc9d95b980f770d
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Dec 10 14:22:34 2012 +1000
st_glsl_to_tgsi: call ubo load pass earlier
This calls it in around the same place as the 965 driver.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af2d9affb19e34e8de08420cee83aeb3da02d4be
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Dec 10 12:23:47 2012 +1000
glsl_to_tgsi: fix texture offset translation
I noticed the texelFetch offset test failed on 2D rect samplers
with GLSL 1.40. This is because I wrote the immediate->offset
translation wrong.
Fixed the translation to actually use the ureg info to set the
offsets up.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=157f5d043afe8cf7f47baa7b29cf6dfc756feb40
Author: Dave Airlie <airlied at gmail.com>
Date: Sun Dec 9 20:28:56 2012 +1000
drisw: fix up context and apis for software context
This ports over from the dri2 code to the drisw bits. It means 3.1
core contexts now work for softpipe.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd87441ac028068f422e2c96b39f93644a0f246f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 02:40:09 2012 -0800
i965: Add missing _NEW_BUFFERS dirty bit in Gen7 SBE state.
This is needed to compute render_to_fbo. It even has the comment.
NOTE: This is a candidate for stable branches.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e98cefb5a088b71ed3cb8e5cd826deed7d28b37
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date: Sat Dec 8 16:02:54 2012 +0100
st/mesa: set PIPE_BIND_SAMPLER_VIEW for TBOs in st_bufferobj_data
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f079f9e5879ed9e5f2a951bca305a43e5dc9d1d
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date: Sat Dec 8 19:46:14 2012 +0100
nvc0/ir: allow neg,abs modifiers on OP_SET with integer result
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c6584b9968ff1af0798d0a783142052b43c1dc0
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date: Sat Dec 8 15:06:43 2012 +0100
nvc0/ir/emit: fix check for flags register use in logic ops
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b73cdb864aef6d64c35a7ab9a59e4ee4e3f9d0f
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 13:58:34 2012 -0700
draw: fix/improve dirty state validation
This patch does two things:
1. Constant buffer state changes were broken (but happened to work by
dumb luck). The problem is we weren't calling draw_do_flush() in
draw_set_mapped_constant_buffer() when we changed that state. All the
other draw_set_foo() functions were calling draw_do_flush() already.
2. Use a simpler state validation step when we're changing light-weight
parameter state such as constant buffers, viewport dims or clip planes.
There's no need to revalidate the whole pipeline when changing state
like that. The new validation method is called bind_parameters()
and is called instead of the prepare() method. A new
DRAW_FLUSH_PARAMETER_CHANGE flag is used to signal these light-weight
state changes. This results in a modest but measurable increase in
FPS for many Mesa demos.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5f544e69075001855da9f49f1c1d06191765a6c
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 12:21:08 2012 -0700
draw: add reminder comments about similar code in different files
When one function is changed, also look at the other.
Presently, there are some differences with respect to geometry
shaders and instanced drawing...
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a506ccd89fed8e4942ad5cd034b16b2aa9e873a7
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 12:15:28 2012 -0700
draw: rearrange code in llvm_middle_end_prepare()
To clean it up and make it look more like the non-LLVM
fetch_pipeline_prepare() function.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e0fa487fbddcc5578f7829bd972a3d442e0a4cb
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 12:41:22 2012 -0700
draw: fix comment typo
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b11344b25742062ff954370cc8c6a9a885b3394
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 12:33:27 2012 -0700
draw: add comment on draw->pt.opt field
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b46b44b0a90db3d25e95c0ff1c6997374a3c45ee
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 7 12:26:18 2012 -0700
draw: update a comment about index buffers
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=122dfc5ee25ec4faf040baf5dc834d144bb3a42c
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sat Dec 8 11:15:46 2012 +0000
gallium/os: Fix nano->micro second concersion.
copy'n'paste: best friend, worst enemy..
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f688327e68cef28c4bd1f49e2338bae7c434f5e
Author: Dave Airlie <airlied at redhat.com>
Date: Sat Dec 8 03:46:32 2012 +0000
llvmpipe: fix missing tbo cap warning.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=73ae865af8794c053812cbb5fe9532b1b6113515
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:16:10 2012 +1000
mesa/st: add ARB_uniform_buffer_object support (v2)
this adds UBO support to the state tracker, it works with softpipe
as-is.
It uses UARL + CONST[x][ADDR[0].x] type constructs.
v2: don't disable UBOs if geom shaders don't exist (me)
rename upload to bind (calim)
fix 12 -> 13 comparison as comment (calim + brianp)
fix signed->unsigned (Brian)
remove assert (Brian)
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=535e248c5fc88fb3fa56d0ce9204e6a6427802f6
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:14:25 2012 +1000
softpipe: enable GLSL 1.40
This enables GLSL 1.40 advertising by softpipe.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6256f1e678cf72a2c0cb407a2118afa92bd1b20
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:14:03 2012 +1000
softpipe: add texture buffer object support
This adds TBO support to softpipe.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=22439f24a2403aaf8428a80da23fc95fc16454fa
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:13:15 2012 +1000
st/mesa: add option to enable GLSL 1.40
Allow GLSL 1.40 to be enabled if the driver advertises it.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=915efe7f07a370827be9872fbf93cf9fc304ba24
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:12:11 2012 +1000
st/mesa: add texture buffer object support to state tracker (v1.1)
This adds the necessary changes to the st to allow texture buffer object
support if the driver advertises it.
v1.1: remove extra blank line and whitespace
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0281c4a8c056d0873a18ec790563362f37f0e74
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Dec 6 16:10:40 2012 +1000
gallium: add new texture buffer object capability
this just adds the define to the header.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c2492ea4aa58673f746800dbf4206aff44bc907
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sat Dec 8 01:05:52 2012 +0000
mesa/meta: Move declaration before statements.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeff87cee3a01cbd3ca9153db531ca5b0d21f606
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sat Dec 8 01:02:30 2012 +0000
mesa: Move declaration before statement.
For MSVC's sake.
More information about the mesa-commit
mailing list