mesa.git
5 years agoutil/tests: Use define instead of VLA
Dylan Baker [Tue, 22 May 2018 22:00:35 +0000 (15:00 -0700)]
util/tests: Use define instead of VLA

To allow the this test to be built with MSVC, which doesn't support
VLAs.

Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agomeson: make nm binary optional
Dylan Baker [Thu, 17 May 2018 20:44:30 +0000 (13:44 -0700)]
meson: make nm binary optional

This makes nm not required, but used if found. In general I imagine that
this means that on windows nm wont be found, and on other platforms it
will.

v2: - fix gbm and egl symbols check tests to only be run if nm is found
    - reword commit message to reflect the code change

Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agomeson: Make shader-cache a trillean instead of boolean
Dylan Baker [Wed, 18 Apr 2018 20:20:28 +0000 (13:20 -0700)]
meson: Make shader-cache a trillean instead of boolean

So that it can be implicitly disabled on windows, where it doesn't
compile.

v2: - Use an auto-option rather than automagic.
    - fix shader_cache check (== -> !=)
v4: - Use new with_shader_cache instead of get_option('shader-cache')
      elsewhere in the meson build

Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agomeson: switch gles1 and gles2 to auto options
Dylan Baker [Fri, 19 Oct 2018 16:47:41 +0000 (09:47 -0700)]
meson: switch gles1 and gles2 to auto options

This allows them to default to false on windows, but default to true
elsewhere. As a side effect turning off shared-glapi now automatically
turns off gles. Shared glapi remains a boolean defaulting to true.

v5: - new in this version

Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agoglsl: fix general_ir_test with mingw
Dylan Baker [Wed, 18 Apr 2018 17:44:44 +0000 (10:44 -0700)]
glsl: fix general_ir_test with mingw

Somewhere down in the depths of the mingw headers 'interface' is
defined, change it to iface like a similar patch did.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agomeson: always define libglapi
Dylan Baker [Wed, 18 Apr 2018 20:09:07 +0000 (13:09 -0700)]
meson: always define libglapi

This allows the identifier to be used even if shared-glapi isn't build,
which simplifies a bunch of things.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
5 years agomeson: Fix missing glproto dependency for gallium-glx
Chuck Atkins [Fri, 3 May 2019 16:06:22 +0000 (12:06 -0400)]
meson: Fix missing glproto dependency for gallium-glx

Signed-off-by: Chuck Atkins <chuck.atkins@kitware.com>
Cc: mesa-stable <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
5 years agoradv: apply the indexing workaround for atomic buffer operations on GFX9
Samuel Pitoiset [Fri, 3 May 2019 09:45:34 +0000 (11:45 +0200)]
radv: apply the indexing workaround for atomic buffer operations on GFX9

