mesa.git
6 years agomesa: Collect all the draw functions in draw.{h,c}.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:20 +0000 (06:13 +0100)]
mesa: Collect all the draw functions in draw.{h,c}.

Some of these functions were distributed across different
implementation and header files. Put them at a central place.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agomesa/vbo: Move _vbo_draw_indirect -> _mesa_draw_indirect
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:20 +0000 (06:13 +0100)]
mesa/vbo: Move _vbo_draw_indirect -> _mesa_draw_indirect

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agomesa/vbo: Move src/mesa/vbo/vbo_exec_array.c -> src/mesa/main/draw.c
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:20 +0000 (06:13 +0100)]
mesa/vbo: Move src/mesa/vbo/vbo_exec_array.c -> src/mesa/main/draw.c

The array type draw is no longer directly dependent on the vbo module.
Thus move array type draws into mesa/main/draw.c.
Rename symbols starting with vbo_* to _mesa_* and apply some
reindenting to make it consistent.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Pull the _mesa_set_draw_vao calls out of the if clauses.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Pull the _mesa_set_draw_vao calls out of the if clauses.

These calls are just the same in each if branch. So pull that
before the if.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Preserve vbo_save::no_current_update on primitive restart.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Preserve vbo_save::no_current_update on primitive restart.

With this change we preserve the no_current_update property when we
observe a glPrimitiveRestart call. That means that we now also get the
no_current_update optimization for display lists that are made
out of indexed draws using primitive restart.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Make no_current_update an argument to vbo_save_NotifyBegin.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Make no_current_update an argument to vbo_save_NotifyBegin.

Instead of coding additional information into the primitive
mode, make the only remaining flag there a direct argument to
vbo_save_NotifyBegin.

v2: Fix incorrect no_current_update in glRectf.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Move no_current_update out of _mesa_prim.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Move no_current_update out of _mesa_prim.

The _mesa_prim::no_current_update flag should tell the compiled
display list if the current attributes that are placed in the dlists
vbo shall take a defined state past replay of a display list.
Immediate mode draws compiled into display lists should set the
current values. Array draws may leave the current values in
undefined state.
So finally this flag is not a property of every primitive
but it is a property of the compiled display list and there it
is a property of the last primitive compiled into the list.
So move the flag out of _mesa_prim into vbo_save.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove the now unused VBO_SAVE_PRIM_WEAK define.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove the now unused VBO_SAVE_PRIM_WEAK define.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove the always false branch dlist replay.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove the always false branch dlist replay.

The previous patch left a constant if (0) in the code.
Clean that up now.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Test for VBO_SAVE_PRIM_WEAK in _mesa_prim::mode is false.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Test for VBO_SAVE_PRIM_WEAK in _mesa_prim::mode is false.

When setting the _mesa_prim::mode field we always filter out
all non OpenGL primitive mode bits. So this tested bit cannot be
there anymore and the test evaluates to zero.
The zero is removed with the next patch to ease review.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove VBO_SAVE_PRIM_WEAK from vbo_save_NotifyBegin calls.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove VBO_SAVE_PRIM_WEAK from vbo_save_NotifyBegin calls.

Now looking at the implementation of vbo_save_NotifyBegin.
The VBO_SAVE_PRIM_WEAK flag, delivered in the primitive mode
argument to vbo_save_NotifyBegin, is not evaluated anymore.
The two users of the mode argument are the primitive mode
itself, where the VBO_SAVE_PRIM_WEAK bit is masked out to
retrieve the underlying OpenGL primitive mode. The other
user is to check for the VBO_SAVE_PRIM_NO_CURRENT_UPDATE bit
which is different from VBO_SAVE_PRIM_WEAK.
So, since vbo_save_NotifyBegin does not care about
VBO_SAVE_PRIM_WEAK, we can savely remove it from the call
arguments of vbo_save_NotifyBegin.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove set but not used weak field from _mesa_prim.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove set but not used weak field from _mesa_prim.

The only reader of the weak field in _mesa_prim is pretty
console printing. By that, remove the weak field from _mesa_prim.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove the VBO_SAVE_FALLBACK flag.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove the VBO_SAVE_FALLBACK flag.

On finishing a display list playback the VBO_SAVE_FALLBACK bit
is still kept in vbo_save_context::replay_flags. But examining
replay_flags and the display list flags that feed this value
the corresponding bit is never set these days anymore.
So, since it is nowhere set or checked, we can safely remove it.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agovbo: Remove unused vbo_save_fallback function.
Mathias Fröhlich [Mon, 29 Oct 2018 05:13:19 +0000 (06:13 +0100)]
vbo: Remove unused vbo_save_fallback function.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agodocs/relnotes: add the EGL Device extensions
Emil Velikov [Wed, 31 Oct 2018 21:36:16 +0000 (21:36 +0000)]
docs/relnotes: add the EGL Device extensions

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agomeson: egl: group dri2 bits separately from haiku
Emil Velikov [Sat, 18 Aug 2018 12:23:11 +0000 (13:23 +0100)]
meson: egl: group dri2 bits separately from haiku

