Mesa (gles3): 254 new commits
Ian Romanick
idr at kemper.freedesktop.org
Sat Dec 1 19:36:17 UTC 2012
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=49341502bdfc70275167b5128a941e37fb5511e0
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=f3ad9309c4bd8840fad580b954243bc83b9d4b67
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=404058f7d6db0f0f06093e416473d04bc6545148
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=115966dbf53c537fbc84e129700c99e37b1deb20
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=ab8a725ee8754db19e40e086032c683a87fadfe5
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=afb114e23fef0ec3e20c29889e6e58300def73a7
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=88a29f25bc1046fc57c0edf17469fea5c743044a
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=9558ebcbae43221fc1d2db531261b404bbf7e152
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>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b968e4d29e210cec2d72a9d6d5ae214b0a7623af
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>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3633370aaaebfde66cf110627c13bc447700958
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Nov 21 15:06:10 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.
Tested-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6e6a8f3639f3e12981682a77491289842c9df15
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>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7852008af4ff20822aa67c7fb2519b2f28213655
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 19 21:59:59 2012 -0800
meta: Use #version 300 es for _mesa_glsl_Clear's integer shaders on ES3.
Fixes es3conform's color_buffer_float_clamp_(fixed|on|off) tests.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a208bf0edb36e079fa88a117aa5e15470b9418c5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 19 21:51:25 2012 -0800
meta: Use #version 300 es in GenerateMipmap shaders on ES3.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d97c93b6f1e4e9cbb95cfa33867419e43083a92
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=b1d4f06acf40dc03873286a8e4e4269e143fc197
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=f01c3aa9c111cec03f0e05e2ce274bcf4245cb38
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=7f1a8b98cd79500479e20600a4d6549f595ac37c
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=58725e516b5ca9ff95aff85abc3c4a3c069f6a5e
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=3c6f607594e876ed59037923bf5610c2fcf60ba5
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=50044cb1f9166280df73436b39e0d5ed6d0f7130
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=2c8fbef63049e9f17757fa9beb1233d940eacc05
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=54814cd3fd648cfdfa29a6633a790c6f4a98d5aa
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Nov 17 17:39:35 2012 -0800
mesa: Allow glGet* queries on EXT_framebuffer_blit data in ES 3
Fixes 2 framebuffer_blit es3conform tests.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aaea83aca561686bdf7973006551acff1d6dade8
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Nov 17 16:38:05 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: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5e4cbc34a200e890fe382e5f25da6d36944baef
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=5a636cddffccc253b3a3f730df87682b043871b6
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 22:05:27 2012 -0800
mesa: Allow glGet* queries on ARB_framebuffer_object data in ES 3
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfb79f9d0135aca958f4673ff1f4b101f17764af
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 21:55:05 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: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=192b1fe940bf05754f5a877f3ff743ed32b424c7
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 21:41:14 2012 -0800
mesa: Allow glGet* queries on EXT_transform_feedback data in ES 3
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6c4efedf97e3e8a7ee40b39b8cc5bb096f32ce1
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 21:19:01 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: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=882f3205e7e69662719a14eb1c92edd8cf8ccfd7
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 15:57:16 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: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=48b4fc1a729e3f36131a7e96d9c289f904ea0e1c
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 15:40:32 2012 -0800
mesa: Allow glGet* queries of select ARB_ubo data in ES 3
Fixes 5 uniform_buffer_object tests in es3conform
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96857006583d9c60f3125ab13200d9da086940ab
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 15 15:47:18 2012 -0800
mesa: Add ES 3 handling to get.c
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fe1909e0fbf6ce5d74ebacb3e98a8fa6366194a
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=bd246baebc8f6433d837c909ccea2bfa2221576e
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=4090f7b9c48edafbb59704272a263c259e67d2f9
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=78d5932dc6d1418dd4f6d43fc5c8bb83a5cf38f5
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Sep 17 14:52:10 2012 -0700
intel: Enable ETC2 support on intel hardware
This patch enables support for ETC2 compressed textures on
all intel hardware. At present, ETC2 texture decoding is not
available on intel hardware. So, compressed ETC2 texture data
is decoded in software and stored in a suitable uncompressed
MESA_FORMAT at the time of glCompressedTexImage2D. Currently,
ETC2 formats are only exposed in OpenGL ES 3.0.
V2: Use single etc_wraps variable for both etc1 and etc2.
V3: Remove redundant code and use just one intel_miptree_map_etc()
and intel_miptree_unmap_etc() function.
Choose MESA_FORMAT_SIGNED_{R16, GR1616} for ETC2 signed-{r11, rg11}
formats
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Tested-by: Matt Turner <mattst88 at gmail.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=f645887d7127791de4dd2ba8df5b89e1e46a847f
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Tue Oct 23 12:22:20 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
Data in GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 format is decoded and stored
in MESA_FORMAT_SARGB.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbdaa49990aac201c0f6742e39a9268eb83372f8
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Oct 22 13:34:30 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
Data in GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 format is decoded and stored
in MESA_FORMAT_RGBA8888_REV.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60a0905a130e005de4579571f738bb324f92fad6
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Wed Oct 10 13:46:20 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_SIGNED_RG11_EAC
Data in GL_COMPRESSED_SIGNED_RG11_EAC format is decoded and stored in
MESA_FORMAT_SIGNED_GR1616.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67a6075158f2d5975d1793ef2420985bb626b2e1
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Tue Oct 9 17:02:37 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_SIGNED_R11_EAC
Data in GL_COMPRESSED_SIGNED_R11_EAC format is decoded and stored in
MESA_FORMAT_SIGNED_R16.
v2:
16 bit signed data is converted to 16 bit unsigned data by
adding 2 ^ 15 and stored in an unsigned texture format.
v3:
1. Handle a corner case when base code word value is -128. As per
OpenGL ES 3.0 specification -128 is not an allowed value and should
be truncated to -127.
2. Converting a decoded 16 bit signed data to 16 bit unsigned data by
adding 2 ^ 15 gives us an output which matches the decompressed image
(.ppm) generated by ericsson's etcpack tool. ericsson is also doing this
conversion in their tool because .ppm image files don't support signed
data. But gles 3.0 specification doesn't suggest this conversion. We
need to keep the decoded data in signed format. Both signed format
tests in gles3 conformance pass with these changes.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Tested-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5e17c27c344d32c6e218212e300989e6d12a626
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 12 16:32:08 2012 -0800
mesa: Add decoding functions for GL_COMPRESSED_RG11_EAC
Data in GL_COMPRESSED_RG11_EAC format is decoded and stored in
MESA_FORMAT_RG1616.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=681485f68433bcd0baf22570b7b3027a619355f0
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 12 16:28:07 2012 -0800
mesa: Add decoding functions for GL_COMPRESSED_R11_EAC
Data in GL_COMPRESSED_R11_EAC format is decoded and stored in
MESA_FORMAT_R16.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0b5d1d546bfbfaf6f530c5fd72809170f3adf15
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 12 16:13:25 2012 -0800
mesa: Add decoding functions for GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
Data in GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC format is decoded and stored
in MESA_FORMAT_SARGB8.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3f306cf973539964a34547b5c6a7e81af665fd2
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 12 15:58:25 2012 -0800
mesa: Add decoding functions for GL_COMPRESSED_RGBA8_ETC2_EAC
Data in GL_COMPRESSED_RGBA8_ETC2_EAC format is decoded and stored
in MESA_FORMAT_RGBA8888_REV.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2fddf149cbe52ee0d9a325860d33a53e8f2843f
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Thu Sep 27 17:05:24 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_SRGB8_ETC2
Data in GL_COMPRESSED_SRGB8_ETC2 format is decoded and stored
in MESA_FORMAT_SARGB8.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f73bfd4e21402672cd8b8ba74842bfeb4f36e0ea
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Sep 17 14:47:56 2012 -0700
mesa: Add decoding functions for GL_COMPRESSED_RGB8_ETC2
Data in GL_COMPRESSED_RGB8_ETC2 format is decoded and stored in
MESA_FORMAT_RGBX8888_REV.
v2: Use CLAMP macro and stdbool.h
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=111da529e45afb334c36a2b0e5ae114514c802ce
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 12 17:58:46 2012 -0800
mesa: Make nonlinear_to_linear() function available outside file
This patch changes nonlinear_to_linear() function to non static inline
and makes it available outside format_unpack.c. Also, removes the
duplicate copies in other files.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25370f3220099dfbb5a8d0e67ffc9eda52e88b57
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Nov 5 17:45:18 2012 -0800
mesa: Add new MESA_FORMATs for ETC2 compressed textures
It is required by OpenGL ES 3.0 to support ETC2 textures.
This patch adds new MESA_FORMATs for following etc2 texture
formats:
GL_COMPRESSED_RGB8_ETC2
GL_COMPRESSED_SRGB8_ETC2
GL_COMPRESSED_RGBA8_ETC2_EAC
GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
GL_COMPRESSED_R11_EAC
GL_COMPRESSED_RG11_EAC
GL_COMPRESSED_SIGNED_R11_EAC
GL_COMPRESSED_SIGNED_RG11_EAC
MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1
MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1
Above formats are currently available in only gles 3.0.
v2: Add entries in texfetch_funcs[] array.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
v3 (Paul Berry <stereotype441 at gmail.com>): comment out symbols that
are not implemented yet, so that this commit compiles on its own;
future commits will uncomment the symbols as they become available.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98c8637ff608c05ba30a8a8ab422dff9c98668d0
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=45c73a481f393e434ce97fef7877739d27e54884
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=3bdd2b34e5b434f3631014b919d4665e3ac8c87e
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=1c91b554e5b383fdb57aa677ce3e9d12510bf2b6
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 8 11:30:42 2012 -0700
Set es_version to false when using FF fragment shading in meta ops
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=021a95d154b8b8b45a3a3a11dc5a86f0cb685065
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=90b017078cd3c5a002418ee8636606ded753294f
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=58776474ecddc07d50593c3baf5c8b66d11443aa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 19 22:36:28 2012 -0800
glsl: Add missing semicolon in the grammar
This may not be strictly necessary, but every other rule in the grammar ends
with a semicolon. It also appears that this was supposed to be commited with
the original patch that changed this rule, but the wrong version of the patch
was accidentally pushed.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8e6db86e16039c2e613fe03da96ff13a28ab93a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Nov 9 12:26:42 2012 -0800
glsl: Allow layout qualifiers in GLSL 3.00 ES
Note that while 'packed' is a reserved word in GLSL ES, row_major is not.
This means that we have to use the string-based matching for that.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=db7c2194d92c6a85667d1911bebd86ca76e864c5
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Aug 4 15:42:33 2012 -0700
glsl: Create builtin function profiles for GLSL 3.00 ES.
Nearly all of the builtin functions in GLSL 3.00 ES are already
implemented in Mesa; this patch enables them.
A few functions are not implemented yet; those have been commented
out, with a FIXME comment to act as a reminder of what still needs to
be implemented. Here is the complete list: packSnorm2x16,
unpackSnorm2x16, packUnorm2x16, unpackUnorm2x16, packHalf2x16,
unpackHalf2x16.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46e800f13dcc99b7c458ffa26bb83eef4bd38c86
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Aug 6 14:36:31 2012 -0700
glsl: add determinant() functions.
These functions are defined in GLSL 1.50 and GLES 3.00 ES.
The formulas have been extracted from the existing implementation of
inverse().
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ddf3fcccfba3e4f1febada6e193ef7c8972f046
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Aug 4 10:43:53 2012 -0700
glsl: Make builtin function profiles for GLSL ES use "es" in the filename.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=081436f32d3932147a8c746af640898a46c67aa6
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Aug 4 10:29:49 2012 -0700
glsl: Add builtin variables for GLSL 3.00 ES.
This patch also adds assertions so that when we add new GLSL versions,
we'll notice that we need to update the builtin variables.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=78a8e4c06b029cef0ab3679f7691d9374ae8ed5b
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 13:38:57 2012 -0700
glsl: Populate built-in types correctly for GLSL 3.00 ES.
This patch implements all of the built-in types for GLSL 3.00 ES.
This is almost exactly the same as the set of built-in types for GLSL
1.30, except ate 1D samplers are skipped, and samplerCubeShadow is
added.
This patch also addes an assertion so that when we add new GLSL
versions, we'll notice that we need to update the types.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1d23900131b5651119011d95cdec820332c5ba1
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sat Aug 4 10:00:20 2012 -0700
glsl: Make {Min,Max}ProgramTexelOffset available to compiler.
These constants need to be made available to shaders in GLSL 3.00 ES.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0c199702e8db2a3aaa6156a5ac0836d7e3c9103
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 17:51:02 2012 -0700
glsl: Fix linker checks for GLSL ES 3.00.
This patch updates the following linker checks to do the right thing
in GLSL 3.00 ES:
- Failing to write to gl_Position is allowed in GLSL 1.40+ as well as
GLSL 3.00 ES.
- It is an error to write to both gl_ClipVertex and gl_ClipDistance in
GLSL 1.30+. This does not apply to GLSL 3.00 ES.
- GLSL 3.00 ES uses the same varying counting rules as GLSL 1.00 ES.
- In GLSL 1.30 and GLSL 3.00 ES, "discard" terminates the shader.
- In GLSL 1.00 ES and GLSL 3.00 ES, both a fragment and a vertex
shader must be present.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=384556c0d532766149193f13e88ed4e8e08975f4
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 17:50:43 2012 -0700
glsl: Record in gl_shader_program whether the program uses GLSL ES.
Previously we recorded just the GLSL version (or the max version, if
GLSL 1.10 and GLSL 1.20 programs were linked together).
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25e01058f05f6913051fbc09aed7ca7e48f8211d
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 17:49:44 2012 -0700
glsl: Clean up shading language mixing check for GLSL 3.00 ES.
Previously, we prohibited mixing of shading language versions if
min_version == 100 or max_version >= 130. This was technically
correct (since desktop GLSL 1.30 and beyond prohibit mixing of shading
language versions, as does GLSL 1.00 ES), but it was confusing. Also,
we asserted that all shading language versions were between 1.00 and
1.40, which was unnecessary (since the parser already checks shading
language versions) and doesn't work for GLSL 3.00 ES.
This patch changes the code to explicitly check that (a) ES shaders
aren't mixed with desktop shaders, (b) shaders aren't mixed between ES
versions, and (c) shaders aren't mixed between desktop GLSL versions
when at least one shader is GLSL 1.30 or greater. Also, it removes
the unnecessary assertion.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e3de99cd67de85f065ff514544ed7ca2395aa01
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 17:47:49 2012 -0700
glsl: Record in gl_shader whether the shader uses GLSL ES.
Previously we recorded just the GLSL version, with the knowledge that
100 means GLSL 1.00 ES. With the advent of GLSL 3.00 ES, this is
going to get more complex, and eventually will probably become
ambiguous (GLSL 4.00 already exists, and GLSL 4.00 ES is likely to be
created some day).
To reduce confusion, this patch simply records whether the shader is
GLSL ES as an explicit boolean.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f359cb4b20b18a771948c3e55091f311637d907a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 11:17:30 2012 -0700
glsl/parser: Handle "#version 300 es" directive.
Note that GLSL 1.00 is selected using "#version 100", so "#version 100
es" is prohibited.
v2: Check for GLES3 before allowing '#version 300 es'
v3: Make sure a correct language_version is set in
_mesa_glsl_parse_state::process_version_directive.
Signed-off-by: Paul Berry <stereotype441 at gmail.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d52aea6e1bc2ee11e50f8ab783841e3ca49ecdda
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 11:02:55 2012 -0700
glsl/parser: Extract version directive processing into a function.
Version directive handling is going to have to be used within two
parser rules, one for desktop-style version directives (e.g. "#version
130") and one for the new ES-style version directive (e.g. "#version
300 es"), so this patch moves it to a function that can be called from
both rules.
No functional change.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5458ffb086df78b5e44de86bdec06d08be6e14fd
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 13:21:54 2012 -0700
glsl/preprocessor: Handle "#version 300 es" directive.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3cce536bde25823888edd47f100334653f47d81
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 13:06:45 2012 -0700
glsl/preprocessor: Extract version directive processing into a function.
Version directive handling is going to have to be used within two
parser rules, one for desktop-style version directives (e.g. "#version
130") and one for the new ES-style version directive (e.g. "#version
300 es"), so this patch moves it to a function that can be called from
both rules.
No functional change.
[mattst88] v2: Use intmax_t instead of int for version argument. Would
otherwise write garbage after #version since PRIiMAX was reading 64-bits
instead of 32.
[idr] v3: A later commit fixes the caller of
_glcpp_parser_handle_version_declaration to pass the correct number of
parameters. Fix it in the patch that changes the interface instead.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=056827fa0a0fd83e08cc46a758ec10fb984de2f6
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 08:18:12 2012 -0700
glsl: Enable GLSL ES 3.00 features inherited from desktop GLSL.
This patch turns on the following features for GLSL ES 3.00:
- Array constructors, whole array assignment, and array comparisons.
- Second and third operands of ?: may be arrays.
- Use of "in" and "out" qualifiers on globals.
- Bitwise and modulus operators.
- Integral vertex shader inputs.
- Range-checking of literal integers.
- array.length method.
- Function calls may be constant expressions.
- Integral varyings must be qualified with "flat".
- Interpolation and centroid qualifiers may not be applied to vertex
shader inputs.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe65fb87997f613acb17c51a506e559e31686635
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 08:17:55 2012 -0700
glsl: parse GLSL ES 3.00 keywords correctly.
GLSL ES 3.00 adds the following keywords over GLSL 1.00: uint,
uvec[2-4], matNxM, centroid, flat, smooth, various samplers, layout,
switch, default, and case.
Additionally, it reserves a large number of keywords, some of which
were already reserved in versions of desktop GL that Mesa supports,
some of which are new to Mesa.
A few of the reserved keywords in GLSL ES 3.00 are keywords that are
supported in all other versions of GLSL: attribute, varying,
sampler1D, sampler1DShador, sampler2DRect, and sampler2DRectShadow.
This patch updates the lexer to handle all of the new keywords
correctly when the language being parsed is GLSL 3.00 ES.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b391ae7b140340e1e038580163832b4ffeaa06f
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 1 19:04:59 2012 -0700
glsl: Rework lexer keyword handling in preparation for GLSL 3.00 ES.
This patch expands the lexer KEYWORD macro to take two additional
arguments: the GLSL ES versions in which the given keyword was first
reserved, and supported, respectively. This will allow us to
trivially add support for GLSL 3.00 ES keywords, even though the set
of GLSL 3.00 ES keywords is neither a subset or a superset of the
keywords corresponding to any desktop GLSL version.
The new KEYWORD macro makes use of the
_mesa_glsl_parse_state::is_version() function, so it accepts 0 as
meaning "unsupported" (rather than 999, which we used previously).
Note that a few keywords ("packed" and "row_major") are supported
*either* when GLSL 1.40 is in use or when ARB_uniform_buffer_obj
support is enabled. Previously, we handled these by cleverly taking
advantage of the fact that the KEYWORD macro didn't parenthesize its
arguments in the usual way. Now they are handled more
straightforwardly, with a new macro, KEYWORD_WITH_ALT.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=725cb0bf26495a1a5d769f09017681164de5d427
Author: Paul Berry <stereotype441 at gmail.com>
Date: Sun Aug 5 09:57:01 2012 -0700
glsl: Make use of new _mesa_glsl_parse_state::check_version() function.
Previous to this patch, we were not very consistent about the errors
we generate when a shader tried to use a feature that is prohibited in
the current GLSL version. Some error messages failed to mention the
GLSL version currently in use (or did so inaccurately), and some error
messages failed to mention the first GLSL version in which the given
feature is allowed.
This patch reworks all of the error checks to use the check_version()
function, which produces error messages in a standard form
(approximately "$FEATURE forbidden in $CURRENT_GLSL_VERSION
($REQUIRED_GLSL_VERSION required).").
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10c88919aed43b90d2870981706c0c50a9b72e58
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 1 14:50:05 2012 -0700
glsl: Make use of new _mesa_glsl_parse_state::is_version() function.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=416ca57367a88cf0df80de02386b01523fa1a4bb
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 1 19:09:24 2012 -0700
glsl: Add GLSL version query functions.
With the advent of GLSL 3.00 ES, the version checks we perform in the
GLSL compiler (to determine which language features are present) will
become more complicated. To reduce the complexity, this patch adds
functions check_version() and is_version() to _mesa_glsl_parse_state.
These functions take two version numbers: a desktop GLSL version and a
GLSL ES version, and return a boolean indicating whether the GLSL
version being compiled is at least the required version. So, for
example, is_version(130, 300) returns true if the GLSL version being
compiled is at least desktop GLSL 1.30 or GLSL 3.00.
The check_version() function additionally produces an error message if
the version check fails, informing the user of which GLSL version(s)
support the given feature.
[v2, idr]: Add PRINTFLIKE annotation to the new method. The numbering of th
parameters is correct because GCC is silly.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=69930a618a79fb755556e3d4a8d8fb2b292ab596
Author: Paul Berry <stereotype441 at gmail.com>
Date: Thu Aug 2 06:45:30 2012 -0700
glsl: Compute version_string on the fly.
Fixes a bug where version_string would be left uninitialized if no
GLSL "#version" directive was used.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=38b3b30d3c8513193b1ffc8441149909a7d8bc05
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 1 18:36:57 2012 -0700
glsl: Make a function to express a GLSL version ir human-readable form.
This will be useful in generating more helpful error messages,
especially with the addition of GLSL 3.00 ES support.
[v2, idr]: Rename ctx parameter to mem_ctx
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b3b2c4ea0fc4a43ae5886f1840b1de047d727aa
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Aug 1 17:44:02 2012 -0700
glsl: Simplify symbol table version checking.
Previously, we stored the GLSL language version in the
glsl_symbol_table struct. But this was unnecessary--all
glsl_symbol_table needs to know is whether functions and variables
have separate namespaces (they do in GLSL 1.10 only).
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=196f5f51f48768099634b48bc116fdf8d8712712
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Aug 6 10:22:44 2012 -0700
mesa: Add ARB_ES3_compatibility flag.
Adding this now makes it easier to develop and test GLES3 features, since we
can do initial development and testing using desktop GL. Later GLSL compiler
patches check for either ctx->Extensions.ARB_ES3_compatibility or
_mesa_is_gles3 to allow certain features (i.e., "#version 300 es").
[v2, idr]: Just edits to the commit message.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=900fd8a37cbcdfe7de8ab98e885bbfd2915207df
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=dd2b19ff7784d286ec7a0ffa88d8d93e97d35234
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=587bd16d0d8ceb7313eaf0604b98797e140a386d
Author: Roland Scheidegger <sroland at vmware.com>
Date: Fri Nov 30 20:46:23 2012 +0100
gallivm: drop border wrap clamping code
The border clamping code is unnecessary, since we don't care if a wrapped
coord value is -1 or <-1 (same for length vs. >length), in either case the
border handling code will mask out the offset and replace the texel value with
the border color.
Note that technically this is not entirely correct. Omitting clamping on the
float coords means that flt->int conversion may result in undefined values for
values of very large magnitude.
However there's no reason we should honor this here since:
a) we don't care for that for ordinary wrap modes in the aos code when
converting coords and the problem is worse there (as we've got only
effectively 24 instead of 32bits)
b) at least in some cases the clamping was done already in int space hence
doing nothing to fix that problem.
c) with sse2 flt->int conversion with such values results in 0x80000000 which
is just perfect (for clamp to border - not so much for the ordinary clamp to
edge).
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=224d0e4a3ffee9df46b5340ed236f2d48eeb0778
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Nov 30 15:23:41 2012 +0100
r300g: handle map flag DISCARD_WHOLE_RESOURCE
This should improve performance in apps which trigger this codepath.
(e.g. Wine does)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=da7029dcb498f80d1837323038617b49cc28431f
Author: Vinson Lee <vlee at freedesktop.org>
Date: Thu Nov 29 23:10:03 2012 -0800
radeon: Fix memory leak in radeonCreateScreen2.
Fixes a memory leak defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a17750b6884939a36947c76a30d3077f1488f943
Author: Brian Paul <brian.e.paul at gmail.com>
Date: Fri Nov 30 19:11:21 2012 -0800
nouveau: Fix build.
Fixes nouveau build failure introduced at
c73245882c7ff1277b190b97f093f7b423a22f10.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57746
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3476ec8fa5a94d469a12318c537b13ce9cc5a45
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 20:24:33 2012 +1000
glsl: fix uninitialised variable from constructor
Coverity pointed out this uninitialised class member.
Note: This is a candidate for stable branches.
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=906670a7906a785210c872f637239bf4afa5b63d
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 20:23:20 2012 +1000
glsl: initialise killed_all field.
coverity pointed out this field was being used uninitialised.
Note: This is a candidate for stable branches.
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=d128ae347add426e4570c2e18ddee0cb4ed83401
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 20:02:39 2012 +1000
svga: remove pointless assert on unsigned >= 0
all unsigneds are >= 0 :-)
There may be an argument for leaving this in, in case someone
changes min_lod to an integer, so feel free to apply or drop.
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=e85c9a4d2874a302195c66742b446f0645440c43
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 18:33:21 2012 +1000
glsl: fix cut-n-paste error in error handling. (v2)
Reported by coverity scan.
v2: fix second case
Note: This is a candidate for stable branches.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67c8e96f5ace67f9c17556934ee9532877d3a00f
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 18:27:51 2012 +1000
r300g: fix comparison of hyperz flush time.
I haven't confirmed this is doing the correct thing, but at
least this might make someone review it!
Reported by internal RH coverity scan.
Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0ec9185eb90568ab57170dc682de0ba0c9e5e62
Author: Dave Airlie <airlied at gmail.com>
Date: Fri Nov 30 17:47:47 2012 +1000
dri_glx: fix use after free report
the critical error would use driverName.
Found by internal RH coverity scan.
Note: This is a candidate for stable branches.
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a47a0200a78ed8bddcf0c79b4b630e475e7357ca
Author: Carl Worth <cworth at cworth.org>
Date: Fri Nov 30 17:17:56 2012 -0800
Revert "glcpp: Rewrite line-continuation support to act globally."
This reverts commit 962a1c07b44fe500b79b3ca6806d72a432c1f055.
Further testing revealed that this commit can cause the pre-processor to enter
infinite loops. For now, simply revert this code until a cleaner,
better-tested version is available.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=962a1c07b44fe500b79b3ca6806d72a432c1f055
Author: Carl Worth <cworth at cworth.org>
Date: Thu Nov 29 14:49:46 2012 -0800
glcpp: Rewrite line-continuation support to act globally.
Previously, we were only supporting line-continuation backslash characters
within lines of pre-processor directives, (as per the specification). With
OpenGL 4.2 and GLES3, line continuations are now supported anywhere within a
shader.
While changing this, also fix a bug where the preprocessor was ignoring
line continuation characters when a line ended in multiple backslash
characters.
The new code is also more efficient than the old. Previously, we would
perform a ralloc copy at each newline. We now perform copies only at each
occurrence of a line-continuation.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60a11e295b86475ff334291a5b483e422371b21c
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date: Thu Nov 22 15:34:49 2012 +0200
egl/wayland: Dispatch the event queue before get_buffers
When a client frame callback is executed and the client starts rendering
again, the egl event queue might not have been dispatched so that the
buffer release event for the previous frame hasn't been processed. In
that case a third buffer is allocated, even though it would be possible
to reuse the buffer that was just released.
The wl_display_dispatch_queue_pending() entry point is available from
wayland-client 1.0.2, so require that in configure.ac. Also, just
let the pkg-config macro throw its own error, which will show what version
we were looking for and failed to find.
Note: This is a candidate for stable branches.
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89ba4368fd86778405eea163e2b27812055f0df9
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Fri Nov 30 13:29:17 2012 -0500
egl/wayland: Add invalidate back in eglSwapBuffers()
Commit ca3ed3e024864e91ca3cccc59fb96950e1d079b5 fixed the problem where
eglMakeCurrent would trigger a getbuffer callback that then breaks the
following wl_egl_window_resize() call. However, we still need to
invalidate buffers in eglSwapBuffers, since in wayland we always swap
buffers, so the dri driver needs to come out and ask us for the next buffer
after each swapbuffer.
Note: this is a candidate for stable branches.
Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d0bb74a11f1905e32f6db23fbf8bb29ff8fa367
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 17 15:10:53 2012 -0800
i965/fs: Add fs_reg::is_zero() and is_one(); use for opt_algebraic().
These helper macros save you from writing nasty expressions like:
if ((inst->src[1].type == BRW_REGISTER_TYPE_F &&
inst->src[1].imm.f == 1.0) ||
((inst->src[1].type == BRW_REGISTER_TYPE_D ||
inst->src[1].type == BRW_REGISTER_TYPE_UD) &&
inst->src[1].imm.u == 1)) {
Instead, you simply get to write inst->src[1].is_one(). Simple.
Also, this makes the FS backend match the VS backend (which has these).
This patch also converts opt_algebraic to use the new helper functions.
As a consequence, it will now also optimize integer-typed expressions.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cedb65a43ae81c7ac71e631c854b7404dd2b61b
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 30 10:11:54 2012 -0700
st/mesa: fix context use-after-free problem in st_renderbuffer_delete()
The use-after-free happened when the renderbuffer was shared by multiple
contexts and we tried to delete the renderbuffer using a context which
was previously deleted.
Note: this is a candidate for the stable branches.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=51223784d6a8ee93cf004c9ba87a7e4dcb7b3161
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 30 10:10:25 2012 -0700
util: added pipe_surface_release() function
To fix a pipe_context::surface_destroy() use-after-free problem.
We previously added pipe_sampler_view_release() for similar reasons.
Note: this is a candidate for the stable branches.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c73245882c7ff1277b190b97f093f7b423a22f10
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 30 10:04:48 2012 -0700
mesa: pass context parameter to gl_renderbuffer::Delete()
We sometimes need a rendering context when deleting renderbuffers.
Pass it explicitly instead of trying to grab a current context
(which might be NULL). The next patch will make use of this.
Note: this is a candidate for the stable branches.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca3ed3e024864e91ca3cccc59fb96950e1d079b5
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date: Fri Nov 30 17:41:02 2012 +0200
egl/wayland: Don't invalidate drawable on swap buffers
We used to invalidate the drawable after a call to eglSwapBuffers(),
so that a wl_egl_window_resize() would take effect for the next frame.
However, that leads to calling dri2_get_buffers() when eglMakeCurrent()
is called with the current context and surface, and a later call to
wl_egl_window_resize() would not take effect until the next buffer
swap.
Instead, add a callback from wl_egl_window_resize() back to the wayland
egl platform, and invalidate the drawable only when it is resized.
This solves a bug on wayland clients when going back to windowed mode
from fullscreen when clicking a pop up menu, where the window size
after this would be the fullscreen size.
Note: this is a candidate for stable branches.
CC: wayland-devel at lists.freedesktop.org
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5c53245afcb35632cc662ff7f84a578eba864c3
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Thu Nov 29 15:11:13 2012 -0500
egl: Only enable GLX backend if X11 EGL platform is enabled
We don't want to compile in a bunch of X11 dependencies in libEGL if
we can't run EGL on X11.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7177e362eb2afb0772fa6a611b94c80301ef725
Author: José Fonseca <jose.r.fonseca at gmail.com>
Date: Fri Nov 30 07:05:24 2012 +0000
llvmpipe: Remove remnants of lp_tile_soa from Makefile.
Completely forgot about updating Makefile when removing it. Stephane
already fixed the make build, but there were a few mentions of
lp_tile_soa left in the tree.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f7915bdb9e1f12861cddbb97f8101693565a59e
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 26 13:39:11 2012 -0800
i965/fp: Fix segfault on gen4 TXB instructions.
The gen4 simd16 workaround looks at ir->type to determine how much
storage to allocate for the simd16 value. In fragment programs,
texturing only ever returns float vec4s (unlike GLSL, which can also
have scalar floats or vector integers), so this is the right type.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56962
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f126f34c1d1726336586da7f5a726546963a0f0a
Author: Vinson Lee <vlee at freedesktop.org>
Date: Wed Nov 28 22:36:30 2012 -0800
llvmpipe: Fix incorrect sizeof.
Fixes sizeof not portable defects reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4430d44eac524e4910a01736edec34a0fbd428aa
Author: Stéphane Marchesin <marcheu at chromium.org>
Date: Thu Nov 29 19:49:44 2012 -0800
llvmpipe: Fix build break from 75da95c50
The Makefile looks for a file which is gone (lp_tile_soa.c)
http://bugs.freedesktop.org/show_bug.cgi?id=57713
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ab896243cfdee7f6a626aceb26e4cb88bd4da2d
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Fri Nov 16 10:47:56 2012 -0800
mesa: Fix GL_LUMINANCE handling for textures in glGetTexImage
We need to rebase colors (ex: set G=B=0) when getting GL_LUMINANCE
textures in following cases:
1. If the luminance texture is actually stored as rgba
2. If getting a luminance texture, but returning rgba
3. If getting an rgba texture, but returning luminance
A similar fix was pushed by Brian Paul for uncompressed textures
in commit: f5d0ced.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=47220
Observed no regressions in piglit and ogles2conform due to this fix.
This patch will cause failures in intel oglconform pxconv-gettex,
pxstore-gettex and pxtrans-gettex test cases. The cause of failures
is a bug in test cases. Expected luminance value is calculted
incorrectly in test cases: L = R+G+B.
V2: Set G = 0 when getting a RG texture but returning luminance.
Note: This is a candidate for stable branches.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Ian Romanick <idr at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53ba40c1567125e9462289be01f5c137701f4f5d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 13:47:13 2012 -0800
Revert "meta: Don't try to glOrtho when the draw buffer isn't initialized."
This reverts commit 9947470655bbf8f4a9c98fe6d93ff5c3486f1124.
Apparently it caused a lot of Piglit regressions.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fcb3fbf22063cabfec04700dcf5aa4a2f30760f
Author: Vincent Lejeune <vljn at ovi.com>
Date: Wed Nov 28 19:59:07 2012 +0100
r600g: mirror simplification of if/break opcodes
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fda2990aa1a52a11a87eeb5ccf914588e0afe21
Author: Vincent Lejeune <vljn at ovi.com>
Date: Tue Nov 20 23:22:47 2012 +0100
r600g: separate resource_id and sampler_id tex info in tgsi-to-llvm
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ff6b528867a2ad16be44ed6d023069a9a924b8d
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 21:43:45 2012 -0800
glcpp: Update README for new support of __LINE__ and __FILE__.
Drop these from the known limitations list since support was recently added
for these.
Also, fix a typo while in the area, (and the oddly missing final newline).
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89cd6df03481dcf0dae948878ad1f77c819b442d
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 17:32:03 2012 -0800
glcpp: Add test involving token pasting of INTEGER tokens.
This test file is very similar to test 113-line-and-file-macros but uses token
pasting for cleaner quiz answers (without spaces between the digits). This
test passes thanks to the recent addition of support for pasting INTEGER
tokens, (but would have failed without that).
(Note that this test is distinct from test 059-token-pasting-integer which
pastes integers parsed from the source. Those are parsed to INTEGER_STRING
tokens and are already pasted correctly as verified by that test. The only way
to generate the INTEGER tokens which currently fail to paste is with an
internal define such as __LINE__ that results in an integer.)
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=522d1ccd77a7eea0421bcb0dcfa88b601146b6d1
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 17:34:36 2012 -0800
glcpp: Add support for pasting of INTEGER tokens.
By generalizing the current code designed to paste string tokens of various
types.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1597f0a81f8fef55c48bd01f81acf2f3ff7f9b7
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 13:01:24 2012 -0800
glcpp: Flag invalid pastes for integer followed by non-digits
As recently tested in the additions to the invalid paste test, it is illegal
to paste a non-digit sequence onto the end of an integer.
The 082-invalid-paste test should now pass again.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c86eb0cd65f04a242952bfc610d80341673b3d52
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 12:57:09 2012 -0800
glcpp: Extend the invalid-paste test
The current code lets a few invalid pastes through, such as an string pasted
onto the end of an integer. Extend the invalid-paste test to catch some of
these.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=01b83171c9d5529a9660ba404cc059daa318fc64
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 12:11:02 2012 -0800
glcpp: More factoring-out of common code to simplify things.
This time creating a new _token_list_create_with_one_integer function
modeled after the existing _token_list_create_with_one_space function
(both implemented with new _token_list_create_with_one_ival).
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea34ac499d46407d8d90baa4a8fd9082ba6b3ea7
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 12:03:50 2012 -0800
glcpp: Factor out a tiny bit of repeated code.
This function is getting a little long too read. Simplify it by pulling
up one assignment from every condition.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=907a10378e4c63686abe0739634b30615018ccd1
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 28 11:52:05 2012 -0800
glcpp: Add support for __LINE__ and __FILE__ macros
These tokens are easy to expand by just looking at the current, tracked
location values, (and no need to look anything up in the hash table).
Add a test which verifies __LINE__ with several values, (and verifies __FILE__
for the single value of 0). Our testing framework isn't sophisticated enough
here to have a test with multiple file inputs.
This commit fixes part of es3conform's preprocess16_frag test.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dbd6135bc1ba285128ab991c03c4df6fbd6fefe8
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 27 12:26:51 2012 -0800
mesa: Rename API_OPENGL to API_OPENGL_COMPAT.
This should help avoid confusion now that we're using the gl_api enum
to distinguishing between core and compatibility API's. The
corresponding enum value for core API's is API_OPENGL_CORE.
Acked-by: Eric Anholt <eric at anholt.net>
Acked-by: Matt Turner <mattst88 at gmail.com>
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e163a137be7f9a80ec720903c4bda028de5681f
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Nov 29 02:55:01 2012 +0100
gallium/postprocess: share pipe_context and cso_context with the state tracker
Using one context instead of two is more efficient and
we can skip another context flush.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=135fe907a016ec20b6779f6b3a657563e89c1081
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Nov 28 19:07:18 2012 +0100
mesa: move some helper functions from fboobject.c to glformats.c
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fda2e9147d646ea012b33c870e45d680ec56f22
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Thu Nov 29 09:48:00 2012 +0200
android: include api_exec.c in generated files list
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=9c9c18a395d9b70ef76ca694a67743f0338a4665
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 29 16:52:06 2012 +0000
gallivm: Fix lp_build_float_to_half.
The current implementation was close by not fully correct: several
operations that should be done in floating point were being done in
integer.
Fixes piglit fbo-clear-formats GL_ARB_texture_float
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5918d8f1d0d963e58ede1f82ecd836a815cfd89
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 29 04:00:35 2012 +0100
gallivm: fix a trivial txq issue for 2d shadow and cube shadow samplers
untested (couldn't get the piglit test to run even with version overrides)
but seemed blatantly wrong.
In any case it would only affect an error case which when it would happen
probably all hope is lost anyway.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d50148742512606f2abd76a2dcef6c87a5c7471
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 29 04:08:32 2012 +0100
llvmpipe: support array textures
This adds array (1d,2d) texture support to llvmpipe.
Though probably should do something about 1d array textures requiring gobs
of memory (this issue is not strictly limited to arrays but it is probably
worse there).
Initial code by Jakob Bornecrantz <jakob at vmware.com>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95e03914d82f4a3722cda00cd6eda54a6f328a73
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 29 04:06:48 2012 +0100
gallivm: support array textures
Support 1d and 2d array textures (including shadow samplers),
and (as a side effect mostly) also shadow cube samplers.
Seems to pass the relevant piglit tests both for sampling and rendering
to (though some require version overrides).
Since we don't support render target indices rendering to array textures
is still restricted to a single layer at a time.
Also, the min/max layer in the sampler view (which is unnecessary for GL)
is ignored (always use all layers).
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=88e92f5bcd41a4affc0f5fc4433f7c9029cb8c03
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 21:06:03 2012 +0000
llvmpipe: Remove lp_build_blend_soa()
No longer used/necessary, as we always blend in AoS now.
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=75da95c50aedaa4b1abf51ec1dcaf2fe8ddd4f3b
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 20:14:17 2012 +0000
llvmpipe: Eliminate color buffer swizzling.
Now dead code.
Also had to remove the show_tiles/show_subtiles because now the color
buffers are always stored in their native format, so there is no longer
an easy way to paint the tile sizes.
Depth-stencil buffers are still swizzled.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6916387e5396a891f2ffbc68866802d03f6a0939
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 19:25:05 2012 +0000
llvmpipe: Only advertise unswizzled formats.
Update llvmpipe_is_format_supported and llvmpipe_is_format_unswizzled
so that only the formats that we can render without swizzling are
advertised.
We can still render all D3D10 required formats except
PIPE_FORMAT_R11G11B10_FLOAT, which needs to be implemented in a future
opportunity.
Removal of rendertarget swizzling will be done in a subsequent change.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f06061d50f90bf425a5337cea1b0adb94a46d25
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 19:20:18 2012 +0000
util/u_format: Kill util_format_is_array().
It is buggy (it was giving wrong results for some of the formats with
padding), and util_format_description::is_array already does precisely
what's intended.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a47674ee89f9f41c3be96ee47c476144bf6b779b
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 19:18:09 2012 +0000
util/u_format: Tighten the meaning of is_array bit to exclude mixed type formats.
This is what we want in practice.
The only change is in PIPE_FORMAT_R8SG8SB8UX8U_NORM, which no longer is
considered an array format.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=64e9ec634b1d8ea20b83ab49f889121c17691368
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 13:48:45 2012 -0600
util/u_format: Fix format manipulation for big-endian
This patch fixes various format manipulation for big-endian
architectures.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e25abacc1883f1b2e09c32230e35ffae7df5e61b
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 13:48:45 2012 -0600
gallivm: Fix format manipulation for big-endian
This patch fixes various format manipulation for big-endian
architectures.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b772d784b25771ff939e3c0c87fdf0d8053827be
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 12:23:23 2012 -0600
gallivm: Add byte-swap construct calls
This patch adds two more functions in type conversions header:
* lp_build_bswap: construct a call to llvm.bswap intrinsic for an
element
* lp_build_bswap_vec: byte swap every element in a vector base on the
input and output types.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86902b513469635bb0bc027db0500e2f4d6c498d
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 13:42:45 2012 -0600
gallivm: Fix vector constant for shuffle
This patch fixes the vector constant generation used for vector shuffle
for big-endian machines.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=29ba79b2c929ea23b45fa065fe7c9f8fd400210c
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 11:55:35 2012 -0600
gallivm: clear Altivec NJ bit
This patch enforces the clear of NJ bit in VSCR Altivec register so
denormal numbers are handles as expected by IEEE standards.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=43ce9efdbf8c8e1200fe54744820ca2523f36e6b
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 11:37:18 2012 -0600
gallivm: Altivec floating-point rounding
This patch adds Altivec intrinsics for float vector types. It changes
the SSE specific definitions to a platform neutral and adds the calls
to Altivec intrinsic builder.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd5c58081672bd495e0ffef1c3cc1229620f0f88
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 11:20:42 2012 -0600
gallivm: Altivec vector add/sub intrisics
This patch add correct vector addition and substraction intrisics when
using Altivec with PPC. Current code uses default path and LLVM backend
ends up issuing carry-out arithmetic instruction while it is expected
saturated ones.
It also includes a fix for PowerPC where char are unsigned by default,
resulting in bogus values for vector shifting.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ea7d3dabd01608c1d0b020ef941912bd3893a96
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 11:03:11 2012 -0600
gallivm: Altivec vector max/min intrisics
This patch adds the PPC Altivec instrics max/min instruction for
supported Altivec vector types (16xi8, 8xi16, 4xi32, 4xf32).
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=31c63b058edd988004e1bea261a03235a8752229
Author: Adhemerval Zanella <azanella at linux.vnet.ibm.com>
Date: Thu Nov 22 10:54:45 2012 -0600
gallivm: Altivec pack/unpack intrisics
This patch adds PPC Altivec support for pack/unpack operations using Altivec
supported vector type (8xi8, 16xi16, 4xi32, 4xf32).
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6aec6533cc1fc09e27757aefa8ad3dbd662684
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 27 19:53:58 2012 +0100
radeonsi: Bitcast result of packf16 intrinsic to float for export intrinsic.
Fixes 7 piglit tests, and prevents many more from crashing.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-and-Tested-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1023608002c985b9d72edc64732cd666de2a206
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 27 00:16:05 2012 -0800
i965/vs: Move struct brw_compile (p) entirely inside vec4_generator.
The brw_compile structure contains the brw_instruction store and the
brw_eu_emit.c state tracking fields. These are only useful for the
final assembly generation pass; the earlier compilation stages doesn't
need them.
This also means that the code generator for future hardware won't have
access to the brw_compile structure, which is extremely desirable
because it prevents accidental generation of Gen4-7 code.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eda9726ef51dcfd3895924eb0f74df8e67aa9c3a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 22:53:10 2012 -0800
i965/vs: Split final assembly code generation out of vec4_visitor.
Compiling shaders requires several main steps:
1. Generating VS IR from either GLSL IR or Mesa IR
2. Optimizing the IR
3. Register allocation
4. Generating assembly code
This patch splits out step 4 into a separate class named "vec4_generator."
There are several reasons for doing so:
1. Future hardware has a different instruction encoding. Splitting
this out will allow us to replace vec4_generator (which relies
heavily on the brw_eu_emit.c code and struct brw_instruction) with
a new code generator that writes the new format.
2. It reduces the size of the vec4_visitor monolith. (Arguably, a lot
more should be split out, but that's left for "future work.")
3. Separate namespaces allow us to make helper functions for
generating instructions in both classes: ADD() can exist in
vec4_visitor and create IR, while ADD() in vec4_generator() can
create brw_instructions. (Patches for this upcoming.)
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=db6231fece32a0cec6050ca570a04362036f4f48
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 21:56:06 2012 -0800
i965/vs: Abort on unsupported opcodes rather than failing.
Final code generation should never fail. This is a bug, and there
should be no user-triggerable cases where this could occur.
Also, we're not going to have a fail() method after the split.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8af8a26480e9e71fb1501b675f21a469c1699b9b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 23:59:32 2012 -0800
i965/vs: Move uses of brw_compile from do_vs_prog to brw_vs_emit.
The brw_compile structure is closely tied to the Gen4-7 hardware
encoding. However, do_vs_prog is very generic: it just calls out to
get a compiled program and then uploads it.
This isn't ultimately where we want it, but it's a step in the right
direction: it's now closer to the code generator.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=746fc346eae21d227b06799f3e82a1404c75bdc9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 23:52:20 2012 -0800
i965/vs: Rework memory contexts for shader compilation data.
During compilation, we allocate a bunch of things: the IR needs to last
at least until code generation...and then the program store needs to
last until after we upload the program.
For simplicity's sake, just keep it all around until we upload the
program. After that, it can all be freed.
This will also save a lot of headaches during the upcoming refactoring.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=031146736c5b4e3c955a81440c6b02c5427fda0e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 23:07:51 2012 -0800
i965/vs: Pass the brw_context pointer into brw_compute_vue_map().
We used to steal it out of the brw_compile struct, but that won't be
initialized in time soon (and is eventually going away).
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=403bb1d306c5bc23ad9e2c26fd39071e6e41f665
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 22:14:27 2012 -0800
i965/vs: Pass the brw_context pointer into vec4_visitor and do_vs_prog.
We used to steal it out of the brw_compile struct...but vec4_visitor
isn't going to have one of those in the future.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd50c88386c8220f4631115b68a10930378ead6c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 21:46:27 2012 -0800
i965/vs: Move some functions from brw_vec4_emit.cpp to brw_vec4.cpp.
This leaves only the final code generation stage in brw_vec4_emit.cpp,
moving the payload setup, run(), and brw_vs_emit functions to brw_vec4.cpp.
The fragment shader backend puts these functions in brw_fs.cpp, so this
patch also helps with consistency.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9947470655bbf8f4a9c98fe6d93ff5c3486f1124
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 26 21:11:14 2012 -0800
meta: Don't try to glOrtho when the draw buffer isn't initialized.
I ran across this while running a glGenerateMipmap() test.
_meta_GenerateMipmap sets MESA_META_TRANSFORM, which causes
_mesa_meta_begin to try and set a default orthographic projection.
Unfortunately, if the drawbuffer isn't set up, ctx->DrawBuffer->Width
and Height are 0, which just causes an GL_INVALID_VALUE error.
Fixes oglconform's fbo/mipmap.automatic, mipmap.manual, and
mipmap.manualIterateTexTargets.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d1ee38a4c273d5ba7110917de7989f78225fa7b
Author: Jason Wood <sandain at hotmail.com>
Date: Thu Nov 29 01:05:12 2012 +0100
docs: Mark some features in GL3.txt as done for r600
Signed-off-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa46cc2879846c7f4e11dfb0a83063863bce6997
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Nov 28 20:38:22 2012 +0100
st/mesa: allow forward-compatible contexts and set Const.ContextFlags
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=249f86e3f88d667437130a2badfe139d3144fcc9
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Nov 23 20:20:03 2012 +0100
st/mesa: add support for GL core profiles
The rest of the plumbing was in place already.
I have tested this by turning on all GL 3.1 features.
The drivers not supporting GL 3.1 will fail to create a core profile
as they should.
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=f9429e30aa899520f41d4ba0f1a4534e7e6c9d95
Author: Marek Olšák <maraeo at gmail.com>
Date: Wed Nov 28 00:28:18 2012 +0100
configure.ac: remove -fomit-frame-pointer from LLVM flags
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d59cde92e22ffc651ef41f29056b7d7284bf121
Author: Marek Olšák <maraeo at gmail.com>
Date: Tue Nov 27 23:56:04 2012 +0100
configure.ac: look for whole words in LLVM flags, not prefixes
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b67a347f683cec909acbe1f76345a4def3e80e6
Author: Marek Olšák <maraeo at gmail.com>
Date: Tue Nov 27 23:38:01 2012 +0100
configure.ac: consolidate stripping unwanted LLVM flags
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a84a8da4f8ec404c7f1b55d823848718ed579aeb
Author: Marek Olšák <maraeo at gmail.com>
Date: Tue Nov 27 22:32:50 2012 +0100
configure.ac: print LLVM flags
to see what we're mixing with ours
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0904973e3921da57037b29f7a6fe7074a70318d2
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 28 13:35:01 2012 -0700
util: add more memory debugging features
Add a DEBUG_FREED_MEMORY option to help catch use-after-free errors.
Add debug_memory_check() function which can be periodically called to
check that all known blocks are good.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cead8845b95643582903f054255d20b3de3e19a
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 20:45:03 2012 +0000
llvmpipe: Implement logic ops for the AoS path.
It was forgotten in the previous patch series, but it is trivial to
implement, based on the SoA path.
This fixes glean logicOp failures.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=547efc76df31a87a59ed1b6b5e935a1acf4728bf
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 28 19:57:26 2012 +0000
llvmpipe: Don't use dynamically sized arrays.
Unfortunately for MSVC arrays with a constant variable size are still
considered dynamically sized.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8ed9f6262a73849a64c55bcfaac2a50e42e0945
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 26 14:46:11 2012 -0800
i965/gen4-5: Fix segfaults with stencil-only depth/stencil setups.
Fixes a ton of piglit regressions since the depthstencil fixes for gen6+.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57309
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9b033d8e456228fb05c5e28f85323de40f3292f
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 26 14:22:12 2012 -0800
i965/fs: Don't generate saturates over existing variable values.
Fixes a crash in http://workshop.chromeexperiments.com/stars/ on i965,
and the new piglit test glsl-fs-clamp-5.
We were trying to emit a saturating move into a uniform, which the code
generator appropriately choked on. This was broken in the change in
32ae8d3b321185a85b73ff703d8fc26bd5f48fa7.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57166
NOTE: This is a candidate for the 9.0 branch.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=154ef07aa74e1d91e16cf9f2492cae33790b0998
Author: Eric Anholt <eric at anholt.net>
Date: Tue Oct 30 15:35:44 2012 -0700
i965/fs: Add some minimal backend-IR dumping.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=960ab06da05390a5f53163016dddd51ba118b7bc
Author: James Benton <jbenton at vmware.com>
Date: Fri Sep 14 13:29:58 2012 +0100
llvmpipe: Update llvmpipe_is_format_unswizzled to reflect latest changes.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=66fdf626bb4a970e5a972f24faf6e69eda67e31d
Author: James Benton <jbenton at vmware.com>
Date: Thu Sep 13 16:05:08 2012 +0100
llvmpipe: Enable vertex color clamping.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa1b481c09b14e01eca1b3db8e0854033f6dee3d
Author: James Benton <jbenton at vmware.com>
Date: Thu Sep 13 16:04:42 2012 +0100
llvmpipe: Unswizzled rendering.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1d3789bccbbcc814fd7b339e9f5b5631e30d9f0e
Author: James Benton <jbenton at vmware.com>
Date: Wed Jul 11 15:39:53 2012 +0100
gallivm: Updated lp_build_const_mask_aos to input number of channels.
Also updated lp_build_const_mask_aos_swizzled to reflect this.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d03d29a0442e8c1bfb1567f33abc83373a203220
Author: James Benton <jbenton at vmware.com>
Date: Wed Jul 11 15:32:47 2012 +0100
util: Updated util_format_is_array to be more accurate.
Will allow formats with padding, e.g. RGBX.
Will now allow swizzled formats as long as the alpha is channel 3.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e66ec7c46b310f6b309aa90c1e0e2edd53de3479
Author: James Benton <jbenton at vmware.com>
Date: Fri Jun 8 18:49:53 2012 +0100
gallivm: Added support for float to half-float conversion in lp_build_conv.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7a8390a821e9a9e7ae5103eb50315eac8131c9c
Author: James Benton <jbenton at vmware.com>
Date: Wed May 30 14:40:33 2012 +0100
gallivm: Changed lp_build_pad_vector to correctly handle scalar argument.
Removed the lp_type argument as it was unnecessary.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=71c6fe76c05aa7fc1300cb13e6507abbea5a1e19
Author: James Benton <jbenton at vmware.com>
Date: Wed May 30 14:38:52 2012 +0100
gallivm: Add a function to generate lp_type for a format.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd548836a1410220090dbd7866735a7493c7cf47
Author: James Benton <jbenton at vmware.com>
Date: Wed May 30 14:36:22 2012 +0100
gallivm: Add support for unorm16 in lp_build_mul.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3a465ae98be6db1aee582f15380944b8faaeafc
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 26 11:53:45 2012 -0800
glcpp: Support #elif(expression) with no intervening space.
And add test cases to ensure that this works
- 110 verifies that glcpp rejects #elif<digits> which glcpp
previously accepted.
- 111 verifies that glcpp accepts #if followed immediately by
(, +, -, !, or ~.
- 112 does the same as 111 but for #elif.
See 17f9beb6 for #if change.
Reviewed-by: Carl Worth <cworth at cworth.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aed466192a78ff2bb3db877a9599424de708cf90
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 20 17:23:42 2012 -0800
glcpp: Reject #version and #line not followed by whitespace
Fixes part of es3conform's preprocess16_frag test.
Reviewed-by: Carl Worth <cworth at cworth.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91ca053714957aca5205122e8478002c62cc4344
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Nov 23 03:02:44 2012 +0100
mesa: fix BlitFramebuffer between linear and sRGB formats
NOTE: This is a candidate for the stable branches.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=406b76ca3248869f67147c27165dedf6f2bb989f
Author: Roland Scheidegger <sroland at vmware.com>
Date: Wed Nov 28 18:07:27 2012 +0100
gallivm: fix multiple lods with different min/mag filter and wide vectors
broken since 529fe420ba6836479619ba42e53665724755fc1c,
I forgot some code, only added the comment...
Fixes bug 57644.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e33b55ee16c9885391d3baff33545a5209c0623
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Fri Nov 23 16:05:41 2012 +0100
radeonsi: Reinstate assertions against invalid colour/depth formats.
radeonsi now supports Z16 and doesn't fail these assertions anymore.
This partially reverts commit 7bba4879bb79719e22a18b52759b1d1d839c783c, but
leaves the error messages in place to allow diagnosing such problems even with
non-debugging builds.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8d46d017389c287db3e7062e8fdffbbef2ae50d
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Fri Nov 16 17:18:05 2012 +0100
radeonsi: Re-enable Z16 depth buffers.
8 more piglits.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=726fe54cbc2ebe333977f1010bcccc74e7a859d4
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Nov 22 19:22:46 2012 +0100
radeonsi: remove redundant parameter in r600_init_surface
[ Cherry-picked from r600g commit f5ac60152b10b04d38e77db6b904dd50d1a54d6c ]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa83d52961efeb97c4b5d613e51411a784e68478
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 20 12:48:30 2012 +0100
radeonsi: Use explicit stencil mipmap level offsets.
Extracted from r600g commit 428e37c2da420f7dc14a2ea265f2387270f9bee1.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39b56afaa238f3f5aadf562a6fb9786cad1105b8
Author: Marek Olšák <maraeo at gmail.com>
Date: Tue Nov 13 18:01:53 2012 +0100
radeonsi: correct texture memory size for Z32F_S8X24
[ Cherry-picked from r600g commit ea72351a919c594e7f40e901dca42aebb866f8a6 ]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=20f651d003e344e82503af5ce77af8d9f945cfda
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 13 17:57:07 2012 +0100
radeonsi: Depth/stencil fixes.
Adapted from r600g commit 018e3f75d69490598d61059ece56d379867f3995.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a616c10095473538f4d26d32afb4de95263a7e5
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 13 17:35:09 2012 +0100
radeonsi: Flesh out support for depth/stencil exports from the pixel shader.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=49003a5cb658751a85383cd6600006e094f453bc
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 20 17:33:19 2012 +0100
radeonsi: Fix sampler views for depth textures.
Consistently reference the flushed depth texture in the sampler view, not the
original one.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c024624fd3b5c4c43471ad06120cb988c045196
Author: Jerome Glisse <jglisse at redhat.com>
Date: Tue Nov 13 17:41:59 2012 +0100
radeonsi: Fix z/stencil texture creation.
Signed-off-by: Jerome Glisse <jglisse at redhat.com>
[ Cherry-picked from r600g commit b4f0ab0b22625ac1bb3cf16342039557c086ebae ]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffc318a97accae1f337eec75841a6778c2f4b547
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue Nov 27 00:05:08 2012 -0800
scons: Build ws_xlib on Mac OS X.
Fixes this SCons build error on Mac OS X if X11 is found.
NameError: name 'ws_xlib' is not defined:
File "SConstruct", line 144:
duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
return method(*args, **kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
return _SConscript(self.fs, *files, **subst_kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
exec _file_ in call_stack[-1].globals
File "src/SConscript", line 34:
SConscript('gallium/SConscript')
File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
return method(*args, **kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
return _SConscript(self.fs, *files, **subst_kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
exec _file_ in call_stack[-1].globals
File "src/gallium/SConscript", line 135:
'targets/libgl-xlib/SConscript',
File "scons-2.2.0/SCons/Script/SConscript.py", line 614:
return method(*args, **kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 551:
return _SConscript(self.fs, *files, **subst_kw)
File "scons-2.2.0/SCons/Script/SConscript.py", line 260:
exec _file_ in call_stack[-1].globals
File "src/gallium/targets/graw-xlib/SConscript", line 9:
ws_xlib,
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53636fdf939f59747e33b28cedb5579c889a5dd4
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date: Tue Nov 27 00:48:40 2012 +0100
configure.ac: Remove -O., -g and -Wall from LLVM_C{PP,XX}FLAGS.
Signed-off-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f75acabb9640bcbd3a8e6061695da3d01f55a3ef
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 27 15:34:13 2012 -0700
vbo: move another line of code after declarations
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8765c0d20fb849733c39f088279909c989fbe9e0
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 27 13:58:33 2012 -0700
vbo: move code after declarations to fix MSVC errors
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f94e672b47621701ad070e6799a8e22ad02539fa
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 27 13:53:38 2012 -0700
vbo: minor whitespace fix
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a547e532fcbe2a3a5896668c5ed699d6abf35ec6
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 13 09:51:58 2012 -0700
mesa: remove '(void) k' lines
Serves no purpose as the k parameter is used later in the code.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a414fea876807810c27cedb243920bd7b088ea7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 27 12:06:13 2012 -0800
mesa/vbo: Check for invalid types in various packed vertex functions.
According to the ARB_vertex_type_2_10_10_10_rev specification:
"The error INVALID_ENUM is generated by VertexP*, NormalP*,
TexCoordP*, MultiTexCoordP*, ColorP*, or SecondaryColorP if <type>
is not UNSIGNED_INT_2_10_10_10_REV or INT_2_10_10_10_REV."
Fixes 7 subcases of oglconform's packed-vertex test.
v2: Add "gl" prefix to error messages (pointed out by Brian).
Also rebase atop the ctx plumbing.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a529e2b484c6d17c6244efee8e7dae4de79e386
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 21 20:17:15 2012 -0800
mesa/vbo: Support the ES 3.0 signed normalized scaling rules.
Traditionally, OpenGL has had two separate equations for converting from
signed normalized fixed-point data to floating point data. One was used
primarily for vertex data, while the other was primarily for texturing
and framebuffer data.
However, ES 3.0 and GL 4.2 change this, declaring there's only one
equation to be used in all cases. Unfortunately, it's the other one.
v2: Correctly convert 0b10 to -1.0, as pointed out by Chris Forbes.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8d8d5db72171fd382babbb0e95fab363a84cb49
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 21 20:15:22 2012 -0800
mesa/vbo: Plumb ctx through to the conv_i(10|2)_to_norm_float functions.
The rules for converting these values actually depend on the current
context API and version. The next patch will implement those changes.
v2: Mark ctx as const, as suggested by Brian.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=13f9012ad3837c98a2c891244e64878fa61f9cd2
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 26 15:13:25 2012 -0800
mesa: Set transform feedback's default buffer mode to INTERLEAVED_ATTRIBS
Fixes part of es3conform's transform_feedback_init_defaults test.
NOTE: This is a candidate for the stable branch.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c2060f0f08134e8c4ea00af94f59c18f30d05e2
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Nov 23 00:03:59 2012 -0800
mesa: Return 0 for XFB_VARYING_MAX_LENGTH if no varyings
v2: Perform this count the same way as elsewhere in this file, per
Brian Paul's review.
Fixes part of es3conform's transform_feedback_init_defaults test.
NOTE: This is a candidate for the stable branches.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f65741721bcd7064e428ae2c47811fba150b1480
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Wed Nov 21 17:52:07 2012 +0100
gallium/tests/trivial: updates for transfer functions changes
Fixes build error with configure option --enable-gallium-tests
introduced in 369e46888904c6d379b8b477d9242cff1608e30e
Compile tested only.
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cba639f2a150db41f434f163fb3a36d2b0d70642
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Wed Nov 21 15:37:58 2012 +0100
gallium/tests/trivial: updates for CSO interface changes
Fixes build error with configure option --enable-gallium-tests
introduced in ea6f035ae90895bd4ee3247408eb179dfdf96d22
Cc: Brian Paul <brianp at vmware.com>
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1553f5ce83c6baee5e3896ff345baa43f888409d
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Tue Nov 20 21:04:25 2012 +0100
gallium/tests/trivial: updates for util_draw_vertex_buffer changes
Fixes build error with configure option --enable-gallium-tests
introduced in e73bf3b805de78299f1a652668ba4e6eab9bac94
Reviewed-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bd4856b5c8337a7c749df8172843ca364ac53e0
Author: James Benton <jbenton at vmware.com>
Date: Wed Jul 11 15:31:21 2012 +0100
util: Modified u_rect to default to memcpy.
Previously this function would assert if the format didn't fit an expected 4 channel format size.
Now will work with any format type with any amount of channels.
Signed-off-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=65016646e355c8266136abbb991006c8829a0bc3
Author: James Benton <jbenton at vmware.com>
Date: Thu Sep 13 16:05:37 2012 +0100
util/format: Fix bug in float to non-float conversion in u_format_pack.py.
Signed-off-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=978df710f22562ae766b1fe60e8ebf40d20a6e6b
Author: James Benton <jbenton at vmware.com>
Date: Wed May 30 14:36:44 2012 +0100
gallivm: Fix bug in lp_build_one which would incorrectly return a vector for length 1.
Signed-off-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bc9895c4a608e475f241d2c16dc88e40ea702d7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 19 22:36:28 2012 -0800
glsl: Support unsigned integer constants in layout qualifiers.
Fixes es3conform's explicit_attrib_location_integer_constants.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-and-tested-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9136723214136a95a3c915d580943c888cd99503
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 19:26:52 2012 -0800
i965/fs: Move struct brw_compile (p) entirely inside fs_generator.
The brw_compile structure contains the brw_instruction store and the
brw_eu_emit.c state tracking fields. These are only useful for the
final assembly generation pass; the earlier compilation stages doesn't
need them.
This also means that the code generator for future hardware won't have
access to the brw_compile structure, which is extremely desirable
because it prevents accidental generation of Gen4-7 code.
v2: rzalloc p, as suggested by Eric.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea681a0d64ecde3a2e729fe3b71d3f3fe4cedff0
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 9 01:05:47 2012 -0800
i965/fs: Split final assembly code generation out of fs_visitor.
Compiling shaders requires several main steps:
1. Generating FS IR from either GLSL IR or Mesa IR
2. Optimizing the IR
3. Register allocation
4. Generating assembly code
This patch splits out step 4 into a separate class named "fs_generator."
There are several reasons for doing so:
1. Future hardware has a different instruction encoding. Splitting
this out will allow us to replace fs_generator (which relies
heavily on the brw_eu_emit.c code and struct brw_instruction) with
a new code generator that writes the new format.
2. It reduces the size of the fs_visitor monolith. (Arguably, a lot
more should be split out, but that's left for "future work.")
3. Separate namespaces allow us to make helper functions for
generating instructions in both classes: ADD() can exist in
fs_visitor and create IR, while ADD() in fs_generator() can
create brw_instructions. (Patches for this upcoming.)
Furthermore, this patch changes the order of operations slightly.
Rather than doing steps 1-4 for SIMD8, then 1-4 for SIMD16, we now:
- Do steps 1-3 for SIMD8, then repeat 1-3 for SIMD16
- Generate final assembly code for both modes together
This is because the frontend work can be done independently, but final
assembly generation needs to pack both into a single program store to
feed the GPU.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd1fd300473bd58929e5a1b1a5e5a0e82af9d7cf
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 17:02:23 2012 -0800
i965/fs: Abort on unsupported opcodes rather than failing.
Final code generation should never fail. This is a bug, and there
should be no user-triggerable cases where this could occur.
Also, we're not going to have a fail() method in a moment.
v2: Just abort() rather than assert, to cover the NDEBUG case
(suggested by Eric).
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd0acb1abe4c2c3120acf18f594210989bd8ec2e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 17:30:46 2012 -0800
i965: Make it possible to create a cfg_t without a backend_visitor.
All we really need is a memory context and the instruction list; passing
a backend_visitor is just convenient at times.
This will be necessary two patches from now.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d09fe938e72b26d814b6b52caee5112cf6f1103
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 16:21:27 2012 -0800
i965/fs: Move uses of brw_compile from do_wm_prog to brw_wm_fs_emit.
The brw_compile structure is closely tied to the Gen4-7 hardware
encoding. However, do_wm_prog is very generic: it just calls out to
get a compiled program and then uploads it.
This isn't ultimately where we want it, but it's a step in the right
direction: it's now closer to the code generator.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3417b2f2b249d89fc71379bfc0eaa1055de365ba
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 14:46:56 2012 -0800
i965/fs: Pass the brw_context pointer into fs_visitor explicitly.
We used to steal it out of the brw_compile struct...but fs_visitor
isn't going to have one of those in the future.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f74002a9817e000d3f5633dd5eb6adfd1d51ba5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 14:41:21 2012 -0800
i965/fs: Move brw_wm_compile::fp to fs_visitor.
Also change it from a brw_fragment_program to a gl_fragment_program,
since that seems to be what everything wants anyway.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0d30eb8765066b9f3b5f2a50c426ccbac675fa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 14:26:49 2012 -0800
i965/fs: Remove struct brw_shader * parameter to fs_visitor constructor.
We can easily recover it from prog, and this makes it clear that we
aren't passing additional information in.
v2: Use an if-statement rather than the ?: operator (suggested by Eric).
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a303df86de96a428f82377a8c38db8b7e3223447
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 13:50:52 2012 -0800
i965/fs: Move brw_wm_compile::dispatch_width into fs_visitor.
Also, rather than having brw_wm_fs_emit poke at it directly, make it a
parameter to the fs_visitor constructor.
All other changes generated by search and replace (with occasional
whitespace fixup).
v2: Make dispatch_width const (as suggested by Paul); fix doxygen
mistake (pointed out by Eric); update for rebase.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=47a6a7b51b774091f46aed264b3591fd36c8baed
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 19 14:59:14 2012 -0800
i965/fs: Move brw_wm_lookup_iz() to fs_visitor::setup_payload_gen4().
This necessitates compiling brw_wm_iz.c as C++.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2429c9d347fe1c6e98a248c1039041f6a59fd749
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 13 19:36:18 2012 -0800
i965/fs: Move brw_wm_payload_setup() to fs_visitor::setup_payload_gen6()
Now that we only have the one backend, there's no real point in keeping
this separate. Moving it should allow some future simplifications.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce96f6db9028f8488faf778444597b1a3d26433f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 20 12:21:40 2012 -0800
i965/fs: Remove brw_wm_compile::computes_depth field.
Everybody determines this by checking if fp's OutputsWritten field
contains the FRAG_RESULT_DEPTH bit. Rather than having payload setup
check this and set the computes_depth flag, we can just do the check in
the only place that actually used it: emit_fb_writes().
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=529fe420ba6836479619ba42e53665724755fc1c
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 27 03:30:55 2012 +0100
gallivm: use the new mip per quad handling in texture fetch path
No longer have to split fetching into quads dynamically if mip levels
are not the same for all quads (aos sampling still always splits due
to performance reasons).
Instead handle multiple mip levels further down, minification etc. takes
this into account.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6554ba6f2aa8a771852566340c24205e406d02
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 27 03:26:49 2012 +0100
gallivm,llvmpipe: handle TXF (texelFetch) instruction, including offsets
This also adds some code to handle per-quad lods for more than 4-wide fetches,
because otherwise I'd have to integrate the texelFetch function into
the splitting stuff... (but it is not used yet outside texelFetch).
passes piglit fs-texelFetch-2D, fails fs-texelFetchOffset-2D due to I believe
a test error (results are undefined for out-of-bounds fetches, we return
whatever is at offset 0, whereas the test expects [0,0,0,1]).
Texel offsets are only handled by texelFetch for now, though the interface
can handle it for everything.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93c689a2dfa29cf3a4647432f0690bf76514b5bd
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:25 2012 +1300
i965: Enable ARB_vertex_type_2_10_10_10_rev on Gen4+.
v2 (Kayden): Move the enable into an existing intel->gen >= 4 block
(as suggested by Ian).
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a64efc01bef924d4b22d0878b1fef89e5e5bbac
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:24 2012 +1300
i965: emit w/a for packed attribute formats in VS
Implements BGRA swizzle, sign recovery, and normalization
as required by ARB_vertex_type_10_10_10_2_rev.
V2: Ported to the new VS backend, since that's all that's left;
fixed normalization.
V3: Moved fixups out of the GLSL-only path, so it works for FF/VP too.
V4 (Kayden): Rework ES3 normalization, don't heap allocate registers;
tidy comments.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=352ae51efd75602de99a9ddf7c494453c7d6cb1c
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:22 2012 +1300
i965: set attribute w/a bits for packed formats
Flag the need for various workarounds to be applied by
the vertex shader.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3c680950d9f7736723469ff74d0a3c9bbcaaeb1
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:21 2012 +1300
i965: Generalize GL_FIXED VS w/a support
Next few patches build on this to add other workarounds
for packed formats.
V2: rename BRW_ATTRIB_WA_COMPONENTS to BRW_ATTRIB_WA_COMPONENT_MASK;
V3 (Kayden): remove separate bit for ES3 signed normalization
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23f4411c41f96a1b755259c4a6b23747e95a5ece
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:20 2012 +1300
i965: support 2_10_10_10 formats in get_surface_type.
Always use R10G10B10A2_UINT; Most of the other formats we'd like
don't actually work on the hardware. Will emit w/a for scaling,
sign recovery and BGRA swizzle in the VS.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9a08f7f0f9f65546db4c7388e445fa39f0842c6
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:19 2012 +1300
i965: implement get_size for 2_10_10_10 formats
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=894fe54ec9b859b9fa47cc153fdc3c23cb98455e
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Nov 22 16:23:23 2012 +1300
i965/vs: add support for emitting SHL, SHR, ASR
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8f3570efc740dc36305c99b8c932a02427975cc9
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 22 00:06:03 2012 -0800
mesa: Use correct glGetTransformFeedbackVarying name in error msg
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f5e2ce8541855c65852dabbb19313fd0bb65b3d
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Fri Nov 16 10:46:06 2012 +0100
build: use git ls-files for adding all Makefile.in into the release tarball
Until we have proper 'make dist' this is an improvement of the current
situation, because each time some old Makefiles got converted to automake
we had to update the tarballs target.
NOTE: This is a candidate for the 9.0 branch.
Cc: Eric Anholt <eric at anholt.net>
Acked-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=97747ac88fe9207dde83b275a93ebcee3a84dc01
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 14 11:44:57 2012 -0800
i965: Fix hangs with FP KIL instructions pre-gen6.
We can't support IF statements in 16-wide on these. To get back to 16-wide
for these shaders, we need to support predicate on discard instructions in the
backend IR, which is something we've sort of got on the list to do anyway.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55828
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59bfd66a614177320817a97e1dadfcfcf3b9b092
Author: Eric Anholt <eric at anholt.net>
Date: Fri Nov 16 09:56:03 2012 -0800
i965/gen4: Fix memory leak each time compile_gs_prog() is called.
Commit 774fb90db3e83d5e7326b7a72e05ce805c306b24 introduced a ralloc context to
each user of struct brw_compile, but for this one a NULL context was used,
causing the later ralloc_free(mem_ctx) to not do anything.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55175
NOTE: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=244db0855c3c604211d7a868240ec927610881dd
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 13 15:54:41 2012 -0800
i965/gen4: Fix LOD bias texturing since my fixed reg classes change.
We have a special case where non-shadow comparison with LOD requires using a
SIMD16 vec4 in an 8-wide shader, which appears in the register allocator as a
size 8 vgrf.
Fixes assertions in various piglit tests and webgl conformance.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56521
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cff4c948ed2708a6eb4b090ae87443a707cbd67f
Author: Marek Olšák <maraeo at gmail.com>
Date: Fri Nov 23 00:38:44 2012 +0100
r600g: fix broken streamout if streamout_begin caused a context flush
This fixes graphics corruption in the case where the DISCARD_RANGE flag
is used to map a buffer.
NOTE: This is a candidate for the stable branches.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d172fa825b21ce3ff4f5cd83d0de7ef7f3a8d865
Author: Marek Olšák <maraeo at gmail.com>
Date: Thu Nov 22 22:40:06 2012 +0100
r600g: fix ARB_map_buffer_alignment with unaligned offsets and staging buffers
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8840057710041e2d43fddfe4ef9f392c475e129
Author: Vinson Lee <vlee at freedesktop.org>
Date: Fri Nov 16 23:35:42 2012 -0800
scons: Append x11 library path if linking x11 library.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf75a1f09211a9ca90b2ea3366b3331919793f9d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Oct 12 12:46:44 2012 -0700
mesa/vbo: Fix scaling issue in 2-bit signed normalized packing.
Since a signed 2-bit integer can only represent -1, 0, or 1, it is
tempting to simply to convert it directly to a float. This maps it
onto the correct range of [-1.0, 1.0]. However, it gives different
values compared to the usual equation:
(2.0 * 1.0 + 1.0) * (1.0 / 3.0) = +1.0 (same)
(2.0 * 0.0 + 1.0) * (1.0 / 3.0) = +0.33333333... (different)
(2.0 * -1.0 + 1.0) * (1.0 / 3.0) = -0.33333333... (different)
According to the GL_ARB_vertex_type_2_10_10_10_rev extension, signed
normalization is performed using equation 2.2 from the GL 3.2
specification, which is:
f = (2c + 1)/(2^b - 1). (2.2)
Comments below that equation state: "In general, this representation is
used for signed normalized fixed-point parameters in GL commands, such
as vertex attribute values." Which is what we're doing here.
The 3.2 specification goes on to declare an alternate formula:
f = max{c/(2^(b-1) - 1), -1.0} (2.3)
which is closer to the existing code, and maps the end points to exactly
-1.0 and 1.0. Comments below the equation state: "In general, this
representation is used for signed normalized fixed-point texture or
framebuffer values." Which is *not* what we're doing here.
It then states: "Everywhere that signed normalized fixed-point
values are converted, the equation used is specified." This is the real
clincher: the extension explicitly specifies that we must use equation
2.2, not 2.3. So we need to do (2x + 1) / 3.
This matches the behavior expected by oglconform's packed-vertex test,
and is correct for desktop GL (pre-4.2). It's not correct for ES 3.0,
but a future patch will correct that.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9967aba61a7cc62ce13ab691d14bb5a26a86896
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Oct 12 11:17:39 2012 -0700
mesa/vbo: Fix scaling issue in 10-bit signed normalized packing.
For the 10-bit components, the divisor was incorrect. A 10-bit signed
integer can represent -2^9 through 2^9 - 1, which leads to the following
ranges:
(float)value.x -> [ -512, 511]
2.0F * (float)value.x -> [-1024, 1022]
2.0F * (float)value.x + 1.0F -> [-1023, 1023]
So dividing by 511 would incorrectly scale it to approximately:
[-2.001956947, 2.001956947]. To correctly scale to [-1.0, 1.0], we need
to divide by 1023.
This correctly implements the desktop GL rules. ES 3.0 has different
rules, but those will be implemented in a separate patch.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Marek Olšák <maraeo at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2df37f69a4e513b756fc193a544d48d8fd0ddac
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Wed Nov 21 18:48:18 2012 -0500
radeonsi: add a new SI pci id
Note: this is a candidate for the stable branch.
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10f214e5b248e5dd5f323c689549cd66d2f6ad22
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue Nov 13 23:20:42 2012 -0800
i915: Fix wrong sizeof argument in i915_update_tex_unit.
The bug was found by Coverity.
NOTE: This is a candidate for the stable branches.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59b3d3ad6e77af92eb23b77c59dc60e6f9566d87
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Sat Nov 17 18:04:54 2012 +0100
Add .dirstamp to toplevel .gitignore
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7e2e864c8c96f2befb140848ba47e8ede0a5547
Author: Andreas Boll <andreas.boll.dev at gmail.com>
Date: Wed Nov 21 18:17:00 2012 +0100
gallium/tests: update .gitignore files
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d82b873a501606d62b9f208b6d5cda79c9a6b4b8
Author: Eric Anholt <eric at anholt.net>
Date: Fri Nov 9 12:50:03 2012 -0800
i965/fs: Add helper functions for IF and CMP and use them.
v2: Rebase on gen6-if fix.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32d6809bb50a08d9b80ed8b3d13cc6b76580a3a9
Author: Eric Anholt <eric at anholt.net>
Date: Fri Nov 9 12:01:05 2012 -0800
i965/fs: Add helper functions for generating ALU ops, like in the VS.
This gives us checking of our arguments (no more passing 1 operand to
BRW_OPCODE_MUL!), at the cost of a couple of extra parens.
v2: Rebase on gen6-if fix.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1665af3066f3d58c42e9d5b13098f13615a7672c
Author: Eric Anholt <eric at anholt.net>
Date: Sun Nov 18 13:18:03 2012 -0800
i965/gen4: Fix crash with fragment programs and texture rectangle.
This was a regression in the brw_fs_fp.cpp change. We just need to return
something good enough to get the IR generation to the end without crashing,
but ir->type isn't initialized and we wanted something of the coordinate's
type anyway.
Fixes around 30 piglit cases on my ilk system in drawpixels and framebuffer
blit.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56962
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d411bbd5bd895617e265e023213895100e4509ef
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 15 12:00:33 2012 -0800
i965: Disable the GB clip test when a limited viewport is set.
The theory of the guardband is that you extend the clip volume to avoid
expensive clipping computation, and just let fragments outside the viewport
get clipped by the drawable's bounds. But if a smaller-than-window-size
viewport is set, and we don't also happen to have a scissor set, then
rendering could incorrectly extend outside of the viewport when it should have
been clipped to the viewport.
Fixes the new piglit triangle-guardband-viewport test.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
NOTE: This is a candidate for the 9.0 branch.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23e7b81f2d742d292d77b53ac9cf72c3d89fc798
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 15 11:55:36 2012 -0800
i965: Use fewer temporary variables in clip setup.
When you're comparing to the spec, you're trying to immediately see what
numbered dword of the packet your bit ends up in.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
NOTE: This is a candidate for the 9.0 branch.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=afc5a26b5c48f9f2399a092228ad8d6da0c42711
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 12 13:16:02 2012 -0800
Revert "i965/fs: Fix conversions float->bool, int->bool"
This reverts commit cf0bbb30f6bd9d3fa61b5207320e8f34c563a2c6. It
was just papering over the bug fixed in the previous commit.
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0482998ccc205a9d29953c7a8b33f41ae3584935
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 12 13:13:55 2012 -0800
i965/fs: Fix the gen6-specific if handling for 80ecb8f15b9ad7d6edc
Fixes oglconform shad-compiler advanced.TestLessThani.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48629
NOTE: This is a candidate for the 9.0 branch.
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9f5126b15440fecf6ff705d5b9766767c1712af
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Mon Nov 19 11:43:51 2012 -0800
intel: Use designated initializers for DRI extension structs
All Intel code is compiled with -std=c99. There is no excuse to not use
designated initializers.
As a nice benefit, the code is now more friendly to grep. Without
designated initializers, psychic prowess is required to find the
initialization of DRI extension function pointers with grep. I have
observed several people, when they first encounter the DRI code, fail at
statically chasing the DRI function pointers due to this problem.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=62332f41254c385e2290e8ee2d665c3116b3c1d6
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Mon Nov 19 13:40:00 2012 -0800
dri: Use designated initializers for DRI extension structs
The dri directory is compiled with -std=c99. There is no excuse to not use
designated initializers.
As a nice benefit, the code is now more friendly to grep. Without
designated initializers, psychic prowess is required to find the
initialization of DRI extension function pointers with grep. I have
observed several people, when they first encounter the DRI code, fail at
statically chasing the DRI function pointers due to this problem.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fdd6d146d988f920744592ad7ba5667ef2981620
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 5 09:53:31 2012 -0800
i965: Use the separate stencil buffer's offsets for stencil setup.
For a packed depth/stencil buffer on separate stencil hardware, the
separate depth miptree is set up with alignment of 4,4 and the separate
stencil miptree is setup with alignment of 8,8. We can't just use the
irb->draw_{x,y} offsets for stencil, since that is the offset in the
depth miptree.
Fixes 12 piglit depthstencil testcases on ivb.
Acked-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=52ee1a7269b84b60558760655a4c722d827703d4
Author: Eric Anholt <eric at anholt.net>
Date: Sun Nov 4 12:47:02 2012 -0800
i965: Move all the depth/stencil/hiz offset logic into the workaround.
Given that we have the mask information here (assuming the rebase is to
the same tiling, which is safe), we can just save a set of miptrees and
offsets and the global intra-tile offset in the context and cut out a
bunch of logic. This will also save emitting the next fix I need to do
twice.
Acked-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ec6a54ba94264d4d6c6ddbced2144a882a23cfa
Author: Eric Anholt <eric at anholt.net>
Date: Sun Nov 4 14:45:05 2012 -0800
i965: When rebasing depth or stencil, update x/y before deciding the other.
Fixes a theoretical problem where we had an aligned depth buffer and a
misaligned stencil buffer with a matching tile offset, so we would fail
to rebase depth even after the needed tile offset changed due to the
rebase of stencil.
It should also fix double-rebase of a misaligned packed depth/stencil
renderbuffer, which may have been a performance issue.
Acked-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=be9e66430763aa2785cbd12d483c7eb9e7055436
Author: Eric Anholt <eric at anholt.net>
Date: Wed Oct 31 17:00:21 2012 -0700
intel: Push face/level -> slice handling to the caller of get_image_offset().
We were always passing 0 for one of the two fields, and the code just used
whichever one wasn't 0.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1fabea1c5a40c60176201f55253bd463fd146f5
Author: Eric Anholt <eric at anholt.net>
Date: Wed Oct 31 16:57:51 2012 -0700
i965: Add some checks for array textures in unsupported paths.
I noticed these in the next patch where these paths were using the Face
of a teximage but didn't have array handling.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=923c4b3f4a70737f7f36894dc0b4648f04fd8c19
Author: Eric Anholt <eric at anholt.net>
Date: Wed Oct 31 14:30:13 2012 -0700
i965: Add a little bit more debug info for validate blits.
The kind of data you're copying is definitely an interesting variable.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5671040c5f8e223c48c96ebb8a2fb98c86b741b
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 5 14:47:42 2012 -0800
intel: Remove dead function prototype.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f35ec585f193bd6cb5d077a3927a7395591aca0
Author: Eric Anholt <eric at anholt.net>
Date: Wed Oct 31 16:25:02 2012 -0700
i965: Remove stale comment about wrapped_depth.
I removed that code almost a year ago.
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
More information about the mesa-commit
mailing list