Because the new raw/struct intrinsics are buggy with LLVM 8
(they weren't marked as source of divergence), we fallback to the
old instrinsics for atomic buffer operations only. This means we need
to apply the indexing workaround for GFX9. The load/store
operations still use the new LLVM 8 intrinsics.

The fact that we need another workaround is painful but we should
be able to clean up that a bit once LLVM 7 support will be dropped.

This fixes a GPU hang with AC Odyssey and some rendering problems
with Nioh.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110573
Fixes: 31164cf5f70 ("ac/nir: only use the new raw/struct image atomic intrinsics with LLVM 9+")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
5 years agoget_reviewer.pl: improve portability
Alyssa Ross [Fri, 19 Apr 2019 18:14:37 +0000 (18:14 +0000)]
get_reviewer.pl: improve portability

Not all package managers / users will install perl into /usr/bin,
but /usr/bin/env /should/ always be present.

Using /usr/bin/env means that we can't give the -w argument to Perl,
so I added `use warnings' in the script.

Reviewed-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agoanv: fix crash when application does not provide push constants
Lionel Landwerlin [Thu, 2 May 2019 14:08:42 +0000 (15:08 +0100)]
anv: fix crash when application does not provide push constants

Found while running Talos Principle.

As far as I can tell running a draw call with a pipeline having push
constants without the application having called vkCmdPushConstants
gives undefined push constant values.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: mesa-stable@lists.freedesktop.org
5 years agoradv: fix radv_get_aspect_format() for D+S formats
Samuel Pitoiset [Thu, 2 May 2019 16:07:11 +0000 (18:07 +0200)]
radv: fix radv_get_aspect_format() for D+S formats

This restores the previous behaviour before YCBCR landed. For D+S
formats, it returns the depth format.

This fixes an assertion with Thrones of Britannia.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110540
Fixes: 66507cc6563 ("radv: Add single plane image views & meta operations")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
5 years agointel/fs: Assert when brw_fs_nir sees a nir_deref_instr
Caio Marcelo de Oliveira Filho [Wed, 1 May 2019 23:31:14 +0000 (16:31 -0700)]
intel/fs: Assert when brw_fs_nir sees a nir_deref_instr

Since 09f1de97a76 "anv,i965: Lower away image derefs in the driver"
the backend compiler is not expected to handle any derefs, so let's
assert on it.

This helps identifying problems when a deref is not lowered and
"leaks" into the backend compiler.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agor600: implement resource_get_info
Julien Isorce [Thu, 2 May 2019 22:57:04 +0000 (15:57 -0700)]
r600: implement resource_get_info

Factoring code with resource_get_handle.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110443
Signed-off-by: Julien Isorce <jisorce@oblong.com>
Reviewed-by: Dave Airlie airlied@redhat.com
5 years agoutil/bitset: fix bitset range mask calculations.
Dave Airlie [Mon, 29 Apr 2019 03:17:41 +0000 (13:17 +1000)]
util/bitset: fix bitset range mask calculations.

The MASK macro is used in the RANGE macro, and it should
return the pre-bitset word mask for the (b) value.

i.e.
BITSET_MASK(0) should be undefined since it's meaningless.
BITSET_MASK(31) should give 0x7fffffff
BITSET_MASK(32) should give 0xffffffff
BITSET_MASK(33) should give 0x00000001
BITSET_MASK(64) should give 0xffffffff

However then BITSET_RANGE ends up broken for cases where
it's (b) value is the 0,32,64 value as in that case the lower
mask would be 0 not 0xffffffff.

This fixes the unit tests that I've added, and my code that
uses bitsets.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Fixes: bb38cadb1c5f2 "More GLSL code"
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agoutil/tests: add basic unit tests for bitset
Dave Airlie [Mon, 29 Apr 2019 02:24:58 +0000 (12:24 +1000)]
util/tests: add basic unit tests for bitset

The last test here currently fails as there is a bug in bitset.h

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agonir: fix lower vars to ssa for larger vector sizes.
Dave Airlie [Fri, 3 May 2019 03:23:45 +0000 (13:23 +1000)]
nir: fix lower vars to ssa for larger vector sizes.

This has a couple of hardcoded vec4 limits in it, change them
to the proper sizing to avoid future issues.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agospirv: fix SpvOpBitSize return value.
Dave Airlie [Fri, 3 May 2019 02:53:56 +0000 (12:53 +1000)]
spirv: fix SpvOpBitSize return value.

The spir-v spec says this returns a bool.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agoiris: Disable dual source blending when shader doesn't handle it
Kenneth Graunke [Fri, 3 May 2019 04:14:49 +0000 (21:14 -0700)]
iris: Disable dual source blending when shader doesn't handle it

This is a port of Danylo's eca4a6548d07bbbb02a7768edb397bad7b72cfc2
which fixed the hang on i965.  It fixes GPU hangs in his new Piglit
test, arb_blend_func_extended-dual-src-blending-discard-without-src1.

I avoided my own review feedback here, and decided to simply adjust
3DSTATE_PS_BLEND rather than BLEND_STATE_ENTRY[0].  It has never been
clear to me which the hardware uses in every case.  However, whacking
the enable in 3DSTATE_PS_BLEND seems to be sufficient to fix the hang,
and that packet is already dynamic, so it's easy to handle.  I'd rather
avoid making BLEND_STATE_ENTRY[0] dynamic unless I have to.

5 years agoanv: Stop including POS in FS input limits
Jason Ekstrand [Mon, 29 Apr 2019 05:46:10 +0000 (00:46 -0500)]
anv: Stop including POS in FS input limits

It is an input but it comes in as part of the shader payload and doesn't
count towards the limits.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agonir: fix nir tex print harder
Rob Clark [Thu, 2 May 2019 21:48:41 +0000 (14:48 -0700)]
nir: fix nir tex print harder

Fixes: 691d5a825a6 nir: rework tex instruction printing
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agodocs: fixup mistake in contents
Erik Faye-Lund [Thu, 2 May 2019 18:24:28 +0000 (20:24 +0200)]
docs: fixup mistake in contents

During a rebase, it seems I accidentally broke the contents-menu,
leading to a duplicate link to freedesktop.org. This was obviously not
intended. Let's fix this.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Fixes: 7eee13c4679 ("docs: use dl/dd instead of blockquote for
       freedesktop link")
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agolima/ppir: support nir_op_ftrunc
Erico Nunes [Tue, 23 Apr 2019 17:36:34 +0000 (19:36 +0200)]
lima/ppir: support nir_op_ftrunc

Support nir_op_ftrunc by turning it into a mov with a round to integer
output modifier.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
5 years agogitlab-ci: merge meson-glvnd into meson-swr
Eric Engestrom [Tue, 16 Apr 2019 16:06:53 +0000 (18:06 +0200)]
gitlab-ci: merge meson-glvnd into meson-swr

There's no need to have a whole build just for that flag, we can add it
to any build.

v2: Add a note about why we put glvnd where we did (by anholt).

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v2)
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agogitlab-ci: simplify meson job names
Eric Engestrom [Tue, 16 Apr 2019 16:06:30 +0000 (18:06 +0200)]
gitlab-ci: simplify meson job names

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agogitlab-ci: meson-gallium-radeonsi was a subset of meson-gallium-clover-llvm
Eric Engestrom [Tue, 16 Apr 2019 16:06:12 +0000 (18:06 +0200)]
gitlab-ci: meson-gallium-radeonsi was a subset of meson-gallium-clover-llvm

Let's just drop it.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agogitlab-ci: merge several meson jobs
Eric Engestrom [Fri, 8 Mar 2019 16:33:07 +0000 (16:33 +0000)]
gitlab-ci: merge several meson jobs

Merge the following into `meson-main`/`meson-loader-classic-dri`/
`meson-gallium-swr`:
- meson-vulkan
- meson-gallium-drivers-other
- meson-gallium-st-other

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
[ Michel Dänzer ]
* Rebase and fix up commit log.
* Don't set VULKAN_DRIVERS in meson-loader-classic-dri.
* Remove extraneous whitespace.
* Squash in follow-up fixes.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
[ anholt]
* Add a note why nine and swrast landed where they did.
* Switch from s/meson-vulkan/meson-main/ to
  s/meson-loader-classic-dri/meson-main/ which I think was the original
  intent

Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Eric Engestrom <eric.engestrom@intel.com> (anholt changes)
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agogbm: Improve documentation of BO import
Heinrich [Tue, 30 Apr 2019 12:21:04 +0000 (14:21 +0200)]
gbm: Improve documentation of BO import

- Add GBM_BO_IMPORT_FD_MODIFIER to documentation of supported foreign
object types

- Add newline before documentation block

- Improve language

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
5 years agoradv: only need to force emit the TCS regs on Vega10 and Raven1
Samuel Pitoiset [Thu, 2 May 2019 15:44:39 +0000 (17:44 +0200)]
radv: only need to force emit the TCS regs on Vega10 and Raven1

Other GFX9 chips aren't affected.

Cc: "19.0" "19.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
5 years agoglsl: fix and clean up NV_compute_shader_derivatives support
Marek Olšák [Wed, 24 Apr 2019 17:16:07 +0000 (13:16 -0400)]
glsl: fix and clean up NV_compute_shader_derivatives support

- make sure compute shader derivatives are exposed for all extensions
- unify duplicated code

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
5 years agost/dri: decrease input lag by syncing sooner in SwapBuffers
Marek Olšák [Mon, 22 Apr 2019 21:11:00 +0000 (17:11 -0400)]
st/dri: decrease input lag by syncing sooner in SwapBuffers

It's done by:
- decrease the number of frames in flight by 1
- flush before throttling in SwapBuffers
  (instead of wait-then-flush, do flush-then-wait)

The improvement is apparent with Unigine Heaven.

Previously:
    draw frame 2
    wait frame 0
    flush frame 2
    present frame 2

    The input lag is 2 frames.

Now:
    draw frame 2
    flush frame 2
    wait frame 1
    present frame 2

    The input lag is 1 frame. Flushing is done before waiting, because
    otherwise the device would be idle after waiting.

Nine is affected because it also uses the pipe cap.

5 years agomeson: add build-summary
Erik Faye-Lund [Fri, 12 Apr 2019 15:51:30 +0000 (17:51 +0200)]
meson: add build-summary

This roughly mirrors what we get from autotools. There's a few
differences, though:

1. The "exec_prefix" output has been dropped. Meson doesn't support
   this, so it makes no sense here.
2. The "llvm-config" output has been dropped. Meson abstracts dependency
   discovery a bit more than our autotools build-system does, so it's
   not easy to get this information as-is.
3. HUD extra stats, SWR archs, Shared/Static libs and CFLAGS / CXXFLAGS /
   LDFLAGS has been dropped. These can be inspected by "meson configure".
4. How we set defines works quite differently in our Meson build-system,
   and the result isn't quite the same. In particular, the DEFINES output
   has been dropped, to avoid having to refactor the code too much.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109326
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agomeson: give dri- and gallium-drivers separate vars
Erik Faye-Lund [Fri, 12 Apr 2019 15:51:08 +0000 (17:51 +0200)]
meson: give dri- and gallium-drivers separate vars

Variables are cheap, and there's little reason for the dri and gallium
drivers to work on the same variable for the driver list. So let's split
these in two separate lists instead.

This makes it easier to inspect these after-the fact, for instance
for generating a summary of build-settings.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agomeson: lift driver-collection out into parent build-file
Erik Faye-Lund [Mon, 15 Apr 2019 08:11:43 +0000 (10:11 +0200)]
meson: lift driver-collection out into parent build-file

This way we can mark the dri_drivers and dri_link arrays as temporary,
as all knowledge about them are contained in a single build-file with
clearly visible limited life-span.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
5 years agodocs: mark KHR_blend_equation_advanced done on a6xx
Rob Clark [Thu, 2 May 2019 17:04:17 +0000 (10:04 -0700)]
docs: mark KHR_blend_equation_advanced done on a6xx

Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agofreedreno/a6xx: smaller hammer for fb barrier
Rob Clark [Mon, 29 Apr 2019 17:11:44 +0000 (10:11 -0700)]
freedreno/a6xx: smaller hammer for fb barrier

We just need to do a sequence of commands to flush the cache.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agofreedreno/a6xx: KHR_blend_equation_advanced support
Rob Clark [Tue, 30 Apr 2019 17:07:02 +0000 (10:07 -0700)]
freedreno/a6xx: KHR_blend_equation_advanced support

Wire up support to sample from the fb (and force GMEM rendering when we
have fb reads).  The existing GLSL IR lowering for blend_equation_advanced
does the rest.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agofreedreno/ir3: fb read support
Rob Clark [Tue, 30 Apr 2019 17:05:30 +0000 (10:05 -0700)]
freedreno/ir3: fb read support

Lower load_output to txf_ms_fb and add support for the new texture fetch
instruction.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agofreedreno/drm: expose GMEM_BASE address
Rob Clark [Tue, 30 Apr 2019 17:03:54 +0000 (10:03 -0700)]
freedreno/drm: expose GMEM_BASE address

Needed for sampling from tile buffer (GMEM).

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agonir: add pass to lower fb reads
Rob Clark [Fri, 26 Apr 2019 17:05:08 +0000 (10:05 -0700)]
nir: add pass to lower fb reads

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agonir: fix lower_wpos_ytransform in load_frag_coord case
Rob Clark [Fri, 26 Apr 2019 18:39:42 +0000 (11:39 -0700)]
nir: fix lower_wpos_ytransform in load_frag_coord case

Apparently we never hit this path.  Or at least haven't for a rather
long time.  But in either case (load_deref or load_frag_coord), we can
just directly use the intrinsic's ssa dest.  So stop passing the
nir_variable (which would be NULL in the load_frag_coord case) around
and instead just use &intr->dest.ssa.

(This ofc means we need to setup the cursor to insert *after* the
instruction, which seems to be another bug of the original
implementation.)

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agonir: rework tex instruction printing
Rob Clark [Sun, 28 Apr 2019 15:06:12 +0000 (08:06 -0700)]
nir: rework tex instruction printing

The extra comma at the end was annoying me.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
5 years agofreedreno/ir3: add some ubo range related asserts
Rob Clark [Thu, 2 May 2019 16:37:21 +0000 (09:37 -0700)]
freedreno/ir3: add some ubo range related asserts

And a comment..  since we are mixing units of bytes/dwords/vec4,
hopefully this will avoid some unit confusion.

Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agofreedreno/ir3: add IR3_SHADER_DEBUG flag to disable ubo lowering
Rob Clark [Thu, 2 May 2019 16:33:40 +0000 (09:33 -0700)]
freedreno/ir3: add IR3_SHADER_DEBUG flag to disable ubo lowering

It isn't quite as simple as not running the pass, since with packed
varyings we get load_ubo for block==0 (ie. the "real" uniforms).  So
instead run the pass normally but decline to lower anything in
block > 0

Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agofreedreno/ir3: fix lowered ubo region alignment
Rob Clark [Thu, 2 May 2019 16:25:36 +0000 (09:25 -0700)]
freedreno/ir3: fix lowered ubo region alignment

Since we emit UBO regions INDIRECTly (ie. not copied into cmdstream but
emit by EXT_SRC_ADDR) we need to keep them 4*vec4 aligned.  Which the
code already mostly did, except for aligning the first UBO region itself
(ie. the one after block==0 which is the "real" uniforms).

Fixes: 893425a607a freedreno/ir3: Push UBOs to constant file
Fixes: 3c8779af325 freedreno/ir3: Enable PIPE_CAP_PACKED_UNIFORMS
Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agofreedreno/ir3: fix shader variants vs UBO analysis
Rob Clark [Wed, 1 May 2019 17:41:51 +0000 (10:41 -0700)]
freedreno/ir3: fix shader variants vs UBO analysis

Otherwise we zero out the state again, but all the UBO loads that we
could lower are already lowered.  End result is that we didn't emit the
uniforms for lowered UBO access in any case where multiple shader
variants are used.

Fixes: 893425a607a freedreno/ir3: Push UBOs to constant file
Fixes: 3c8779af325 freedreno/ir3: Enable PIPE_CAP_PACKED_UNIFORMS
Signed-off-by: Rob Clark <robdclark@chromium.org>
5 years agovulkan/overlay: add TODO list
Lionel Landwerlin [Thu, 28 Feb 2019 13:02:49 +0000 (13:02 +0000)]
vulkan/overlay: add TODO list

Keen on having other people contribute.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agovulkan/overlay: make overriden functions static
Lionel Landwerlin [Sun, 3 Mar 2019 01:51:43 +0000 (01:51 +0000)]
vulkan/overlay: make overriden functions static

And fix the unused CmdDrawIndirect.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: make overlay size configurable
Lionel Landwerlin [Sun, 3 Mar 2019 00:09:04 +0000 (00:09 +0000)]
vulkan/overlay: make overlay size configurable

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: add a frame counter option
Lionel Landwerlin [Sun, 3 Mar 2019 18:08:36 +0000 (18:08 +0000)]
vulkan/overlay: add a frame counter option

This is useful to normalize the numbers written into the output file
as those number are accumulated over a period of time and number of
frames.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: record all select metrics into output file
Lionel Landwerlin [Sat, 2 Mar 2019 17:49:21 +0000 (17:49 +0000)]
vulkan/overlay: record all select metrics into output file

The output looks something like this (csv style) :

fps, frame, frame_timing(us), submit, draw_indexed, pipeline_graphics, acquire_timing(us), vert_invocations, frag_invocations, gpu_timing(ns)
480.55, 242, 501512, 247, 1444, 1204, 714, 5827272113043296121424174
467.80, 234, 500214, 234, 1412, 1176, 648, 5635680109436188117743760
424.37, 213, 501923, 213, 2130, 1704, 623, 513244899657292105474683
472.15, 237, 501962, 237, 2370, 1896, 667, 5710752110924644122226004
411.32, 206, 500826, 206, 2060, 1648, 709, 49637769649176495333273
458.87, 230, 501228, 230, 2300, 1840, 634, 5542080107758204123112090
475.01, 238, 501044, 238, 2380, 1904, 631, 5734848111477480122087426
471.08, 236, 500972, 236, 2360, 1888, 655, 5686656110498496114816162

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: add a margin to the size of the window
Lionel Landwerlin [Sat, 2 Mar 2019 17:29:12 +0000 (17:29 +0000)]
vulkan/overlay: add a margin to the size of the window

Looks a bit better.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: add no display option
Lionel Landwerlin [Sat, 2 Mar 2019 17:25:22 +0000 (17:25 +0000)]
vulkan/overlay: add no display option

In case you're just interested in data being record to the output
file.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: add pipeline statistic & timestamps support
Lionel Landwerlin [Mon, 25 Feb 2019 16:59:11 +0000 (16:59 +0000)]
vulkan/overlay: add pipeline statistic & timestamps support

v2: switch to VkBase{In,Out}Structure

v3: Add timestamps at begin/end of primary command buffers to estimate
    gpu time spent per submission (Lionel)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Eric Engestrom <eric.engestrom@intel.com> (v2)
5 years agovulkan/overlay: record stats in command buffers and accumulate on exec/submit
Lionel Landwerlin [Sat, 2 Mar 2019 17:15:41 +0000 (17:15 +0000)]
vulkan/overlay: record stats in command buffers and accumulate on exec/submit

This significantly reworks how numbers displayed are computed. We
accumulate operations written into command buffers and add those to
the device when submitted to a queue. These collected values are then
used to compute per frame overlay data.

We also accumulate the data over the sampling fps period to produce
numbers for that period of time.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
5 years agovulkan/overlay: update help printout
Lionel Landwerlin [Thu, 28 Feb 2019 16:47:56 +0000 (16:47 +0000)]
vulkan/overlay: update help printout

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agovulkan/util: generate a helper function to return pNext struct sizes
Lionel Landwerlin [Mon, 25 Feb 2019 16:43:15 +0000 (16:43 +0000)]
vulkan/util: generate a helper function to return pNext struct sizes

This will be used to copy chains of structures so that we can alterate
some of them.

v2: Drop vk_util.h include (Eric)
    Use VkBaseInStructure directly (Eric)

v3: Drop --platforms= param to generator script, instead produce a
    file with #ifdef based what platforms are compiled.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agopanfrost/midgard: Skip liveness analysis for instructions without dest
Tomeu Vizoso [Mon, 22 Apr 2019 15:06:24 +0000 (17:06 +0200)]
panfrost/midgard: Skip liveness analysis for instructions without dest

[Alyssa: Add comment explanation]

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
5 years agopanfrost/midgard: Skip register allocation if there's no work to do
Tomeu Vizoso [Mon, 22 Apr 2019 15:03:26 +0000 (17:03 +0200)]
panfrost/midgard: Skip register allocation if there's no work to do

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
5 years agogitlab-ci: add scons windows build using mingw
Eric Engestrom [Fri, 8 Mar 2019 12:47:23 +0000 (12:47 +0000)]
gitlab-ci: add scons windows build using mingw

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agoegl: hard-code destroy function instead of passing it around as a pointer
Eric Engestrom [Fri, 12 Apr 2019 16:47:59 +0000 (17:47 +0100)]
egl: hard-code destroy function instead of passing it around as a pointer

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
5 years agonir/search: Add debugging code to dump the pattern matched
Connor Abbott [Mon, 18 Feb 2019 16:28:32 +0000 (17:28 +0100)]
nir/search: Add debugging code to dump the pattern matched

This was useful while debugging the previous commit.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agonir/search: Add automaton-based pre-searching
Connor Abbott [Mon, 18 Feb 2019 13:20:34 +0000 (14:20 +0100)]
nir/search: Add automaton-based pre-searching

nir_opt_algebraic is currently one of the most expensive NIR passes,
because of the many different patterns we've added over the years. Even
though patterns are already sorted by opcode, there are still way too
many patterns for common opcodes like bcsel and fadd, which means that
many patterns are tried but only a few actually match. One way to fix
this is to add a pre-pass over the code that scans it using an automaton
constructed beforehand, similar to the automatons produced by lex and
yacc for parsing source code. This automaton has to walk the SSA graph
and recognize possible pattern matches.

It turns out that the theory to do this is quite mature already, having
been developed for instruction selection as well as other non-compiler
things. I followed the presentation in the dissertation cited in the
code, "Tree algorithms: Two Taxonomies and a Toolkit," trying to keep
the naming similar. To create the automaton, we have to perform
something like the classical NFA to DFA subset construction used by lex,
but it turns out that actually computing the transition table for all
possible states would be way too expensive, with the dissertation
reporting times of almost half an hour for an example of size similar to
nir_opt_algebraic. Instead, we adopt one of the "filter" approaches
explained in the dissertation, which trade much faster table generation
and table size for a few more table lookups per instruction at runtime.
I chose the filter which resulted the fastest table generation time,
with medium table size. Right now, the table generation takes around .5
seconds, despite being implemented in pure Python, which I think is good
enough. Based on the numbers in the dissertation, the other choice might
make table compilation time 25x slower to get 4x smaller table size, but
I don't think that's worth it. As of now, we get the following binary
size before and after this patch:

    text   data     bss      dec    hex filename
11979455 464720  730864 13175039 c908ff before i965_dri.so
   text    data     bss     dec            hex filename
12037835 616244  791792 13445871 cd2aef after i965_dri.so

There are a number of places where I've simplified the automaton by
getting rid of details in the LHS patterns rather than complicate things
to deal with them. For example, right now the automaton doesn't
distinguish between constants with different values. This means that it
isn't as precise as it could be, but the decrease in compile time is
still worth it -- these are the compilation time numbers for a shader-db
run with my (admittedly old) database on Intel skylake:

Difference at 95.0% confidence
-42.3485 +/- 1.375
-7.20383% +/- 0.229926%
(Student's t, pooled s = 1.69843)

We can always experiment with making it more precise later.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agoradv: set WD_SWITCH_ON_EOP=1 when drawing primitives from a stream output buffer
Samuel Pitoiset [Thu, 2 May 2019 12:56:46 +0000 (14:56 +0200)]
radv: set WD_SWITCH_ON_EOP=1 when drawing primitives from a stream output buffer

According to RadeonSI, this seems to be required by the hardware
to avoid GPU hangs. I think I just forgot to set that bit when I
implemented VK_EXT_transform_feedback.

This fixes a GPU hang with Space Engineers and DXVK.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110291
Fixes: b4eb029062a ("radv: implement VK_EXT_transform_feedback")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
5 years agoglsl: fix typo in #warning message
Brian Paul [Thu, 2 May 2019 12:32:56 +0000 (06:32 -0600)]
glsl: fix typo in #warning message

Trivial.  Spotted by Eric Engestrom.

5 years agosvga: add SVGA_NO_LOGGING env var (v2)
Brian Paul [Wed, 1 May 2019 21:49:44 +0000 (15:49 -0600)]
svga: add SVGA_NO_LOGGING env var (v2)

valgrind crashes when we try to initialize host logging.  This
env var can be used to disable logging.

v2: rebase onto "svga: move host logging to winsys".

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Neha Bhende <bhenden@vmware.com>
5 years agosvga: move host logging to winsys
Charmaine Lee [Wed, 1 May 2019 21:35:54 +0000 (15:35 -0600)]
svga: move host logging to winsys

This patch adds a host_log interface to svga_winsys and
moves the host logging code to the winsys layer.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Neha Bhende <bhenden@vmware.com>
5 years agowsi/wayland: document lack of vkAcquireNextImageKHR timeout support
Eric Engestrom [Fri, 5 Apr 2019 15:18:18 +0000 (16:18 +0100)]
wsi/wayland: document lack of vkAcquireNextImageKHR timeout support

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agovulkan/wsi/wayland: Respect non-blocking AcquireNextImage
Daniel Stone [Tue, 30 Oct 2018 12:56:53 +0000 (12:56 +0000)]
vulkan/wsi/wayland: Respect non-blocking AcquireNextImage

If the client has requested that AcquireNextImage not block at all, with
a timeout of 0, then don't make any non-blocking calls.

This will still potentially block infinitely given a non-infinte
timeout, but the fix for that is much more involved.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: mesa-stable@lists.freedesktop.org
Cc: Chad Versace <chadversary@chromium.org>
Cc: Jason Ekstrand <jason@jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108540
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: reorder heading and notice
Erik Faye-Lund [Thu, 18 Apr 2019 11:52:15 +0000 (13:52 +0200)]
docs: reorder heading and notice

All other pages has the heading as ghe first thing in the article. Let's
clean this up for consistency.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: drop centered heading for faq
Erik Faye-Lund [Thu, 18 Apr 2019 11:45:53 +0000 (13:45 +0200)]
docs: drop centered heading for faq

The FAQ is the only article we have that uses a centered heading, which
makes it look odd compared to the other articles. Let's drop the
centering for consistency.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: turn faq-index into an ordered list
Erik Faye-Lund [Thu, 18 Apr 2019 11:44:10 +0000 (13:44 +0200)]
docs: turn faq-index into an ordered list

HTML already have a way of doing automatically ordered lists, so let's
use that instead of open-coding one.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: replace empty list with a none-paragraph
Erik Faye-Lund [Thu, 18 Apr 2019 14:41:08 +0000 (16:41 +0200)]
docs: replace empty list with a none-paragraph

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: fix closing of list-items
Erik Faye-Lund [Thu, 18 Apr 2019 14:39:25 +0000 (16:39 +0200)]
docs: fix closing of list-items

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: fixup list-item tags
Erik Faye-Lund [Thu, 18 Apr 2019 14:36:52 +0000 (16:36 +0200)]
docs: fixup list-item tags

The list items needs to contain everything part of the item, not just
the first paragraph.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: fix closing of paragraphs
Erik Faye-Lund [Thu, 18 Apr 2019 14:32:07 +0000 (16:32 +0200)]
docs: fix closing of paragraphs

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: add missing lists
Erik Faye-Lund [Thu, 18 Apr 2019 14:31:26 +0000 (16:31 +0200)]
docs: add missing lists

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: fixup bad paragraphing
Erik Faye-Lund [Thu, 18 Apr 2019 14:27:26 +0000 (16:27 +0200)]
docs: fixup bad paragraphing

This markup seems to assume paragraphs survive across block-elements,
which isn't the case. Let's rectify that.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: remove stray list-start
Erik Faye-Lund [Thu, 18 Apr 2019 14:27:10 +0000 (16:27 +0200)]
docs: remove stray list-start

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: don't pointlessly close and re-start definition lists
Erik Faye-Lund [Thu, 18 Apr 2019 14:25:39 +0000 (16:25 +0200)]
docs: don't pointlessly close and re-start definition lists

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: fix incorrectly closed paragraph
Erik Faye-Lund [Thu, 18 Apr 2019 14:16:06 +0000 (16:16 +0200)]
docs: fix incorrectly closed paragraph

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: drop paragraph around preformatted text
Erik Faye-Lund [Thu, 18 Apr 2019 14:14:40 +0000 (16:14 +0200)]
docs: drop paragraph around preformatted text

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: start paragraph before closing it
Erik Faye-Lund [Thu, 18 Apr 2019 14:13:44 +0000 (16:13 +0200)]
docs: start paragraph before closing it

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: close paragraphs before preformatted text
Erik Faye-Lund [Thu, 18 Apr 2019 14:12:08 +0000 (16:12 +0200)]
docs: close paragraphs before preformatted text

It's illegal to nest block-level elements such as <pre> inside <p> in
HTML. This means that when the paragraphs gets closed after a <pre>-tag,
we end up closing a non-existent tag, so the browser inserts a dummy
<p>-tag. This is entirely pointless, so let's just close these tags
before the <pre>-tag instead.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: remove stray paragraph-close
Erik Faye-Lund [Thu, 18 Apr 2019 14:05:54 +0000 (16:05 +0200)]
docs: remove stray paragraph-close

This isn't matching any paragraph-open tags, so let's get rid of it.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: close lists
Erik Faye-Lund [Thu, 18 Apr 2019 13:39:35 +0000 (15:39 +0200)]
docs: close lists

These lists never got closed. Let's fix that to avoid issues with bad
parsers.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: close paragraphs before lists
Erik Faye-Lund [Thu, 18 Apr 2019 13:38:01 +0000 (15:38 +0200)]
docs: close paragraphs before lists

paragraphs can't contain lists, and attempting to close them after
the list just cause an extra, empty paragraph to be created. We don't
want that, so let's close the paragraphs before the list intead.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: open list-item before closing it
Erik Faye-Lund [Thu, 18 Apr 2019 13:23:07 +0000 (15:23 +0200)]
docs: open list-item before closing it

A list-item must be openened before it can be closed. So let's replace
this closing tag with an opening tag.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: use dl/dd instead of blockquote for freedesktop link
Erik Faye-Lund [Thu, 18 Apr 2019 13:13:36 +0000 (15:13 +0200)]
docs: use dl/dd instead of blockquote for freedesktop link

The blockquote happens to match the indentation of the other lists for
most browsers, but this isn't a guarantee. Let's instead use a
definition-list, which is more strongly connected to a list, so it's
more likely to have the same indention.

This also makes sure that we don't have similar padding on the
right-hand side, in case we change the text-size.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: use h2 instead of b-tag for headings
Erik Faye-Lund [Thu, 18 Apr 2019 13:11:43 +0000 (15:11 +0200)]
docs: use h2 instead of b-tag for headings

<b>-tags aren't allowed in the root of <body>, so let's replace these
with <h2>-tags with some CSS to make them appear as bold.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: remove stray paragraph-close
Erik Faye-Lund [Thu, 18 Apr 2019 12:06:50 +0000 (14:06 +0200)]
docs: remove stray paragraph-close

This tag tries to close a non-existent paragraph. Let's get rid of it!

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: properly escape ampersand
Erik Faye-Lund [Thu, 18 Apr 2019 13:42:14 +0000 (15:42 +0200)]
docs: properly escape ampersand

Even in preformatted blocks, ampersands should be escaped. Let's correct
this, in case of strict parsers.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: properly escape '>'
Erik Faye-Lund [Thu, 18 Apr 2019 11:57:03 +0000 (13:57 +0200)]
docs: properly escape '>'

The '>'-symbol should usually be escaped to avoid confusing strict
parsers. While it's very unlikely to cause issues as-is, let's quite it
for good measure.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agoradv: fix set_output_usage_mask() with composite and 64-bit types
Rhys Perry [Fri, 26 Apr 2019 14:39:51 +0000 (15:39 +0100)]
radv: fix set_output_usage_mask() with composite and 64-bit types

It previously used var->type instead of deref_instr->type and didn't
handle 64-bit outputs.

This fixes lots of transform feedback CTS tests involving transform
feedback and geometry shaders (mostly
dEQP-VK.transform_feedback.fuzz.random_geometry.*)

v2: fix writemask widening when comp != 0
v3: fix 64-bit variables when comp != 0, again

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Cc: 19.0 19.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
5 years agodocs: do not hard-code header-height
Erik Faye-Lund [Wed, 17 Apr 2019 12:52:41 +0000 (14:52 +0200)]
docs: do not hard-code header-height

It's generally nicer to do this in terms of em units, as that scales
better with text-sizes, if we ever decide to change them.

The result is slightly larger than before, but only by a couple of
pixels.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: simplify css-centering
Erik Faye-Lund [Wed, 17 Apr 2019 12:46:00 +0000 (14:46 +0200)]
docs: simplify css-centering

With "display: flex;" we can make this a bit more automatic, not
requiring a bunch of values to be of specific values to get the right
centering.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: use multiple background-images for header
Erik Faye-Lund [Wed, 17 Apr 2019 12:20:13 +0000 (14:20 +0200)]
docs: use multiple background-images for header

This is a bit tidier than to set a background on the h1-text, requiring
it to be full height and all.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: remove spurious newline
Erik Faye-Lund [Thu, 18 Apr 2019 11:08:24 +0000 (13:08 +0200)]
docs: remove spurious newline

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: avoid repeating the color
Erik Faye-Lund [Thu, 18 Apr 2019 11:01:15 +0000 (13:01 +0200)]
docs: avoid repeating the color

The color attribute is inherited in CSS, so there's no point in repeating
this.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: avoid repeating the font
Erik Faye-Lund [Thu, 18 Apr 2019 10:55:07 +0000 (12:55 +0200)]
docs: avoid repeating the font

The font attribute is inherited in CSS, so there's no point in repeating
this.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
5 years agodocs: add missing semicolon
Erik Faye-Lund [Thu, 18 Apr 2019 11:09:25 +0000 (13:09 +0200)]
docs: add missing semicolon

While it's legal to omit the last semicolon in a CSS block, it's
generally not considered good style, as it makes it harder to add new
lines.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>