One cannot have haiku and dri2 - surfaceless,x11,etc.

Group things up, which will make the addition of platform_device a bit
easier.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
6 years agoegl: enable EGL_EXT_device_{base,enumeration,query}
Emil Velikov [Mon, 3 Sep 2018 17:48:29 +0000 (18:48 +0100)]
egl: enable EGL_EXT_device_{base,enumeration,query}

Now that we support the extensions, fully, enabled them.

The specs mandate that we always have at least one device and each dpy
has a device associated with it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agoegl: set the EGLDevice when creating a display
Emil Velikov [Tue, 4 Sep 2018 10:20:03 +0000 (11:20 +0100)]
egl: set the EGLDevice when creating a display

This is the final requirement from the base EGLDevice spec.

v2:
 - split from another patch
 - move wayland hunk after we have the fd

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agoegl: add EGL_EXT_device_drm support
Emil Velikov [Wed, 4 Jul 2018 16:21:16 +0000 (17:21 +0100)]
egl: add EGL_EXT_device_drm support

Add implementation based around the drmDevice API. As such it's only
available only when building with libdrm. With the latter already a
requirement when using !SW code paths in the platform code.

Note: the current code will work if a device is hot-plugged. Yet
hot-unplugged is not implemented, since I have no ways of testing it.

v2:
 - ddd some _eglDeviceSupports checks
 - require DRM_NODE_RENDER
 - add _eglGetDRMDeviceRenderNode helper

v3:
 - flip inverted asserts (Mathias)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agoegl: add EGL_MESA_device_software support
Emil Velikov [Tue, 3 Jul 2018 12:08:59 +0000 (13:08 +0100)]
egl: add EGL_MESA_device_software support

Add a plain software device, which is always available.

We can safely assign it as the first/initial device in _eglGlobals,
although we ensure that's the case with a handful of _eglDeviceSupports
checks throughout the code.

v2:
 - s/_eglFindDevice/_eglAddDevice/ (Eric)
 - s/_eglLookupAllDevices/_eglRefreshDeviceList/ (Eric)
 - move ^^ helpers into a earlier patch (Eric, Mathias)
 - set the SW device on _eglGlobal init. (Eric)
 - add a number of _eglDeviceSupports checks (Mathias)
 - split Device/Display attach to a separate patch

v3:
 - flip inverted asserts (Mathias)
 - s/on-stack/static/ (Mathias)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agospecs: Add EGL_MESA_device_software
Adam Jackson [Wed, 2 Aug 2017 20:24:06 +0000 (16:24 -0400)]
specs: Add EGL_MESA_device_software

The device extension string is expected to contain the name of the
extension defining what kind of device it is, so the caller can know
what kinds of operations it can perform with it. So that string had
better be non-empty, hence this trivial extension.

v2:
 - drop "fallback", update history and update contributor list

Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agoegl: add base EGL_EXT_device_base implementation
Emil Velikov [Fri, 24 Jul 2015 14:19:55 +0000 (16:19 +0200)]
egl: add base EGL_EXT_device_base implementation

Introduce the API for device query and enumeration. Those at the moment
produce nothing useful since zero devices are actually available.

That contradicts with the spec, so the extension isn't advertised just
yet.

With later commits we'll add support for software (always) and hardware
devices. Each one exposing the respective extension string.

v2:
 - fold API boilerplate into this patch
 - move _eglAddDevice, _eglDeviceSupports, _eglRefreshDeviceList to this
patch (Eric, Mathias)
 - make _eglFiniDevice the one called last

v3:
 - comment on the dummy _egl_device_extension enum entry (Eric)
 - annotate dev as MAYBE_UNUSED (Mathias)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
6 years agoglx: be explicit about when mapping X <> GLX visuals
Emil Velikov [Thu, 6 Sep 2018 10:25:38 +0000 (11:25 +0100)]
glx: be explicit about when mapping X <> GLX visuals

Write down both X and GLX visual types when mapping from one to the
other. Makes grepping through the code a tiny bit easier.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
6 years agoglx: remove unused __glXPreferEGL() declaration
Emil Velikov [Tue, 4 Sep 2018 16:34:43 +0000 (17:34 +0100)]
glx: remove unused __glXPreferEGL() declaration

The function definition is no longer around, drop the useless declaration.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
6 years agotravis: use mako for python2
Emil Velikov [Wed, 31 Oct 2018 21:54:49 +0000 (21:54 +0000)]
travis: use mako for python2

Earlier commit flipped the default to python2 but forgot to update the
travis file. Props to pip caching things "worked" for a little while.

