mesa/src
Kristian Høgsberg Kristensen b3a29f2e9e anv: Do relocations in userspace before execbuf ioctl
Since our surface state buffer is shared by all batches, the kernel does a
full stall and sync with the CPU between batches every time we call
execbuf2 because it refuses to do relocations on an active buffer.  Doing
them in userspace and passing the NO_RELOC flag to the kernel allows us to
perform the relocations without stalling.

This improves the performance of Dota 2 by around 30% on a Sky Lake GT2.

v2 (Jason Ekstrand):
 - Better comments (Chris Wilson)
 - Fixed write_reloc for correct canonical form (Chris Wilson)

v3 (Jason Ekstrand):
 - Skip relocations which aren't needed
 - Provide an environment variable to always use the kernel
 - More comments about correctness (Chris Wilson)

v4 (Jason Ekstrand):
 - More comments (Chris Wilson)

v5 (Jason Ekstrand):
 - Rebase on top of moving execbuf2 setup go QueueSubmit

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
2016-11-09 11:31:14 -08:00
..
amd radv: emit correct last export when Z/stencil export is enabled 2016-11-09 06:05:03 +10:00
compiler glsl/cache: correct asprintf error handling 2016-11-04 10:28:08 +01:00
egl egl: make interop ABI visible again 2016-11-04 11:30:47 +01:00
gallium Revert "draw: use vectorized calculations for fetch" 2016-11-09 05:53:16 +01:00
gbm gbm: set up the interop extension for egl/drm 2016-11-01 22:33:13 +01:00
getopt Introduce .editorconfig 2016-08-31 17:06:54 -07:00
glx glx: make interop ABI visible again 2016-11-04 11:30:47 +01:00
gtest Introduce .editorconfig 2016-08-31 17:06:54 -07:00
hgl glapi/hgl: remove the final user of _glapi_check_table() 2016-10-06 15:03:46 +01:00
intel anv: Do relocations in userspace before execbuf ioctl 2016-11-09 11:31:14 -08:00
loader loader: cleanup copyright section 2016-10-18 17:06:32 +01:00
mapi mesa: add missing CONTEXT_ROBUST_ACCESS enum 2016-10-27 07:06:41 +03:00
mesa i965/compute: Allow ARB_compute_shader in compat profile 2016-11-09 08:23:33 -08:00
util ralloc: add a linear allocator as a child node of ralloc 2016-10-31 11:53:38 +01:00
vulkan/wsi vulkan/wsi/x11: Clean up connections in finish_wsi 2016-11-02 09:26:36 -07:00
Makefile.am amd/common: build also for gallium drivers 2016-11-03 10:06:24 +01:00
SConscript scons: put the generated git_sha1.h file in top-level src/ directory 2016-06-17 10:33:00 -06:00