Mesa (master): 336 new commits
Carl Worth
cworth at kemper.freedesktop.org
Tue Dec 3 22:39:22 UTC 2013
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c110994533c67f2e501cd32ee0c2f91060630e0
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 30 19:53:53 2013 +0000
gallium/radeon: use PRIu64 macro for printing uint64_t
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f60737a525fdd82c578eb3076f51a94bd63ba3b7
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Nov 17 20:07:33 2013 +0000
pipe-loader: build llvmpipe on top of softpipe
One can select if they want to fallback to softpipe.
Current approach makes this not possible, whereas other
targets (dri-swrast) handle this approapriately.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc2627a98a07ebb5f279add74fac5b88349f2fa9
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Nov 17 17:06:23 2013 +0000
mesa: resolve typo DTXn/DXTn
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=507c2356e3caa3b7da98787ae2de96c7bca0089e
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Mon Dec 2 19:42:51 2013 +0000
automake: include only one copy VERSION in tarball
The VERSION file is tracked by git (git ls-files), thus
adding it to EXTRA_FILES will result in a duplicate copy
within the final tarball.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72230
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reported-by: Patrick Steinhardt <ps at pks.im>
Tested-by: Patrick Steinhardt <ps at pks.im>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=03ef57950a8c8e69043a87511693ba8bdf4a73be
Author: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Date: Mon Dec 2 07:30:00 2013 -0700
glx: Add missing null check in gxl/dri2_glx.c
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8875cb7c822ad366625a532dd9209d1647771af
Author: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Date: Mon Dec 2 02:39:00 2013 -0700
glx: Check malloc return value before accessing memory in glx/clientattrib.c
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=998018d7be1380f055fb577b0782004657cc9509
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Tue Dec 3 10:28:41 2013 -0800
i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)
The BSpec states that the aligment for the non-msrt clear rectangle must
be doubled; the BSpec does not restricit the workaround to specific
hardware.
Commit 9a1a67b applied the workaround to Haswell GT3. Commit 8b659ce
expanded the workaround to all Haswell variants. This commit expands it
to all hardware.
No Piglit regressions on Ivybridge 0x0166. No fixes either.
I know no Ivybridge nor Baytrail bug related to this workaround.
However, the BSpec says the extra alignment is required, so let's do it.
v2: Apply to all hardware, not just gen7.
CC: "9.2, 10.0" <mesa-stable at lists.freedesktop.org>
CC: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=40e28561237302488daf7d750851c9d92020891e
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Dec 3 20:06:58 2013 +0100
configure.ac: require libdrm_radeon 2.4.50
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e47af58bb411c7779857ad96a7cc3306980311ae
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:50:31 2013 +0100
st/mesa: implement layered framebuffer clear for the clear_with_quad fallback
Same approach as in u_blitter.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b919b1b2d296f7d7410c2291b7e0332d7bef1a0
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:41:36 2013 +0100
gallium/util: implement layered framebuffer clear in u_blitter
All bound layers (from first_layer to last_layer) should be cleared.
This uses a vertex shader which outputs gl_Layer = gl_InstanceID, so each
instance goes to a different layer. By rendering a quad and setting
the instance count to the number of layers, it will trivially clear all
layers.
This requires AMD_vertex_shader_layer (or PIPE_CAP_TGSI_VS_LAYER), which only
radeonsi supports at the moment. r600 could do this too. Standard DX11
hardware will have to use a geometry shader though, which has higher overhead.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a02bb71ddbf7312a84ac1693f562cca191a7d42
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:25:55 2013 +0100
gallium: add support for AMD_vertex_shader_layer
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d52791a708760dd114a53137caad211dc7cc4dfc
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:21:38 2013 +0100
radeonsi: add driver support for layered rendering and AMD_vertex_shader_layer
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=053606ddaed6354e8d26d0654d211b6d20051937
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Nov 19 22:07:30 2013 +0100
radeonsi: implement OpenGL edge flags
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8d67d2e1f809ca62c99aab1db78429e2c9d9691
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:31:32 2013 +0100
st/mesa: add support for layered framebuffers and consolidate code
This is a subset of geometry shaders. It's all about setting first_layer and
last_layer correctly.
Also some code between st_render_texture and update_framebuffer_state is
consolidated. It doesn't use rtt_level and derives the level from dimensions
instead as the code in st_atom_framebuffer.c did.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b3b901cff24392e7bceb17546db2754331d8429
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Nov 21 15:26:25 2013 +0100
mesa: expose AMD_vertex_shader_layer in the core profile only
It needs glFramebufferTexture, which isn't available in the compatibility
profile.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a057b837ddd1c725a7504eedc53c6df05a012773
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Sun Dec 1 11:53:55 2013 +0200
egl: add HAVE_LIBDRM define, fix EGL X11 platform
Commit a594cec broke EGL X11 backend by adding dependency between
X11 and DRM backends requiring HAVE_EGL_PLATFORM_DRM defined for X11.
This patch fixes the issue by adding additional define for libdrm
detection independent of which backend is being compiled. Tested by
compiling Mesa with '--with-egl-platforms=x11' and running es2gears_x11
+ glbenchmark2.7 successfully.
v2: return true for dri2_auth if running without libdrm (Samuel)
v3: check libdrm when building EGL drm platform + AM_CFLAGS fix (Emil)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72062
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Cc: Samuel Thibault <samuel.thibault at ens-lyon.org>
Cc: mesa-stable at lists.freedesktop.org
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad3937fd4efdd0a9a2b79ab6ae899a4ca1f3bb01
Author: Andreas Heider <andreas at heider.io>
Date: Mon Nov 4 11:51:21 2013 +0100
freedreno: Add a few texture formats
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=decf070258f396223aac6f57e22540a304986e54
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 4 14:09:07 2013 -0800
i965: Skip the register write check on Broadwell.
MI_STORE_REGISTER_MEM has to take a 48-bit address, so the existing code
doesn't work. But supposedly Broadwell has a register whitelist and
just works out of the box anyway, so there's no need to check.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ed9f69b361a5d6f013d0d8a7f87dba65bfff24a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Jan 22 12:20:31 2013 -0800
i965: Fix texture border color on Broadwell.
The Gen7 sampler state code still works. Increasing the alignment to
64 bytes makes bit 5 zero, which is good because it's now reserved.
Since we don't use the new filter bits, we can leave those as zero too,
which means we don't need to update the code to update the pointer.
(We probably should anyway, for clarity, but alas, another day.)
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc9d3a02540e11b863a1f7e7cf755764a02233fe
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Jan 20 08:58:14 2013 -0800
i965: Don't use MACH for integer multiplies on Gen8+.
The documentation is really hard to follow, but apparently a 32-bit x
32-bit multiply just works without the MACH macro. The macro apparently
is only necessary to get the full 64-bit value.
Fixes Piglit tests [vf]s-op-mult-int-int.shader_test.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5720832f23f486e2c869ecb022a6a9ba47ac1619
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 14 21:43:28 2013 -0800
i965: Fix texture swizzling on Broadwell.
Like Haswell, we do this in SURFACE_STATE rather than shader
workarounds.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1110ba4c088e41548090d52d669157c3e9f6f9fa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Dec 15 01:14:03 2012 -0800
i965: Set vertical alignment unit to 4 on Broadwell.
Broadwell doesn't support a surface vertical alignment of 2. It only
supports VALIGN_4, VALIGN_8, or VALIGN_16. I chose 4 since it's the
least wasteful.
v2: Replace my comment with a better one from Eric. Move Broadwell
checks earlier so it's more obvious that "return 2" won't be hit.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93658054c03b4463d301be83b20c8933e49a5771
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Dec 16 00:02:43 2012 -0800
i965/vs: Always store pull constant offsets in GRFs on Gen8.
We need to SEND from a GRF, and we can only obtain those prior to
register allocation.
This allows us to do pull constant loads without the MRF hack.
v2: Reword comments (suggested by Paul).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd159f25e484d2285773347b66f82719b6bfa01a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Dec 16 00:40:30 2012 -0800
i965/vs: Don't copy propagate into SEND-from-GRF messages.
SEND can't deal with swizzles, source modifiers, and so on. This should
avoid problems with VS pull constant loads on Broadwell.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce34158680bca4de85499fb8addaf766bf3159cf
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Nov 26 22:27:52 2013 -0800
clover: Fix missing minus sign in 'iterator_adaptor::operator-='.
The method is currently unused, this probably doesn't fix anything at
this point.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b659cef3a244b1acdbbca0beb704a66b6bc2fbc
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Tue Nov 26 17:04:24 2013 -0800
i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTs
Pre-patch, the workaround was applied to only HSW GT3. However, the
workaround also fixes render corruption on the HSW GT1 Chromebook,
codenamed Falco.
Also, update the BSpec quote that discusses the workaround to reflect
the latest BSpec.
The BSpec states that the workaround is required for Ivybridge and
Baytrail as well as Haswell. But, we apply the workaround to only
Haswell because (a) we suspect that is the only hardware where it is
actually required and (b) we haven't yet validated the workaround for
the other hardware.
CC: "9.2, 10.0" <mesa-stable at lists.freedesktop.org>
CC: Anuj Phogat <anuj.phogat at gmail.com>
OTC-Tracker: CHRMOS-812
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-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=5b331f6fcbf226f18e0c517ffdce30a39bb92982
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 12:11:34 2013 -0800
glsl: Simplify the built-in function linking code.
Previously, we stored an array of up to 16 additional shaders to link,
as well as a count of how many each shader actually needed.
Since the built-in functions rewrite, all the built-ins are stored in a
single shader. So all we need is a boolean indicating whether a shader
needs to link against built-ins or not.
During linking, we can avoid creating the temporary array if none of the
shaders being linked need built-ins. Otherwise, it's simply a copy of
the array that has one additional element. This is much simpler.
This patch saves approximately 128 bytes of memory per gl_shader object.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b557b1606ffcf05d2612d66226306e876b6b937
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 10:58:51 2013 -0800
glsl: Create an accessor for the built-in function shader.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5af97b43c962c57aceb9c40d3c9050745d124892
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 12:06:24 2013 -0800
glsl: Drop crazy looping from no_matching_function_error().
Since the built-in functions rewrite, num_builtins_to_link is always either
0 or 1, so we don't need tho crazy loop starting at -1 with a special
case.
All we need to do is print the prototypes from the current shader, and
the single built-in function shader (if present).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e04a97ff23f6e0568c3c21cec8849c6c3fd2077f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 11:55:03 2013 -0800
glsl: Merge "candidates are: " message to the previous line.
Previously, when we hit a "no matching function" error, it looked like:
0:0(0): error: no matching function for call to `cos()'
0:0(0): error: candidates are: float cos(float)
0:0(0): error: vec2 cos(vec2)
0:0(0): error: vec3 cos(vec3)
0:0(0): error: vec4 cos(vec4)
Now it looks like:
0:0(0): error: no matching function for call to `cos()'; candidates are:
0:0(0): error: float cos(float)
0:0(0): error: vec2 cos(vec2)
0:0(0): error: vec3 cos(vec3)
0:0(0): error: vec4 cos(vec4)
This is not really any worse and removes the need for the prefix variable.
It will also help with the next commit's refactoring.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5e191a6b156710c13bba0bf1fb921e1d098c277
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 10:39:34 2013 -0800
glsl: Drop unused call_ir parameter from generate_call().
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5adc1c8b554d3976b439ab344519847789c146b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 22 03:38:26 2013 -0800
glsl: Remove useless iteration through function parameters.
There's no need to loop through the "parameters" list and remove every
element; move_nodes_to(¶meters) already throws away all elements of
the destination list.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=61e0f111706a225444c927a6aeb6107b9aafe17f
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Fri Nov 8 13:22:54 2013 +0000
Fix 'make check' in src/mapi/glapi/tests when builddir != srcdir
make[5]: Entering directory `/jhbuild/build/mesa/mesa/src/mapi/glapi/tests'
CXX check_table.o
/jhbuild/checkout/mesa/mesa/src/mapi/glapi/tests/check_table.cpp:29:30: fatal error: glapi/glapitable.h: No such file or directory
We should look for the generated file glapi/glapitable.h in builddir, not srcdir
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=862044c7f7d55b7e6459e3e948c376e6894a72ff
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Sat Nov 30 23:41:14 2013 -0800
docs: Import 10.0 release notes, add news item
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4cf487315f1f5375534f1677177983fa496d577
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 27 07:43:03 2013 -0800
i965/gen6: Fix multisample resolve blits for luminance/intensity 32F formats.
On gen6, multisamble resolve blits use the SAMPLE message to blend
together the 4 samples for each texel. For some reason, SAMPLE
doesn't blend together the proper samples when the source format is
L32_FLOAT or I32_FLOAT, resulting in blocky artifacts.
To work around this problem, sample from the source surface using
R32_FLOAT. This shouldn't affect rendering correctness, because when
doing these resolve blits, the destination format is R32_FLOAT, so the
channel replication done by L32_FLOAT and I32_FLOAT is unnecessary.
Fixes piglit tests on Sandy Bridge:
- spec/ARB_texture_float/multisample-formats 2 GL_ARB_texture_float
- spec/ARB_texture_float/multisample-formats 4 GL_ARB_texture_float
No piglit regressions on Sandy Bridge.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70601
Cc: Kenneth Graunke <kenneth at whitecape.org>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26498e0f0c198ac912b176cf9a14768ad2c0244c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 27 10:53:33 2013 -0800
glsl: Remove unused field loop_variable_state::loop.
This field was neither initialized nor used. It was just dead memory.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af9af2965bbd7ba8d18cd1064afcf57392904edb
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 27 11:39:51 2013 -0800
glsl: Improve documentation of ir_loop counter/control fields.
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=a810db7b84b00763ce9ccbf40baee3f534057a80
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 27 10:12:53 2013 -0800
glsl: In ir_validate, check that ir_loop::counter always refers to a new var.
The compiler back-ends (i965's fs_visitor and brw_visitor,
ir_to_mesa_visitor, and glsl_to_tgsi_visitor) have been assuming this
for some time. Thanks to the preceding patch, the compiler front-end
no longer breaks this assumption.
This patch adds code to validate the assumption so that if we have
future bugs, we'll be able to catch them earlier.
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=d6eb4321d0e62b6b391ad88ce390bd6e23d79747
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 26 14:19:49 2013 -0800
glsl: Fix inconsistent assumptions about ir_loop::counter.
The compiler back-ends (i965's fs_visitor and brw_visitor,
ir_to_mesa_visitor, and glsl_to_tgsi_visitor) assume that when
ir_loop::counter is non-null, it points to a fresh ir_variable that
should be used as the loop counter (as opposed to an ir_variable that
exists elsewhere in the instruction stream).
However, previous to this patch:
(1) loop_control_visitor did not create a new variable for
ir_loop::counter; instead it re-used the existing ir_variable.
This caused the loop counter to be double-incremented (once
explicitly by the body of the loop, and once implicitly by
ir_loop::increment).
(2) ir_clone did not clone ir_loop::counter properly, resulting in the
cloned ir_loop pointing to the source ir_loop's counter.
(3) ir_hierarchical_visitor did not visit ir_loop::counter, resulting
in the ir_variable being missed by reparenting.
Additionally, most optimization passes (e.g. loop unrolling) assume
that the variable mentioned by ir_loop::counter is not accessed in the
body of the loop (an assumption which (1) violates).
The combination of these factors caused a perfect storm in which the
code worked properly nearly all of the time: for loops that got
unrolled, (1) would introduce a double-increment, but loop unrolling
would fail to notice it (since it assumes that ir_loop::counter is not
accessed in the body of the loop), so it would unroll the loop the
correct number of times. For loops that didn't get unrolled, (1)
would introduce a double-increment, but then later when the IR was
cloned for linking, (2) would prevent the loop counter from being
cloned properly, so it would look to further analysis stages like an
independent variable (and hence the double-increment would stop
occurring). At the end of linking, (3) would prevent the loop counter
from being reparented, so it would still belong to the shader object
rather than the linked program object. Provided that the client
program didn't delete the shader object, the memory would never get
reclaimed, and so the shader would function properly.
However, for loops that didn't get unrolled, if the client program did
delete the shader object, and the memory belonging to the loop counter
got re-used, this could cause a use-after-free bug, leading to a
crash.
This patch fixes loop_control_visitor, ir_clone, and
ir_hierarchical_visitor to treat ir_loop::counter the same way the
back-ends treat it: as a freshly allocated ir_variable that needs to
be visited and cloned independently of other ir_variables.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72026
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=9d2951ea0acdcd219ad28831ac9e7112737d9ca3
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 26 14:37:57 2013 -0800
glsl: Teach ir_variable_refcount about ir_loop::counter variables.
If an ir_loop has a non-null "counter" field, the variable referred to
by this field is implicitly read and written by the loop. We need to
account for this in ir_variable_refcount, otherwise there is a danger
we will try to dead-code-eliminate the loop counter variable.
Note: at the moment the dead code elimination bug doesn't occur due to
a bug in ir_hierarchical_visitor: it doesn't visit the "counter"
field, so dead code elimination doesn't treat it as a candidate for
elimination. But the patch to follow will fix that bug, so we need to
fix ir_variable_refcount first in order to avoid breaking dead code
elimination.
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=1fb106527faa195197fa52e28e1b941c97e520c2
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: fix mem leak of glPixelMap data in display list
And simplify save_PixelMapfv() by using the memdup() function.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=90d85aa16c12e072bdc03d1c552c199b5e3c64b9
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: added memory-related comment in save_error()
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95d6ed22b3b33c1d3c748ef88db53866eb7c3f91
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: fix flags assignment in save_WaitSync()
The flags value is a bitfield so use the union's 'bf' field, not 'e'
(enum) field. There's no actual change in behavior here since both
fields of the union are the same size.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=efe7257ea741187bddfb8db5361041f1d8283592
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: remove old colortable, histogram, etc. code from dlist.c
Trying to compile any of these functions into a display list
now just generates a GL_INVALID_OPERATION error.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=90891091cd191ece2520fd0fed78d0ac8b6a3743
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: have old convolution functions generate GL_INVALID_OPERATION
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=214399a3bc7fed50b0fd29c29687c7bec9f712ad
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 29 06:40:35 2013 -0700
mesa: have old glColorTable functions generate GL_INVALID_OPERATION
As is done for the old histogram functions.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb5f5b81883f360dcbbf407a0f6f5606bc0c0495
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 27 11:43:54 2013 +0000
trace: Dump PIPE_QUERY_* enums.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb040bd54a22e831367939d0acbacdd256ab9d5b
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 27 11:40:14 2013 +0000
trace: Dump query results faithfully.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeaa7a05a1322499545dadca33ae5254bcc05fee
Author: Carl Worth <cworth at cworth.org>
Date: Thu Nov 28 00:02:31 2013 -0800
docs: Import 9.2.4 release notes, add news item.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca39f4eee272bd111eccae79f770493d55cf91bb
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 26 03:42:44 2013 +0100
gallium/cso: fix sampler / sampler_view counts
Now that it is possible to query drivers for the max sampler view it should
be safe to increase this without crashing.
Not entirely convinced this really works correctly though if state trackers
using non-linked sampler / sampler_views use this.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2983c039df630bb9bcb70c52219c631e27b0eae6
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 26 02:30:41 2013 +0100
gallium: new shader cap bit for the amount of sampler views
Ever since introducing separate sampler and sampler view max this was really
missing.
Every driver but llvmpipe reports the same number as number of samplers for
now, so nothing should break.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4d8084cbdeaaa392969d077e2a9d8e9df3b2cdc
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 26 02:30:13 2013 +0100
gallium/drivers: support more sampler views than samplers for more drivers
This adds support for this to more drivers, in particular for all the "special"
ones useful for debugging.
HW drivers are left alone, some should be able to support it if they want but
they may not be interested at this point.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53a65e547c0bf769fff48b4ccb41d1477daa70de
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 26 16:27:57 2013 -0800
i965: Properly reject __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS when __DRI2_ROBUSTNESS is not enabled
Only allow __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS in brwCreateContext if
intelInitScreen2 also enabled __DRI2_ROBUSTNESS (thereby enabling
GLX_ARB_create_context).
This fixes a regression in the piglit test
"glx/GLX_ARB_create_context/invalid flag"
v2: Remove commented debug code. Noticed by Jordan.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reported-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0822b2dfbd37b2d82a9671efb555ca036cdc802e
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Nov 27 13:37:46 2013 -0800
Revert "drop old INTEL_DEBUG names for `perf` (fall) and `fs` (wm)"
This reverts commit 195994fe4cd851f4aed7fe32697f94c4188a96c8.
It wasn't sent to the list, Ken didn't review it, and it breaks
shader-db.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bf41f09abe3f044a04a71ac4e88192b824893af
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue Nov 19 23:24:11 2013 -0800
glsl: Link glcpp with math library.
This patch fixes this build error with Oracle Solaris Studio.
libtool: link: /opt/solarisstudio12.3/bin/cc -g -o glcpp/glcpp glcpp.o prog_hash_table.o ./.libs/libglcpp.a
Undefined first referenced
symbol in file
sqrt prog_hash_table.o
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4815f6cd6f659acd361f1b4cf63473a46ca7de9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 26 00:30:19 2013 -0800
i965: Always reserve binding table space for at least one render target.
In brw_update_renderbuffer_surfaces(), if there are no color draw
buffers, we always set up a null render target at surface index 0 so we
have something to use with the FB write marking the end of thread.
However, when we recently began computing surface indexes dynamically,
we failed to reserve space for it. This meant that the first texture
would be assigned surface index 0, and our closing FB write would
clobber the texture.
Fixes Piglit's EXT_packed_depth_stencil/fbo-blit-d24s8 test on Gen4-5,
which regressed as of commit 4e5306453da6a1c076309e543ec92d999e02f67a
("i965/fs: Dynamically set up the WM binding table offsets.")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70605
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Tested-by: lu hua <huax.lu at intel.com>
Cc: "10.0" mesa-stable at lists.freedesktop.org
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b2b4cc8857a9163055c4e9c8007d53a9e668e75
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Nov 26 12:43:13 2013 -0800
glsl: Initialize _mesa_glsl_parse_state::atomic_counter_offsets before using it.
Cc: Ian Romanick <ian.d.romanick at intel.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f64dabb5fc0361a86146ce095c11131f14dfc49
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 16:26:53 2013 -0800
i965/fs: Fix misleading comment.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32f69ad86ca484d2e02ed89e55c3b57ce298d5a9
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 16:09:42 2013 -0800
i965: Bump number of supported atomic counter buffers.
Now that we have dynamic binding tables there's no good reason anymore
to expose so few atomic counter buffers. Increase it to 16.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7fa9eb003bf0d2016ca1f7cb14e59ad22e89b93
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Nov 22 12:37:22 2013 -0800
glsl/linker: Validate IR just before reparenting.
If reparent_ir() is called on invalid IR, then there's a danger that
it will fail to reparent all of the necessary nodes. For example, if
the IR contains an ir_dereference_variable which refers to an
ir_variable that's not in the tree, that ir_variable won't get
reparented, resulting in subtle use-after-free bugs once the
non-reparented nodes are freed. (This is exactly what happened in the
bug fixed by the previous commit).
This patch makes this kind of bug far easier to track down, by
transforming it from a use-after-free bug into an explicit IR
validation error.
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9dfcb05fa649ee7a573eab3d16851ebd4cb96010
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Nov 22 12:37:22 2013 -0800
glsl: Fix lowering of direct assignment in lower_clip_distance.
In commit 065da16 (glsl: Convert lower_clip_distance_visitor to be an
ir_rvalue_visitor), we failed to notice that since
lower_clip_distance_visitor overrides visit_leave(ir_assignment *),
ir_rvalue_visitor::visit_leave(ir_assignment *) wasn't getting called.
As a result, clip distance dereferences appearing directly on the
right hand side of an assignment (not in a subexpression) weren't
getting properly lowered. This caused an ir_dereference_variable node
to be left in the IR that referred to the old gl_ClipDistance
variable. However, since the lowering pass replaces gl_ClipDistance
with gl_ClipDistanceMESA, this turned into a dangling pointer when the
IR got reparented.
Prior to the introduction of geometry shaders, this bug was unlikely
to arise, because (a) reading from gl_ClipDistance[i] in the fragment
shader was rare, and (b) when it happened, it was likely that it would
either appear in a subexpression, or be hoisted into a subexpression
by tree grafting.
However, in a geometry shader, we're likely to see a statement like
this, which would trigger the bug:
gl_ClipDistance[i] = gl_in[j].gl_ClipDistance[i];
This patch causes
lower_clip_distance_visitor::visit_leave(ir_assignment *) to call the
base class visitor, so that the right hand side of the assignment is
properly lowered.
Fixes piglit test:
- spec/glsl-1.50/execution/geometry/clip-distance-itemized-copy
Cc: Ian Romanick <idr at freedesktop.org>
Cc: "9.2" <mesa-stable at lists.freedesktop.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37bdde1087584f4c1839e14db75c157b83246ebd
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Nov 25 07:49:15 2013 -0800
i965/gs: Set GS prog_data to NULL if there is no GS program.
The previous commit fixes a bug wherein we would incorrectly refer to
stale geometry shader prog_data when no geometry shader was active.
This patch reduces the likelihood of that sort of bug occurring in the
future by setting prog_data to NULL whenever there is no GS program.
Cc: mesa-stable at lists.freedesktop.org
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=2714ca81b9bad3dec3894fac97f34502c80b1697
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Nov 25 08:03:24 2013 -0800
i965/gs: Properly skip GS binding table upload when no GS active.
Previously, in brw_gs_upload_binding_table(), we checked whether
brw->gs.prog_data was NULL in order to determine whether a geometry
shader was active. This didn't work: brw->gs.prog_data starts off as
NULL, but it is set to non-NULL when a geometry shader program is
built, and then never set to NULL again. As a result, if we called
brw_gs_upload_binding_table() while there was no geometry shader
active, but a geometry shader had previously been active, it would
refer to a stale (and possibly freed) prog_data structure.
This patch fixes the problem by modifying
brw_gs_upload_binding_table() to use the proper technique to determine
whether a geometry shader is active: by checking whether
brw->geometry_program is NULL.
This fixes the crash reported in comment 2 of bug 71870 (the incorrect
rendering remains, however).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71870
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
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=73e9aa9e3f73d69ce4f0b68e74702d67842a230c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Nov 20 09:09:50 2013 -0800
dri: Allow __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS in driCreateContextAttribs
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reported-by: Zhenyu Wang <zhenyuw at linux.intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b1c68638d8096304d3c4e0cceb97bb4dc61acc5
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 19 17:01:23 2013 -0800
i965: Only enable __DRI2_ROBUSTNESS if kernel support is available
Rather than always advertising the extension but failing to create a
context with reset notifiction, just don't advertise it. I don't know
why it didn't occur to me to do it this way in the first place.
NOTE: Kristian requested that I provide a follow-up for master that
dynamically generates the list of DRI extensions instead of selected
between two hardcoded lists.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Suggested-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ae84399069b77e9464462c53405baf6f854a6fd
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 18 12:39:02 2013 -0800
Revert "i965: Make the driver compile until a proper libdrm can be released."
libdrm 2.4.48 has been released.
This reverts commit bd4596efac2b783b789392a222da909efcd0fd3b.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb728bb028d782d5619e3da63afeeaf0b68507d0
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 18 12:41:15 2013 -0800
i965: Bump libdrm requirement
drm_intel_get_reset_stats is only available in libdrm-2.4.48, and
libdrm-2.4.49 contains an important bug fix in that function.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=97851145bc74f4bda93dff4e6bb3cbc4789ab23a
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Fri Oct 11 12:50:21 2013 -0700
egl: Kill macro _EGL_DECLARE_MUTEX
Replace all occurences of the macro with its expansion.
It seems that the macro intended to provide cross-platform static mutex
intialization. However, it had the same definition in all pre-processor
paths:
#define _EGL_DECLARE_MUTEX(m) _EGLMutex m = _EGL_MUTEX_INITIALIZER
Therefore this abstraction obscured rather than helped.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c58d4c700bc1d0a0d56c26645e900201b7f249e
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Fri Oct 11 16:04:55 2013 -0700
egl: Enable EGL_EXT_client_extensions
Insert two fields into _egl_global to hold the client extensions and
statically initialize them:
ClientExtensions // a struct of bools
ClientExtensionString
Post-patch, Mesa supports exactly one client extension,
EGL_EXT_client_extensions.
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ddc77c5092b6f782327a7014b320f31f5f4e8e93
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Wed Nov 13 18:52:14 2013 -0800
radeon/compute: Unconditionally inline all functions v2
We need to do this until function calls are supported.
v2:
- Fix loop conditional
https://bugs.freedesktop.org/show_bug.cgi?id=64225
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad542a10c5f2284c05036f1df8ce5b69bea66e50
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 23 13:31:32 2013 -0800
i965: Use __attribute__((flatten)) on fast tiled teximage code.
The fast tiled texture upload code does not compile with GCC 4.8's -Og
optimization flag.
memcpy() has the always_inline attribute set. This poses a problem,
since {x,y}tile_copy_faster calls it indirectly via {x,y}tile_copy,
and {x,y}tile_copy normally aren't inlined at -Og.
Using __attribute__((flatten)) tells GCC to inline every function call
inside the function, which I believe was the author's intent.
Fix suggested by Alexander Monakov.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Cc: mesa-stable at lists.freedesktop.org
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0510ec67e2c5b5ddb4755564314ccfe057555984
Author: Zack Rusin <zackr at vmware.com>
Date: Thu Oct 24 22:05:22 2013 -0400
llvmpipe: support 8bit subpixel precision
8 bit precision is required by d3d10 but unfortunately
requires 64 bit rasterizer. This commit implements
64 bit rasterization with full support for 8bit subpixel
precision. It's a combination of all individual commits
from the llvmpipe-rast-64 branch.
Signed-off-by: Zack Rusin <zackr at vmware.com>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
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=5455c818b558cdc618441988434eb2755cd98b67
Author: Maarten Lankhorst <maarten.lankhorst at canonical.com>
Date: Mon Nov 25 13:10:55 2013 +0100
gbm/dri: hide extension loader symbols
They should not be exposed.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6a0eca45e5f760656542035b25238a9d5dfdbd0
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Mon Sep 30 21:16:40 2013 +1300
i965: Enable ARB_draw_indirect (and ARB_multi_draw_indirect) on Gen7+
.. and mark them off on the extensions list as done.
V2: Enable only if pipelined register writes work.
V3: Also update relnotes
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=093965f9e397aa9a06b3d40c265c35653184dd0c
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Oct 13 21:00:58 2013 +1300
vbo: map indirect buffer and extract params if doing sw primitive restart
V2: Check for mapping failure (thanks Brian)
V3: - Change error on mapping failure to OUT_OF_MEMORY (Brian)
- Unconst; remove casting away of const.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3953766e57f96be754229bb109ba5dfdcdbc8b50
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Oct 13 20:56:42 2013 +1300
mesa: pass indirect buffer to sw primitive restart
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=803fcc329862e58b7b1f5e438cb60b72870f173f
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sat Sep 21 17:41:14 2013 +1200
i965: pass indirect buffer to primitive restart check
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=02f9757ab5942ad6ad3b14f50459240f3dc2d897
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Mon Sep 30 20:57:18 2013 +1300
i965: implement indirect drawing for Gen7
Just prior to emitting the 3DPRIMITIVE command, we load each of the
indirect registers. The values loaded are either from offsets into the
current indirect BO, or constant zero if the parameter is not used for
this draw.
Enabling use of the indirect registers is done by turning on a bit in
the first dword of the 3DPRIMITIVE command itself.
V3: - Deduplicate the common part of both indexed and nonindexed indirect
setup.
- Just refer to the indirect bo out of the context directly.
V4: - Fix bo reference to specify the range we care about.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a00317169d317c1bbc040e0e7e4b1744e10313e
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Mon Sep 30 20:55:21 2013 +1300
i965: Add new defines for indirect draws
- MMIO registers for draw parameters
- New bit in 3DPRIMITIVE command to enable indirection
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a798e73b5b4cab23dec945d4cbfa19951c084ba
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Nov 6 20:03:21 2013 +1300
vbo: Flesh out implementation of indirect draws
Based on part of Patch 2 of Christoph Bumiller's ARB_draw_indirect series.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aadbb0f275cb2df2ec082c1f06d682f4eb96c63a
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sat Nov 16 16:38:57 2013 +1300
mesa: add indirect_offset, is_indirect to _mesa_prim
V3: Add missing cases
V4: Add indirect_offset here too
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=36046ae2789f74c04e6b62fa5250d81e8d1160eb
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Nov 6 20:03:21 2013 +1300
mesa: Add validation helpers for new indirect draws
Based on part of Patch 2 of Christoph Bumiller's ARB_draw_indirect series.
V3: - Disallow primcount==0 for DrawMulti*Indirect. The spec is unclear
on this, but it's silly. We might go back on this later if it
turns out to be a problem.
- Make it clear that the caller has dealt with stride==0
V4: - Allow primcount==0 again.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a95236cfc1d55750840a6ac7a5747da3ecd200d2
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Nov 6 20:03:21 2013 +1300
mesa: Add binding point for indirect buffer
Based on part of Patch 2 of Christoph Bumiller's ARB_draw_indirect series.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=56e98fe2fe0cccd86d63f4465466a9e57659f8e0
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Nov 6 20:03:21 2013 +1300
mesa: Add extension scaffolding for ARB_draw_indirect
We will reuse the same extension flag for ARB_multi_draw_indirect since
it can always be supported by looping.
Based on part of Patch 2 of Christoph Bumiller's ARB_draw_indirect series.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5127318ae8c1ac4d9b502356bc456a8d513215c0
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Wed Nov 6 20:09:46 2013 +1300
glapi: add plumbing for GL_ARB_draw_indirect and GL_ARB_multi_draw_indirect
Based on part of Patch 2 of Christoph Bumiller's ARB_draw_indirect series.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=80ac616fca709ab10f7aae062d96ec18d05097a7
Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date: Fri Apr 5 12:12:08 2013 +0200
mesa: add indirect drawing buffer parameter to draw functions
Split from patch implementing ARB_draw_indirect.
v2: Const-qualify the struct gl_buffer_object *indirect argument.
v3: Fix up some more draw calls for new argument.
v4: Fix up rebase conflicts in i965.
v5: Undo const-qualification
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb0892b4b115a36ffb9f0904e418ec62a182427c
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Nov 25 08:28:23 2013 +0000
docs/llvmpipe: Add one other good reference.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=90d185544c897ca0b4c3c677fed4290330bb0706
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 24 18:12:49 2013 +1300
docs: describe the INTEL_* envvars that do exist
V2: drop description of `fall` and `wm`, which have been removed by the
previous patch; describe `stats`.
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=195994fe4cd851f4aed7fe32697f94c4188a96c8
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Mon Nov 25 21:13:26 2013 +1300
drop old INTEL_DEBUG names for `perf` (fall) and `fs` (wm)
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=452721c1fa049fa0e1d02e9dbb49095e233c5481
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 24 17:57:53 2013 +1300
i965: remove unused DEBUG_IOCTL
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=e0c98fa401ab2c17820eefd178e1bebe897e1fd6
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 24 17:55:39 2013 +1300
radeon: change last instance of DEBUG_IOCTL to use RADEON_IOCTL
DEBUG_IOCTL comes from i965, and is about to be removed. Both defines
have the same value (4).
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26eb6ad83133322d5d510a49f91cb41726abc24c
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 24 17:45:29 2013 +1300
docs: drop INTEL_* envvars which no longer exist
These were removed back in 2012.
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=f6159afa19d5e63784801ea9cbeae19162bf5876
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 24 17:44:06 2013 +1300
docs: bump supported shading language version
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=72cae2a599881e926b8709f4dfa2cc3591ea7a02
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Oct 22 09:06:37 2013 +0100
st/mesa: respect higher GLSL levels. (v2)
Limit the max glsl version level to what the state tracker supports.
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=3c9f0096c75315ea73d44ec17bc90c4d4c0d8f77
Author: Timothy Arceri <t_arceri at yahoo.com.au>
Date: Wed Nov 20 08:42:19 2013 +1100
glsl: Improve error message when attemping assignment to unsized array
V2: Return after error to avoid cascading error messages and
removed redundant "to" from error message
Signed-off-by: Timothy Arceri <t_arceri at yahoo.com.au>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd00c66500712b9eb594cd6a7ff501811f170f78
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Wed Mar 27 13:58:52 2013 -0700
intel: enable GL_AMD_vertex_shader_layer extension for gen7+
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=751e8697f2099a0ceaba09e0d8775e4636f209b1
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 20 13:48:19 2013 +0100
radeonsi: implement MSAA for CIK
There are also some changes to the printfs.
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b136de79adf2ae54f2e60211ccee0c92f0741f2
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 20 13:35:03 2013 +0100
radeonsi: enable 2D tiling on CIK
libdrm does the DRM version check and decides if 2D tiling is used.
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3969aa125c8f61b093a5f5f69e8265a131051d0
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Nov 20 01:47:36 2013 +0100
mesa: initialize gl_renderbuffer::Depth in core
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46cf80fb366cb14827724a7fea004e81400cc602
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 19 13:07:12 2013 -0800
i965/fs: Make the first pre-allocation heuristic be the post heuristic.
I recently made us try two different things that tried to reduce register
pressure so that we would be more likely to allocate successfully. But
now that we have the logic for trying two, we can make the first thing we
try be the normal, not-prioritizing-register-pressure heuristic.
This means one less scheduling pass in the common case of that heuristic
not producing spills, plus the best schedule we know how to produce, if
that one happens to succeed. This is important, because our register
allocation produces a lot of possibly avoidable dependencies for the
post-register-allocation schedule, despite ra_set_allocate_round_robin().
GLB2.7: 1.04127% +/- 0.732461% fps improvement (n=31)
nexuiz: No difference (n=5)
lightsmark: 0.838512% +/- 0.300147% fps improvement (n=86)
minecraft apitrace: No difference (n=15)
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=09db4940eede4236b47e1328503a719719f5c981
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 21 23:29:56 2013 -0800
mesa: Remove the ralloc canary on release builds.
The canary is basically just to give a better debugging message when you
ralloc_free() something that wasn't rallocated. Reduces maximum memory
usage of apitrace replay of the dota2 demo by 60MB on my 64-bit system (so
half that on a real 32-bit dota2 environment).
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5891f981452c1c5ed45b5a7e5fe54a9884ced2b6
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 19 16:00:28 2013 -0800
i965: Fix streamed state dumping/annotation after the blorp-flush change.
I think I was thinking of the batch command packet cache when I pasted
this in, but this counter is only used for dumping out streamed state for
INTEL_DEBUG=batch and for putting annotations in our aub files.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=315b06ff62357d2196d9f1d4926c517d098e5647
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 6 19:52:11 2013 -0800
i965: Let driconf clamp_max_samples affect context version
Commit 2f89662 added the driconf option 'clamp_max_samples'. In that
commit, the option did not alter the context version. The neglect to
alter the context version is a fatal issue for some apps.
For example, consider running Chromium with clamp_max_samples=0.
Pre-patch, Mesa creates a GL 3.0 context but clamps GL_MAX_SAMPLES to
0. This violates the GL 3.0 spec, which requires GL_MAX_SAMPLES >= 4.
The spec violation causes WebGL context creation to fail in many
scenarios because Chromium correctly assumes that a GL 3.0 context
supports at least 4 samples.
Since the driconf option was introduced largely for Chromium, the issue
really needs fixing.
This patch fixes calculation of the context version to respect the
post-clamped value of GL_MAX_SAMPLES. This in turn fixes WebGL on
Chromium when clamp_max_samples=0.
Reviewed-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=95ebabbc5fceec6a9c37dbb4d8f3282a86fe02ce
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Wed Nov 6 19:40:25 2013 -0800
i965: Share code between intel_quantize_num_samples and clamp_max_samples
clamp_max_samples() and intel_quantize_num_samples() each maintained
their own list of which MSAA modes the hardware supports. This patch
removes the duplication by making intel_quantize_num_samples() use the
same list as clamp_max_samples(), the list maintained in
brw_supported_msaa_modes().
By removing the duplication, we prevent the scenario where someone
updates one list but forgets to update the other.
Move function `brw_context.c:static brw_supported_msaa_modes()` to
`intel_screen.c:(non-static) intel_supported_msaa_modes()` and patch
intel_quantize_num_samples() to use the list returned by that function.
Reviewed-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=8d1a8d65b55bac28fe2c63847b1ef216b7f2c9aa
Author: Chad Versace <chad.versace at linux.intel.com>
Date: Fri Nov 15 08:21:30 2013 -0800
i965: Terminate brw_supported_msaa_modes() list with -1, not 0
This simplifies the loop logic in a subsqequent patch that refactors
intel_quantize_num_samples() to use brw_supported_msaa_modes().
Reviewed-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=aad2511c6d082aecfe8da0c3e61e2e678c84f7dd
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 21 15:07:25 2013 -0700
st/mesa: simplify writemask for emitting fog result
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=73b19be32d237af01b5c7184d172efcbc814cc68
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 21 13:08:40 2013 -0700
mesa: fix indentation in ffvertex_prog.c
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=69049555af0b0a8fe6005cfa5766f15fc91403a0
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 21 13:11:30 2013 +0000
tgsi: Prevent emission of instructions with empty writemask.
These degenerate instructions can often be emitted by state trackers
when the semantics of instructions don't match precisely.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ade77f625cf3b29dabb6d7c151b7ab649def0d5
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 21 13:02:14 2013 +0000
tgsi: Rework calls to ureg_emit_insn().
Mere syntactical change.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68b696e59519dc7cb1788c5da0f6c8e94ebfa1b4
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 21 17:52:50 2013 +0000
docs: Add a section with recommended reading for llvmpipe development.
Several of links the were contributed by Keith Whitwell and Roland Scheidegger.
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=f69d2c857d2e2df72fbbda0bb2e50561cec9ebe1
Author: Roland Scheidegger <sroland at vmware.com>
Date: Fri Nov 22 11:28:46 2013 +0000
llvmpipe: (trivial) disable new accurate origin calculation
It looks like there's some bugs in it...
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb354c6c279031dafc08029a62cd3e76a6c1ca71
Author: Vinson Lee <vlee at freedesktop.org>
Date: Thu Nov 21 20:24:05 2013 -0800
meta: Move declaration before code.
Fixes MSVC build.
meta.c(2411) : error C2143: syntax error : missing ';' before 'type'
meta.c(2411) : error C2143: syntax error : missing ')' before 'type'
meta.c(2411) : error C2065: 'layer' : undeclared identifier
meta.c(2411) : error C2059: syntax error : ')'
meta.c(2411) : error C2143: syntax error : missing ';' before '{'
meta.c(2413) : error C2065: 'layer' : undeclared identifier
meta.c(2415) : error C2065: 'layer' : undeclared identifier
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec79c05cbfb7c68fbef7447e1744423c00f26654
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 21:17:19 2013 -0800
mesa: Implement GL_FRAMEBUFFER_ATTACHMENT_LAYERED query.
From section 6.1.18 (Renderbuffer Object Queries) of the GL 3.2 spec,
under the heading "If the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
is TEXTURE, then":
If pname is FRAMEBUFFER_ATTACHMENT_LAYERED, then params will
contain TRUE if an entire level of a three-dimesional texture,
cube map texture, or one-or two-dimensional array texture is
attached. Otherwise, params will contain FALSE.
Fixes piglit tests:
- spec/!OpenGL 3.2/layered-rendering/framebuffer-layered-attachments
- spec/!OpenGL 3.2/layered-rendering/framebuffertexture-defaults
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
v2: Don't include "EXT" in the error message, since this query only
makes sensen in context versions that have adopted
glGetFramebufferAttachmentParameteriv().
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af1471dc04cc89822bab2c253c808880dd47c25a
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 21:47:04 2013 -0800
mesa: Fix texture target validation for glFramebufferTexture()
Previously we were using the code path for validating
glFramebufferTextureLayer(). But glFramebufferTexture() allows
additional texture types.
Fixes piglit tests:
- spec/!OpenGL 3.2/layered-rendering/gl-layer-cube-map
- spec/!OpenGL 3.2/layered-rendering/framebuffertexture
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
v2: Clarify comment above framebuffer_texture().
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=08315233509f1fa7dc1e877aed2a8517296cf86e
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 18:51:48 2013 -0800
i965: Fix fast clear of depth buffers.
From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec:
When the Clear or ClearBuffer* commands are used to clear a
layered framebuffer attachment, all layers of the attachment are
cleared.
This patch fixes the fast depth clear path.
Fixes piglit test "spec/!OpenGL 3.2/layered-rendering/clear-depth".
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1019670ea89505ea7411629c052d662c8eb6be6
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 12:58:02 2013 -0800
i965: Fix blorp clear of layered framebuffers.
From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec:
When the Clear or ClearBuffer* commands are used to clear a
layered framebuffer attachment, all layers of the attachment are
cleared.
This patch fixes the blorp clear path for color buffers.
Fixes piglit test "spec/!OpenGL 3.2/layered-rendering/clear-color".
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ec5365429b46a39a06186092502c8e66fb4140e
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 10:42:59 2013 -0800
i965: refactor blorp clear code in preparation for layered clears.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=068a073c1d4853b5c8f33efdeb481026f42e23a5
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 13:31:20 2013 -0800
meta: fix meta clear of layered framebuffers
From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec:
When the Clear or ClearBuffer* commands are used to clear a
layered framebuffer attachment, all layers of the attachment are
cleared.
This patch fixes meta clears to properly clear all layers of a layered
framebuffer attachment. We accomplish this by adding a geometry
shader to the meta clear program which sets gl_Layer to a uniform
value. When clearing a layered framebuffer, we execute in a loop,
setting the uniform to point to each layer in turn.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95140740ad1c6cd8a34002c307556f5c49a34589
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 15:55:51 2013 -0800
mesa: Track number of layers in layered framebuffers.
In order to properly clear layered framebuffers, we need to know how
many layers they have. The easiest way to do this is to record it in
the gl_framebuffer struct when we check framebuffer completeness.
This patch replaces the gl_framebuffer::Layered boolean with a
gl_framebuffer::NumLayers integer, which is 0 if the framebuffer is
not layered, and equal to the number of layers otherwise.
v2: Remove gl_framebuffer::Layered and make gl_framebuffer::NumLayers
always have a defined value. Fix factor of 6 error in the number of
layers in a cube map array.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=085ad4821e450349ec1ba8c82d4bd0e7dcfef0af
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Fri Nov 22 11:34:13 2013 +1000
nvc0: inform kernel about buffers that screen_create touches
Prevents a GPU page fault if somehow the uniform bo gets evicted
before the screen_create pushbuf has been submitted.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1bdb99330ac68003a9ee6c963f46bddb03b9073d
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Thu Aug 22 11:22:58 2013 -0400
radeonsi/compute: Fix LDS size calculation
We need to include the number of LDS bytes allocated by the state tracker.
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a30cd7085b6879d3858f5c1a6945fbe30c818a6
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Tue Nov 19 22:05:52 2013 -0500
r600g/compute: Add a work-around for flushing issues on Cayman
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
https://bugs.freedesktop.org/show_bug.cgi?id=69321
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=544e3129c5addeb6c9539339782dd54616ef0499
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Nov 15 14:23:45 2013 -0800
glsl: Fix interstage uniform interface block link error detection.
Previously, we checked for interstage uniform interface block link
errors in validate_interstage_interface_blocks(), which is only called
on pairs of adjacent shader stages. Therefore, we failed to detect
uniform interface block mismatches between non-adjacent shader stages.
Before the introduction of geometry shaders, this wasn't a problem,
because the only supported shader stages were vertex and fragment
shaders, therefore they were always adjacent. However, now that we
allow a program to contain vertex, geometry, and fragment shaders,
that is no longer the case.
Fixes piglit test "skip-stage-uniform-block-array-size-mismatch".
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
v2: Rename validate_interstage_interface_blocks() to
validate_interstage_inout_blocks() to reflect the fact that it no
longer validates uniform blocks.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
v3: Make validate_interstage_inout_blocks() skip uniform blocks.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f4cacbb53c23e4fa027375c492edd17b40ae748
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 19 17:48:02 2013 -0800
glsl: Fix cross-version linking between VS and GS.
Previously, when attempting to link a vertex shader and a geometry
shader that use different GLSL versions, we would sometimes generate a
link error due to the implicit declaration of gl_PerVertex being
different between the two GLSL versions.
This patch fixes that problem by only requiring interface block
definitions to match when they are explicitly declared.
Fixes piglit test "shaders/version-mixing vs-gs".
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
v2: In the interface_block_definition constructor, move the assignment
to explicitly_declared after the existing if block.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bbcf19acad530d339ffe8e007fe2f6a244e1580
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 13 16:53:18 2013 -0800
glsl: Prohibit illegal mixing of redeclarations inside/outside gl_PerVertex.
From section 7.1 (Built-In Language Variables) of the GLSL 4.10
spec:
Also, if a built-in interface block is redeclared, no member of
the built-in declaration can be redeclared outside the block
redeclaration.
We have been regarding this text as a clarification to the behaviour
established for gl_PerVertex by GLSL 1.50, so we apply it regardless
of GLSL version.
This patch enforces the rule by adding an enum to ir_variable to track
how the variable was declared: implicitly, normally, or in an
interface block.
Fixes piglit tests:
- gs-redeclares-pervertex-out-after-global-redeclaration.geom
- vs-redeclares-pervertex-out-after-global-redeclaration.vert
- gs-redeclares-pervertex-out-after-other-global-redeclaration.geom
- vs-redeclares-pervertex-out-after-other-global-redeclaration.vert
- gs-redeclares-pervertex-out-before-global-redeclaration
- vs-redeclares-pervertex-out-before-global-redeclaration
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
v2: Don't set "how_declared" redundantly in builtin_variables.cpp.
Properly clone "how_declared".
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a70f033b5fbb8d3e5956cc4df30b84f0d4d9653
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 15:42:57 2013 -0800
i965: Enable the AMD_performance_monitor extension on Gen5+.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2af1aedeca3db2de7c503e9d3b1fec81b9861f1a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 15:36:29 2013 -0800
i965: Take "bookend" OA snapshots at the start/end of each batch.
Unfortunately, our hardware only has one set of aggregating performance
counters shared between all 3D programs, and their values are not saved
or restored by hardware contexts. Also, at least on Sandybridge and
Ivybridge, the counters lose their values if the GPU goes to sleep.
To work around both of these problems, we have to snapshot the
performance counters at the beginning and end of each batch, similar to
how we handle query objects on platforms that don't support hardware
contexts. I call these "bookend" snapshots.
Since there can be multiple performance monitors active at a time, we
store the bookend snapshots in a global BO, shared by all monitors.
For monitors that span multiple batches, acquiring results involves
adding up three segments:
BeginPerfMonitor --> End of Batch 1 ("head")
Start of Batch 2 --> End of Batch 2
... ("middle")
Start of Batch N-1 --> End of Batch N-1
Start of Batch N --> EndPerfMonitor ("tail")
Monitors that refer to bookend BO snapshots are considered "unresolved".
We delay resolving them (and adding up deltas to obtain the results) as
long as possible to avoid blocking on mapping monitor->oa_bo.
We can also run out of space in the bookend BO, at which point we have
to resolve all unresolved monitors. Then we can throw away the
snapshots and begin writing at the beginning of the buffer.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1172974ddddd785e7441d0eb68cc561b4e8d010f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Oct 22 11:21:43 2013 -0700
i965: Reserve batchbuffer space for a closing MI_REPORT_PERF_COUNT.
In order to use the Observability Architecture effectively, we'll need
to take snapshots of the OA counters via MI_REPORT_PERF_COUNT at the
start and end of each batch.
Experimentation reveals that we need to flush before and after each
MI_REPORT_PERF_COUNT to get working values. For simplicitly, I chose to
use intel_batchbuffer_emit_mi_flush(), which unfortunately expands to
triple pipe controls on Sandybridge.
We may want to start computing per-generation reserved batch space to
avoid the insanity of Sandybridge's PIPE_CONTROL cost. That said, much
of this cost existed before I rewrote the query object support to use
hardware contexts, so it's at least not entirely new.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fedc14a050cac9cc4501a648b9c84c62fc6e1086
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 15:13:59 2013 -0800
i965: Add some plumbing for gathering OA results.
Currently, this only considers the monitor start and end snapshots.
This is woefully insufficient, but allows me to add a bunch of the
infrastructure now and flesh it out later.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c289c70ce156e1248c53f018401a7670b9f513eb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 20:58:10 2013 -0700
i965: Start and stop OA counters as necessary.
We need to start OA at the beginning of each batch where monitors are
active. OACONTROL isn't part of the hardware context, so to avoid
leaving counters enabled for other applications, we turn them off at the
end of the batch too.
We also need to start them at BeginPerfMonitor time (unless they've
already been started). We stop them when the monitor last ends as well.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=834c9575b281f72385085fc1b9adca3893c9c71e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 13:14:46 2013 -0800
i965: Add functions to start and stop the OA counters.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=367c7c2d7cbc9a53805162d335405b3b08d46c2d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Mar 27 14:46:05 2013 -0700
i965: Add #defines for the OACONTROL register and fields.
We'll need to write this register to start/stop performance counters.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=901cae07ffa93910f6ce01263881b1977303d5d5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 20:16:58 2013 -0700
i965: Take OA counter snapshots at Begin/EndPerfMonitor time.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=093ecbfe3b8339ef846f46c2a04d32856273a2d7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 18:48:18 2013 -0700
i965: Add a function to emit the MI_REPORT_PERF_COUNT packet.
MI_REPORT_PERF_COUNT writes a snapshot of the Observability Architecture
counters to a buffer. Exactly how it works varies between generations:
Ironlake requires two packets, Sandybridge has to use GGTT, and Ivybridge
and later use PPGTT.
v2: Assert that we didn't use more space than we reserved (suggested
by Eric Anholt).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b05b1eff1c974c897d99f8ae1b3cb480ee39ef67
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 19:44:49 2013 -0700
i965: Track the number of monitors that need OA counters.
Using the OA counters requires some per-batch work. When starting and
ending a batch, it's useful to know whether any monitors are actually
interested in OA data.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7329f8dd10673a474554fd881eb09d6908496e0f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 19:10:19 2013 -0700
i965: Enumerate Observability Architecture counters on Gen5+.
In addition to listing the counter names, we include several "remap"
tables. Confusingly, counters are documented with names like "A23",
are written to some buffer offset other than 23, and exposed by core
Mesa under a counter ID that is different still.
The first is inevitable; MI_REPORT_PERF_COUNT writes certain counters to
fixed locations in the buffer. The latter could be avoided, but core
Mesa uses the "Counters" array index as the ID for a counter. We could
do remapping there, but it would just complicate the core Mesa code.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f41585eb5a42a680cdd167181eebda26a2bff8b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 31 16:27:01 2013 -0700
i965: Expose pipeline statistics registers via performance monitors.
This is fairly simple:
- At BeginPerfMonitor time, take an opening snapshot.
- At EndPerfMonitor time, take a closing snapshot.
- The first time the application asks for results, subtract the two and
store that value. Then free the BO containing the snapshots.
- On subsequent requests for the results, just return the saved value.
- On reset, throw away the results.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91950d1aeae6f1c6b0d859e588e59ae52840d4d8
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 31 16:02:35 2013 -0700
i965: Enumerate the pipeline statistics register counters on Gen6+.
For now, we only support these on Gen6+, since that's what currently
uses hardware contexts. When we add Ironlake hardware context support,
we can add pipeline statistics register support for that as well.
In theory, we could support pipeline statistics counters even without
hardware contexts, but it would be annoyingly painful.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=569adb40d7f3fa5084c20dd4b774fb1482d00c9c
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 31 16:00:23 2013 -0700
i965: Initialize performance monitor Groups/NumGroups.
Since we don't support any counters, there are zero groups.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bf3cd4315343c3f1e0c36cc5ca1f790857e072a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 31 15:50:19 2013 -0700
i965: Add macros for creating performance monitor counters and groups.
The Observability Architecture counters are 32-bit unsigned values, and
the Pipeline Statistics Register counters are 64-bit unsigned values.
These convenience macros make it easy to create those types of counters.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=63b8ce612fa11c9aee5db101d3446c9783bf4111
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Nov 2 19:42:54 2013 -0700
i965: Periodically dump the list of monitors if INTEL_DEBUG=perfmon.
It's useful to see the state of all outstanding monitors; the start
of a new batch seems like a reasonable time to print them out.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=379a246fc190c1bc1664a4ecf24aabca13314c7f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 31 15:42:09 2013 -0700
i965: Add basic driver hooks and plumbing for AMD_performance_monitor.
These stub functions will be filled out in later patches.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b64eb100b0c74d1d601f646bb2fe6175fa722450
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Oct 30 23:17:23 2013 -0700
i965: Add INTEL_DEBUG=perfmon support.
This will enable debugging printfs for the AMD_performance_monitor code.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4bf7f6b6e612626c4e4fc21507ac213a7ba4b00
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Oct 15 19:32:53 2013 -0700
i965: Move brw_emit_query_begin() to the render ring prelude.
Without hardware contexts, the pipeline statistics registers are
free-running and include data from every 3D application running.
In order to find out the contributions of one particular context, we
need to take a snapshot at the start and end of each batch.
Previously, we emitted the PIPE_CONTROL necessary to capture
PS_DEPTH_COUNT when drawing primitives. Special tracking ensured it
happened only on the first draw of the batch, rather than on every draw.
Moving this to brw_new_batch increases symmetry, since the final
snapshot has always been in brw_finish_batch, which is just a few lines
below. It should be basically equivalent.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb9d2eab8934fe526e7128e5902fffc2f5a050d3
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Oct 28 20:10:40 2013 -0700
i965: Introduce a "render ring prelude" hook.
The new intel_batchbuffer_emit_render_ring_prelude() hook will be called
when switching from BLT or UNKNOWN_RING to RENDER_RING. This provides a
place to emit state that should go at the start of each render ring
batch, with minimal overhead.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=395a32717df494353703f3581edcd3ba380f16d6
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 21 14:07:12 2013 -0800
i965: Introduce an UNKNOWN_RING state.
When we first create a batch buffer, it's empty. We don't actually
know what ring it will be targeted at until the first BEGIN_BATCH or
BEGIN_BATCH_BLT macro.
Previously, one could determine the state of the batch by checking
brw->batch.ring (blit vs. render) and brw->batch.used != 0 (known vs.
unknown).
This should be functionally equivalent, but the tri-state enum is a bit
clearer.
v2: Catch three explicit require_space callers (thanks to Carl and Eric).
v3: Split the boolean -> enum change from the UNKNOWN_RING change.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6bc40f9af5b35724caff9fa7ced47b2ca6183f22
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Oct 28 16:06:10 2013 -0700
i965: Convert brw->batch.is_blit to a BLT_RING/RENDER_RING enum.
Passing BLT_RING or RENDER_RING to batchbuffer functions is a lot more
obvious than passing true or false.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=28d7b4147d4048031dd1a99c0858472912ea7e7e
Author: Roland Scheidegger <sroland at vmware.com>
Date: Wed Nov 20 05:17:56 2013 +0000
llvmpipe: calculate more accurate interpolation value at origin
Some rounding errors could crop up when calculating a0. Use a more accurate
method (barycentric interpolation essentially) to fix this, though to fix
the REAL problem (which is that our interpolation will give very bad results
with small triangles far away from the origin when they have steep gradients)
this does absolutely nothing (actually makes it worse). (To fix the real
problem, either would need to use a vertex corner (or some other point inside
the tri) as starting point value instead of fb origin and pass that down to
interpolation, or mimic what hw does, use barycentric interpolation (using
the coordinates extracted from the rasterizer edge functions) - maybe another
time.)
Some (silly) tests though really want a high accuracy at fb origin and don't
care much about anything else (Just. Don't. Ask.).
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d1c71e34d5ec225f1d4f12f6d7dad5148ab0e8b
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 20 16:07:31 2013 -0800
svga: remove special-case code for texkil w component
Not actually needed. Fixes piglit ARB_fragment_program/kil-swizzle test.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d5f21ba650cb85ffea0ed6f41ee0d1e6fe5a29a
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 20 15:22:31 2013 +0000
gallium: Make TGSI_SEMANTIC_FOG register four-component wide.
D3D9 Shader Model 2 restricted the fog register to one component,
http://msdn.microsoft.com/en-us/library/windows/desktop/bb172945.aspx ,
but that restriction no longer exists in Shader Model 3, and several
WHCK tests enforce that.
So this change:
- lifts the single-component restriction TGSI_SEMANTIC_FOG
from Gallium interface
- updates the Mesa state tracker to enforce output fog has (f, 0, 0, 1)
- draw module was updated to leave TGSI_SEMANTIC_FOG output registers
alone
Several gallium drivers that are going out of their way to clear
TGSI_SEMANTIC_FOG components could be simplified in the future.
Thanks to Si Chen and Michal Krol for identifying the problem.
Testing done: piglit fogcoord-*.vpfp tests
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=edd9efc2fb99ed67df38fa53ecd0283b8156c4ec
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Nov 20 17:31:43 2013 +0000
tgsi_exec: Fix mask calculation for emit_kill_if.
Same as Si Chen's commit e7a5905d8a3960b0981750f8131e3af9acbfcdb8 for
tgsi_exec module.
Not actually tested, because softpipe is failing the test that caught
this bug due to unrelated issues.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bba8f10598866776ae198b363b3752c2e3bbb126
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 21 13:56:00 2013 +0000
mesa: Use IROUND instead of roundf.
roundf is not available on MSVC.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e61b44dcd6175579f60d8ff2f703a6c83e33d27
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Wed Nov 20 13:27:10 2013 +0200
mesa: enable GL_TEXTURE_LOD_BIAS set/get
Earlier comments suggest this was removed from GL core spec but it is
still there. Enabling makes 'texture_lod_bias_getter' Khronos
conformance tests pass, also removes some errors from Metro Last Light
game which is using this API.
v2: leave NOTE comment (Ian)
Cc: "9.0 9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ecb37a6e77f34d9c082fc38a36798a42c851d952
Author: Christian König <christian.koenig at amd.com>
Date: Tue Nov 19 10:47:36 2013 +0100
winsys/radeon: cleanup virtual memory nonsense
The alignment of a virtual memory area must always be at least 4096 bytes.
It only worked because size was aligned to 4096 outside of the function.
Signed-off-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f56f875b8b72eda5abf124c8c4203b77b44b9670
Author: Courtney Goeltzenleuchter <courtney at lunarg.com>
Date: Thu Oct 24 13:13:57 2013 -0600
mesa: Update MESA_INFO to eliminate error
If a user set MESA_INFO and the OpenGL application uses a
3.0 or later context then the MESA_INFO debug output will have
an error when it queries for extensions using the deprecated
enum GL_EXTENSIONS. Passing context argument allows code
to return extension list directly regardless of profile.
Commit title updated as recommended by Kenneth Graunke.
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=36c3faf4bf41d6618a3b0fcd565f4907a1633a40
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 13:35:15 2012 -0800
i965: Disable BLORP on Broadwell for now.
BLORP is essential. However, porting it to Gen8 is a huge amount of
work. Disabling it for now allows us to proceed with basic hardware
enablement.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=01ae16a0e7d95f408016ff5b07bc647ad5608841
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Dec 14 17:56:40 2012 -0800
i965: Disable HiZ on Broadwell for now.
HiZ is difficult to implement, and while it's essential for performance,
we don't need it right away for purposes of hardware enabling.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=232140a47a014087027cb6a6c174480d6b5cc57d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 11:45:47 2013 -0700
i965: Claim OpenGL 3.3 support on Broadwell.
Bugs aside, basically everything ought to work.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b61ff94032ba136b34586840301169c4e126d1eb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 11:44:09 2013 -0700
i965: Add device info structs for Broadwell.
As always, the chipset limits here are placeholders, rather than the
actual values.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7c0b61782251c1dedb0b0fb0e6654af81249910
Author: Vinson Lee <vlee at freedesktop.org>
Date: Fri Oct 11 18:33:08 2013 -0700
glsl: Use more portable bash invocation construct.
Fixes 'make check' on distros where bash is not at /bin/bash.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7f56780915e352fda80b0e062591995021916859
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue Nov 19 23:16:34 2013 -0800
gallivm: Ignore unknown file type in non-debug builds.
Fixes "Uninitialized pointer read" defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b01a3a9b72ed8d4899b4552658da7233c451142a
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Nov 18 17:34:52 2013 +1000
glx: don't fail out when no configs if we have visuals
GLX 1.2 servers with no SGIX_fbconfigs exist (some citrix thing),
and we fail glxinfo completely in those cases.
CC: <mesa-stable at lists.freedesktop.org>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a43b49dfb13dc7e6d2d6d7ceee892077038d7102
Author: Dave Airlie <airlied at redhat.com>
Date: Wed Nov 13 12:53:52 2013 +1000
mesa/swrast: fix inverted front buffer rendering with old-school swrast
I've no idea when this broke, but we have some people who wanted it fixed,
so here's my attempt.
reproducer, run readpix with swrast hit f, or run trival tri -sb things are
upside down, after this patch they aren't.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62142
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66213
Cc: <mesa-stable at lists.freedesktop.org>"
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=81ff29e30c573fcc134bf717670015ab4654ebcd
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 18 09:55:00 2013 -0800
mesa: Fix setup of LocalParams array.
i965 passed piglit, but swrast and gallium both segfaulted without this.
i965 happened to work because it never ran _mesa_load_state_parameters()
on the new program before the test called glProgramLocalParameter(), which
was allocating a LocalParams array for the fallback path.
v2: Since v1 threw away old localparams data, leaked old LocalParams
memory, only fixed fragment programs, and I was dubious of my previous
invariants already (nothing but program_parse.y will generate
LocalParams, and only that one path of program_parse.y will), just
late-allocate localparams at the other point of dereferencing them.
This adds overhead to _mesa_load_state_parameter, which is
uncomfortable, but I'm pretty sure that giant switch statement is
super slow already.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71734
Tested-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fe49d99f250be1aa6080286ff15862ac4d4c903
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 18 15:20:01 2013 -0800
i965/test: Use unreachable() to silence warning.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f9092958d365c94af825c3b3b6664688c27b5a1
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 18 15:19:15 2013 -0800
i965: Link -ldl after libmesa.la
DLOPEN_LIBS is part of DRI_LIB_DEPS.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>"
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71512
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a97cd0f4d7902965d5173f4bcbf2ad27c0eb5d12
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Oct 30 10:32:12 2013 -0700
i965: Add a pass to remove dead control flow.
Removes IF/ENDIF and IF/ELSE/ENDIF with no intervening instructions.
total instructions in shared programs: 1360393 -> 1360387 (-0.00%)
instructions in affected programs: 157 -> 151 (-3.82%)
(no change in vertex shaders)
Reviewed-by: Paul Berry <stereotype441 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=b63d6aae55c06bf7cb6b9ed1370634bc120ed045
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 11 10:36:36 2013 -0800
i965: Make invalidate_live_intervals() a virtual method of backend_visitor.
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c263f8f4f767df0511e63377c17a95ebebba944
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 11 10:33:46 2013 -0800
i965/vec4: Add invalidate_live_intervals method.
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c4464c9eea65a287aa74f6bb59cd00b1ef665a36
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Nov 16 13:16:50 2013 -0800
i965/fs: Don't emit SIMD16 BFI instructions.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bbedf6146be6ecad2863fd924c434a2a530c361
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Nov 16 12:31:26 2013 -0800
i965/fs: Emit compressed 3-source instructions on Haswell.
For commit 4df56177 Paul discovered that the hardware restriction that
Align16 instructions cannot be compressed was lifted on Haswell. This
has prevented us from emitting compressed three-source instructions.
For added confirmation, the bspec lists a work around called
WaBreakSimd16TernaryInstructionsIntoSimd8 that hasn't been applicable
since very early Haswell silicon.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=82bfb45e24c7a19031a19ad1d361c07dd3da4987
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Nov 16 13:03:55 2013 -0800
i965: Fix disassembled names of BFI1 and BFI2 instructions.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9793fc1335f11b4131d6db680bec567dcfccfb5f
Author: Matt Turner <mattst88 at gmail.com>
Date: Fri Nov 15 11:09:47 2013 -0800
i965/fs: Use source's original type in register_coalesce().
Previously, register_coalesce() would modify
mov vgrf1:f vgrf2:f
cmp null vgrf3:d vgrf1:d
to be
cmp null vgrf3:d vgrf2:f
and incorrectly use vgrf2's type in the instruction that the mov was
coalesced into.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=060159820c05c4e9a9b577844387555b11092391
Author: José Fonseca <jfonseca at vmware.com>
Date: Tue Nov 19 18:54:53 2013 +0000
u_gen_mipmap: Use untampered cubemap texture coords when generating mipmaps.
It's not necessary to scale down cubemap texture coords when generating
mipmaps: we are doing a 2x minification therefore it's guaranteed that
the texture coords will always be at least 1 texel away of the edges.
Scaling down can actually be harmful, as it may cause artefacts when
generating mipmaps with nearest filtering. Sample points will lie
exactly in the middle each 2x2 texels, so the scaling factor was causing
different texels to be take on each quadrant of the cube face. This is
apparent with a 1x1 checkerboard pattern in the base mipmap level:
instead of next mipmap level receiving a constant color throughout the
face, it will have different colors for each quadrant of the face.
The behaviour for blits is left untouched for now, but the cubemap
texture coord scaling hack should be reconsidered eventually.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=15d8e05e1e98a9bfd5a365d0fda222668f24261f
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 19 13:09:57 2013 -0700
st/mesa: fix GL_FEEDBACK mode inverted Y coordinate bug
We need to check the drawbuffer's orientation before inverting Y
coordinates. Fixes piglit feedback tests when running with the
-fbo option.
Cc: "9.2" "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7a5905d8a3960b0981750f8131e3af9acbfcdb8
Author: Si Chen <sichen at vmware.com>
Date: Thu Nov 14 09:17:13 2013 -0800
gallivm: Fix mask calculation for emit_kill_if.
The exec_mask must be taken in consideration, just like emit_kill above.
The tgsi_exec module has the same bug and should be fixed in a future
change.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=81b998ca48fc96753096f22949bf3785b7aa425c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 12 17:51:15 2013 -0800
i965/gen7: Disallow Y tiling of renderable surfaces with valign of 2.
Gen7 does not allow render targets to have a vertical alignment of 2.
So, when creating a surface, if its format is renderable, and its
vertical alignment is 2, force it to use X tiling.
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b40dd17cf844b9cc8d6b1a816d4e93cbf6decef
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 12 17:16:25 2013 -0800
i965/gen7: Prefer vertical alignment of 4 when possible.
Gen6+ allows for color buffers to use a vertical alignment of either 4
or 2. Previously we defaulted to 2. This may have caused problems on
Gen7 because Y-tiled render targets are not allowed to use a vertical
alignment of 2.
This patch changes the vertical alignment to 4 on Gen7, except for the
few formats where a vertical alignment of 2 is required.
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=60b1a118e123493624324ae191d05870e95968f3
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 5 21:44:13 2013 -0800
i965/vec4: Fix broken IR annotation in debug output.
Commit 70953b5 (i965: Initialize all member variables of
vec4_instruction on construction) inadvertently added a line to the
vec4_instruction constructor setting this->ir to NULL, wiping out the
previously set value. As a result, ever since then, the output of
INTEL_DEBUG=vs and INTEL_DEBUG=gs has been missing IR annotations.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=92c3d5acf766eee4a27250c2f9883204991b1647
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 19 07:54:17 2013 -0800
svga: improve check for 3D compressed textures
This is basically a a respin of f1dfcf4bce35e6796f873d9a00103b280da81e4c
per Jose's suggestion.
Just set the SVGA3dSurfaceFormatCaps flags for 3D and cube textures
when checking the texture format capabilities. This will filter out
unsupported combinations like 3D+DXT.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ab59e5332215f149b532436c4d55834399d71e6
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Tue Nov 12 22:54:35 2013 +0000
glx/tests: Provide __glXGetCurrentContext() stub when needed
Refine 8c533022. Provide a stub __glXGetCurrentContext() function when
$(DEFINES) are such that it is not a macro.
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21ae5135dd30bbd2ec7d2b44e07b6cb1d6425d9e
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 18 14:50:33 2013 -0800
svga: we don't supported 3D compressed textures
Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7eab897d4d05392bbf336b2062a6ebe378d6ff7a
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 18 14:51:43 2013 -0800
st/mesa: pass correct pipe_texture_target to st_choose_format()
We were always passing PIPE_TEXTURE_2D, but not all formats are
supported for all types of textures. In particular, the driver may
not supported texture compression for all types of textures.
Reviewed-by: Jakob Bornecrantz <jakob at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b9511d7ce70a9f9cadd0c03bd0c916b88b6dd43
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Thu Nov 14 07:28:09 2013 -0800
r600g/compute: Fix handling of global buffers in r600_resource_copy_region()
Global buffers do not have an associate cs_buf handle, so
we can't copy them using r600_copy_buffer()
https://bugs.freedesktop.org/show_bug.cgi?id=64226
Reviewed-by: Marek Ol????k <marek.olsak at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17930a66aad6774224296ad9c845d30e01e4ffe5
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Tue Nov 12 11:29:21 2013 -0800
gallium: Pass version scripts to linker using --version-script=
This fixes build failures with the gold linker.
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a84dd2398f75c672293122408828ac66bb7052a0
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Fri Nov 15 15:50:34 2013 -0800
clover: Optionally return context's devices from clGetProgramInfo()
The spec allows clGetProgramInfo() to return information about either
the devices associated with the program or the devices associated
with the context. If there are no devices associated with the program,
then we return devices associated with the context.
https://bugs.freedesktop.org/show_bug.cgi?id=52171
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dfb4b2d00ddb8e5ee24d4c58eb9415dc4ccc21c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Mon Nov 4 20:06:48 2013 -0800
i965/gen7: Emit workaround flush when changing GS enable state.
v2: Don't go to extra work to avoid extraneous flushes. (Previous
experiments in the kernel have suggested that flushing the pipeline
when it is already empty is extremely cheap).
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d22220219347689c51134e4a5650d75143748017
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 18 09:14:48 2013 -0700
osmesa: add missing comma
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cadec45c3dce3979082f3cab4558b0f48b923128
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:50 2013 -0700
osmesa: add support for postprocess filters
Add new OSMesaPostprocess() function to allow using the gallium
postprocessing filters. This only works for OSMesa with gallium
drivers, not the legacy swrast OSMesa.
Bump OSMESA_MAJOR/MINOR_VERSION numbers to 10.0
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7cf40c1cb33bdc78cf2297fa4dc5f249179b39a9
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:50 2013 -0700
postprocess: document the pp_init() function.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7e5678fe59d31798b2d01114fea4660ac1f6dfc
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:50 2013 -0700
postprocess: move #defines to filters.h
They're not needed in postprocess.h
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c27d8cc0c9e605073f2d4b734a74f931d3a67195
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:50 2013 -0700
postprocess: refactor header files, etc
Move private data structures and function prototypes out of the
public postprocess.h header file.
Create a pp_private.h for the shared, private data structures, functions.
Remove pp_program.h header.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de2fd7dd0ba3856aa1cb08302bed0814b16f8810
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:44 2013 -0700
postprocess: rename program to pp_program
To match the pp_ namespace convention.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=401f2d6ea8d8068747b6f507e8a8907ad9f6fe71
Author: Brian Paul <brianp at vmware.com>
Date: Sat Nov 16 13:55:40 2013 -0700
postprocess: simplify pp_free() code
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d33d260b905401b8279c111b1350781bc08673f0
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 16 22:59:29 2013 +0000
docs: indicate GLX_MESA_query_renderer's completion
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8a11151323b65b13fa9854a7d73a9e60d3a65a2
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 16 22:26:09 2013 +0000
docs: update nv50, nvc0 current status
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9868926ee2a6914edb65e64eb9aeb445bc32e4c
Author: Joerg Mayer <jmayer at loplof.de>
Date: Sat Nov 16 22:13:03 2013 +0000
docs: restructure GL3.txt
- Indent items under a GL version to allow context diffs to do their work.
- Move complete drivers into the GL version line - this should make the
stuff a little bit easier to read.
v2: keep the fd.o link (Emil Velikov)
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Joerg Mayer <jmayer at loplof.de>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca9794658ed6df30a12e48854aecee7bd628b70f
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 16 21:53:04 2013 +0000
docs: add a note about removed state tracker/targets
The X.Org state tracker is gone, as well as the xvmc/vdpau
r300 and softpipe targets.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0faaed21122b95e29992e4f7abe85b4af3d058bf
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 16 21:29:07 2013 +0000
targets/xvmc: export only necessary symbols
Export only XvMC* symbols for the xvmc targets.
Tested-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5896100a38fae2ebf9ad081c2bf4eeaab2cd704f
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 16 18:37:52 2013 +0000
drivers/radeon: remove unused CXXFLAGS, LLVM_CPP_FILES
The above two variables are unused as of commit
commit 024fe6852a76f33d7e2afc5621340e387c381bb0
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Tue Apr 2 10:42:50 2013 -0700
radeon/llvm: Use LLVM C API for compiling LLVM IR to ISA v2
which removed the only cpp file from drivers/radeon, but missed to
remove the CXXFLAGS. The sequential commit reintroduced and empty
LLVM_CPP_FILES.
Lets cleanup and remove both.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e67ee8c9aa617201593583c0749aa964dba38dc
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Nov 18 14:43:31 2013 +0000
mesa/main: Move declaration to beginning of scope.
Should fix MSVC build.
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cfbf84dadc915b7075a3f1cbb569daf699d5ff0
Author: Courtney Goeltzenleuchter <courtney at lunarg.com>
Date: Tue Nov 5 14:25:06 2013 -0700
mesa: Add API debug logging to TexStorage
Give glTexStorage* equivalent debug logging to glTexImage*.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=53f89a436f5901b58f0d2f8385123f889649f2f3
Author: Tapani Pälli <tapani.palli at intel.com>
Date: Fri Nov 1 12:22:01 2013 +0200
glsl: cleanup, remove duplicate assignment
Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d12e0e8972e13addf37c2ad885ea3ae5357d69f4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 17:15:23 2013 -0800
mesa: Handle !m->Ended for performance monitor result availability.
If a performance monitor has never ended, then no result can be
available. Core Mesa can easily handle this, saving drivers a tiny bit
of complexity.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bde5e4a1e64cd0ddd89556f654185d256743728f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 17:12:37 2013 -0800
mesa: Track whether a performance monitor has ever ended.
If a monitor has ended, it means a result should eventually become
available, pending some flushing.
This is distinct from !m->Active; if a monitor has not been started,
then m->Active == false and m->Ended == false.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6712f51093f24be08afe14f67e78518b3754266
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 13 17:08:32 2013 -0800
mesa: Also initialize gl_performance_monitor::Active.
The i965 implementation uses calloc, so I missed this. It's best to
simply initialize it to avoid requiring a zeroing allocator, though.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=145138fb3c7d84e23382631a4c0e6039b61154b6
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Oct 30 23:12:36 2013 -0700
mesa: Store the performance monitor object's name.
Being able to print monitor->Name is really useful for debugging.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45a56ce39967590d9c83b1dcad886772c50a224a
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 17 19:38:07 2013 +1300
mesa: bump version to 10.1 (devel)
Now that branch 10.0 is created, bump the minor version in
master.
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=61143b87c16231a2df0d69324d531503027f9aca
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 17 14:57:51 2013 +1300
i965: Fix broken asserts
These would never fire.
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=0741997ff05858d7a788bd9485e3f07039b9c8f8
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 17 14:57:51 2013 +1300
st/vega: Fix broken assert
This would never fire.
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=6f7c693a85bec6bf14c8afa106505a5d0eeff47e
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 17 14:57:51 2013 +1300
r600/sb: Fix broken assert
This would never fire.
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=4cb04aa0dfaf8c23e312fa49778e637e59410727
Author: Vadim Girlin <vadimgirlin at gmail.com>
Date: Fri Nov 15 18:24:53 2013 +0100
r600g/sb: work around hw issues with stack on eg/cm
v2: make it actually work, improve condition
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68503
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04856ceb5c3cb01bd96ca45e7bb5f2d1eacc46f9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 14 21:26:28 2013 -0800
i965: Make swizzle_to_scs non-static.
We'll need this for Broadwell code as well.
Normally, when we make things public, we add the "brw" prefix. I'm not
crazy about that in this case, since it deals with prog_instruction.h's
SWIZZLE_XYZW values, rather than the BRW_SWIZZLE_XYZW enums. However,
I can't think of a better name, and at least the comments and code make
it clear.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Acked-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=717241bf4a22184b8b69cf46b44273b7df5378d4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 12:50:16 2013 -0700
i965: Move enum brw_urb_write_flags from brw_eu.h to brw_defines.h.
Broadwell code should not include brw_eu.h (since it is for Gen4-7
assembly encoding), but needs the URB write flags enum.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Acked-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec8cc65926de3e7391f3bcec8ee26fc8f4d36159
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Jan 1 15:09:26 2013 -0800
i965/fs: Remove force_sechalf stack
Only Gen4 color write setup uses the force_sechalf flag, and it only
sets it on a single instruction. It also already has to get a pointer
to the instruction and manually set the saturate flag, so we may as well
just set force_sechalf the same way and avoid the complexity of a stack.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Acked-by: Anuj Phogat <anuj.phogat at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=02fdb5cb51fdbe63261ffeb7d5ca0fa10838899b
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 23:00:14 2013 +0000
targets/dri: move linker flags out of configure into Automake.inc
Previous assumption was that the same set of flags can be reused
for both classic and gallium drivers. With megadriver work done
the classic drivers ended up using their own (single) instance of
the flags.
Move these into Automake.inc and rename to indicate that those
are gallium specific. Additionally silence an automake/autoconf
warning "XXX is not a standard libtool library name", due to
the parsing issues of the module tag.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b8c2c8f00a145d0e62edac9c92c1ef14d02651d
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 2 15:33:07 2013 +0000
targets/dri: compact compiler flags into Automake.inc
Greatly reduce duplication and provide a sane minimum of
CFLAGS for all DRI targets.
Note: This commit adds VISIBILITY_CFLAGS to the following:
* freedreno
* i915
* ilo
* nouveau
* vmwgfx
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=38e0b7eeaa7f29b39bb08dbfbe55ae6b64236954
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:56:33 2013 +0000
targets/xvmc: do not link against libtrace.la
In order to use the trace driver, one needs to define
GALLIUM_TRACE. Neither one of the two targets was
defining it, thus we're safe to remove libtrace.la.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfcdece7c55edcdff1e2eece94e4be0ececcea79
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:55:59 2013 +0000
targets/xvmc: consolidate lib deps into Automake.inc
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfda1460b136511fa3363802377b9f34aa4f3d15
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:54:58 2013 +0000
targets/xvmc: move linker flags to Automake.inc
Minimise duplication and sources of error
(eg nouveau was missing shared and no-undefined)
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d7d120af176acb2a02b25868bb65f7e462084e5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:53:15 2013 +0000
targets/xvmc: use drop duplicated compiler flags
Automake.inc already has GALLIUM_VIDEO_CFLAGS, which
provide the essential compiler flags needed.
Note: this commit adds VISIBILITY_CFLAGS to nouveau.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7ac1d5989699d31f02b120d3f8cb51b7159dbb5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 2 02:02:47 2013 +0000
gallium/winsys: compact compiler flags into Automake.inc
Cleanup the duplicating flags and consolidate into a sigle variable.
Note: this patch adds VISIBILITY_CFLAGS to the following targets
* freedreno/drm
* i915/{drm,sw}
* nouveau/drm
* sw/fbdev
* sw/null
* sw/wayland
* sw/wrapper
* sw/xlib
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=096b988360158d4cf3c92d52d26f9f098774ba1d
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:51:56 2013 +0000
targets/vdpau: drop unused libraries from linker
In order for one to use trace, noop, rbug and/or galahad, they must
set the corresponding GALLIUM_* CFLAG.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f920a91f35f21a372e211fe961a163990af677c
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:51:19 2013 +0000
targets/vdpau: consolidate lib deps into Automake.inc
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f0df8ab22e23956e05451c7191b155e69e5c8d1
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:50:47 2013 +0000
targets/vdpau: move linker flags to Automake.inc
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23588a9c04ca267799e8c85079cf5667a435790e
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:48:44 2013 +0000
targets/vdpau: compact compiler flags into Automake.inc
Store the compiler flags into a variable, in order to minimise
flags duplication (amongst vdpau and xvmc).
Note: this commit add VISIBILITY_CFLAGS to the nouveau target
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dac1b470a9c1c977f79ecc301407681e200bd1a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Nov 1 18:58:27 2013 +0000
gallium/drivers: compact compiler flags into Automake.inc
* minimise flags duplication
* distingush between VISIBILITY C and CXX flags
* set only required flags - C and/or CXX
v2: add LLVM_CFLAGS back to AM_CFLAGS (add missing backslash)
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad501a535ad731447587b259afe2ea9c0a0a02f5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:46:20 2013 +0000
targets/radeonsi: move drm_target.c to a common folder
... and symlink to each target.
Make automake's subdir-objects work for radeonsi.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23cdf8de32fc25bc509a8e110b065ea6395ec2dd
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:42:44 2013 +0000
targets/r600: move drm_target.c to common folder
... and symlink for each target.
Make automake's subdir-objects work for r600.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9a30295412bb26ff2edd5599975ff24f004b345
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Nov 9 22:30:20 2013 +0000
targets/r300: move drm_target.c to common folder
... and symlink for each target.
Make automake's subdir-objects work for r300.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=589e0b23051d55fd4b33fbece27d6edad0eeefd7
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Oct 26 17:48:22 2013 +0100
gallium/drivers: enable automake subdir-objects
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5e79a9d2b150f0c08abed84ef9f6ef606e77edd
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Oct 26 17:46:17 2013 +0100
r300: move the final sources list to Makefile.sources
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c1bb79213a50480baba3805df228b4d311bda28
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Oct 26 18:11:36 2013 +0100
r300: add symlink to ralloc.c and register_allocate.c
Make automake's subdir-objects work.
Update includes.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3c60ff5d04128820263e7212152f81377ab6db5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Oct 4 13:06:37 2013 +0100
st/xvmc: enable automake subdir-objects
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=01d35eb372f1ac7d8633af783424c32d3b6239e3
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Sep 28 18:11:20 2013 +0100
dri/common: move source file lists to Makefile.sources
* Allow the lists to be shared among build systems.
* Update automake and Android build systems.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b51b3fc5375999cfd3661d8606d51f7e7d926d31
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Nov 8 19:08:51 2013 +0000
gtest: enable subdir-objects to prevent automake warnings
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5773ee043a70664526fc32e76666edeb895eec5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Nov 8 18:49:30 2013 +0000
gbm: enable subdir-objects to prevent automake warnings
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b57da0211452eb31a905dd7b288cd5a77b8e295
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Mon Sep 30 22:13:54 2013 +0100
scons: move SConscript from gallium/targets/ to mesa/drivers/dri/common/
Store scons side by side with the other build systems.
v2: cleanup after a failed rebase
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=595bd01eb1ab6df4d0454b4f9b158256be274bef
Author: Johannes Obermayr <johannesobermayr at gmx.de>
Date: Fri Nov 1 18:38:14 2013 +0000
freedreno: compact a2xx and a3xx makefiles into parent ones
Nearly everything within the three Makefile.am's is identical.
Let's simplify things a little.
v2: Rebase and rewrite the commit message (Emil Velikov)
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5062726f1da77139d3fc576536eb431bbeb9c0e
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Sep 29 13:05:07 2013 +0100
scons: drop obsolete enabled_apis variable
The variable was forgotten during the FEATURE_* removal.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1aeafcb7c55775c4d83fbcb874673d17e8a2c55e
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Mon Sep 30 15:58:51 2013 +0100
Android: remove unused MESA_ENABLED_APIS variable
The variable was forgotten during the FEATURE_* removal.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9560d34fcf2dc75949aecbd0dc4cf95e9e080c2b
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Oct 4 13:18:25 2013 +0100
st/egl: use *_FILE over *_SOURCES names for filelists
Silence automake warnings about missing program/library whenever
the _SOURCES suffix is used for temporary variable names.
warning: variable 'gdi_SOURCES' is defined but no program or
library has 'gdi' as canonical name (possible typo)
Acked-by: Matt Turner <mattst88 at gmail.com>
Reported-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reported-by: Johannes Obermayr <johannesobermayr at gmx.de>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70581
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e133c0103d4336c47911e89cc8a17a1c78bfdbb8
Author: Matt Turner <mattst88 at gmail.com>
Date: Thu Nov 14 10:36:12 2013 -0800
i965: Assert that IF with cmod is Gen6 only.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b570c4229fe9c621b56bb9475d77a344039444d4
Author: Vinson Lee <vlee at freedesktop.org>
Date: Thu Nov 14 22:47:33 2013 -0800
i965: Add missing break in SHADER_OPCODE_GEN7_SCRATCH_READ case.
Fixes "Missing break in switch" defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5885c119de1e508099cc1111e1c9f8ff00fab88
Author: Eric Anholt <eric at anholt.net>
Date: Fri Sep 20 10:13:32 2013 -0700
mesa: Dynamically allocate the storage for program local parameters.
The array was 64kb per struct gl_program, plus we statically stored a copy
of one on disk for _mesa_DummyProgram. Given that most struct gl_programs
we generate are for GLSL shaders that don't have local parameters, this
was a waste.
Since you can store and fetch parameters beyond what the program actually
uses, we do have to do a late allocation if necessary at
GetProgramLocalParameter time.
Reduces peak memory usage in the dota2 trace I made by 76MB (4.5%)
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=bb1f0969756fbb827c4b2520c632daa15342b064
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 13 13:41:28 2013 -0800
mesa: Remove PROGRAM_ENV_PARAM enum.
This has been replaced with referring to env parameters using
PROGRAM_STATE_VAR and _mesa_load_state_parameters.
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=33b0455211019988fe418cca5dfac62c7902c861
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 13 13:38:37 2013 -0800
mesa: Remove PROGRAM_LOCAL_PARAM enum.
This has been replaced with referring to local parameters using
PROGRAM_STATE_VAR and _mesa_load_state_parameters.
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=fddc17ab365370f9afb6b44fb3e2bbf68d450968
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 13 13:36:30 2013 -0800
mesa: Update a comment about valid values of a field.
Notably, ENV and LOCAL aren't used any more (replaced by STATE_VAR), but
apparently CONSTANT is.
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=aa6d7bc6d601c8803b136f427b8d86aa1043450c
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 7 12:15:13 2013 -0800
glsl: Apply the transformation "1/rsq(x) == sqrt(x)" in opt_algebraic.
The comment was stale, because the lowering in question wasn't happening
in lower_instructions.cpp. Presumably if the lowering ever moves there,
we can plumb the lowering mask through to opt_algebraic.
total instructions in shared programs: 1618696 -> 1616810 (-0.12%)
instructions in affected programs: 243018 -> 241132 (-0.78%)
GAINED: 0
LOST: 0
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=477f8cd08bb8467d28fdfd6c25fe358957e3da58
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 7 12:10:25 2013 -0800
glsl: Apply the transformation "(a ^^ a) -> false" in opt_algebraic.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58a98d32e451762934ca8c38135357f36e29654f
Author: Eric Anholt <eric at anholt.net>
Date: Thu Oct 31 09:32:42 2013 -0700
glsl: Apply the transformation "(a && a) -> a" in opt_algebraic.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee2704826264eba22d095c3e1e03a8532b7bd1e6
Author: Eric Anholt <eric at anholt.net>
Date: Thu Oct 31 00:10:32 2013 -0700
glsl: Apply the transformation "(a || a) -> a" in opt_algebraic.
total instructions in shared programs: 1732385 -> 1732373 (-0.00%)
instructions in affected programs: 416 -> 404 (-2.88%)
GAINED: 0
LOST: 0
(That's 4 already-short fragment shaders in dota2)
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8957c6b887ff09f44e7b491e7a0551e94a265b8d
Author: Eric Anholt <eric at anholt.net>
Date: Wed Oct 30 23:56:18 2013 -0700
glsl: Move the CSE equality functions to the ir class.
I want to reuse them in opt_algebraic.
v2: Merge in Chris Forbes's break fix.
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc51e7ac58d7aeab0b455e9d39b6547c2b954494
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Nov 11 15:54:16 2013 -0800
clover: Remove dead file from Makefile.sources.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ec982ad012a563b7acf9ee8c7fd61140f24ea9d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Oct 15 19:23:53 2013 -0700
i965: Rework brw_new_batch to actually start a new batch.
Previously, brw_new_batch was called just after execbuf, but before
intel_batchbuffer_reset. Essentially, it prepared for the creation of a
new batch, that wasn't yet available, and which it didn't create. This
was a bit awkward.
This patch makes brw_new_batch call intel_batchbuffer_reset as the very
first operation. This means that brw_new_batch actually creates a new
batchbuffer, and thus has it available. It brings the creation of the
new batchbuffer and BRW_NEW_BATCH flagging together into one place.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=720d935fff1c7f49ce35369e00266cf2f333cdba
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Oct 15 19:21:34 2013 -0700
i965: Move cache_used_by_gpu flag setting to brw_finish_batch.
It really makes more sense here.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96a3527a63eaa3c031d2b091dcf6ec8a608f3fde
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 11 11:12:08 2013 -0800
i915: Actually enable __DRI2rendererQueryExtensionRec
More rebase fail. This code was written long before i915 and i965 were
split, so most of the code in i9[16]5/intel_screen.c only needed to
exist in one place. It looks like I fixed n-1 of those places after
rebasing on the split.
I only found this from the defined-but-not-used warning for
intelRendererQueryExtension. I noticed this while fixing the other,
related warnings.
(Note: During review, we decided to *not* pick this back to 10.0.)
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Daniel Vetter <daniel at ffwll.ch>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Acked-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2be85e2492b6ad7e04884525904a7ec22cde0ddc
Author: Aaron Watry <awatry at gmail.com>
Date: Thu Nov 14 12:17:44 2013 -0600
radeon/llvm: Free elf_buffer after use
Prevents a memory leak.
v2: Remove null check
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=01f3622c740173d4001eb421b74d4d60a0c7fd12
Author: Aaron Watry <awatry at gmail.com>
Date: Thu Nov 14 12:17:43 2013 -0600
r600/llvm: Free binary.code/binary.config in r600_llvm_compile
radeon_llvm_compile allocates memory for binary.code, binary.config,
or neither depending on what's being done.
We need to make sure to free that memory after it's no longer needed.
v2: Don't bother checking for null before FREE()
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd73b99420de17651001e0a4d937f1f66fbef14c
Author: Aaron Watry <awatry at gmail.com>
Date: Thu Nov 14 12:17:42 2013 -0600
r600/llvm: initialize radeon_llvm_binary
use memset to initialize to 0's... otherwise code_size and config_size
could be uninitialized when read later in this method.
It's also hard to do NULL checks on uninitialized pointers.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
v2: Fix indentation
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2bc1680665473c648e8b75a98d77be7c3f07379d
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 15 10:25:19 2013 -0700
svga: remove unused vars in svga_hwtnl_simple_draw_range_elements()
And simplify the code.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a36dfb21e07a1b7ce76de347421bfd0c454ee13
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 14 13:41:19 2013 -0700
svga: print warning for unsupported indirect dest reg indexing
For DX9-level shaders, there's only limited support for indirect
indexing of registers (with the loop counter register, not the
general address register.)
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3969330b47c5b7f7843f356db0a10962553339a6
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 14 13:33:52 2013 -0700
svga: mark dest image as defined in svga_surface_copy()
After we blit/copy to a dest texture image we need to mark it as
being defined. This fixes broken mipmap generation for quite a
few texture formats. Mipgen involves making texture views and
svga_texture_view_surface() skips texture images that are undefined.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=79984b9928d4444665ce617a1e4551e53d415bd4
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 13 11:26:15 2013 -0700
svga: do primitive trimming in translate_indices()
The index translation code expects the number of indexes to be
consistent with the primitive type (ex: a multiple of 3 for
PIPE_PRIM_TRIANGLES). If it's not, we can write out of bounds
in the destination buffer.
Fixes failed assertions in the pipebuffer debug code found with
Piglit primitive-restart-draw-mode test.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=491d6397fcbe8eabfdd69500b91dbc6efc4dd894
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 13 11:24:41 2013 -0700
indices: add comments, assertions in u_indices.c file
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2253fed4a05ece30e47b32a5f450f8192dba9497
Author: Brian Paul <brianp at vmware.com>
Date: Tue Nov 12 15:09:44 2013 -0700
mesa: remove duplicated prototypes in varray.h
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=598f61ba28bcfd220104e18e89973768babeaac3
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:24 2013 -0600
gallium/pipe_loader: un-reference udev resources when we're done with them.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c6ac9e61452ffc49f8e360fc879deec8e04bbb5
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:23 2013 -0600
radeonsi/compute: Dispose of LLVM module after compiling kernels
v2: Fix indentation
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35dad4a1e235b2bf7fb3ecdb82aed0214db69a35
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:22 2013 -0600
radeonsi/compute: Free program and program.kernels on shutdown
v2: Fix indentation
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d41b10f811a89c76248f195a6b4ade62322b8c3c
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:21 2013 -0600
radeon/llvm: Free created llvm memory buffer
v2: Fix indentation
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2b93da84bda2b92108cf3b9c253fec114b69dc2
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:20 2013 -0600
radeon/llvm: Free libelf resources
v2: Fix indentation
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df482fe02f6732fb6fe7ae0a509b3c66e655bd5b
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Nov 6 16:49:19 2013 -0600
radeon/llvm: fix spelling error
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17af4dd52b0530b671fb7ae64345500f62ed7ee3
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Thu Apr 11 10:37:55 2013 -0400
clover: Support multiple devices in clCreateContextFromType() v2
v2:
- Use clGetDeviceIDs to query devices.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
CC: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f38ac41ed48fefe82360520c9d33ba9261a3e642
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Oct 29 14:41:32 2013 -0700
glsl: Rework interface block linking.
Previously, when doing intrastage and interstage interface block
linking, we only checked the interface type; this prevented us from
catching some link errors.
We now check the following additional constraints:
- For intrastage linking, the presence/absence of interface names must
match.
- For shader ins/outs, the interface names themselves must match when
doing intrastage linking (note: it's not clear from the spec whether
this is necessary, but Mesa's implementation currently relies on
it).
- Array vs. nonarray must be consistent, taking into account the
special rules for vertex-geometry linkage.
- Array sizes must be consistent (exception: during intrastage
linking, an unsized array matches a sized array).
Note: validate_interstage_interface_blocks currently handles both
uniforms and in/out variables. As a result, if all three shader types
are present (VS, GS, and FS), and a uniform interface block is
mentioned in the VS and FS but not the GS, it won't be validated. I
plan to address this in later patches.
Fixes the following piglit tests in spec/glsl-1.50/linker:
- interface-blocks-vs-fs-array-size-mismatch
- interface-vs-array-to-fs-unnamed
- interface-vs-unnamed-to-fs-array
- intrastage-interface-unnamed-array
v2: Simplify logic in intrastage_match() for handling array sizes.
Make extra_array_level const. Use an unnamed temporary
interface_block_definition in validate_interstage_interface_blocks()'s
first call to definitions->store().
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4c3b833ec8ec6787658ea90365ff565cd8846c7
Author: Paul Berry <stereotype441 at gmail.com>
Date: Tue Nov 12 10:55:18 2013 -0800
i965: Fix vertical alignment for multisampled buffers.
From the Sandy Bridge PRM, Vol 1 Part 1 7.18.3.4 (Alignment Unit
Size):
j [vertical alignment] = 4 for any render target surface is
multisampled (4x)
From the Ivy Bridge PRM, Vol 4 Part 1 2.12.2.1 (SURFACE_STATE for most
messages), under the "Surface Vertical Alignment" heading:
This field is intended to be set to VALIGN_4 if the surface was
rendered as a depth buffer, for a multisampled (4x) render target,
or for a multisampled (8x) render target, since these surfaces
support only alignment of 4.
Back in 2012 when we added multisampling support to the i965 driver,
we forgot to update the logic for computing the vertical alignment, so
we were often using a vertical alignment of 2 for multisampled
buffers, leading to subtle rendering errors.
Note that the specs also require a vertical alignment of 4 for all
Y-tiled render target surfaces; I plan to address that in a separate
patch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53077
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46e9f78efcb6ccc25ea59d83624aaa5077254a85
Author: Paul Berry <stereotype441 at gmail.com>
Date: Wed Nov 13 14:24:09 2013 -0800
main: Fix MaxUniformComponents for geometry shaders.
For both vertex and fragment shaders we default MaxUniformComponents
to 4 * MAX_UNIFORMS. It makes sense to do this for geometry shaders
too; if back-ends have different limits they can override them as
necessary.
Fixes piglit test:
spec/glsl-1.50/built-in constants/gl_MaxGeometryUniformComponents
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=420ccf7b8f33c92657479462478db787c431d750
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Nov 15 15:42:02 2013 +0000
tools/trace: Several bugfixes/improvements to dump_state.py
- Don't crash with user memory pointers.
- Support old bind_*_sampler_* methods. Useful when comparing dumps
from old branches.
- Misc.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5a05a6aefb0c2dd34bf8b42a7ef3051dcc891c2
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Nov 15 15:32:33 2013 +0000
trace: Dump user_buffer members.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ff353c218a1ab1fd3fb797a4780612ec4b0451d8
Author: Fredrik Höglund <fredrik at kde.org>
Date: Mon Nov 11 18:54:15 2013 +0100
mesa: Fix derived vertex state not being updated in glCallList()
AEcontext::NewState is not always set when the vertex array state
is changed.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71492
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=469b42ee21d6bc530200c76cb0e73b0b461ab6e8
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Tue Sep 24 12:13:42 2013 -0400
radeonsi: add Hawaii pci ids
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5778f152b250cb233f4bee021baae916e504afe
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Tue Sep 24 12:12:29 2013 -0400
radeonsi: add support for Hawaii asics (v2)
Update additional register fields.
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=78fc159d68becdf4c04d35e3d21917ae45b839ba
Author: Vinson Lee <vlee at freedesktop.org>
Date: Thu Nov 14 22:33:56 2013 -0800
i965: Initialize schedule_node::delay.
Fixes "Uninitialized scalar field" defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7ce1d772d6eed6ca84b2f65612dbcc9b68a4658
Author: Alexander von Gluck IV <kallisti5 at unixzen.com>
Date: Wed Nov 13 23:51:00 2013 +0000
haiku/swrast: Inherit gl_config, fix flush
* Inherit gl_context so we always have access to it
* Thanks curro for the idea.
* Last Haiku cannidate for 10.0.0
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=473cb3fe4a1bd2e6a271392e41ab121b60889a87
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 14 15:48:30 2013 +0000
llvmpipe: (trivial) fix more fallout from the setup cleanup.
Oops... Should have done some more testing.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5190c16a045691f4b8349f9d7ad39307006e5f3f
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 14 14:42:28 2013 +0000
llvmpipe: (trivial) fix misplaced bld context assignment.
Should fix polygon offset crashes...
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a29e40a42382630c2d9d95d3a1e03a7b3db87add
Author: José Fonseca <jfonseca at vmware.com>
Date: Thu Nov 14 14:02:24 2013 +0000
gallivm: Compile flag to debug TGSI execution through printfs.
It is similar to tgsi_exec.c's DEBUG_EXECUTION compile flag.
I had prototyped this for a while while debugging an issue, but finally
cleaned this up and added a few more bells and whistles.
v2: Use '$' as marker; better output. Thanks to Brian, Zack and Roland
reviews.
Here is a sample output.
CONST[0].x = 0.00625000009 0.00625000009 0.00625000009 0.00625000009
CONST[0].y = -0.00714285718 -0.00714285718 -0.00714285718 -0.00714285718
CONST[0].z = -1 -1 -1 -1
CONST[0].w = 1 1 1 1
IN[0].x = 143.5 175.5 175.5 143.5
IN[0].y = 123.5 123.5 155.5 155.5
IN[0].z = 0 0 0 0
IN[0].w = 1 1 1 1
$ 1: RCP TEMP[0].w, IN[0].wwww
TEMP[0].w = 1 1 1 1
$ 2: MAD TEMP[0].xy, IN[0], CONST[0], CONST[0].zwzw
TEMP[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
TEMP[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
$ 3: MUL OUT[0].xy, TEMP[0], TEMP[0].wwww
OUT[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
OUT[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
$ 4: MUL OUT[0].z, IN[0].zzzz, TEMP[0].wwww
OUT[0].z = 0 0 0 0
$ 5: MOV OUT[0].w, TEMP[0]
OUT[0].w = 1 1 1 1
$ 6: END
OUT[0].x = -0.103124976 0.0968750715 0.0968750715 -0.103124976
OUT[0].y = 0.117857158 0.117857158 -0.110714316 -0.110714316
OUT[0].z = 0 0 0 0
OUT[0].w = 1 1 1 1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=673d5391a2f4084525de6c5cebf322ddb0e2acf1
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Nov 14 12:21:02 2013 +0000
softpipe: (trivial) fix debug code
The debug printfs wouldn't actually compile when enabled, so kill them off
and insert some new one in another place, and make sure it keeps compiling
by enclosing it in a if-0 clause.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2dd693412a866db7744c9e458229693a81c7b911
Author: Roland Scheidegger <sroland at vmware.com>
Date: Tue Nov 12 20:02:15 2013 +0000
llvmpipe: clean up state setup code a bit
In particular get rid of home-grown vector helpers which didn't add much.
And while here fix formatting a bit. No functional change.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=754319490f6946a9ad5ee619822d5fe4254e6759
Author: Roland Scheidegger <sroland at vmware.com>
Date: Mon Nov 11 14:29:25 2013 +0000
gallivm,llvmpipe: fix float->srgb conversion to handle NaNs
d3d10 requires us to convert NaNs to zero for any float->int conversion.
We don't really do that but mostly seems to work. In particular I suspect the
very common float->unorm8 path only really passes because it relies on sse2
pack intrinsics which just happen to work by luck for NaNs (float->int
conversion in hw gives integer indeterminate value, which just happens to be
-0x80000000 hence gets converted to zero in the end after pack intrinsics).
However, float->srgb didn't get so lucky, because we need to clamp before
blending and clamping resulted in NaN behavior being undefined (and actually
got converted to 1.0 by clamping with sse2). Fix this by using a zero/one clamp
with defined nan behavior as we can handle the NaN for free this way.
I suspect there's more bugs lurking in this area (e.g. converting floats to
snorm) as we don't really use defined NaN behavior everywhere but this seems
to be good enough.
While here respecify nan behavior modes a bit, in particular the return_second
mode didn't really do what we wanted. From the caller's perspective, we really
wanted to say we need the non-nan result, but we already know the second arg
isn't a NaN. So we use this now instead, which means that cpu architectures
which actually implement min/max by always returning non-nan (that is adhering
to ieee754-2008 rules) don't need to bend over backwards for nothing.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a15a19f0d1b024f5f18f1dfe878ae8d399e38469
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 11 11:08:26 2013 -0800
dri: Change value param to unsigned
This silences some compiler warnings in i915 and i965. See also
75982a5.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb6182bdfa7c8a5a773ec21112886f742df99840
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 11 10:57:55 2013 -0800
i965: Use drm_intel_get_aperture_sizes instead of hard-coded 2GiB
Systems with little physical memory installed will report less than
2GiB, and some systems may (hypothetically?) have a larger address space
for the GPU. My IVB still reports 1534.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9fe108db0942ebf41cd1cce0ca6a6444901fbb0a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Nov 11 10:55:34 2013 -0800
i915: Use drm_intel_get_aperture_sizes instead of drmAgpSize
Send the zombie back to the grave before it infects the townsfolk.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=279e8d264109303f0e8248ab4c3703c71f65983f
Author: Alexander Monakov <amonakov at gmail.com>
Date: Mon Nov 4 01:34:32 2013 +0400
i965: implement blit path for PBO glDrawPixels
This patch implements accelerated path for glDrawPixels from a PBO in
i965. The code follows what intel_pixel_read, intel_pixel_copy,
intel_pixel_bitmap and intel_tex_image are doing. Piglit quick.tests
show no regressions. In my testing on IVB, performance improvement is
huge (about 30x, didn't measure exactly) since generic path goes via
_mesa_unpack_color_span_float, memcpy, extract_float_rgba.
Signed-off-by: Alexander Monakov <amonakov at ispras.ru>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=19c2f406498f0a683fe475967f285e1572172a0a
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 13 10:06:23 2013 -0700
docs: fill in md5 checksums for 9.2.3 release
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c093cd3984f573c895d15883929d0d5fac711bcd
Author: Brian Paul <brianp at vmware.com>
Date: Wed Nov 13 10:00:46 2013 -0700
docs: fix 9.2.2 -> 9.2.3 typos
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df91144a6d17f934ac5cccd63bca2f49e967708a
Author: Alexander von Gluck IV <kallisti5 at unixzen.com>
Date: Wed Nov 13 05:39:19 2013 +0000
haiku: add swrast driver
* This is pretty small and upkeep should be minimal.
* Currently fully working.
* Cannidate for 10.0.0 branch
Acked-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9976a176ae62d53e8ad0c0f934d207e22ac41e85
Author: Carl Worth <cworth at cworth.org>
Date: Wed Nov 13 07:31:42 2013 -0800
docs: Import 9.2.3 release notes, add news item.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0489531455623aa21aa565b2c890362d8437f23
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Mon Nov 11 16:35:35 2013 -0800
dri: Remove redundant createNewContext function from __DRIimageDriverExtension
createContextAttribs is a superset of what createNewContext provides.
Also remove the function typedef, since createNewContext is deprecated
and no longer used in multiple interfaces.
Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68bb26bead333764f140225926a9123f38b567a3
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Fri Nov 8 22:10:36 2013 -0800
wayland: Use __DRIimage based getBuffers implementation when available
This lets us allocate color buffers as __DRIimages and pass them into
the driver instead of having to create a __DRIbuffer with the flink
that requires.
Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04e3ef00dbeab177793954781ddfd298724b6d8d
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Fri Nov 8 22:06:51 2013 -0800
gbm: Add support for __DRIimage based getBuffers when available
This lets us allocate color buffers as __DRIimages and pass them into
the driver instead of having to create a __DRIbuffer with the flink
that requires.
With this patch, we can now run gbm on render-nodes. A render-node is a
drm device that doesn't support modesetting and all the legacy DRI ioctls.
flink is also not supported, but now that gbm doesn't need flink, we can
run piglit on head-less gbm or head-less GPGPU.
Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Tested-by: Jordan Justen <jordan.l.justen at intel.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ba6be2617a46a7cd8567ffe65f496e917a93374
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Date: Tue Nov 12 14:47:08 2013 +0200
dri/i915, dri/i965: Fix support for planar images
Planar images have format __DRI_IMAGE_FORMAT_NONE, but the patch that
moved the conversion from dri_format to the mesa format made it
impossible to allocate a image with that format.
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e9daead784921e453906853a4a78a2f3135af2e0
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 6 17:38:23 2013 -0800
i965/fs: Try a different pre-scheduling heuristic if the first spills.
Since LIFO fails on some shaders in one particular way, and non-LIFO
systematically fails in another way on different kinds of shaders, try
them both, and pick whichever one successfully register allocates first.
Slightly prefer non-LIFO in case we produce extra dependencies in register
allocation, since it should start out with fewer stalls than LIFO.
This is madness, but I haven't come up with another way to get unigine
tropics to not spill while keeping other programs from not spilling and
retaining the non-unigine performance wins from texture-grf.
total instructions in shared programs: 1626728 -> 1626288 (-0.03%)
instructions in affected programs: 1015 -> 575 (-43.35%)
GAINED: 50
LOST: 0
Improves Unigine Tropics performance by 14.5257% +/- 0.241838% (n=38)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70445
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbd8303a943d0d491b7c2415eb237a0731c7dec5
Author: Eric Anholt <eric at anholt.net>
Date: Wed Nov 6 17:43:25 2013 -0800
i965/fs: Do instruction pre-scheduling just before register allocation.
Long ago, the HW_REG usage in assign_curb/urb_setup() were scheduling
barriers, so we had to run scheduler before them in order for it to be
able to do basically anything. Now that that's fixed, we can delay the
scheduling until we go to allocate (which will make the next change less
scary).
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f72a0d99fed5d6205431a59775484cde3442cceb
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 5 23:30:33 2013 -0800
i965/fs: Ignore actual latency pre-reg-alloc.
We care about depth-until-program-end, as a proxy for "make sure I
schedule those early instructions that open up the other things that can
make progress while keeping register pressure low", not actual latency
(since we're relying on the post-register-alloc scheduling to actually
schedule for the hardware).
total instructions in shared programs: 1609931 -> 1609931 (0.00%)
instructions in affected programs: 0 -> 0
GAINED: 55
LOST: 43
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c90947a0ba7f61b58a6fd5b94a08587e68d978e
Author: Eric Anholt <eric at anholt.net>
Date: Mon Nov 4 22:56:33 2013 -0800
i965/fs: Fix message setup for SIMD8 spills.
In the SIMD16 spilling changes, I replaced a "1" in the spill path with
"mlen", but obviously it wasn't mlen before because spills have the g0
header along with the payload. The interface I was trying to use was
asking for how many physical regs we're writing, so we're looking for "1"
or "2".
I'm guessing this actually passed piglit because the high 8 bits of the
execution mask in SIMD8 mode are all 0s.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc0e3bb4d05fbb5e8e2af8dce8170cb78cfe0e70
Author: Eric Anholt <eric at anholt.net>
Date: Mon Oct 14 11:38:09 2013 -0700
i965/fs: Prefer things we know reduce reg pressure when pre-scheduling.
Previously, the best thing we had was to schedule the things unblocked by
the last chosen instruction, on the hope that it would be consuming two
values at the end of their live intervals while only producing one new
value. But that's just a guess, and we can do counting of usage of
registers to know when an instruction would (almost surely) reduce
register pressure.
The only failure mode I know of in this new dominant heuristic is that
inside of a loop when scheduling the iterator (for example), choosing the
last use of the iterator doesn't actually reduce the live interval of the
iterator. But it doesn't seem to matter in shader-db:
total instructions in shared programs: 1618700 -> 1618700 (0.00%)
instructions in affected programs: 0 -> 0
GAINED: 13
LOST: 0
Note: The new functions are made virtual because I expect we'll soon lift
the pre-regalloc scheduling heuristic over to the vec4 backend.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b3e1592c26a183580342282e509d906d78bb6f6
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 5 16:24:58 2013 -0800
i965: Fix undefined value usage in ABO setup.
Fixes a compiler warning.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bd45a7e7ed8be3f5bb13689d249fc886cf73067
Author: Eric Anholt <eric at anholt.net>
Date: Thu Oct 31 10:14:17 2013 -0700
i965: Add a warning if something ever hits a bug I noticed.
We'd have to map the VBO and rewrite things to a lower stride to fix it.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c944bde5bee6097fd42eed23d293e021df76f6d7
Author: Ben Skeggs <bskeggs at redhat.com>
Date: Tue Nov 12 17:58:18 2013 +1000
nvc0: release 3d bufctx after drawing
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=99d447cc5dafa3a36b970068961989cced62e3b6
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Nov 12 11:14:20 2013 -0800
clover: Fix the const variant of adaptor_range::end to deal with mismatching range sizes.
Fixes infinite loop in find_grid_optimal_factor() in cases where the
user specifies a grid size with less dimensions than the device
supports.
Reported-by: Tom Stellard <thomas.stellard at amd.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50f19e3a668b1b589bf00613d33c7c7c4e6a4954
Author: Roland Scheidegger <sroland at vmware.com>
Date: Mon Nov 11 15:11:59 2013 +0000
draw,llvmpipe: use exponent manipulation instead of exp2 for polygon offset
Since we explicitly require a integer input we should avoid using exp2 math
(even if we were using optimized versions), which turns the exp2 into a int
sub (plus some casts).
v2: fix bogus uint (needs to be int) math spotted by Matthew, fix comments
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d77e4f922a8c34541d8b187e171738006bd6f4d
Author: Cyril Brulebois <kibi at debian.org>
Date: Tue Nov 12 02:51:00 2013 -0700
gallium: fix build on GNU/Hurd due to missing PIPE_OS_HURD detection
Thanks to Pino Toscano. Patch from Debian package.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2b844f59d86c5971118bfccb00ddc5a1b69797a
Author: Petr Sebor <petr at scssoft.com>
Date: Mon Nov 11 16:19:00 2013 -0700
meta: enable vertex attributes in the context of the newly created array object
Otherwise, the function would enable generic vertex attributes 0
and 1 of the array object it does not own. This was causing crashes
in Euro Truck Simulator 2, since the incorrectly enabled generic
attribute 0 in the foreign context got precedence before vertex
position attribute at later time, leading to NULL pointer dereference.
Cc: "9.2" <mesa-stable at lists.freedesktop.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Petr Sebor <petr at scssoft.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=76317355bd8adca1fb5ef33b021962413db0c69d
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 13:52:45 2013 -0700
mesa: 80-column wrapping, remove trailing whitespace in arrayobj.c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8f3722129f2311583e605fb65bb4ab41252cf91
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 11:51:55 2013 -0700
mesa: add comment for struct gl_vertex_buffer_binding
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce193d4f01baa7f88692164f5673606de162f483
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 15:06:13 2013 -0700
mesa: call update_array_format() after error checking
We try to do all error checking before changing any GL state.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f22f3207e298f53aaf8c965a39f758578a28600
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 10:57:23 2013 -0700
mesa: use _mesa_is_bufferobj() helper in _mesa_vertex_attrib_address()
And use a regular if statment to slightly improve readability.
Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e032abcb2716e3ee676b5a44079d4bbb95c466f9
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 10:56:09 2013 -0700
mesa: add const qualifiers to vertex array helper functions
Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=08122e151a511236bccf7ab94efa4278ea3b3b6c
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Nov 9 13:29:35 2013 -0500
nouveau/video: mark bitstream-level acceleration as unsupported
Adding a vl_mpeg-based helper didn't seem to work, as it produced data
that the card couldn't handle. (And I didn't investigate further.) This
makes the decoding functionality only accessible via XvMC and avoids
crashes when attempting to use VDPAU.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8d5d3409c73329dba8678b52a53acf5735f04b1
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Nov 9 13:29:34 2013 -0500
nouveau/video: don't try on nv3x
It doesn't work, I don't know why, but no point in hanging people's
displays until it gets figured out.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=594fa4a208b138b0b9b24cc8de62e6681ebb8d21
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Wed Oct 23 16:02:16 2013 -0400
egl-static: Only export necessary symbols v3
This fixes a crash in glamor when mesa links against static LLVM.
v2:
- Inline LINKER_SCRIPT variable
v3: Kai Wasserbäch
- Fix out out-of-tree-builds
Tested-by: Kai Wasserbäch <kai at dev.carbon-project.or>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb080a10b68b82467ebb6f62e047f15cd2e5af80
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Wed Oct 23 15:36:41 2013 -0400
configure.ac: Don't require shared LLVM when building OpenCL
This works now that pipe_*.so is no longer exporting LLVM symbols.
Tested-by: Kai Wasserbäch <kai at dev.carbon-project.or>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d6c749215739d0b5f5143dd00a782082b3d03a2
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Wed Oct 23 15:35:45 2013 -0400
pipe-loader: Only export necessary symbols v3
This makes it possible to use clover with statically linked LLVM.
v2:
- Inline LINKER_SCRIPT variable
v3: Kai Wasserbäch
- Fix out out-of-tree-builds
Tested-by: Kai Wasserbäch <kai at dev.carbon-project.or>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a859131003fc79094cf99c92cc6a11a0f0c659f7
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Wed Oct 16 13:43:08 2013 -0400
radeonsi/compute: Add Sea Islands support
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=88c8f1972976c506e8fb048100ed11fef1ca938b
Author: Vincent Lejeune <vljn at ovi.com>
Date: Wed Oct 30 18:35:58 2013 +0100
r600/llvm: Store inputs in function arguments
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23afe71f444067cad927273728529ff15ba394df
Author: Rico Schüller <kgbricola at web.de>
Date: Mon Nov 11 21:18:27 2013 +0100
tests: Fix make check for out of tree builds.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Rico Schüller <kgbricola at web.de>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=348b91b7dcb2c160b7e0e4f5aedf7042590a0b5e
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Thu Nov 7 16:27:25 2013 -0800
i965: Move #define's inside function as local variables
X_f, Y_f, Xp_f, Yp_f variables are used just inside
translate_dst_to_src().So, they can be defined just
as local variables.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=227872571ac57e47777fe1350fe9f5a355b5fbb8
Author: Vinson Lee <vlee at freedesktop.org>
Date: Fri Sep 27 22:20:04 2013 -0700
i915, i965: Fix memory leak in intel_miptree_create_for_bo.
Fixes "Resource leak" defects reported by Coverity.
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab2da985b67704ac556da591e227b41f3a2e1419
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 7 19:47:13 2013 -0700
osmesa: assorted code clean-ups
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a66a008b17872f3eab91b7d04dd70e4537bdb627
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 7 19:01:39 2013 -0700
osmesa: fix broken triangle/line drawing when using float color buffer
Doesn't seem to help with bug 71363 but it fixed a failure I found in
my testing.
Cc: "9.2" <mesa-stable at lists.freedesktop.org>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=34ce1a850236b94186f73c24a7ddb0f18075eb94
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 7 17:28:33 2013 -0700
svga: improve loops over color buffers
Only loop over the actual number of color buffers supported, not
PIPE_MAX_COLOR_BUFS.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2182d2db28e9ae5c276dcbad1309cf3484a4476e
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 7 16:57:23 2013 -0700
svga: document magic number of 8 render targets per batch
Grab the comments from commit message b84b7f19dfdc0 to explain
what the code is doing.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc21b36daf9037f0747071e124b73f48ea5ff117
Author: Brian Paul <brianp at vmware.com>
Date: Thu Nov 7 16:59:40 2013 -0700
util: set all unused cbufs to NULL in util_copy_framebuffer_state()
This helps fix an issue in the svga driver, and is just safer all-around.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=944eebbdb4ea9dd8283f83ade01110be9bf2bba7
Author: Brian Paul <brianp at vmware.com>
Date: Mon Nov 11 08:12:05 2013 -0700
glx: declare glx_screen struct to silence warning
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=75982a5df42cd2406e529b7c96b36d2a8b1f7b60
Author: Brian Paul <brianp at vmware.com>
Date: Fri Nov 8 09:00:46 2013 -0700
glx: change query_renderer_integer() value param to unsigned
When this function was added, the returned value was signed in some
places, unsigned in others.
v2: also add unsigned in the unit test, per Ian.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c6f4aa6fdad19574406ea7edcbcca45d02e89b6
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Nov 8 17:55:14 2013 +0000
glx: Fix scons build.
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-commit
mailing list