URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=40440385b6001947b60d1ec891329f445a89362e
Author: Emil Velikov <[email protected]>
Date: Wed Sep 2 17:36:22 2015 +0100
mesa; add get-extra-pick-list.sh script into bin/
This is a very rudimentary script that checks if any of the applied
cherry-picks have been referenced (fixed?) by another patch. With the
latter either missing the stable tag or hasn't yet been picked.
Signed-off-by: Emil Velikov <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=92b62b8870687f96adf101bc26ce61801dc4b29f
Author: Ilia Mirkin <[email protected]>
Date: Thu Sep 10 23:58:17 2015 -0400
nvc0/ir: start offset at texBindBase for txq, like regular texturing
Curiously this has no actual effect. I think it's because the first 8
textures are bound in multiple slots for some reason. However seems
prudent to use these the same way as regular texturing, esp in the case
where there are more than 8 textures bound.
Signed-off-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 5877a594d54fdd2b3aa329f4d35b3491a7ee8a33)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93110
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8be58198cf480cbab05b5fa42101294cb8c1d667
Author: Leo Liu <[email protected]>
Date: Fri Nov 20 12:07:52 2015 -0500
radeon/vce: disable Stoney VCE for 11.0
Signed-off-by: Leo Liu <[email protected]>
Cc: "11.0" <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=14c43df99676f4462fd70b04a22a3b6dd81bafd9
Author: François Tigeot <[email protected]>
Date: Tue Nov 17 18:54:01 2015 +0100
xmlconfig: Add support for DragonFly
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 8a94ba5e0cb738c6b1a817ea54afc5816d2bb596)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=83d4fa41039b678bb2f0d5c099f4b23030338041
Author: Daniel Stone <[email protected]>
Date: Sat Nov 7 18:25:31 2015 +0000
egl/wayland: Ignore rects from SwapBuffersWithDamage
eglSwapBuffersWithDamage accepts damage-region rectangles to hint the
compositor that it only needs to redraw certain areas, which was passed
through the wl_surface_damage request, as designed.
Wayland also offers a buffer transformation interface, e.g. to allow
users to render pre-rotated buffers. Unfortunately, there is no way to
query buffer transforms, and the damage region was provided in surface,
rather than buffer, co-ordinate space.
Users could in theory account for this themselves, but EGL also requires
co-ordinates to be passed in GL/mathematical co-ordinate space, with an
inversion to Wayland's natural/scanout co-ordinate space, so
transformations other than a 180-degree rotation will fail as EGL
attempts to subtract the region from (its view of the) surface height.
Pending creation and acceptance of a wl_surface.buffer_damage request,
which will accept co-ordinates in buffer co-ordinate space, pessimise to
always sending full-surface damage.
bce64c6c provides the explanation for why we send maximum-range damage,
rather than the full size of the surface: in the presence of buffer
transformations, full-surface damage may not actually cover the entire
surface.
Signed-off-by: Daniel Stone <[email protected]>
Reviewed-by: Pekka Paalanen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit d1314de293e9e4a63c35f094c3893aaaed8580b4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1f1c5edaa8fc39d7582e505c446f7a8ae11c4f2
Author: Jonathan Gray <[email protected]>
Date: Mon Nov 23 14:22:24 2015 +1100
automake: fix some occurrences of hardcoded -ldl and -lpthread
Correct some occurrences of -ldl and -lpthread to use
$(DLOPEN_LIBS) and $(PTHREAD_LIBS) respectively.
Signed-off-by: Jonathan Gray <[email protected]>
Cc: "11.0 11.1" <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 99cd60083518ad4465e3e29996168e8fa8a89fbb)
[Emil Velikov: drop the unneeded i965 hunk]
Signed-off-by: Emil Velikov <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5474b52bba196af38f3eaacfce69285e7d768dad
Author: Dave Airlie <[email protected]>
Date: Tue Feb 24 14:09:40 2015 +1000
r600: workaround empty geom shader.
We need to emit at least one cut/emit in every
geometry shader, the easiest workaround it to
stick a single CUT at the top of each geom shader.
Reviewed-by: Marek Olšák <[email protected]>
Cc: "10.6 11.0 11.1" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 4f347225752b48f3dc5a59a6be71fe78616252a7)
[Emil Velikov: squash trivial conflict]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/r600/r600_shader.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b8cfadf84c0c4939469ca6451c6ae467da5d094
Author: Dave Airlie <[email protected]>
Date: Tue Feb 24 16:30:05 2015 +1000
r600: rv670 use at least 16es/gs threads
This is specified in the docs for rv670 to work properly.
Reviewed-by: Marek Olšák <[email protected]>
Cc: "10.6 11.0 11.1" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 04efcc6c7adfda75b425f443588f0faab453ba3a)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6818206a694d01be058a5122766e0d50087e676c
Author: Dave Airlie <[email protected]>
Date: Wed Feb 18 23:51:19 2015 +0000
r600: geometry shader gsvs itemsize workaround
On some chips the GSVS itemsize needs to be aligned to a cacheline size.
This only applies to some of the r600 family chips.
Reviewed-by: Marek Olšák <[email protected]>
Cc: "10.6 11.0 11.1" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 8168dfdd4e63457bd8a9ef04a5d49a1f2e202ab8)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7a973642e304d7bf8f213de6da3a0e43aa8e96a
Author: Marta Lofstedt <[email protected]>
Date: Fri Nov 27 15:31:05 2015 +0100
gles2: Update gl2ext.h to revision: 32120
This is needed to be able to implement the accepted OES
extensions.
Cc: "11.0 11.1" <[email protected]>
Signed-off-by: Marta Lofstedt <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 1d5b88e33b07bc26d612720e6cb197a6917ba75f)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c9e925e0a210cc7f26b5bb0cd2f1c54bd7ad83c
Author: Ilia Mirkin <[email protected]>
Date: Thu Nov 26 10:32:57 2015 -0500
mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93126
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Eduardo Lima Mitev <[email protected]>
Cc: "11.0 11.1" <[email protected]>
(cherry picked from commit 0396eaaf80c5d7955d7926c4e448f006c7682d2e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4298a2aa2480dc5d2a23116386b85af33b0c001
Author: Dave Airlie <[email protected]>
Date: Wed Nov 11 12:33:38 2015 +1000
texgetimage: consolidate 1D array handling code.
This should fix the getteximage-depth test that currently asserts.
I was hitting problem with virgl as well in this area.
This moves the 1D array handling code to a single place.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Ben Skeggs <[email protected]>
Cc: "10.6 11.0 11.1" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 237bcdbab529237a120e225c63f567934a955523)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1b4f40d491d1aac8f253b15176512dcdf4479de
Author: Ilia Mirkin <[email protected]>
Date: Sat Apr 18 15:00:45 2015 -0400
nv50/ir: fix (un)spilling of 3-wide results
There is no 96-bit load/store operations, so we have to split it up
into a 32-bit parts, with a split/merge around it.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90348
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "11.0 11.1" <[email protected]>
(cherry picked from commit 4deb118d06e96731f3481daa72c201d7258bfbbb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3833237902f7232441fb2db536416007cc1e1f1c
Author: Ilia Mirkin <[email protected]>
Date: Sun Nov 22 21:08:16 2015 -0500
nv50,nvc0: properly handle buffer storage invalidation on dsa buffer
In case that the buffer has no bind at all, assume it can be a regular
buffer. This can happen on buffers created through the ARB_dsa
interfaces.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "11.0 11.1" <[email protected]>
(cherry picked from commit ad5f6b03e793b9390e3b9f3eca68bd43f9d809eb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=26114e86e3bcb1a6f1a6484169791394be23de9a
Author: Ilia Mirkin <[email protected]>
Date: Sun Nov 22 20:58:56 2015 -0500
nouveau: use the buffer usage to determine placement when no binding
With ARB_direct_state_access, buffers can be created without any binding
hints at all. We still need to allocate these buffers to VRAM or GART,
as we don't have logic down the line to place them into GPU-mappable
space. Ideally we'd be able to shift these things around based on usage.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92438
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: "11.0 11.1" <[email protected]>
(cherry picked from commit 079f713754a9e5d7802b655d54320bd37f24fbfa)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6be31fc250aae4b4a1711d162dd6957d03884eb
Author: Ian Romanick <[email protected]>
Date: Tue Nov 17 18:35:00 2015 -0800
glsl: Fix off-by-one error in array size check assertion
Apparently, this has been a bug since 2010 (c30f6e5d).
Also use ARRAY_SIZE instead of open coding it.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: [email protected]
(cherry picked from commit 2f554761536bbfd0d8ec22e807c18bd6df0f22b8)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=895ec179439d3222319da5cbf1e2b8fb102b5dc4
Author: Ilia Mirkin <[email protected]>
Date: Sun Nov 8 13:43:07 2015 -0500
nir: fix typo in idiv lowering, causing large-udiv-udiv failures
In nv50, and in the python script that Rob circulated, we do:
bld.mkCmp(OP_SET, CC_GE, TYPE_U32, (s = bld.getSSA()), TYPE_U32, m, b);
Do the same in the nir div lowering pass. This fixes the large-udiv-udiv
piglit tests on freedreno.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
Signed-off-by: Rob Clark <[email protected]>
(cherry picked from commit b40e144a665142957a7ae027238e61fd01a27ebc)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=82853079bd06f278fcda3f1e8a75e70277a0eb4d
Author: Oded Gabbay <[email protected]>
Date: Tue Nov 17 16:16:46 2015 +0200
llvmpipe: disable VSX in ppc due to LLVM PPC bug
This patch disables the use of VSX instructions, as they cause some
piglit tests to fail
For more details, see: https://llvm.org/bugs/show_bug.cgi?id=25503#c7
With this patch, ppc64le reaches parity with x86-64 as far as piglit test
suite is concerned.
v2:
- Added check that we have at least LLVM 3.4
- Added the LLVM bug URL as a comment in the code
v3:
- Only disable VSX if Altivec is supported, because if Altivec support
is missing, then VSX support doesn't exist anyway.
- Change original patch description.
Signed-off-by: Oded Gabbay <[email protected]>
Cc: "11.0" <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
(cherry picked from commit 4581f8428e0e1d2f6787d0765823c7883bd2cfcd)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=650bf10b28299adfc47d7a29597ec961add24612
Author: Ilia Mirkin <[email protected]>
Date: Wed Nov 18 14:23:35 2015 -0500
nvc0/ir: actually emit AFETCH on kepler
Looks like this was forgotten in the commit which added the AFETCH
logic.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 8e68113c1a78c48f26e820f4beb2dda9e4b99f32)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3be98f6c9ff599a3382013ad18f95656ce9c33cd
Author: Ian Romanick <[email protected]>
Date: Fri Nov 13 16:09:37 2015 -0800
meta/generate_mipmap: Don't leak the framebuffer object
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Cc: "10.6 11.0" <[email protected]>
(cherry picked from commit 72e232374eda780a5dcd374b55d203d0e2a6d02b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fba4d236dedb2f43f18dc7036f3dd2f04096d24d
Author: Emil Velikov <[email protected]>
Date: Thu Dec 3 15:17:32 2015 +0000
get-pick-list.sh: Require explicit "11.0" for nominating stable patches
A nomination unadorned with a specific version is now interpreted as
being aimed at the 11,0 branch, which was recently opened.
Signed-off-by: Emil Velikov <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bb68405ecdec65dbb910e975eb26b216a05afc9
Author: Ian Romanick <[email protected]>
Date: Mon Nov 9 13:11:02 2015 -0800
meta/TexSubImage: Don't pollute the buffer object namespace
tl;dr: For many types of GL object, we can *NEVER* use the Gen function.
In OpenGL ES (all versions!) and OpenGL compatibility profile,
applications don't have to call Gen functions. The GL spec is very
clear about how you can mix-and-match generated names and non-generated
names: you can use any name you want for a particular object type until
you call the Gen function for that object type.
Here's the problem scenario:
- Application calls a meta function that generates a name. The first
Gen will probably return 1.
- Application decides to use the same name for an object of the same
type without calling Gen. Many demo programs use names 1, 2, 3,
etc. without calling Gen.
- Application calls the meta function again, and the meta function
replaces the data. The application's data is lost, and the app
fails. Have fun debugging that.
Signed-off-by: Ian Romanick <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92363
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 58aa56d40bfc6ba54ad9172bf219d18eeb615a80)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dcaea0fd1a96e1a8320ca2acd5fbd1d2f44fc7b
Author: Ian Romanick <[email protected]>
Date: Thu Nov 5 14:44:26 2015 -0800
meta: Don't pollute the buffer object namespace in _mesa_meta_DrawTex
tl;dr: For many types of GL object, we can *NEVER* use the Gen function.
In OpenGL ES (all versions!) and OpenGL compatibility profile,
applications don't have to call Gen functions. The GL spec is very
clear about how you can mix-and-match generated names and non-generated
names: you can use any name you want for a particular object type until
you call the Gen function for that object type.
Here's the problem scenario:
- Application calls a meta function that generates a name. The first
Gen will probably return 1.
- Application decides to use the same name for an object of the same
type without calling Gen. Many demo programs use names 1, 2, 3,
etc. without calling Gen.
- Application calls the meta function again, and the meta function
replaces the data. The application's data is lost, and the app
fails. Have fun debugging that.
Signed-off-by: Ian Romanick <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92363
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 76cfe2bc4436186fd585be96c4f402c1b1c79bdf)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1baf7904d90cd48072bfcfc9aa1c27c5aa1a0f8d
Author: Ian Romanick <[email protected]>
Date: Thu Nov 5 14:42:07 2015 -0800
meta: Use internal functions for buffer object and VAO access in
_mesa_meta_DrawTex
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit a222d4cbc3de49857aebbdf727e53c273abcc6c1)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=186eb3bd7f5e8a1076a84740757239df249ada55
Author: Ian Romanick <[email protected]>
Date: Thu Nov 5 14:31:23 2015 -0800
meta: Track VBO using gl_buffer_object instead of GL API object handle in
_mesa_meta_DrawTex
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit b8a7369fb7e5773892d01fcb1140fe6569ee27eb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c59e4063576141b0dcf55fb0cb8f7c379fd5932a
Author: Ian Romanick <[email protected]>
Date: Thu Nov 5 14:16:31 2015 -0800
meta: Partially convert _mesa_meta_DrawTex to DSA
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit d5225ee5d92f00958c54b425fe829c811149e889)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=702f4e3b942acfa5919f11bdf04bacfb07311d05
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 17:41:16 2015 -0800
meta: Don't pollute the buffer object namespace in
_mesa_meta_setup_vertex_objects
tl;dr: For many types of GL object, we can *NEVER* use the Gen function.
In OpenGL ES (all versions!) and OpenGL compatibility profile,
applications don't have to call Gen functions. The GL spec is very
clear about how you can mix-and-match generated names and non-generated
names: you can use any name you want for a particular object type until
you call the Gen function for that object type.
Here's the problem scenario:
- Application calls a meta function that generates a name. The first
Gen will probably return 1.
- Application decides to use the same name for an object of the same
type without calling Gen. Many demo programs use names 1, 2, 3,
etc. without calling Gen.
- Application calls the meta function again, and the meta function
replaces the data. The application's data is lost, and the app
fails. Have fun debugging that.
Signed-off-by: Ian Romanick <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92363
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 37d11b13ce1db2ad867ff5433cb31bcd1d93c7bf)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=593a473f4396957102376cd037d1e214bfe62a86
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 16:47:22 2015 -0800
meta: Use internal functions for buffer object and VAO access
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit b1b73a42c8f245d5bf6bbed04071b2c6519b2fb4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2688a8573b699cda6d7323eb8ed2d01c85201663
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 15:55:14 2015 -0800
meta: Use DSA functions for VBOs in _mesa_meta_setup_vertex_objects
The fixed-function attribute paths don't get the DSA treatment because
there are no DSA entry-points for fixed-function attributes. These
could have been added, but this is a temporary patch intended to make
later patches easier to review.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 52921f8e089abbc6871060fc50f90b62aaf1e11b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb88260ec0d931c90302aa1af26627ff3857eda2
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 15:37:40 2015 -0800
meta: Track VBO using gl_buffer_object instead of GL API object handle
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 1035e00a815f0babddac0c6c43d01fd34f7e8a94)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e69c2746616dee4121d3a4a0f7e3127755df37e4
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 20:11:02 2015 -0800
meta: Don't leave the VBO bound after _mesa_meta_setup_vertex_objects
Meta currently does this, but future changes will make this impossible.
Explicitly do it as a step in the patch series now to catch any possible
kinks.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 3b5a7d450dea9bfadf1d72338f4418c87340805b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa4b6a78fa36f03a53082474f57ef559a6bf3643
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 19:10:08 2015 -0800
i965: Use _mesa_NamedBufferSubData for users of
_mesa_meta_setup_vertex_objects
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit ed0bd6573b6ce83471e73d009dbab5220f9e80c0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=36afa9988b79ed513ac72706b1b72ff2f3c33f1d
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 18:36:34 2015 -0800
meta: Use _mesa_NamedBufferData and _mesa_NamedBufferSubData for users of
_mesa_meta_setup_vertex_objects
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 7f2f3000716d994d94c53f4a0c8a211fb00a46a4)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=896fe2da47d73b748356f128013bade61a1169ca
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 18:33:54 2015 -0800
meta: Use DSA functions for PBO in create_texture_for_pbo
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 89a61afdd7346d6e36caccc4d6f2a2607dc4a1f6)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=15366684da3d6a2e190e1d8660fcee39c9b38a6c
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 17:04:41 2015 -0800
i965: Don't pollute the buffer object namespace in brw_meta_fast_clear
tl;dr: For many types of GL object, we can *NEVER* use the Gen function.
In OpenGL ES (all versions!) and OpenGL compatibility profile,
applications don't have to call Gen functions. The GL spec is very
clear about how you can mix-and-match generated names and non-generated
names: you can use any name you want for a particular object type until
you call the Gen function for that object type.
Here's the problem scenario:
- Application calls a meta function that generates a name. The first
Gen will probably return 1.
- Application decides to use the same name for an object of the same
type without calling Gen. Many demo programs use names 1, 2, 3,
etc. without calling Gen.
- Application calls the meta function again, and the meta function
replaces the data. The application's data is lost, and the app
fails. Have fun debugging that.
Signed-off-by: Ian Romanick <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92363
Reviewed-by: Abdiel Janulgue <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 4e6b9c11fc545cc570ea0042af93e61bfb525d34)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c49c5e64a59884dee27fc1b8e469f2b02ed16bef
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 14:49:03 2015 -0800
i965: Use internal functions for buffer object access
Instead of going through the GL API implementation functions, use the
lower-level functions. This means that we have to keep track of a
pointer to the gl_buffer_object and the gl_vertex_array_object.
This has two advantages. First, it avoids a bunch of CPU overhead in
looking up objects and validing API parameters. Second, and much more
importantly, it will allow us to stop calling _mesa_GenBuffers /
_mesa_CreateBuffers and pollute the buffer namespace (next patch).
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Abdiel Janulgue <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit e62799bd4e7b7525995e465a4bdcf6df0b0a69a0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8cf4e490fc367bd68f31acffc0289efa52b7f79
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 14:31:56 2015 -0800
i965: Use DSA functions for VBOs in brw_meta_fast_clear
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Abdiel Janulgue <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 1c5423d3a074d50138e5ad7945024f9cf4d063ec)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=86a0afb460c1ea0b2a0f4a9e66c7e4a02a0130e2
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 12:41:28 2015 -0800
i965: Pass brw_context instead of gl_context to brw_draw_rectlist
Future patches will use the brw_context instead. Keeping this
non-functional change separate should make the function changes easier
to review.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Abdiel Janulgue <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit dcadd855f14b0d3dcce04a16afdfed2d7159d4a8)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=84a4b35492f805ec7c5d54edefd409e141101046
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 16:16:00 2015 -0800
mesa: Refactor enable_vertex_array_attrib to make
_mesa_enable_vertex_array_attrib
Pulls the parts of enable_vertex_array_attrib that aren't just parameter
validation out into a function that can be called from other parts of
Mesa (e.g., meta).
_mesa_enable_vertex_array_attrib can also be used to enable
fixed-function arrays.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 4a644f1caadc6b3e26b5f0ac60ac855152e38e59)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb0749bf154f2a9e12689d0e39e7af1da51e353f
Author: Ian Romanick <[email protected]>
Date: Tue Nov 3 16:09:22 2015 -0800
mesa: Refactor update_array_format to make _mesa_update_array_format_public
Pulls the parts of update_array_format that aren't just parameter
validation out into a function that can be called from other parts of
Mesa (e.g., meta).
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit a336fcd36a4743c1ea6f8549cb31b48277359717)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f727742cdb366f4bf01c46e6648ef00a32ceca4d
Author: Ian Romanick <[email protected]>
Date: Mon Nov 2 12:40:32 2015 -0800
mesa: Make bind_vertex_buffer avilable outside varray.c
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Abdiel Janulgue <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit 8fae494df2813bfa38f1aabd6c9b3c1ba3a5e4ef)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d76bdaaf2d97775028b93f3b86ac7414cf9ca2da
Author: Chris Wilson <[email protected]>
Date: Tue Sep 1 09:31:15 2015 +0100
meta: Compute correct buffer size with SkipRows/SkipPixels
If the user is specifying a subregion of a buffer using SKIP_ROWS and
SKIP_PIXELS, we must compute the buffer size carefully as the end of the
last row may be much shorter than stride*image_height*depth. The current
code tries to memcpy from beyond the end of the user data, for example
causing:
==28136== Invalid read of size 8
==28136== at 0x4C2D94E: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:915)
==28136== by 0xB4ADFE3: brw_bo_write (brw_batch.c:1856)
==28136== by 0xB5B3531: brw_buffer_data (intel_buffer_objects.c:208)
==28136== by 0xB0F6275: _mesa_buffer_data (bufferobj.c:1600)
==28136== by 0xB0F6346: _mesa_BufferData (bufferobj.c:1631)
==28136== by 0xB37A1EE: create_texture_for_pbo (meta_tex_subimage.c:103)
==28136== by 0xB37A467: _mesa_meta_pbo_TexSubImage
(meta_tex_subimage.c:176)
==28136== by 0xB5C8D61: intelTexSubImage (intel_tex_subimage.c:195)
==28136== by 0xB254AB4: _mesa_texture_sub_image (teximage.c:3654)
==28136== by 0xB254C9F: texsubimage (teximage.c:3712)
==28136== by 0xB2550E9: _mesa_TexSubImage2D (teximage.c:3853)
==28136== by 0x401CA0: UploadTexSubImage2D (teximage.c:171)
==28136== Address 0xd8bfbe0 is 0 bytes after a block of size 1,024 alloc'd
==28136== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==28136== by 0x402014: PerfDraw (teximage.c:270)
==28136== by 0x402648: Draw (glmain.c:182)
==28136== by 0x8385E63: ??? (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x83896C8: fgEnumWindows (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x838641C: glutMainLoopEvent (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x8386C1C: glutMainLoop (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x4019C1: main (glmain.c:262)
==28136==
==28136== Invalid read of size 8
==28136== at 0x4C2D940: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:915)
==28136== by 0xB4ADFE3: brw_bo_write (brw_batch.c:1856)
==28136== by 0xB5B3531: brw_buffer_data (intel_buffer_objects.c:208)
==28136== by 0xB0F6275: _mesa_buffer_data (bufferobj.c:1600)
==28136== by 0xB0F6346: _mesa_BufferData (bufferobj.c:1631)
==28136== by 0xB37A1EE: create_texture_for_pbo (meta_tex_subimage.c:103)
==28136== by 0xB37A467: _mesa_meta_pbo_TexSubImage
(meta_tex_subimage.c:176)
==28136== by 0xB5C8D61: intelTexSubImage (intel_tex_subimage.c:195)
==28136== by 0xB254AB4: _mesa_texture_sub_image (teximage.c:3654)
==28136== by 0xB254C9F: texsubimage (teximage.c:3712)
==28136== by 0xB2550E9: _mesa_TexSubImage2D (teximage.c:3853)
==28136== by 0x401CA0: UploadTexSubImage2D (teximage.c:171)
==28136== Address 0xd8bfbe8 is 8 bytes after a block of size 1,024 alloc'd
==28136== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==28136== by 0x402014: PerfDraw (teximage.c:270)
==28136== by 0x402648: Draw (glmain.c:182)
==28136== by 0x8385E63: ??? (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x83896C8: fgEnumWindows (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x838641C: glutMainLoopEvent (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x8386C1C: glutMainLoop (in
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0)
==28136== by 0x4019C1: main (glmain.c:262)
==28136==
Fixes regression from commit 7f396189f073d626c5f7a2c232dac92b65f5a23f
Author: Jason Ekstrand <[email protected]>
Date: Mon Jan 5 18:17:04 2015 -0800
meta: Add a BlitFramebuffers-based implementation of TexSubImage
v2: However, the teximage we create does need to be width x full_height x 1
Signed-off-by: Chris Wilson <[email protected]>
Cc: Jason Ekstrand <[email protected]>
Cc: Neil Roberts <[email protected]>
Reviewed-by Neil Roberts <[email protected]>
(cherry picked from commit f30cf3258e495a583e011e07d5b4a19031c5518f)
_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit