Mesa (gles3): 194 new commits
Jordan Justen
jljusten at kemper.freedesktop.org
Sat Jan 5 03:02:10 UTC 2013
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ae0120f247e62d9bae6620e70bbc24bcd1c1b5e3
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 12:34:03 2012 -0800
texformat: use MESA_FORMAT_ARGB2101010 with GL_UNSIGNED_INT_2_10_10_10_REV
Choose MESA_FORMAT_ARGB2101010 when storing
GL_RGBA + GL_UNSIGNED_INT_2_10_10_10_REV or
GL_RGB + GL_UNSIGNED_INT_2_10_10_10_REV.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=787bbe65fffdad786e4af760fbd5612db97041a7
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Wed Jan 2 22:32:47 2013 -0800
texstore argb2101010: merge GL_RGBA and GL_RGB cases
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f96348c600f5c1c097425dc432307b8dad68765
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Sun Dec 30 00:40:00 2012 -0800
pack: handle GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV case
For floats, if GL_RGB is the source, then alpha should be set to
1.0F.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe23a2c5e18988959e3c699ff0c695517e8f37e8
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:46:06 2012 -0800
i965 teximage: allocate texture image buffer for fallback path
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=54d744bfc427d2f6f870a866d90e2381277c7300
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:45:04 2012 -0800
i965 teximage: don't call _mesa_store_teximage if format/type==GL_NONE
Mesa core's copyteximage calls the driver with format/type==GL_NONE
to "Allocate texture memory". In this case, we shouldn't call
_mesa_store_teximage.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1c62e95334bca54fa297cb8abc8d655e2c59019
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:37:23 2012 -0800
glformats: allow GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV for GLES2/3
This format is allowed by the GL_EXT_texture_type_2_10_10_10_REV
extension.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0faa38ccc6671a50428b23814f87cf87769926b2
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Jan 4 12:29:02 2013 -0800
readpix: for implentation format/type, ignore int vs. non-int check
In ES or GL+GL_ARB_ES2_compatibility, the usage of
format = IMPLEMENTATION_COLOR_READ_FORMAT +
type = IMPLEMENTATION_COLOR_READ_TYPE
can function, even if the src/dst int vs. non-int types
differ.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed9f60807027c85970e71c75878fe15594814a32
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:27:04 2012 -0800
readpix: raise priority of FBO completeness error
GTF/gles3 test suite wants this error to have higher priority
than the type checking.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b68dc0c5eecf3d20f9f2656d5e710bd392382605
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:24:37 2012 -0800
readpix: add error checking for GLES3
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=add9b77cbde360412a6bc8dd79b7b6e71549c4dc
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:16:15 2012 -0800
readpix: use integer conversion for RGBA/UNSIGNED_BYTE
If the source read buffer is integer based, and the the read
pixels type is RGBA/UNSIGNED_BYTE, then use the integer pixel
conversion path.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=64e0be7d0bedb456e6ab2f3113b90dbdaa33fe5d
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:08:20 2012 -0800
glformats: support _mesa_bytes_per_pixel for 2101010+GL_RGB
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=166c4d211d49d724716d098316b00f91b95cbed5
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:07:01 2012 -0800
copytexture: update error checking for GLES3
Changes based on GTF/gles3 conformance test suite.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fef9526cb6b251516db49613341cfb7046ac502a
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 11:00:50 2012 -0800
copytexture: make sure is_srgb(src) == is_srgb(dst)
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a33dc45d2f53c3e5645ef97db3f53734847ec0e9
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Fri Dec 28 10:55:33 2012 -0800
framebuffer: add _mesa_get_read_renderbuffer
This returns the current read renderbuffer for the specified
format type.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95da613011888c05f4e620bbab950fc9b02c95a0
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 17:36:10 2012 -0800
copytexture: for GLES make sure integer signed vs. unsigned matches
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9824382dbdf54b6bb732064b4842068369138fcf
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 16:45:13 2012 -0800
glformats: add _mesa_base_format_component_count
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=067e9170efed1b0e3793a43bb05044b2a3a1291a
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Dec 6 14:51:29 2012 -0800
teximage: use _mesa_es3_error_check_format_and_type for GLES3
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=28236b2f28513824aed1602ee00f9cac95e8052a
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Dec 6 14:51:29 2012 -0800
glformats: add _mesa_es3_error_check_format_and_type
This function checks for ES3 compatible
format/type/internalFormat/dimension combinations.
[jordan.l.justen at intel.com: additional tweaks for gles3-gtf]
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1ef7b34ced7fdee8eb077645749fb726133f3d0
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 13:34:44 2012 -0800
fbobject: add additional fbo completeness checks for GLES
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d99b2504532869967af34935ccb016a25bdd9c0
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 13:24:57 2012 -0800
glformats: add functions to detect signed/unsigned integer types
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3613e67b4a80c5973c6bfdf08d796c41093e681d
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 13:21:01 2012 -0800
unpack: support unpacking MESA_FORMAT_ARGB2101010
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=566ce73fab05838ec85b71958c67421241a1e803
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 13:18:09 2012 -0800
pack: adjust clamping for int=>ubyte conversion
gles3conform expects than when converting from a signed
int to an unsigned byte, the output will be clamped at a
max of 0x7f. This impacts conversion from
int16_t => uint8_t and int32_t => uint8_t.
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fd482b84178857056e100aa9babf558ac79e1e6
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Thu Dec 27 12:41:10 2012 -0800
fbobject: don't allow LUMINANCE/INTENSITY/ALPHA fbo on GLES
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=555245eeb7c6d1f662bc4f07c754ecf4a121a5d5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 18 12:32:29 2012 -0800
Fix-up for "mesa: Rework crazy error code rules in glDrawBuffers()."
This should be squashed into the earlier patch when mailing it out for
review or merging it to master.
The error path was missing a "return" like all the other error paths.
Also, we may as well call it glDrawBuffers in the error message since
the ARB suffix doesn't exist in ES 3.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e76ddbf0f84b7b7b50bc819aa5fa592b874fbff5
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=8b89a5bbf5bcb5f3e6d9ee33048d1f923aa6cd56
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=56e2a876e45daf798646b4cc13131fdb5637951a
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=acac9cdde0d013c7333e23e98c483623f300b622
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=8a88168a90891ced07fcda7005b15a26c11e7077
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=18aca7ac5a65f15456371eaf5f897bb6c26b01c1
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=4dd38352e5897b6003bacb671fadf9e92697b386
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=a0333d34a738231e0045a209436774476b1fafc6
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=5d1c69be02c5386a7bc4d9c6aedcdedc750085f5
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=e68b841b3cb1ddf940fc4101e4c976144cf8f801
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=3b495d815f608ad432edfecc82f3887164019993
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=0538b36baca0708a8a3d9f730e596605f59a3255
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=d3d6e0534999045b0693b3ad78b6c756f36ccaf7
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=4014ee45678aca4a0251abaf5012d0e59f14c242
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=b83a83dcdfdeecd5a67d1449ceb1ff133f4de3d8
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=19864a4b1c28b81f87a0a4d585722e3357fbedda
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=24d89bc7ea340a6cc9fd457d800c49d56425ff28
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=84b2017c301e14657392492347e7435a64d83472
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=a9c1fa067c4cd9daf52da2236fa83102c7d68564
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=d9228105e1cb343af2a655e2e30539345f3d4b8e
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=4b7bea48eee768813cc7bc35fe0f8a33054eb916
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=b1a21a9f7c4ee53c212f657a306863ee01aecc5e
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=f7a82c00cd0204c97dca6de1f1b0d14899209f73
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=d053e8e85bfe2e432fdeff8f33112892a83021b0
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=0f16eafa179c2a6fea0929c7505c4ef98ca5b181
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=43413b3fddbe4d20ddb0168a273048bbfdf25c39
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=974d48a061b88ddae965de6b2d161a49b695cb0f
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=173e4f7a4268dede058ddab257749e95af4f8297
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=026099f93ac948b7414907d48209b4f1a5a09353
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=feba88049fd50eb22e91f0c100441d8d054ba677
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=cf6ddcecda5d41a21d978977e1b07b3fd7b39370
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=244d6eb0941ce52462277d5ce65cbc607ad51d95
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=7a4eca8280ef79f57ace972cee057ce7094fe397
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=3d0890d39db8d612f9d14129b9eb3320135b41ed
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=2a18d71dbed1f8c2bae04e376086ee91c6c6c2ae
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=13fa793585a61e519cc92c37997e4025d35111f6
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=fca1ec5bfae617e3957561c71516734a19ed422c
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=5b9df1c2454985db8fb1737376d2d6e6e4380834
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=bdea9b9460b0c7f0738fd07112bb9ec500a15a2f
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=e1ccb719961c2d564cefc589242bf3de71341b28
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=db902c494876a360b7bd87c97d6314f96ed0db2b
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=a40737f5057a58cd97395fad51a1b347a75c993d
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=dbee8d3ea25db655ad59fe4d61c920014098b673
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=69c2528b8374156adc45c427faaa59cee88a6541
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 3 08:04:50 2013 -0700
util: fix addressing bug in pipe_put_tile_z() for PIPE_FORMAT_Z32_FLOAT
The Z32 pixel is 4 bytes so multiply x by 4, not 2.
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=073a53fe2f39cfa42090b223cbaf287b48cefe8e
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 3 08:02:57 2013 -0700
util: add get/put_tile_z() support for PIPE_FORMAT_Z32_FLOAT_S8X24_UINT
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=58972
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b6ba9c4c840e291cbbe19a8601b56d1d103179c
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jan 2 13:46:20 2013 -0700
gallivm: support more immediates in lp_build_tgsi_info()
Bump limit from 32 to 128.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58545
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46bad058eb1f2fa73a4db19655bc660dde1befb9
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 3 17:31:22 2013 -0700
xlib: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values
Fixes piglit glx-dont-care-mask test.
Note: This is a candidate for the stable branches.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe90762414ea3191143a82534e304871c1e311a8
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 3 17:30:34 2013 -0700
st/glx: allow GLX_DONT_CARE for glXChooseFBConfig() attribute values
Fixes piglit glx-dont-care-mask test.
Note: This is a candidate for the stable branches.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aed37cbee8efb59b2f1a6bc69adcbaecd9e4fa13
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Fri Jan 4 15:38:37 2013 +0000
radeon/llvm: Remove backend code from Mesa
This code now lives in an external tree.
For the next Mesa release fetch the code from the master branch
of this LLVM repo:
http://cgit.freedesktop.org/~tstellar/llvm/
For all subsequent Mesa releases, fetch the code from the official LLVM
project:
www.llvm.org
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05c143cc049a87c515ecdc5695e5912da60cf5cb
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date: Thu Dec 20 20:56:17 2012 +0100
Support LLVM >= 3.2 on radeonsi and opencl.
Tom Stellard:
- Backend now has same name for all LLVM versions
- Add missing LLVM_VERSION_INT definition
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=54f3a3e88d35c855c43c31ae7c915cfa55d1f5d7
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Fri Jan 4 15:47:53 2013 +0000
clover: Fix build after the addition of enum pipe_flush_flags
Broken since commit 598cc1f74d7ae924e84dee801b456ab7b0b22f84
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bce36d155659f250dd2c38cd72b231bdbe280408
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Jan 2 20:28:10 2013 +0100
r300g: don't check for vertex and index buffer bind flags
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=beb358809e30d8769f6d8e75b8edb9d564bd8fa4
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Jan 4 20:07:06 2013 +0100
r300g/swtcl: use memcpy to emit indices
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad1d1a4d9e4cb06424d477ddabac5885fa0613af
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Jan 4 18:00:46 2013 +0100
r300g/swtcl: simplify vertex uploading
- skip the vertex buffer reallocation in flush and just use
the unsynchronized flag to get new memory.
- remove the cruft needed to get around the issues with the vertex buffer
reallocation in flush
- use pb_buffer instead of pipe_resource
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37fd455b21d4825b569a45ffd5d930347a042cea
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Jan 4 18:27:21 2013 +0100
r300g/swtcl: fix crash when setting vertex buffers
Broken by e73bf3b805de78299f1a652668ba4e6eab9bac94.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4ff72b9447dcff29c51bcb8b037eb4a53bcc040
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Jan 2 20:23:57 2013 +0100
r300g: don't set PIPE_BIND flags for internal textures
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=06f67e75ee7158e7f13860d07785e1cf3f8f4b13
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Dec 29 11:31:37 2012 -0800
i965: Fix glCompressedTexSubImage2D offsets for ETC textures.
This patch fixes intel_miptree_unmap_etc() (which decompresses ETC
textures to linear) to pay attention to map->x and map->y when writing
to the destination image. Previously these values were ignored,
causing the xoffset and yoffset parameters passed to
glCompressedTexSubImage2D() to be ignored.
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=48ac6d7e97b93258bc784f46bd5f875c70a4b3b9
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Dec 13 23:32:51 2012 -0500
egl/wayland: Remove kooky flush code
We used to have to jump through hoops to call glFlush at swap buffer time,
but the flush extension made that unnecessary a long time ago.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b433e319b34df1930d46fcca534e475ed9e7dc3c
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Dec 13 23:21:46 2012 -0500
egl/wayland: Remove confusing comment about front buffer rendering
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5160a10c0be29c9df2a05be0bbc025f2894e9e6
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Dec 13 23:20:16 2012 -0500
egl_dri2: Remove unused struct dri2_egl_buffer from header file
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0725f2d654bfa4b24059e71572e2ad90baac7031
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Dec 13 15:59:24 2012 -0500
egl: Add extension infrastructure for EGL_EXT_buffer_age
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f79739ebdd17b55c6a416e2772b28e3d9c30ec07
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Dec 13 23:44:09 2012 -0500
egl: Update to revision 19987 of eglext.h
This pulls in EGL_EXT_buffer_age.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35fe71d97e679aa7fe792cae8e100e7c5dd18bfe
Author: Brian Paul <brianp at vmware.com>
Date: Fri Jan 4 08:21:12 2013 -0700
util: move var declaration before loop to fix MSVC error
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1aebb6911e9aa1bd8900868b58d1750ca83a20c7
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 03:45:49 2012 +0100
r600g: implement 3D transfers
That means we can map and read multiple slices with one transfer_map call.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee351ea178daed07e121617d324e069b8906d345
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 17:00:06 2012 +0100
st/mesa: fix assertion failures with 2101010 vertex formats
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1818d6f68114de0c86954e50abdb97c90ea73be
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 16:40:33 2012 +0100
st/mesa: accelerate CopyTexSubImage for 1D array textures
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed86809ac9fe47c07be13ff0b998137f5f687635
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 15:15:15 2012 +0100
st/mesa: fix CopyTexSubImage fallback for 1D array textures
- We should use a 3D transfer of size Width x 1 x NumLayers.
- We should use layer_stride instead of stride.
(even though they are likely to be equal with 1D array textures)
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=85cb4f299d8a0a0ebc8fe14d0ccd327375eda99e
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 03:54:33 2012 +0100
st/mesa: fix GetTexImage for compressed 2D array textures
This uses a 3D blit to decompress the texture and then a 3D transfer
to read it.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=538d3a2d46314bbdd415234f988bcaf49dcd219a
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 02:33:45 2012 +0100
gallium/util: remove unused helper util_create_rgba_texture
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5daba187c987b1fe607d395c70748c6e331f59c4
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 02:09:56 2012 +0100
st/mesa: try to find the format matching format+type in decompressed_with_blit
There was the fast path based on _mesa_format_matches_format_and_type
for GetTexImage, but it never worked, because the Mesa format we were testing
there was always compressed. Further testing showed that the fast path
had been completely broken.
In this commit, the somewhat limited helper util_create_rgba_texture is
no longer used and instead, custom code for the texture creation is added,
which tries to find the best matching RGBA8 format, so that we can hit
the fast path *always* if the read format is a variant of RGBA8 and supported
by the driver.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0aecb174ce5d2d5c25e1076e8d0cdcb68e9a3b5c
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 01:41:57 2012 +0100
st/mesa: fix GetTexImage for compressed cubemaps
I'll deal with 2D arrays later.
NOTE: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=afec42a648b8e22f1a1a818271cf1d5aa818df81
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 03:43:57 2012 +0100
gallium/u_blitter: implement 3D blitting
Scaling and flipping in the Z direction isn't allowed yet.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5665deeaea853640162cd4a71b10504f37ecd98d
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 13:08:00 2012 +0100
gallium/u_blitter: fix blitting TEXTURE_CUBE_ARRAY with a non-zero cube index
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53d232d2232c38bc81c3c23e51b3a3580e41c18d
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 03:42:11 2012 +0100
gallium/u_blitter: minor simplification
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccfcf3287326b924d745d7915b0cb471f4c8e24e
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 23:06:51 2012 +0100
gallium/u_blitter: unify some parameters into a dstbox parameter in blit_generic
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23f76f558eac7f59ead6d49325c7edb4a010c0c5
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 22:25:22 2012 +0100
gallium/u_blitter: remove useless parameter from blitter_default_dst_texture
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8fdece2896d4b97968c6610a6397d1ce027c2b58
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 15:07:35 2012 +0100
gallium/util: complete implementation of util_dump_transfer
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bd134f31b07376a035951ec6c026bbff88a2b05
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 03:57:39 2012 +0100
mesa: allow TEXTURE_CUBE_MAP_ARRAY in GetTexImage
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12aeb47b6af4b3100da26b3ab72ef93886479219
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 17:15:56 2012 +0100
gallium/radeon: send the END_OF_FRAME flag to the DRM
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=598cc1f74d7ae924e84dee801b456ab7b0b22f84
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 17:03:22 2012 +0100
gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flag
Usage with pipe_context:
pipe->flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME);
Usage with st_context_iface:
st->flush(st, ST_FLUSH_END_OF_FRAME, NULL);
The flag is only a hint for drivers. Radeon will use it for buffer eviction
heuristics in the kernel (e.g. for queries like how many frames have passed
since a buffer was used).
The flag is currently only generated by st/dri on SwapBuffers.
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Stéphane Marchesin <marcheu at chromium.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ad5ebaefa3c5918001a40ed6099521aa0142c95
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Jan 4 12:40:33 2013 +0100
radeonsi: fix int->bool conversion in fence_signalled
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f0ddbc9e4b44f165c96841fe32ebc66c68d2709
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Jan 4 12:40:04 2013 +0100
r600g: fix int->bool conversion in fence_signalled
NOTE: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8b1d61e764a83c128787faa639ba2fc4604722f
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Jan 3 11:51:38 2013 -0800
Add new .gitignore entries for Automake 1.13 tests
Automake 1.13 creates a bunch of new build artefacts:
- bin/test-driver, a script for running tests.
- *.trs files for every "make check" test result.
- *.log files containing the output of every test run by "make check".
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=82f8e8ebd57720f1e9d148c7dc65b14c218307df
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Dec 28 12:45:14 2012 -0800
i965: Replace structs with bit-shifting for Gen7 SURFACE_STATE entries.
Every generation except Gen7 creates SURFACE_STATE entries via a
uint32_t array. Only Gen7 uses the older bitfield structure, which we
moved away from because it was less efficient. Convert it for
consistency.
This reduces the compiled size of gen7_wm_surface_state.o by 2.86% in a
release build.
v2: Fix accidental use of BRW_SURFACE_WIDTH/HEIGHT in brw_state_dump.c;
switch back to gen7_set_surface_mcs_info setting surf[6] directly
(both per Eric's review comments).
Acked-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5bf357db89836d0f4e4b8a4cb559755d4734b81b
Author: smoki <smoki00790 at gmail.com>
Date: Thu Jan 3 18:57:40 2013 +0100
radeon/r200: Fix tcl culling
Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=57842
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=800ed958c33092d694686fcc25c0283dfba86459
Author: Jonas Ådahl <jadahl at gmail.com>
Date: Tue Dec 25 13:01:08 2012 +0100
wayland: Don't cancel a roundtrip when any event is received
Since wl_display_dispatch_queue() returns the number of processed events
or -1 on error, only cancel the roundtrip if an -1 is returned.
This also fixes a potential memory corruption bug happening when the
roundtrip does an early return and the callback later writes to the then
out of scope stack allocated `done' parameter.
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=622d96aae499445f12861214354a5b9f63e3a738
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue Jan 1 17:02:38 2013 -0800
i965: Add break statement at end of BRW_OPCODE_CONTINUE case.
Fixes missing break in switch defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfe28b8d938c4082e9334e4ccaf423fcd1625154
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Thu Dec 20 14:16:50 2012 -0800
egl/android: Fix build for Jelly Bean (v2)
In Jelly Bean, the interface to ANativeWindow changed. The change included
adding a new parameter the queueBuffer and dequeueBuffer methods,
removing the lockBuffer method, and requiring libsync.
v2:
- s/fence_fd == -1/fence_fd != -1/
- Fix leak. Close the fence_fd.
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=56c6cdc9e71771d0fcdecabbe62d45a36f2d03b4
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Thu Dec 20 14:14:51 2012 -0800
android: Define Make variables for Android version
Define the following Make variables:
MESA_ANDROID_MAJOR_VERSION
MESA_ANDROID_MINOR_VERSION
MESA_ANDROID_VERSION
These variable will allow us to make version-dependent decisions on
library dependencies. In particular, building Mesa against JellyBean will
require libsync.
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f962c5ef30f4710e18fc7e627822257a4c89cd9
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Dec 31 13:41:57 2012 -0800
mesa: Add missing ASSERT_OUTSIDE_BEGIN_END to GetSamplerParameter*
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f10b54fd79d96d664e8e016f90fe08dcf010ff82
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Dec 31 13:10:32 2012 -0800
mesa: Add missing ASSERT_OUTSIDE_BEGIN_END to SamplerParameter*
Commit f22d49de added the SamplerParamter* functions but only used
ASSERT_OUTSIDE_BEGIN_END inside the -f and -fv versions.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b06a0478f5e307d0065805cf09c2971d5a312e2
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Dec 31 12:58:08 2012 -0800
mesa: Mark _mesa_{init,delete}_sampler_object as static
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86b6964ef9839f1bd5a05efe47712843c97196ca
Author: Adam Jackson <ajax at redhat.com>
Date: Wed Jan 2 14:09:22 2013 -0500
glcpp: Typo fix.
Note: this is a candidate for the 9.0 stable branch.
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8d3fd4a120be0f62367f679e31ea5763c10c197
Author: Adam Jackson <ajax at redhat.com>
Date: Wed Jan 2 14:04:18 2013 -0500
r300g: Fix visibility CFLAGS in automake
Note: this is a candidate for the 9.0 stable branch.
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=443954d161dc3db0605926e4e759080e299710ce
Author: Adam Jackson <ajax at redhat.com>
Date: Wed Jan 2 14:02:59 2013 -0500
galahad, noop: Fix visibility CFLAGS in automake
Note: this is a candidate for the 9.0 stable branch.
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0daabd52394899ec4947dc2cf3119201d2e79b1c
Author: Adam Jackson <ajax at redhat.com>
Date: Wed Jan 2 14:02:00 2013 -0500
glcpp: Fix visibility CFLAGS in automake
Note: this is a candidate for the 9.0 stable branch.
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c0323296e445b4612516e2389e2b4c616faec27
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Dec 28 11:26:06 2012 -0800
mesa: Implement compressed 2D array textures.
This patch adds functionality to Mesa to upload compressed
2-dimensional array textures, using the glCompressedTexImage3D and
glCompressedTexSubImage3D calls.
Fixes piglit tests "EXT_texture_array/compressed *" and "!OpenGL ES
3.0/ext_texture_array-compressed_gles3 *". Also partially fixes GLES3
conformance test "CoverageES30.test".
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=261ee4d907cc2e06a578e1597f6a55f1997ab52c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Dec 31 09:00:41 2012 -0800
mesa: Fix error reporting in _mesa_invalidate_pbo_{compressed_,}teximage.
The old error reporting was completely bogus, passing _mesa_error() a
format string that didn't even match the remaining arguments. Also,
in many cases the number of dimensions in the TexImage call was not
preserved in the error message (e.g. an error in glTexImage2D was
reported simply as an error in glTexImage).
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7d3254b8e0bb0859c4ed969f07b4585af5577b7
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jan 2 09:00:36 2013 -0700
mesa: fix signed/unsignd mix-up in fetch_signed_l_latc1()
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=58844
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=955babf2d951514f9011e661a2f94f3937adbdc6
Author: Brian Paul <brianp at vmware.com>
Date: Tue Jan 1 08:47:04 2013 -0700
glsl: add cast to silence signed/unsigned comparision warning
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05cd6cfd5f5a128404f09c4de1a7cf12f3f6f08a
Author: Brian Paul <brianp at vmware.com>
Date: Wed Dec 26 16:26:58 2012 -0700
xlib: handle _mesa_initialize_visual()'s return value
If the call fails, we should return NULL from XMesaCreateVisual().
This was found when Waffle tried to create a visual with depth/stencil
bits = -1. That's an illegal value for glXChooseFBConfig() and we should
return NULL in that situation.
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=66ea6e8ec3f7ee44e0011b1dd563fef76ead8bc5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 25 20:55:38 2012 -0800
i965: Fail to blit rather than assert on invalid pitch requirements.
Dungeon Defenders hits TexImage()'s try_pbo_upload() path where
image->Width == 2, which doesn't meet intelEmitCopyBlit's requirement
that the pitch needs to be a multiple of 4.
Since intelEmitCopyBlit can already fail for a myriad of other reasons,
and it's not clear that other callers are immune to this failure mode,
simply make it return false rather than assert.
Fixes Dungeon Defenders on i965/Ivybridge. Now playable (aside from
having to work around the EXT_bindable_uniform issue).
NOTE: This is probably a candidate for the 9.0 branch.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f225f61451abd51c283c7ff103d7fd50a935034
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 20 14:09:32 2012 -0800
intel: Skip texture validation logic when nothing has changed.
Improves GLBenchmark 2.1 offscreen performance by 3.2% +/- 1.5% (n=52).
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=73c376bbde0cbea1d1e5a6d71df965d2e903e003
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 20 13:52:30 2012 -0800
intel: Turn a test in miptree_match_image into an assert.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12751ef2a70f2e8ce06b116d69e475dfa5dc6f38
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 21 14:33:52 2012 -0800
i965: Stop making a copy of non-builtin uniforms in ParameterValues[].
We don't need them now that our set of parameter pointers points at the
GL core storage for them. This should save memory/bandwidth/overhead in
uniform updates.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e28d6c1ab101894c3a3c90bef929c34e9da6148
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 21 14:30:55 2012 -0800
i965: Consistently use nr_pull_params instead of NumParameters.
NumParameters used to be an upper bound on the number of vec4s to be
uploaded, which was basically safe (unless your buffer was bound near
the top of address space *and* you array indexed outside the buffer, in
which case I think you might GPU hang). As I migrate the driver away
from ParameterValues[], this is no longer true.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa6e35e80dddfe1011e845da6325d276263e2242
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 20 19:18:45 2012 -0800
i965/vs: Reference the core GL uniform storage for non-builtin uniforms.
Like in the FS, there's no reason to use an external copy if the
ParameterValues[] relayout of it isn't the layout we need.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0d1f508d6d471cf44329f43d8a79230ed8db0b6
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 20 17:43:31 2012 -0800
i965/fs: Reference the core GL uniform storage for non-builtin uniforms.
There's no reason to use an external copy if the relayout in the
external copy isn't serving us.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd326623ef5f5ed51a843c33cc72007ff178de13
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 20 18:53:34 2012 -0800
glsl: Add a note about a surprising feature of gl_uniform_storage->type.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f189570ccf60ab665cbe9feeff52685600f8163d
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 20 16:26:22 2012 -0800
i965/fs: Remove the param_index/param_offset indirection.
Now that ParameterValues doesn't change across the visitor, we don't
need to go through this.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5efc14635cf25bc130bfa77737913913d9202ce
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 21 13:11:32 2012 -0800
i965: Add asserts to check that we don't realloc ParameterValues.
Things are even more restrictive than they used to be, so I've made
mistakes in this area.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffdfafb06cf3ae468ceb3e504365016347f54bee
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 21 13:23:36 2012 -0800
i965: Add texrect scale parameters before pointers to ParameterValues.
If adding scale parameters during program compile caused a realloc of
ParameterValues, then the driver uniform storage set up by
_mesa_associate_uniform_storage() would point to potentially freed
memory.
Note that this uses TexturesUsed, which may change at runtime for GLSL
when sampler uniforms change. This is a flaw in our handling of texrect
in general, and not one I'm fixing currently.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ccc505fc0bbd7aab3d14930d2d220bcdf2777de
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 21 13:57:58 2012 -0800
i965: Fix a typo in a comment.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50a88e2f44133759ed38ef5661da61ed394e80cf
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 20 14:28:48 2012 -0800
i965: Add a note about a bug from the no-recompile-on-sampler-updates change.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c35521295e647978ed8e7ab9f490ef70d672cd3
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 21 13:41:23 2012 -0700
mesa: add missing texel fetch code for sRGB DXT formats
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58548
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5791c56811ae261b0596d088e99933eb5e24206d
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 20 15:45:11 2012 -0800
i965: Fix border color handling for deprecated SNORM formats.
We don't have native hardware support for these, so they get promoted to
RGBA, in which case we don't have hardware dealing with the channel
swizzling for us.
Fixes piglit EXT_texture_snorm/texwrap formats bordercolor (-swizzled).
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5628501e7b4289f5a04a2ca26d1ed4b3dec1a442
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 16:05:24 2012 -0800
i965: Start using HIZ for Z16 textures.
I had left this out for a long time because it regressed some
depthstencil-render-miplevels cases when it was enabled. Now that the
bugs causing those are fixed, there's nothing stopping us.
Improves glbenchmark 2.1 offscreen performance by 7.3% +/- 2.8% (n=10).
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e1d8e62e7d52c19677c67d8f158688a9e4a0e51
Author: Eric Anholt <eric at anholt.net>
Date: Thu Dec 20 11:36:38 2012 -0800
intel: Use the parent miptree's format for setting up HiZ miptrees.
This worked out before because the parent was always 4 bytes so it
didn't affect the layout, but now we want to support Z16 too.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb3b172d196c98f4ab707751f0628e072ef47a86
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 14:12:50 2012 -0800
intel: Remove a couple of dead function prototypes.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d6a722ec4df73595d4159e5b35c6fd61f847a6c
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 13:45:14 2012 -0800
i965: Add perf debug for depth/stencil alignment workaround.
Fixing these rendering bugs has been implicated in performance
regressions (which may be unfixable), but at least knowing that it's
happening should help diagnose those regressions.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e454b2d480c4ef875cd0800b12a0b4cd37821cb5
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 11:55:16 2012 -0800
i965: Assert that relayout laid out something that won't need it again.
The ETC1 changes failed at this, so let's make sure it will be caught in
testing next time.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b458416e3d5647f65be93bb78c96d5d68830660
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 13:10:29 2012 -0800
i965: Also fix validation of Z32F_S8 textures.
This was caught by the assertion in the next commit. It fixes the
remaining piglit depthstencil-render-miplevels cases, probably by
avoiding broken stencil copies in the validation path.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46386816a77c6e5751a0685776c0a6320f46f8fe
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 12:03:49 2012 -0800
i965: Fix validation of ETC miptrees.
When comparing to the teximage's format, we have to look at the
format-the-mt-was-created-for not the format-actually-stored-in-the-mt.
Improves glbenchmark 2.1 offscreen test performance 159% +/- 17% (n=3).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54582
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b99d094c99566e92a05d2a2d22a83939305c30b
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 11:47:25 2012 -0800
qi965: Add perf debug for texture relayout.
Relayout is expensive, so it's something developers (both us and others)
should know about when it happens.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c417d261ddafb5e2d83808b02e22c35457594559
Author: Eric Anholt <eric at anholt.net>
Date: Tue Dec 18 14:25:42 2012 -0800
i965: Fix hiz resolves getting stomped by depth offset validation.
Fixes all the remaining non-Z32F_S8 depthstencil-render-miplevels tests
in piglit.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a58bf9d8f9c683b98aee4759533c997557b2c848
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 22 19:05:37 2012 +0100
r600g: rename GPU_FLUSH -> INVAL_READ_CACHES
because that's what it does.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ef26fc667ab00072a23ca4d7bb1e8181d8fb1b1
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Dec 22 02:54:52 2012 +0100
r600g: remove redundant parameter alloc_bo from r600_texture_create_object
alloc_bo == !buf
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a585b8f3a6681d1138ed1a33ed4c3195a53c2a73
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Dec 19 20:20:34 2012 -0800
Make IsVertexArray() return false before BindVertexArray()
Rename existing _Used flag to EverBound.
The GL 4.3 and ES 3.0 specs say
These names are marked as used, for the purposes of GenVertexArrays
only, but they do not acquire array state until they are first bound.
This also affects Apple VAOs, which is fine since the
APPLE_vertex_array_object spec says
A vertex array object is created by binding an unused name. This
binding is accomplished by calling BindVertexArrayAPPLE with id set
to the name of the new vertex array object.
Fixes arb_vertex_array_object_isvertexarray.
Reviewed-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=fd93d55141f11069fb76a9b377ad1af88d0ecdd3
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Dec 19 13:43:31 2012 -0800
Make IsTransformFeedback() return false before BindTransformFeedback()
The GL 4.3 an ES 3.0 specs say
A transform feedback object is created by binding a name returned by
GenTransformFeedbacks with the command
void BindTransformFeedback( enum target, uint id );
Fixes arb_transform_feedback2-istransformfeedback and part of
es3conform's CoverageES30.test.
Reviewed-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=54203ef5ace8073327f0b41b6abbe4ce5b23fa65
Author: Dave Airlie <airlied at gmail.com>
Date: Sat Dec 22 13:12:30 2012 +1000
nouveau: deal with tbo cap for now.
This fixes the printk running apps against master.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c6410e5c3ffc74564fae5afcc1b6982759cdd01
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 20:34:52 2012 +0100
r600g: always use a tiled resource as the destination of MSAA resolve
i.e. we have to allocate a temporary tiled resource if dst isn't tiled.
This fixes hardlocks on r6xx-r7xx, though using a linear resource is forbidden
on later asics as well.
NOTE: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b0b4cf05840fd8dcc4973524166024f948a97ec
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 19:15:20 2012 +0100
winsys/radeon: the env var RADEON_NOOP can be used to skip CS ioctls
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eccc74f5d3d1fe4cd6c41361519345564d93027a
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 19:15:02 2012 +0100
r600g: remove a false comment
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb45a816eb9de88b2862c51ca107676b9eaade8d
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 16:29:19 2012 +0100
r600g: don't suspend TIME_ELAPSED queries during flushing
According to the GL spec, the result should be equivalent to comparing
two timestamps.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d49ffde11ddb4a9391172a6e9a4e3ad3eb87ded
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Dec 21 16:56:41 2012 +0100
gallium/tests: fix build breakage after pipe_surface::usage removal
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46e3aeb07702f57d389fbfcade9d4ef66218dc53
Author: Frank Henigman <fjhenigman at google.com>
Date: Fri Dec 14 15:52:17 2012 -0500
mesa: add bounds checking for uniform array access
No piglit regressions and now passes glsl-uniform-out-of-bounds-2.
validate_uniform_parameters now checks that the array index is
valid. This means if an index is out of bounds, glGetUniform* now
fails with GL_INVALID_OPERATION, as it should.
_mesa_uniform and _mesa_uniform_matrix also call
validate_uniform_parameters so the bounds checks there became
redundant and were removed.
The test in glGetUniformLocation is modified to check array bounds
so it now returns GL_INVALID_INDEX (-1) if you ask for the location
of a non-existent array element, as it should.
Signed-off-by: Frank Henigman <fjhenigman at google.com>
Reviewed-by: Stéphane Marchesin <marcheu at chromium.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=74f07319533d39a509ddc3159a51cfe89cd47225
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Dec 20 12:03:45 2012 +0000
util/u_format: Round when converting depth values from float to z16_unorm.
This makes the z16_unorm -> float -> z16_unorm conversion lossless.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8ca1a53a625544ea30b394be905ff7e51d78af6
Author: Jerome Glisse <jglisse at redhat.com>
Date: Wed Dec 19 12:23:50 2012 -0500
r600g: add cs tracing infrastructure for lockup pin pointing
It's a build time option you need to set R600_TRACE_CS to 1 and it
will print to stderr all cs along as cs trace point value which
gave last offset into a cs process by the GPU.
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6532eb17baff6e61b427f29e076883f8941ae664
Author: Jerome Glisse <jglisse at redhat.com>
Date: Thu Oct 11 10:40:30 2012 -0400
r600g: add htile support v16
htile is used for HiZ and HiS support and fast Z/S clears.
This commit just adds the htile setup and Fast Z clear.
We don't take full advantage of HiS with that patch.
v2 really use fast clear, still random issue with some tiles
need to try more flush combination, fix depth/stencil
texture decompression
v3 fix random issue on r6xx/r7xx
v4 rebase on top of lastest mesa, disable CB export when clearing
htile surface to avoid wasting bandwidth
v5 resummarize htile surface when uploading z value. Fix z/stencil
decompression, the custom blitter with custom dsa is no longer
needed.
v6 Reorganize render control/override update mecanism, fixing more
issues in the process.
v7 Add nop after depth surface base update to work around some htile
flushing issue. For htile to 8x8 on r6xx/r7xx as other combination
have issue. Do not enable hyperz when flushing/uncompressing
depth buffer.
v8 Fix htile surface, preload and prefetch setup. Only set preload
and prefetch on htile surface clear like fglrx. Record depth
clear value per level. Support several level for the htile
surface. First depth clear can't be a fast clear.
v9 Fix comments, properly account new register in emit function,
disable fast zclear if clearing different layer of texture
array to different value
v10 Disable hyperz for texture array making test simpler. Force
db_misc_state update when no depth buffer is bound. Remove
unused variable, rename depth_clearstencil to depth_clear.
Don't allocate htile surface for flushed depth. Something
broken the cliprect change, this need to be investigated.
v11 Rebase on top of newer mesa
v12 Rebase on top of newer mesa
v13 Rebase on top of newer mesa, htile surface need to be initialized
to zero, somehow special casing first clear to not use fast clear
and thus initialize the htile surface with proper value does not
work in all case.
v14 Use resource not texture for htile buffer make the htile buffer
size computation easier and simpler. Disable preload on evergreen
as its still troublesome in some case
v15 Cleanup some comment and remove some left over
v16 Define name for bit 20 of CP_COHER_CNTL
Signed-off-by: Pierre-Eric Pelloux-Prayer <pelloux at gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=24b1206ab2dcd506aaac3ef656aebc8bc20cd27a
Author: Jerome Glisse <jglisse at redhat.com>
Date: Thu Nov 1 16:09:40 2012 -0400
r600g: rework flusing and synchronization pattern v7
This bring r600g allmost inline with closed source driver when
it comes to flushing and synchronization pattern.
v2-v4: history lost somewhere in outer space
v5: Fix compute size of flushing, use define for flags, update
worst case cs size requirement for flush, treat rs780 and
newer as r7xx when it comes to streamout.
v6: Fix num dw computation for framebuffer state, remove dead
code, use define instead of hardcoded value.
v7: Remove dead code
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf5632094ba0c19d570ea47025cf6da75ef8457a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 19 10:08:58 2012 -0800
mesa: Allow glReadBuffer(GL_NONE) for winsys framebuffers.
Previously, Mesa code assumed that glReadBuffer(GL_NONE) was only
valid for user-created framebuffer objects. However, the spec is
quite clear that is should also be valid for the default framebuffer.
From section 18.2.1 ("Obtaining Pixels from the Framebuffer") of the
GL 4.3 spec:
"When READ_FRAMEBUFFER_BINDING is zero, i.e. the default
framebuffer, src must be one of the values listed in table 17.4,
including NONE."
Similar language exists in the GLES 3.0 spec, and in desktop GL all
the way back to ARB_framebuffer_object.
Partially fixes GLES3 conformance test "CoverageES30.test".
NOTE: This is a candidate for stable branches.
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=ab2f573634d21cf5d2c0843960b98e890d495793
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sun Dec 9 10:15:19 2012 +0000
llvmpipe: Drop PIPE_QUERY_TIME_ELAPSED support.
It was slightly wrong: we were computing the longest duration of
the query among all the rasterizer tasks.
Regardless, for tile-based implementations such as llvmpipe, time differences
will never be very useful, because rendering before/during/after the query
is all interleaved. And this is expected, see ARB_timer_query spec, issue 10.
In particular, piglit ext_timer_query-time-elapsed still fails, because
it makes assumptions that don't hold true in in tiled architectures. Not
sure how to fix that though.
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3160b0b9fc2b49b0e9fe684b955eebf3691024ff
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sun Dec 9 10:08:13 2012 +0000
mesa/st: Implement GL_TIME_ELAPSED w/ PIPE_QUERY_TIMESTAMP.
ARB/EXT_timer_query's definition of GL_TIME_ELAPSED match precisely the
subtraction of two GL_TIMESTAMP queries.
And for a lot of drivers, that's precisely how they have to implement
internally -- by emitting two hardware timestamp queries.
So, to simplify driver implementation, simply allow doing so in the state
tracker.
Eventually if no driver implements PIPE_QUERY_TIME_ELAPSED then we could
retire it.
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9976216bf699be092e14b66ba3a3ecfa3859e87f
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Sun Dec 9 09:50:34 2012 +0000
gallium: s/PIPE_CAP_TIMER_QUERY/PIPE_CAP_QUERY_TIME_ELAPSED/
To better reflect what it is being advertised.
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef11ed61a0414d0405c3faf7f48fa3f1d083f82e
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Dec 20 00:28:24 2012 +0100
r600g: add assertions to prevent creation of invalid surfaces
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fefa2112bf02db6908fd3f2603f11d1a2bc10688
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 17:05:01 2012 +0100
r600g: refactor and make streamout dumping more informative
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a2ec765bd22ae5d94e5fdac8507c659175efa4e
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 16:59:45 2012 +0100
r600g: try to fix streamout for the cases where BURST_COUNT > 0
The burst was incorrectly used, because ELEM_SIZE was always 0.
I don't know if the burst works, because I don't know of any test
which uses it.
NOTE: This is a candidate for the stable branches.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=72362ebefb48cb79355b1e295ca21341d45ea85c
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 15:09:54 2012 +0100
r600g: lower stream outputs with dst_offset < start_component
This fixes streamout breakage caused by the varying packing.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0e40bd3ed13ff58a898686a5b0d6238d7a1728e
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Dec 19 15:00:45 2012 +0100
r600g: use r600_get_temp to get temporaries for CLIPDIST shader outputs
I need this to be able to use r600_get_temp in the function later.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fddcc67f5cb41f70d1d11827eb9190a5caec13c5
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 14 10:47:46 2012 -0700
softpipe: fix up FS variant unbinding / deletion
The old call to tgsi_exec_machine_bind_shader() in
softpipe_delete_fs_state() was never called since the shader's original
tokens are never passed to the tgsi interpreter (only shader _variant_
tokens are). Now, unbind the variant's tokens from the tgsi interpreter
when we free the variant.
This doesn't fix any known bugs but it's the right thing to do.
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=18ef8f83b2586de037df7e578d88cbfb6e764012
Author: Brian Paul <brianp at vmware.com>
Date: Fri Dec 14 10:34:33 2012 -0700
softpipe: fix unreliable FS variant binding bug
In exec_prepare() we were comparing pointers to see if the fragment
shader variant had changed before calling tgsi_exec_machine_bind_shader().
This didn't work reliably when there was a lot of shader token malloc/
freeing going on because the memory might get reused.
Instead, bind the shader variant during regular state validation.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=40404
(fixes a couple of piglit's glsl-max-varyings test)
Note: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50880314e35661f0ea7ab3f092741df79c855d90
Author: Jerome Glisse <jglisse at redhat.com>
Date: Wed Dec 19 09:56:17 2012 -0500
Revert "r600g: work around ddx over alignment"
This reverts commit d8287bac1fd4a77abc2db38de134f14176740d23.
Cause more issue than it fix. Need to think of a proper solution.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8287bac1fd4a77abc2db38de134f14176740d23
Author: Jerome Glisse <jglisse at redhat.com>
Date: Tue Dec 18 12:45:31 2012 -0500
r600g: work around ddx over alignment
This force surface allocated from ddx to be consider as height
aligned on 8 and fix 1D->2D tiling transition that result from
this.
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b37fc40fc1d443e7ab9f930f78af9a32525698a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Dec 17 09:55:48 2012 -0800
i965: Fix gl_VertexID when there are no other vertex inputs.
brw_emit_vertices contains special case logic to handle the case where
a vertex shader doesn't read any inputs. This special case logic was
incorrectly activating in the case were the only vertex input is
gl_VertexID. As a result, if a shader used gl_VertexID but used no
other inputs, then all vertices got a gl_VertexID of zero.
Fixes oglconform test "ubo-usage advanced.transform_feedback".
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b7099c74d7774dc59895536bad53bd1196e398c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Dec 15 14:21:32 2012 -0800
mesa: Make a function is_transform_feedback_active_and_unpaused.
The rather unweildy logic for determining this condition was repeated
in a large number of places. This patch consolidates it to a single
inline function.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ad516207d2297b14fe26627e5bb599a9f704ac5
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Dec 15 13:06:10 2012 -0800
mesa: Fix corner cases of BindBufferBase with transform feedback.
This patch implements the following behaviours, which are mandated by
the GL 4.3 and GLES3 specs.
1. Regarding the GL_TRANSFORM_FEEDBACK_BUFFER_SIZE query: "If the
... size was not specified when the buffer object was bound
(e.g. if it was bound with BindBufferBase), ... zero is returned."
(GL 4.3 section 6.7.1 "Indexed Buffer Object Limits and Binding
Queries").
2. "BindBufferBase binds the entire buffer, even when the size of the
buffer is changed after the binding is established. It is
equivalent to calling BindBufferRange with offset zero, while size
is determined by the size of the bound buffer at the time the
binding is used." (GL 4.3 section 6.1.1 "Binding Buffer Objects to
Indexed Targets"). I interpret "at the time the binding is used"
to mean "at the time of the call to glBeginTransformFeedback".
3. "Regardless of the size specified with BindBufferRange, or
indirectly with BindBufferBase, the GL will never read or write
beyond the end of a bound buffer. In some cases this constraint may
result in visibly different behavior when a buffer overflow would
otherwise result, such as described for transform feedback
operations in section 13.2.2." (GL 4.3 section 6.1.1 "Binding
Buffer Objects to Indexed Targets").
Item 1 has been part of the spec all the way back to the inception of
the EXT_transform_feedback extension. Items 2 and 3 were added in GL
4.2 and GLES 3.
Prior to GL 4.2, in place of items 2 and 3, the spec simply said
"BindBufferBase is equivalent to calling BindBufferRange with offset
zero and size equal to the size of buffer." For transform feedback,
Mesa behaved as though this meant "...equal to the size of buffer at
the time of the call to BindBufferBase". However, this was
problematic because it left it ambiguous what to do if the buffer is
shrunk between the call to BindBuffer{Base,Range} and the call to
BeginTransformFeedback. Prior to this patch, Mesa's behaviour was to
try to write beyond the end of the buffer, likely resulting in memory
corruption. In light of this, I'm interpreting the spec change as a
clarification, not an intended behavioural change, so I'm making the
change apply regardless of API version.
Fixes GLES3 conformance test transform_feedback2_pause_resume.test.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b87e65c3b61caeaa4f97a34d62e148e59a0dd5b8
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Dec 13 09:30:09 2012 -0800
mesa/gles3: Generate error on draw call if transform feedback would overflow.
In desktop GL, if a draw call would cause transform feedback buffers
to overflow, the draw call should succeed, and the extra primitives
should simply not be recorded in the transform feedback buffers.
In GLES3, however, if a draw call would cause transform feedback
buffers to overflow, the draw call is supposed to produce an
INVALID_OPERATION error and no drawing should occur.
This patch implements the GLES3-required behaviour.
Fixes GLES3 conformance test "transform_feedback_overflow.test".
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=febc237141ab06a478d05752dedc858c2b4b8599
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Dec 14 12:20:08 2012 -0800
mesa/gles3: Generate error on DrawElements* calls if transform feedback active.
In GLES3, only glDrawArrays() and glDrawArraysInstanced() calls are
allowed when transform feedback is active.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3870f2903f030969491fa287b7f8d7eaf1d2f4f9
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 12 14:14:12 2012 -0800
mesa: refactor _mesa_compute_max_transform_feedback_vertices from i965.
Previously, the i965 driver contained code to compute the maximum
number of vertices that could be written without overflowing any
transform feedback buffers. This code wasn't driver-specific, and for
GLES3 support we're going to need to use it in core mesa. So this
patch moves the code into a core mesa function,
_mesa_compute_max_transform_feedback_vertices().
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
v2: Eliminate C++-style variable declarations, since these won't work
with MSVC.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=61c1b065fbdd224fa547f035991210859c7af310
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Dec 12 13:37:45 2012 -0800
mesa: Change args to vbo_count_tessellated_primitives.
No functional change--this simply paves the way to allow futures
patches to call vbo_count_tessellated_primitives() during error
checking, before the _mesa_prim struct has been constructed.
This will be needed for GLES3, which requires draw calls to fail if
there is not enough space available in transform feedback buffers to
accommodate the primitives to be drawn.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cf552b1823e6c0ea8ce0465937920b4cab83465
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date: Tue Dec 18 17:39:19 2012 +0400
radeon/llvm: improve cube map handling
Add support for TEX2, TXB2, TXL2, fix SHADOWCUBE
Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Tested-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b89fcbe548091d6b6fbb68a4d426956d96b2351
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date: Tue Dec 18 17:40:36 2012 +0400
radeon/llvm: fix TXQ_LZ handling for cube maps
Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=63cabf0abb2b05043205899e86a455b340142afe
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date: Tue Dec 18 17:40:06 2012 +0400
r600g: initialize inst_mod in r600_tex_from_byte_stream
Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc613f11ddf1f3a6e10c2d99830fb1a84fdb55b2
Author: Roland Scheidegger <sroland at vmware.com>
Date: Mon Dec 17 22:06:40 2012 +0100
gallivm: fix conversion for pure integer formats
Since the idea is to just expand or shrink the bit width but not otherwise do
conversion we also need to adjust the sign bit according to src, otherwise
the conversion code will incorrectly clamp the values. (Since this only works
for casting to ordinary floats the norm and fixed bits should always be fine.)
This fixes the remaining piglit attribs GL3 failures.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12f3b3d43732b6f9dbed72457a75b131ad621793
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 17 11:20:53 2012 -0800
glsl: Fix gl_context vs. ralloc context in check_version again, again.
Dave found some, but there were more.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58039
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd65fb5aa8cceee151965c383283b038b78562cb
Author: Andreas Pokorny <andreas.pokorny at elektrobit.com>
Date: Sat Dec 15 23:28:57 2012 +0100
vega: fix for object handle leak
frees the object handle when a OpenVG
is destroyed.
Signed-off-by: Andreas Pokorny <andreas.pokorny at elektrobit.com>
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b13e731fa33183b205b4bd84c69c70441867093
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 17 08:39:17 2012 -0700
wmesa: include version.h to silence warning
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9048aa6e6abcbeb498ef286630be30729aebaf3
Author: Brian Paul <brianp at vmware.com>
Date: Mon Dec 17 10:22:10 2012 -0700
xlib: include headers to fix errors/warnings
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6cf3034ba72bff55841b1e3338fbc541cd04efdc
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Sun Dec 16 16:53:02 2012 -0800
mesa osmesa/x11: fix build error introduced in 4bea4cb9
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=58380
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d14b25030dc2ad8bc10400d686250979fbee70d
Author: Roland Scheidegger <sroland at vmware.com>
Date: Fri Dec 14 21:17:05 2012 +0100
gallivm: fix texel fetch for array textures (2)
a460aea3f14222af46f88d1bc686f82180b8a872 wasn't entirely correct,
since all coords are already ints hence need to skip the iround.
Passes piglit texelFetch with sampler1DArray/sampler2DArray.
Reviewed-by: Dave Airlie <airlied at redhat.com>
More information about the mesa-commit
mailing list