Fixes: f22ad5ef182 ("travis: use python3 for the autoconf builds")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoradv/xfb: don't increase offset by component mask start.
Dave Airlie [Wed, 31 Oct 2018 02:56:09 +0000 (02:56 +0000)]
radv/xfb: don't increase offset by component mask start.

This is incorrect, the offset is into the buffer, and it's legal
to write

loc 0,0 -> buffer0, offset 0
loc 0,1 -> buffer1, offset 0

This fixes a bunch of piglits running on my zink xfb code on
radv.

Fixes: 6c21645046 (radv: emit stream outputs for vertex and tessellation stages)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
6 years agoutil/gen_xmlpool: Make use of python's foreach loop
Dylan Baker [Wed, 24 Oct 2018 19:34:33 +0000 (12:34 -0700)]
util/gen_xmlpool: Make use of python's foreach loop

Instead of using a while loop with indexing. This is much cleaner. This
requires some other small changes.

Acked-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: Don't use len to test for container emptiness
Dylan Baker [Wed, 24 Oct 2018 19:30:03 +0000 (12:30 -0700)]
util/gen_xmlpool: Don't use len to test for container emptiness

This is a very common python anti-pattern. Not using length allows us to
go through faster C paths, but has the same meaning.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: Don't write via shell redirection
Dylan Baker [Wed, 24 Oct 2018 19:20:48 +0000 (12:20 -0700)]
util/gen_xmlpool: Don't write via shell redirection

Using shell redirection to write to a file is more complicated than
necessary, and has the potential to run into unicode encoding problems.
It's also less code.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108530

v2: - update commit message to say less about LANG=C
    - use flags instead of positional arguments for the script (Emil)

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: use with statement to open file
Dylan Baker [Wed, 24 Oct 2018 19:08:38 +0000 (12:08 -0700)]
util/gen_xmlpool: use with statement to open file

Which ensures it is closed at the end of the scope.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: use a main function
Dylan Baker [Wed, 24 Oct 2018 19:05:56 +0000 (12:05 -0700)]
util/gen_xmlpool: use a main function

Again, just good style

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: Use print function instad of sys.stderr.write
Dylan Baker [Wed, 24 Oct 2018 19:02:41 +0000 (12:02 -0700)]
util/gen_xmlpool: Use print function instad of sys.stderr.write

This ensures that stderr is flushed, unlike writing

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: Use more standard style
Dylan Baker [Wed, 24 Oct 2018 18:56:49 +0000 (11:56 -0700)]
util/gen_xmlpool: Use more standard style

gen_xmlpool uses a style unlike the rest of mesa, spaces between
function/method calls and the parens, strange whitespace to force lining
up method calls, and some other whitespace stuff. Since I'm going to be
doing some work in the file, I'm going to start cleaning those up.

Acked-by: Emil Velikov <emil.velikov@collabora.com>
6 years agodocs/meson: Add note about update translations
Dylan Baker [Tue, 23 Oct 2018 02:33:08 +0000 (19:33 -0700)]
docs/meson: Add note about update translations

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/xmlpool: Update for meson generation
Dylan Baker [Fri, 24 Aug 2018 13:49:55 +0000 (06:49 -0700)]
util/xmlpool: Update for meson generation

