Mario Kleiner [Fri, 5 Dec 2014 07:42:32 +0000 (08:42 +0100)]
glx/dri3: Don't fail on glXSwapBuffersMscOML(dpy, window, 0, 0, 0) (v2)
glXSwapBuffersMscOML() with target_msc=divisor=remainder=0 gets
translated into target_msc=divisor=0 but remainder=1 by the mesa
api. This is done for server DRI2 where there needs to be a way
to tell the server-side DRI2ScheduleSwap implementation if a call
to glXSwapBuffers() or glXSwapBuffersMscOML(dpy,window,0,0,0) was
done. remainder = 1 was (ab)used as a flag to tell the server to
select proper semantic. The DRI3/Present backend ignored this
signalling, treated any target_msc=0 as glXSwapBuffers() request,
and called xcb_present_pixmap with invalid divisor=0, remainder=1
combo. The present extension responded kindly to this with a
BadValue error and dropped the request, but mesa's DRI3/Present
backend doesn't check for error codes. From there on stuff went
downhill quickly for the calling OpenGL client...
This patch fixes the problem.
v2: Change comments to be more clear, with reference to
relevant spec, as suggested by Eric Anholt.
Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Eric Anholt <eric@anholt.net>
Mario Kleiner [Fri, 5 Dec 2014 07:42:31 +0000 (08:42 +0100)]
glx/dri3: Request non-vsynced Present for swapinterval zero. (v3)
Restores proper immediate tearing swap behaviour for
OpenGL bufferswap under DRI3/Present.
Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
v2: Add Frank Binns signed off by for his original earlier
patch from April 2014, which is identical to this one, and
Chris Wilsons reviewed tag from May 2014 for that patch, ergo
also for this one.
v3: Incorporate comment about triple buffering as suggested
by Axel Davy, and reference to relevant spec provided by
Eric Anholt.
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Eric Anholt <eric@anholt.net>
Mario Kleiner [Fri, 5 Dec 2014 07:42:30 +0000 (08:42 +0100)]
glx/dri3: Track separate (ust, msc) for PresentPixmap vs. PresentNotifyMsc (v2)
Prevent calls to glXGetSyncValuesOML() and glXWaitForMscOML()
from overwriting the (ust,msc) values of the last successfull
swapbuffers call (PresentPixmapCompleteNotify event), as
glXWaitForSbcOML() relies on those values corresponding to
the most recent completed swap, not to whatever was last
returned from the server.
Problematic call sequence without this patch would have been, e.g.,
glXSwapBuffers()
... wait ...
swap completes -> PresentPixmapComplete event -> (ust,msc)
updated to reflect swap completion time and count.
... wait for at least 1 video refresh cycle/vblank increment.
glXGetSyncValuesOML()
-> PresentNotifyMsc event overwrites (ust,msc) of swap
completion with (ust,msc) of most recent vblank
glXWaitForSbcOML()
-> Returns sbc of last completed swap but (ust,msc) of last
completed vblank, not of last completed swap.
-> Client is confused.
Do this by tracking a separate set of (ust, msc) for the
dri3_wait_for_msc() call than for the dri3_wait_for_sbc()
call.
This makes the glXWaitForSbcOML() call robust again and restores
consistent behaviour with the DRI2 implementation.
Fixes applications originally written and tested against
DRI2 which also rely on this not regressing under DRI3/Present,
e.g., Neuro-Science software like Psychtoolbox-3.
This patch fixes the problem.
v2: Rename vblank_msc/ust to notify_msc/ust as suggested by
Axel Davy for better clarity.
Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Mario Kleiner [Fri, 5 Dec 2014 07:42:29 +0000 (08:42 +0100)]
glx/dri3: Fix glXWaitForSbcOML() to handle targetSBC==0 correctly. (v2)
targetSBC == 0 is a special case, which asks the function
to block until all pending OpenGL bufferswap requests have
completed.
Currently the function just falls through for targetSBC == 0,
returning bogus results.
This breaks applications originally written and tested against
DRI2 which also rely on this not regressing under DRI3/Present,
e.g., Neuro-Science software like Psychtoolbox-3.
This patch fixes the problem.
v2: Simplify as suggested by Axel Davy. Add comments proposed
by Eric Anholt.
Cc: "10.3 10.4" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Eric Anholt <eric@anholt.net>
Emil Velikov [Sun, 14 Dec 2014 13:57:54 +0000 (13:57 +0000)]
docs: Add 10.4 sha256 sums, news item and link release notes
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
(cherry picked from commit
af0c82099b955f10471c15cb7a4dc8db29b84963)
Conflicts:
docs/index.html
docs/relnotes.html
Emil Velikov [Sun, 14 Dec 2014 13:45:54 +0000 (13:45 +0000)]
docs: Update 10.4.0 release notes
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
(cherry picked from commit
5fe79b0b1272d530371a5d7248ed378cff4f6d21)
Rob Clark [Fri, 12 Dec 2014 18:38:05 +0000 (13:38 -0500)]
freedreno/a4xx: mipmaps
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Fri, 12 Dec 2014 18:34:57 +0000 (13:34 -0500)]
freedreno: update generated headers
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Fri, 12 Dec 2014 23:51:36 +0000 (18:51 -0500)]
freedreno: add is_a3xx()/is_a4xx() helpers
A bunch of open-coded 'gpu_id > 300's seems like it will eventually
cause problems with future generations. There were already a few minor
problems with caps for features that still need additional work on a4xx.
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Rob Clark [Fri, 12 Dec 2014 22:20:50 +0000 (17:20 -0500)]
freedreno: helper to calc layer/level offset
Rather than duplicating this everywhere. Especially as on a4xx the
layout of layers and levels differs based on texture type.
Signed-off-by: Rob Clark <robclark@freedesktop.org>
Kenneth Graunke [Wed, 10 Dec 2014 08:52:50 +0000 (00:52 -0800)]
i965/vec4: Drop writemasks on scratch reads.
This code is complete nonsense and has apparently existed since I first
implemented register spilling in the VS two years ago.
Scratch reads are SEND messages, which ignore the destination writemask.
The comment about "data that may not have been written to scratch" is
also confusing - we always spill whole 4x2 registers, so such data
simply does not exist. We can safely ignore the writemask.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Timothy Arceri [Fri, 12 Dec 2014 12:13:57 +0000 (23:13 +1100)]
mesa: remove long dead 3Dnow optimisation
This code has been turned off for the last
decade. Considering 3Dnow is obsolete it
seems the bug will never be fixed so just
remove it.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 12 Dec 2014 23:45:33 +0000 (16:45 -0700)]
ir_to_mesa: remove unused 'target' variable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 12 Dec 2014 23:45:33 +0000 (16:45 -0700)]
util: add missing closing brace for __cplusplus
Brian Paul [Fri, 12 Dec 2014 23:45:33 +0000 (16:45 -0700)]
mesa: remove obsolete comment on _mesa_ClearColor()
Brian Paul [Fri, 12 Dec 2014 23:45:33 +0000 (16:45 -0700)]
mesa: whitespace fixes, 80-column wrapping in texobj.c
Brian Paul [Fri, 12 Dec 2014 23:45:33 +0000 (16:45 -0700)]
mesa: whitespace, line wrap fixes in clear.c
Matt Turner [Fri, 12 Dec 2014 20:09:34 +0000 (12:09 -0800)]
mapi: Move rules for generating glapi_mapi_tmp.h out of the conditional.
Allows distcheck to succeed, regardless of how Mesa has been configured.
Matt Turner [Sun, 7 Dec 2014 23:23:47 +0000 (15:23 -0800)]
glsl: Add dist-hook to delete glcpp test *.out files.
Matt Turner [Mon, 8 Dec 2014 07:43:00 +0000 (23:43 -0800)]
glcpp: Make tests write .out files to builddir.
Matt Turner [Sun, 7 Dec 2014 23:13:45 +0000 (15:13 -0800)]
gallium: Remove Android files from distribution.
Android builds Mesa from git, so there don't need to be in the tarball.
Matt Turner [Sun, 7 Dec 2014 23:10:39 +0000 (15:10 -0800)]
osmesa: Add osmesa.def to distribution.
Matt Turner [Sun, 7 Dec 2014 22:51:57 +0000 (14:51 -0800)]
x86-64: Remove calling_convention.txt.
It just details the x86-64 calling convention. No need for this in Mesa.
Matt Turner [Sun, 7 Dec 2014 22:51:23 +0000 (14:51 -0800)]
drivers/x11: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 22:50:33 +0000 (14:50 -0800)]
drivers/windows: Add to distribution.
Matt Turner [Sun, 7 Dec 2014 22:48:15 +0000 (14:48 -0800)]
mesa: Add autogen.sh to distribution.
Matt Turner [Sun, 7 Dec 2014 22:27:22 +0000 (14:27 -0800)]
mapi: Add ABI-check tests to distribution.
Matt Turner [Sun, 7 Dec 2014 22:12:33 +0000 (14:12 -0800)]
mesa: Add notes/readme files to distribution.
Matt Turner [Sun, 7 Dec 2014 22:08:58 +0000 (14:08 -0800)]
util: Wire up u_atomic_test.
Matt Turner [Sun, 7 Dec 2014 22:07:32 +0000 (14:07 -0800)]
mesa: Add scons files to distribution.
Matt Turner [Sun, 7 Dec 2014 22:00:03 +0000 (14:00 -0800)]
haiku: Add files to distribution.
Matt Turner [Sun, 7 Dec 2014 21:33:38 +0000 (13:33 -0800)]
egl: Add files to distribution.
Matt Turner [Sun, 7 Dec 2014 21:32:40 +0000 (13:32 -0800)]
egl+gbm: Add symbols-check tests to distribution.
Matt Turner [Sun, 7 Dec 2014 21:30:24 +0000 (13:30 -0800)]
docs: Add to distribution.
Matt Turner [Sun, 7 Dec 2014 21:27:35 +0000 (13:27 -0800)]
glapi/gen: Add gl_and_glX_API.xml to distribution.
Matt Turner [Sun, 7 Dec 2014 21:24:28 +0000 (13:24 -0800)]
glx/apple: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 21:21:53 +0000 (13:21 -0800)]
mesa: Add a dist hook to remove .gitignore files from distribution.
Matt Turner [Sun, 7 Dec 2014 19:30:58 +0000 (11:30 -0800)]
mesa: Add clean-local rule to remove .lib links.
Matt Turner [Sun, 7 Dec 2014 19:29:55 +0000 (11:29 -0800)]
glsl: Add clean-local rule to delete glcpp test output.
Matt Turner [Sun, 7 Dec 2014 19:29:00 +0000 (11:29 -0800)]
util: List hash_table tests as check_PROGRAMS.
EXTRA_PROGRAMS is not what you want for binaries listed in TEST.
Matt Turner [Sun, 7 Dec 2014 18:54:08 +0000 (10:54 -0800)]
xmlpool: Add $(MOS) and options.h to CLEANFILES.
Matt Turner [Sun, 7 Dec 2014 08:12:29 +0000 (00:12 -0800)]
dri: Add uninstall hooks to handle megadriver hardlinks.
Matt Turner [Sun, 7 Dec 2014 08:00:27 +0000 (00:00 -0800)]
targets/dri: Remove unnecessary variables in install-data-hook.
Matt Turner [Sun, 7 Dec 2014 07:46:37 +0000 (23:46 -0800)]
glx/tests: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 07:22:20 +0000 (23:22 -0800)]
gallium/targets: Add *.sym files to distribution.
And add d3dadapter9's extra dependency.
Matt Turner [Sun, 7 Dec 2014 07:09:46 +0000 (23:09 -0800)]
egl/dri2: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 07:04:12 +0000 (23:04 -0800)]
egl: Drop unnecessary Makefile.am.
Matt Turner [Sun, 7 Dec 2014 06:57:47 +0000 (22:57 -0800)]
glx: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 06:51:13 +0000 (22:51 -0800)]
glx: Alphabetize source lists.
And remove absurd tab-space-space indentation.
Matt Turner [Sun, 7 Dec 2014 06:43:29 +0000 (22:43 -0800)]
swrast: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 06:05:47 +0000 (22:05 -0800)]
r200: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 06:01:40 +0000 (22:01 -0800)]
r200: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 06:01:07 +0000 (22:01 -0800)]
radeon: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:57:15 +0000 (21:57 -0800)]
radeon: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:56:41 +0000 (21:56 -0800)]
nouveau: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:55:35 +0000 (21:55 -0800)]
nouveau: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:53:00 +0000 (21:53 -0800)]
i965: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:50:58 +0000 (21:50 -0800)]
i965: Alphabetize source list.
Matt Turner [Sun, 7 Dec 2014 05:47:26 +0000 (21:47 -0800)]
i915: Add headers to distribution.
Matt Turner [Sun, 7 Dec 2014 05:45:36 +0000 (21:45 -0800)]
i915: Alphabetize source list.
Matt Turner [Sat, 5 Apr 2014 17:09:26 +0000 (10:09 -0700)]
loader: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 06:35:15 +0000 (22:35 -0800)]
program: Add lex and yacc sources to distribution.
Since we have manual build rules and list the .c/.cpp files in SOURCES,
we need to explicitly list these for distribution.
Matt Turner [Tue, 12 Nov 2013 06:24:09 +0000 (22:24 -0800)]
glsl: Add parser headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:50:22 +0000 (21:50 -0800)]
drivers/common: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:47:27 +0000 (21:47 -0800)]
vbo: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:45:53 +0000 (21:45 -0800)]
vbo: Alphabetize VBO_FILES.
Matt Turner [Tue, 12 Nov 2013 05:44:29 +0000 (21:44 -0800)]
tnl: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:41:11 +0000 (21:41 -0800)]
tnl: Alphabetize TNL_FILES.
Matt Turner [Tue, 12 Nov 2013 05:39:40 +0000 (21:39 -0800)]
tnl_dd: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:38:43 +0000 (21:38 -0800)]
tnl_dd: Remove dead t_dd_vb.c.
Dead since
e4344161 ("dri: Remove all DRI1 drivers").
Matt Turner [Tue, 12 Nov 2013 05:33:08 +0000 (21:33 -0800)]
swrast: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:29:29 +0000 (21:29 -0800)]
state_trackers: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:26:33 +0000 (21:26 -0800)]
x86: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:23:20 +0000 (21:23 -0800)]
x86-64: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:21:49 +0000 (21:21 -0800)]
sparc: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:20:51 +0000 (21:20 -0800)]
math: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:09:24 +0000 (21:09 -0800)]
program: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 05:06:40 +0000 (21:06 -0800)]
program: Alphabetize PROGRAM_FILES.
Matt Turner [Sun, 7 Dec 2014 04:17:51 +0000 (20:17 -0800)]
mesa: Remove moved texcompress_rgtc_tmp.h from source list.
Missed in commit
ebcb2ee9.
Matt Turner [Tue, 12 Nov 2013 05:00:20 +0000 (21:00 -0800)]
mesa: Add headers to distribution.
Matt Turner [Tue, 12 Nov 2013 04:51:03 +0000 (20:51 -0800)]
mesa: Alphabetize MAIN_FILES.
Matt Turner [Tue, 12 Nov 2013 04:08:01 +0000 (20:08 -0800)]
glsl: Add lex and yacc sources to distribution.
Since we have manual build rules and list the .c/.cpp files in SOURCES,
we need to explicitly list these for distribution.
Matt Turner [Tue, 12 Nov 2013 03:45:05 +0000 (19:45 -0800)]
include: Add remaining headers to distribution.
Matt Turner [Sun, 7 Dec 2014 23:29:19 +0000 (15:29 -0800)]
configure.ac: Ship .xz compressed tarballs, in addition to .gz.
11 MiB -> 6.5 MiB.
Matt Turner [Fri, 22 Feb 2013 02:13:46 +0000 (18:13 -0800)]
configure.ac: Use tar-ustar archive format.
The default tar-v7 archive format doesn't support filenames longer than
99 characters, of which we have a few (in src/glsl/tests/lower_jumps/).
Matt Turner [Mon, 11 Nov 2013 02:39:55 +0000 (18:39 -0800)]
gtest: Add headers to distribution.
Matt Turner [Mon, 11 Nov 2013 02:23:51 +0000 (18:23 -0800)]
glsl: Add headers to distribution.
Matt Turner [Mon, 21 Jan 2013 18:07:49 +0000 (10:07 -0800)]
glsl: Distribute tests/, TODO, and README
Matt Turner [Mon, 21 Jan 2013 02:25:51 +0000 (18:25 -0800)]
mesa: Add python scripts to distribution.
Matt Turner [Mon, 21 Jan 2013 02:24:37 +0000 (18:24 -0800)]
dri/common: Add files to distribution.
Matt Turner [Sun, 7 Dec 2014 08:13:43 +0000 (00:13 -0800)]
vgapi: Add vgapi.csv to distribution.
Matt Turner [Fri, 22 Feb 2013 00:27:03 +0000 (16:27 -0800)]
mapi: Add mapi_abi.py to EXTRA_DIST
Matt Turner [Sun, 7 Dec 2014 05:02:05 +0000 (21:02 -0800)]
dri/common: Drop unused mmio.h.
Unused since commit
7550a24f.
Matt Turner [Sun, 7 Dec 2014 04:36:32 +0000 (20:36 -0800)]
glapi/gen: Add KHR_context_flush_control.xml to distribution.
Matt Turner [Sun, 7 Dec 2014 04:34:10 +0000 (20:34 -0800)]
configure.ac: Drop generating egl-static and gbm Makefiles.
Matt Turner [Sun, 7 Dec 2014 04:21:20 +0000 (20:21 -0800)]
util: Add headers and python scripts for distribution.
Matt Turner [Sun, 7 Dec 2014 04:18:51 +0000 (20:18 -0800)]
glapi: Make mapi/glapi/gen before mapi to avoid distcheck problem.
Matt Turner [Sun, 7 Dec 2014 07:04:53 +0000 (23:04 -0800)]
r200: Avoid out of bounds array access.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Fri, 12 Dec 2014 08:06:21 +0000 (00:06 -0800)]
vc4: Fix referencing of sync objects.
While the pipe_reference_* helpers set the pointer, a bare pipe_reference
doesn't. Fixes 5 ARB_sync tests.
José Fonseca [Fri, 12 Dec 2014 14:06:17 +0000 (14:06 +0000)]
util: Unbreak usage of assert()/debug_assert() inside expressions.
f0ba7d897d1c22202531acb70f134f2edc30557d made debug_assert()/assert()
unsafe for expressions, but only now that u_atomic.h started to rely on
them for Windows that this became an issue.
This fixes non-debug builds with MSVC.
Reviewed-by: Brian Paul <brianp@vmware.com>