Meson won't put the .gmo files in the layout that python's
gettext.translation() expects, it puts them in the build directory in a
flat layout. This modifies android and autotools to do the same (scons
doesn't work with translations at all)

v3: - Squash 4 patches into this patch

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agomeson: add support for generating translation mo files
Dylan Baker [Fri, 24 Aug 2018 12:56:01 +0000 (05:56 -0700)]
meson: add support for generating translation mo files

Meson has handy a handy built-in module for handling gettext called
i18n, this module works a bit differently than our autotools build does,
namely it doesn't automatically generate translations instead it creates
3 new top level targets to run. These are:

xmlpool-pot
xmlpool-update-po
xmlpool-gmo

v2: - Add new files to autotools dist tarball

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil/gen_xmlpool: use argparse for argument handling
Dylan Baker [Fri, 24 Aug 2018 13:28:41 +0000 (06:28 -0700)]
util/gen_xmlpool: use argparse for argument handling

This is a little cleaner than just looking at sys.argv, but it's also
going to allow us to handle the differences in the way meson and
autotools handle translations more cleanly.

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
6 years agonir: fix if condition propagation for alu use
Timothy Arceri [Wed, 31 Oct 2018 02:16:28 +0000 (13:16 +1100)]
nir: fix if condition propagation for alu use

We need to update the cursor before we check if the alu use is
dominated by the if condition. Previously we were checking if
the current location of the alu instruction was dominated by
the if condition which would miss some optimisation opportunities.

Fixes: a3b4cb34589e ("nir/opt_if: Rework condition propagation")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
6 years agofreedreno: Do not link ir3_compiler with valgrind libraries.
Vinson Lee [Wed, 31 Oct 2018 18:50:48 +0000 (11:50 -0700)]
freedreno: Do not link ir3_compiler with valgrind libraries.

This patch fixes this freedreno autotools build error.

  CXXLD    ir3_compiler
/usr/lib/valgrind/libcoregrind-amd64-linux.a(libcoregrind_amd64_linux_a-m_main.o): In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o:(.text+0x0): first defined here
/usr/bin/ld: /usr/lib/valgrind/libcoregrind-amd64-linux.a(libcoregrind_amd64_linux_a-m_main.o): relocation R_X86_64_32S against undefined symbol `vgPlain_interim_stack' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: /usr/lib/valgrind/libcoregrind-amd64-linux.a(libcoregrind_amd64_linux_a-m_trampoline.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: /usr/lib/valgrind/libcoregrind-amd64-linux.a(libcoregrind_amd64_linux_a-dispatch-amd64-linux.o): relocation R_X86_64_32S against symbol `vgPlain_stats__n_xindirs_32' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status

Fixes: f3cc0d274756 ("freedreno: import libdrm_freedreno + redesign submit")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108595
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Rob Clark <robdclark@gmail.com>
6 years agotravis: use python3 for the autoconf builds
Emil Velikov [Thu, 16 Aug 2018 12:01:05 +0000 (13:01 +0100)]
travis: use python3 for the autoconf builds

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
6 years agoconfigure: allow building with python3
Emil Velikov [Thu, 16 Aug 2018 12:59:38 +0000 (13:59 +0100)]
configure: allow building with python3

Pretty much all of the scripts are python2+3 compatible.
Check and allow using python3, while adjusting the PYTHON2 refs.

Note:
 - python3.4 is used as it's the earliest supported version
 - python2 chosen prior to python3

v2: use python2 by default

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
6 years agodocs: update calendar, add new item and link release notes for 18.2.4
Juan A. Suarez Romero [Wed, 31 Oct 2018 18:58:00 +0000 (19:58 +0100)]
docs: update calendar, add new item and link release notes for 18.2.4

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
6 years agodocs: add sha256 checksums for 18.2.4
Juan A. Suarez Romero [Wed, 31 Oct 2018 18:55:05 +0000 (19:55 +0100)]
docs: add sha256 checksums for 18.2.4

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
(cherry picked from commit 624e384ea86afea737f9d3b952a9c3edbecd3950)

6 years agodocs: add release notes for 18.2.4
Juan A. Suarez Romero [Wed, 31 Oct 2018 18:04:16 +0000 (18:04 +0000)]
docs: add release notes for 18.2.4

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
(cherry picked from commit 1cdef5e70ca1745b6cbc133c3bdb94cd6541ad4a)

6 years agomeson: hide warnings from external project `gtest`
Eric Engestrom [Wed, 31 Oct 2018 16:40:50 +0000 (16:40 +0000)]
meson: hide warnings from external project `gtest`

gtest is an external project that is copied in this tree for technical
reasons, but isn't maintained by us, so its warnings are irrelevant.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
6 years agotools/imgui: disable all warnings
Eric Engestrom [Tue, 30 Oct 2018 19:01:21 +0000 (19:01 +0000)]
tools/imgui: disable all warnings

This is an external project we have no control over, and will not be
fixing (other than by sometimes pulling the latest sources), so warnings
serve no purpose here.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
6 years agoglspirv: no need to force entrypoint name to "main"
Alejandro Piñeiro [Wed, 31 Oct 2018 10:55:44 +0000 (11:55 +0100)]
glspirv: no need to force entrypoint name to "main"

Since commit "intel/compiler: Stop assuming the entrypoint is called
"main"" there is no need to force the entrypoint name to be "main".

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
6 years agoglsl/linker: validate attribute aliasing before optimizations
Tapani Pälli [Wed, 6 Jun 2018 11:19:16 +0000 (14:19 +0300)]
glsl/linker: validate attribute aliasing before optimizations

Patch does a 'dry run' of assign_attribute_or_color_locations before
optimizations to catch cases where we have aliasing of unused attributes
which is forbidden by the GLSL ES 3.x specifications.

We need to run this pass before unused attributes may be removed and with
attribute binding information from program, therefore we re-use existing
pass in linker rather than attempt to write another one.

This fixes WebGL2 test 'gl-bindAttribLocation-aliasing-inactive' and
Piglit test 'gles-3.0-attribute-aliasing'.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106833
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
6 years agoegl: drop EGL driver `name`
Eric Engestrom [Wed, 18 Oct 2017 15:32:33 +0000 (16:32 +0100)]
egl: drop EGL driver `name`

This is a revert of Marek's 2cb9ab53dd3ae6850a26 revert.
It was needed to revert the previous commit, and didn't have any issue
itself.
--

The "DRI2" name was reported as confusing when printing EGL infos (one
user reported thinking DRI3 was not working on his X server), and the
only alternative is Haiku, which can only be used on a Haiku machine.

The name therefore doesn't add any information that the user wouldn't
know already, so let's just drop it.

Suggested-by: Emil Velikov <emil.l.velikov@gmail.com>
Related-to: b174a1ae720cb404738c ("egl: Simplify the "driver" interface")
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoegl: move alloc & init out of _eglBuiltInDriver{DRI2,Haiku}
Eric Engestrom [Mon, 25 Sep 2017 21:35:24 +0000 (22:35 +0100)]
egl: move alloc & init out of _eglBuiltInDriver{DRI2,Haiku}

This is a revert of Marek's 84f3afc2e122cb418573 revert, with a missing
line added back. I failed a rebase and dropped that crucial line, and
didn't do a runtime test after my rebase, and as a result broke EGL for
everyone.
This commit has been tested by Intel's CI and I re-read it once more, so
it should be good this time.
--

Note: dropping the EGL_BAD_ALLOC in egl_haiku because it's
overwritten by the EGL_NOT_INITIALIZED in eglInitialize().

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoRevert "imx: make use of loader_open_render_node(..) helper"
Christian Gmeiner [Mon, 29 Oct 2018 20:13:01 +0000 (21:13 +0100)]
Revert "imx: make use of loader_open_render_node(..) helper"

This reverts commit 773d6ea6e715d207bda3a53a9dfc8acf686035b0.

Since kernel 4.17 (drm/etnaviv: remove the need for a gpu-subsystem DT
node) the etnaviv DRM driver doesn't have an associated DT node
anymore. This is technically correct, as the etnaviv device is a
virtual device driving multiple hardware devices.

Before 4.17 the userspace had access to the following information:
DRIVER=etnaviv
OF_NAME=gpu-subsystem
OF_FULLNAME=/gpu-subsystem
OF_COMPATIBLE_0=fsl,imx-gpu-subsystem
OF_COMPATIBLE_N=1
MODALIAS=of:Ngpu-subsystemT<NULL>Cfsl,imx-gpu-subsystem
DRIVER=imx-drm
OF_NAME=display-subsystem
OF_FULLNAME=/display-subsystem
OF_COMPATIBLE_0=fsl,imx-display-subsystem
OF_COMPATIBLE_N=1

Afer 4.17:
DRIVER=etnaviv
MODALIAS=platform:etnaviv

The OF node has never been part of the etnaviv UABI, simply due to the
fact that it's still possible to instantiate the etnaviv driver from a
platform file, instead of a devicetree node.

A patch set to fix this problem was send out [1] but it looks like
that a proper solution needs more time to bake.

[1] https://lists.freedesktop.org/archives/dri-devel/2018-October/194651.html

Suggested-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
6 years agoradv: use WAIT_REG_MEM_GREATER_OR_EQUAL instead of a magic value
Samuel Pitoiset [Tue, 30 Oct 2018 11:29:13 +0000 (12:29 +0100)]
radv: use WAIT_REG_MEM_GREATER_OR_EQUAL instead of a magic value

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv: use pool->stride when calling radv_query_shader()
Samuel Pitoiset [Tue, 30 Oct 2018 14:18:57 +0000 (15:18 +0100)]
radv: use pool->stride when calling radv_query_shader()

Not needed to recompute the stride.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv: rename some parameters in Cmd{Begin,End}TransformFeedbackEXT()
Samuel Pitoiset [Tue, 30 Oct 2018 09:09:39 +0000 (10:09 +0100)]
radv: rename some parameters in Cmd{Begin,End}TransformFeedbackEXT()

To match latest spec.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv/winsys: do not assign last submission when chained path failed
Samuel Pitoiset [Tue, 30 Oct 2018 10:41:20 +0000 (11:41 +0100)]
radv/winsys: do not assign last submission when chained path failed

I don't think we want to wait for something that hasn't been
correctly submitted. This is similar to the fallback path.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv/winsys: fix buffer deletion in the sysmem path
Samuel Pitoiset [Tue, 30 Oct 2018 10:41:19 +0000 (11:41 +0100)]
radv/winsys: fix buffer deletion in the sysmem path

In case we failed to submit the CS correctly.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv/winsys: cleanup the chained submission path
Samuel Pitoiset [Tue, 30 Oct 2018 10:41:18 +0000 (11:41 +0100)]
radv/winsys: cleanup the chained submission path

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agoradv/winsys: remove unused surface_best()
Samuel Pitoiset [Tue, 30 Oct 2018 10:41:17 +0000 (11:41 +0100)]
radv/winsys: remove unused surface_best()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
6 years agointel/compiler: Stop assuming the entrypoint is called "main"
Jason Ekstrand [Mon, 29 Oct 2018 17:08:29 +0000 (12:08 -0500)]
intel/compiler: Stop assuming the entrypoint is called "main"

This isn't true for Vulkan so we have to whack it to "main" in anv which
is silly.  Instead of walking the list of functions and asserting that
everything is named "main" and hoping there's only one function named
"main", just use the nir_shader_get_entrypoint() helper which has better
assertions anyway.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
6 years agost/glsl_to_nir: fix next_stage gathering
Timothy Arceri [Sat, 20 Oct 2018 04:02:59 +0000 (15:02 +1100)]
st/glsl_to_nir: fix next_stage gathering

ffs() just returns the bit that is set, we need to know what
stage that bit represents so use u_bit_scan() instead.

Fixes: 2ca5d9548fc4 ("st/glsl_to_nir: gather next_stage in shader_info")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agost/mesa: calculate buffer size correctly for packed uniforms
Timothy Arceri [Mon, 29 Oct 2018 09:27:08 +0000 (20:27 +1100)]
st/mesa: calculate buffer size correctly for packed uniforms

Fixes: edded1237607 ("mesa: rework ParameterList to allow packing")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoutil: move u_cpu_detect to util
Dylan Baker [Mon, 1 Oct 2018 18:59:21 +0000 (11:59 -0700)]
util: move u_cpu_detect to util

CC: vlee@freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107870
Fixes: 80825abb5d1a7491035880253ffd531c55acae6b
       ("move u_math to src/util")
Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoutil: Move u_debug to utils
Dylan Baker [Mon, 1 Oct 2018 18:55:27 +0000 (11:55 -0700)]
util: Move u_debug to utils

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoutil: Move os_misc to util
Dylan Baker [Mon, 29 Oct 2018 18:21:07 +0000 (11:21 -0700)]
util: Move os_misc to util

this is needed by u_debug

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: remove u_inlines.h from u_debug.c
Dylan Baker [Mon, 1 Oct 2018 18:45:25 +0000 (11:45 -0700)]
gallium/util: remove u_inlines.h from u_debug.c

It's not used, and I'm not pulling u_inlines into src/util.

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: remove p_format.h from u_debug.h
Dylan Baker [Wed, 26 Sep 2018 17:50:35 +0000 (10:50 -0700)]
gallium/util: remove p_format.h from u_debug.h

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: move memory debug declarations into u_debug_gallium
Dylan Baker [Fri, 21 Sep 2018 18:21:57 +0000 (11:21 -0700)]
gallium/util: move memory debug declarations into u_debug_gallium

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: move debug_print_tranfer_flags to u_debug_galilum
Dylan Baker [Fri, 21 Sep 2018 18:07:57 +0000 (11:07 -0700)]
gallium/util: move debug_print_tranfer_flags to u_debug_galilum

This also appears to be unused.

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: move debug_print_bind_flags to u_debug_gallium
Dylan Baker [Fri, 21 Sep 2018 17:56:41 +0000 (10:56 -0700)]
gallium/util: move debug_print_bind_flags to u_debug_gallium

This also appears to be unused.

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: move debug_print_usage_enum to the u_debug_gallium
Dylan Baker [Fri, 21 Sep 2018 17:37:35 +0000 (10:37 -0700)]
gallium/util: move debug_print_usage_enum to the u_debug_gallium

This isn't used in mesa, maybe vmware uses this in a closed source state
tracker?

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/util: start splitting u_debug into generic and gallium specific components
Dylan Baker [Thu, 20 Sep 2018 21:35:36 +0000 (14:35 -0700)]
gallium/util: start splitting u_debug into generic and gallium specific components

In order to pull u_debug into src/util we need to break the generically
useful bits from the bits that are tightly coupled to gallium.

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium: split u_prim_name out of u_debug.h
Dylan Baker [Thu, 20 Sep 2018 18:36:44 +0000 (11:36 -0700)]
gallium: split u_prim_name out of u_debug.h

This allows us to pull u_prim.h out of u_debug.h

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agogallium/hud: fix power sensor readings for amdgpu users
Andre Heider [Sat, 27 Oct 2018 07:45:37 +0000 (09:45 +0200)]
gallium/hud: fix power sensor readings for amdgpu users

amdgpu doesn't use the INPUT but the AVERAGE subfeature:

$ sensors -u
amdgpu-pci-0100
Adapter: PCI adapter
power1:
  power1_average: 17.233
  power1_cap: 180.000

Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
6 years agoglsl_to_tgsi: don't create 64-bit integer MAD/FMA
Rhys Perry [Sat, 20 Oct 2018 13:54:10 +0000 (14:54 +0100)]
glsl_to_tgsi: don't create 64-bit integer MAD/FMA

TGSI has no I64MAD/U64MAD opcode.

Fixes: 278580729a5 ('st/glsl_to_tgsi: add support for 64-bit integers')
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoradeonsi: add support for Raven2 (v2)
Marek Olšák [Tue, 7 Nov 2017 01:01:40 +0000 (02:01 +0100)]
radeonsi: add support for Raven2 (v2)

v2: fix enabling primitive binning

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
6 years agoradeonsi: clean up decompress flags in fast color clear
Marek Olšák [Wed, 25 Apr 2018 23:21:06 +0000 (19:21 -0400)]
radeonsi: clean up decompress flags in fast color clear

6 years agoradeonsi/gfx9: set optimal OVERWRITE_COMBINER_WATERMARK
Marek Olšák [Sat, 27 Oct 2018 02:07:29 +0000 (22:07 -0400)]
radeonsi/gfx9: set optimal OVERWRITE_COMBINER_WATERMARK

6 years agogallium: rework PIPE_HANDLE_USAGE_* flags
Marek Olšák [Thu, 25 Oct 2018 19:33:00 +0000 (15:33 -0400)]
gallium: rework PIPE_HANDLE_USAGE_* flags

Only radeonsi uses them, so adjust them to match its needs.

6 years agoanv: Disable dual source blending when shader doesn't support it on gen8+
Danylo Piliaiev [Fri, 20 Jul 2018 09:54:42 +0000 (12:54 +0300)]
anv: Disable dual source blending when shader doesn't support it on gen8+

Dual source blending behaviour is undefined when shader doesn't
have second color output.

 "If SRC1 is included in a src/dst blend factor and
  a DualSource RT Write message is not used, results
  are UNDEFINED. (This reflects the same restriction in DX APIs,
  where undefined results are produced if “o1” is not written
  by a PS – there are no default values defined)."

Dismissing fragment in such situation leads to a hang on gen8+
if depth test in enabled.

Since blending cannot be gracefully fixed in such case and the result
is undefined - blending is simply disabled.

v2 (Jason Ekstrand):
 - Apply the workaround to each individual entry
 - Emit a warning through debug_report

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
6 years agoi965: Disable dual source blending when shader doesn't support it on gen8+
Danylo Piliaiev [Mon, 2 Jul 2018 14:04:23 +0000 (17:04 +0300)]
i965: Disable dual source blending when shader doesn't support it on gen8+

Dual source blending behaviour is undefined when shader doesn't
have second color output, dismissing fragment in such situation
leads to a hang on gen8+ if depth test in enabled.

Since blending cannot be gracefully fixed in such case and the result
is undefined - blending is simply disabled.

v2 (Kenneth Graunke):
 - Listen to BRW_NEW_FS_PROG_DATA in 3DSTATE_PS_BLEND
 - Also whack BLEND_STATE[] to keep the two in sync, since we're not
   sure exactly which copy of the redundant info the hardware will use.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107088
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
6 years agoi965: Respect GL_TEXTURE_SRGB_DECODE_EXT in GenerateMipmaps()
Kenneth Graunke [Mon, 29 Oct 2018 22:29:10 +0000 (15:29 -0700)]
i965: Respect GL_TEXTURE_SRGB_DECODE_EXT in GenerateMipmaps()

Apparently, we're supposed to look at the texture object's built-in
sampler object's sRGB decode setting in order to decide whether to
decode/downsample/re-encode, or simply downsample as-is.  Previously,
I had always done the decoding/encoding.

Fixes SKQP's Skia_Unit_Tests.SRGBMipMaps test.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
6 years agoi965/batch: don't ignore the 'brw_new_batch' call for a 'new batch'
Andrii Simiklit [Wed, 12 Sep 2018 16:05:45 +0000 (19:05 +0300)]
i965/batch: don't ignore the 'brw_new_batch' call for a 'new batch'

If we restore the 'new batch' using 'intel_batchbuffer_reset_to_saved'
function we must restore the default state of the batch using
'brw_new_batch' function because the 'intel_batchbuffer_flush'
function will not do it for the 'new batch' again.
At least the following fields of the batch
'state_base_address_emitted','aperture_space', 'state_used'
should be restored to default values to avoid:
1. the aperture_space overflow
2. the missed STATE_BASE_ADDRESS commad in the batch
3. the memory overconsumption of the 'statebuffer'
   due to uncleared 'state_used' field.
etc.

v2: merge with new commits, changes was minimized, added the 'fixes' tag
v3: added in to patch series

Fixes: 3faf56ffbdeb "intel: Add an interface for saving/restoring
                     the batchbuffer state."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107626
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
6 years agoi965/batch: avoid reverting batch buffer if saved state is an empty
Andrii Simiklit [Wed, 12 Sep 2018 16:05:44 +0000 (19:05 +0300)]
i965/batch: avoid reverting batch buffer if saved state is an empty

There's no point reverting to the last saved point if that save point is
the empty batch, we will just repeat ourselves.

CC: Chris Wilson <chris@chris-wilson.co.uk>
Fixes: 3faf56ffbdeb "intel: Add an interface for saving/restoring
                     the batchbuffer state."
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107626
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
6 years agoegl: add messages to a few assert() and turn a couple into unreachable()
Eric Engestrom [Sun, 28 Oct 2018 18:20:20 +0000 (18:20 +0000)]
egl: add messages to a few assert() and turn a couple into unreachable()

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoutil: s/0/NULL/ for pointer
Eric Engestrom [Sun, 28 Oct 2018 18:04:01 +0000 (18:04 +0000)]
util: s/0/NULL/ for pointer

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoi965: add missing case to fix -Wswitch
Eric Engestrom [Sun, 28 Oct 2018 17:58:05 +0000 (17:58 +0000)]
i965: add missing case to fix -Wswitch

While at it, turn "unreachable" assert() into unreachable().

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agomesa: fix struct/class mismatch
Eric Engestrom [Sun, 28 Oct 2018 17:52:14 +0000 (17:52 +0000)]
mesa: fix struct/class mismatch

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agomesa: fix memcpy() and memset(0) of non-trivial structs
Eric Engestrom [Sun, 28 Oct 2018 17:50:47 +0000 (17:50 +0000)]
mesa: fix memcpy() and memset(0) of non-trivial structs

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agonouveau: remove unused class member
Eric Engestrom [Sun, 28 Oct 2018 18:10:35 +0000 (18:10 +0000)]
nouveau: remove unused class member

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
6 years agoscons: drop unused HAVE_STDINT_H macro
Eric Engestrom [Sun, 28 Oct 2018 17:30:26 +0000 (17:30 +0000)]
scons: drop unused HAVE_STDINT_H macro

This was required back when MSVC didn't support C99 and was missing this
header, but since MSVC 2013 (or maybe earlier?) this isn't it does and
this code isn't doing anything anymore.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agoaub_viewer: show vertex buffer pitch
Eric Engestrom [Tue, 30 Oct 2018 12:05:14 +0000 (12:05 +0000)]
aub_viewer: show vertex buffer pitch

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
6 years agomeson: add note about intel tools build options
Eric Engestrom [Tue, 30 Oct 2018 11:26:46 +0000 (11:26 +0000)]
meson: add note about intel tools build options

Fixes: ea83a1d304dc97d1d155a "intel: tools: import ImGui"
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
6 years agovl: drop left-over variable
Eric Engestrom [Fri, 26 Oct 2018 12:11:14 +0000 (13:11 +0100)]
vl: drop left-over variable

Fixes: 6ccc435e7ad92bb0ba77d "pipe-loader: move dup(fd) within pipe_loader_drm_probe_fd"
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
6 years agovc4: Fix unused variable warning.
Eric Anholt [Mon, 29 Oct 2018 23:05:18 +0000 (16:05 -0700)]
vc4: Fix unused variable warning.

Fixes: bb84fa146f22 ("util: use C99 declaration in the for-loop hash_table_foreach() macro")
6 years agov3d: Use nir_remove_unused_io_vars to handle binner shader output DCE
Eric Anholt [Wed, 26 Sep 2018 16:22:51 +0000 (09:22 -0700)]
v3d: Use nir_remove_unused_io_vars to handle binner shader output DCE

We were doing this late after nir_lower_io, but we can just reuse the core
code.  By doing it at this stage, we won't even set up the VS attributes
as inputs, reducing our VPM size.

6 years agov3d: Only add output slot tracking for the current varying slot.
Eric Anholt [Fri, 28 Sep 2018 19:40:32 +0000 (12:40 -0700)]
v3d: Only add output slot tracking for the current varying slot.

We always emit 4 slots per slot because things like color output and
position processing in the epilogue will potentially look up more values
than the variable declaration had.  However, when we get a .location_frac
!= 0, we don't want to overwrite components of the following
.driver_location.

6 years agov3d: Use nir_lower_io_to_scalar_early to DCE unused VS input components.
Eric Anholt [Tue, 18 Sep 2018 17:34:11 +0000 (10:34 -0700)]
v3d: Use nir_lower_io_to_scalar_early to DCE unused VS input components.

This lets us trim unused trailing components in the vertex attributes,
reducing the size of our VPM allocations.

6 years agov3d: Don't rely on sorting input vars for VPM read setup.
Eric Anholt [Tue, 18 Sep 2018 18:56:22 +0000 (11:56 -0700)]
v3d: Don't rely on sorting input vars for VPM read setup.

For supporting scalar VPM i/o at the NIR level, we need to do a pass over
the vars to figure out how big each attribute is after DCE.  Once we've
done that, we can just walk over c->vattr_sizes[] instead of bothering
with vars.

6 years agov3d: Split out NIR input setup between FS and VPM.
Eric Anholt [Tue, 18 Sep 2018 18:40:54 +0000 (11:40 -0700)]
v3d: Split out NIR input setup between FS and VPM.

They don't share much code, and I'm about to rewrite the remaining shared
code for the VPM case.

6 years agonir: Allow using nir_lower_io_to_scalar_early on VS input vars.
Eric Anholt [Tue, 18 Sep 2018 17:35:34 +0000 (10:35 -0700)]
nir: Allow using nir_lower_io_to_scalar_early on VS input vars.

This will be used on V3D to cut down the size of the VS inputs in the VPM
(memory area for sharing data between shader stages).

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>