1. 28 Jan, 2019 2 commits
  2. 25 Jan, 2019 1 commit
    • Eric Anholt's avatar
      pl111: Rename the pl111 driver to "kmsro". · a6a16f4c
      Eric Anholt authored
      The vc4 driver can do prime sharing to many different KMS-only devices,
      such as the various tinydrm drivers for SPI-attached displays.  Rename the
      driver away from "pl111" to represent what it will actually support:
      various sorts of KMS displays with the renderonly layer used to attach a
      GPU.
      Signed-off-by: Rob Herring's avatarRob Herring <robh@kernel.org>
      a6a16f4c
  3. 22 Jan, 2019 2 commits
  4. 16 Jan, 2019 1 commit
  5. 13 Dec, 2018 2 commits
    • Emil Velikov's avatar
      configure: add CXX11_CXXFLAGS to LLVM_CXXFLAGS · 12187550
      Emil Velikov authored
      Seemingly with LLVM7 and GCC 5.0, the former won't properly advertise
      -std=c++11 and the latter will choke.
      
      dd this temporary workaround, otherwise we'll get errors like:
      
      In file included from /usr/include/c++/5/type_traits:35:0,
                       from /usr/lib/llvm-7/include/llvm/Support/type_traits.h:18,
                       from /usr/lib/llvm-7/include/llvm/ADT/Optional.h:22,
                       from /usr/lib/llvm-7/include/llvm/ADT/STLExtras.h:20,
                       from /usr/lib/llvm-7/include/llvm/ADT/StringRef.h:13,
                       from /usr/lib/llvm-7/include/llvm/Target/TargetMachine.h:17,
                       from ../../../src/amd/common/ac_llvm_helper.cpp:36:
      /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
      Signed-off-by: 's avatarEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: Dylan Baker's avatarDylan Baker <dylan@pnwbakers.com>
      12187550
    • Emil Velikov's avatar
      glx: mandate xf86vidmode only for "drm" dri platforms · a95ec138
      Emil Velikov authored
      Currently we have the three dri "platforms" - drm, apple and windows.
      
      Since xf86vidmode is a thing only for the drm one, adjust the
      preprocessor guards and correctly check for the dependency.
      
      v2: terminate the GLX_USE_WINDOWSGL hunk
      
      Cc: Jon TURNEY <jon.turney@dronecode.org.uk>
      Fixes: 5bc50936 ("glx: make xf86vidmode mandatory for direct rendering")
      Signed-off-by: 's avatarEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: Dylan Baker's avatarDylan Baker <dylan@pnwbakers.com>
      Acked-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
      a95ec138
  6. 06 Dec, 2018 1 commit
  7. 27 Nov, 2018 1 commit
  8. 20 Nov, 2018 1 commit
  9. 14 Nov, 2018 1 commit
  10. 31 Oct, 2018 1 commit
  11. 30 Oct, 2018 1 commit
  12. 26 Oct, 2018 1 commit
    • Rob Clark's avatar
      freedreno: import libdrm_freedreno + redesign submit · f3cc0d27
      Rob Clark authored
      In the pursuit of lowering driver overhead, it became clear that some
      amount of redesign of how libdrm_freedreno constructs the submit ioctl
      would be needed.  In particular, as the gallium driver is starting to
      make heavier use of CP_SET_DRAW_STATE state groups/objects, the over-
      head of tracking cmd buffers and relocs becomes too much.  And for
      "streaming" state, which isn't ever reused (like uniform uploads) the
      overhead of allocating/freeing ringbuffer[1] objects is too high.
      
      This redesign makes two main changes:
      
       1) Introduces a fd_submit object for tracking bos and cmds table
          for the submit ioctl, making ringbuffer objects more light-
          weight.  This was previously done in the ringbuffer.  But we
          have many ringbuffer instances involved in a submit (gmem +
          draw + potentially 1000's of state-group rbs), and only need
          a single bos and cmds table.  (Reloc table is still per-rb)
      
          The submit is also a convenient place for a slab allocator for
          ringbuffer objects.  Other options would have required locking
          because, while we can guarantee allocations will only happen on
          a single thread, free's could happen either on the application
          thread or the flush_queue thread.  With the slab allocator in
          the submit object, any frees that happen on the flush_queue
          thread happen after we know that the application thread is done
          with the submit.
      
       2) Introduce a new "softpin" msm_ringbuffer_sp implementation that
          does not use relocs and only has cmds table entries for IB1 (ie.
          the cmdstream buffers that kernel needs to CP_INDIRECT_BUFFER
          to from the RB).  To do this properly will require some updates
          on the kernel side, so whether you get the softpin or legacy
          submit/ringbuffer implementation at runtime depends on your
          kernel version.
      
      To make all these changes in libdrm would basically require adding a
      libdrm_freedreno2, so this is a good point to just pull the libdrm code
      into mesa.  Plus it allows for using mesa's hashtable, slab allocator,
      etc.  And it lets us have asserts enabled for debug mesa buids but
      omitted for release builds.  And it makes life easier if further API
      changes become necessary.
      
      At this point I haven't tried to pull in the kgsl backend.  Although
      I left the level of vfunc indirection which would make it possible
      to have other backends.  (And this was convenient to keep to allow
      for the "softpin" ringbuffer to coexist.)
      
      NOTE: if bisecting a build error takes you here, try a clean build.
      There are a bunch of ways things can go wrong if you still have
      libdrm_freedreno cflags.
      
      [1] "ringbuffer" is probably a bad name, the only level of cmdstream
          buffer that is actually a ring is RB managed by kernel.  User-
          space cmdstream is all IB1/IB2 and state-groups.
      Reviewed-by: 's avatarKristian H. Kristensen <hoegsberg@chromium.org>
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
      Signed-off-by: Rob Clark's avatarRob Clark <robdclark@gmail.com>
      f3cc0d27
  13. 23 Oct, 2018 1 commit
  14. 17 Oct, 2018 1 commit
  15. 10 Oct, 2018 1 commit
  16. 25 Sep, 2018 1 commit
  17. 17 Sep, 2018 1 commit
    • Dylan Baker's avatar
      move pthread_setaffinity_np check to the build system · 3acc18fc
      Dylan Baker authored
      Rather than trying to encode all of the rules in a header, lets just put
      them in the build system where they belong. This fixes the build on
      FreeBSD, which does have pthraed_setaffinity_np, but it's in a
      pthread_np.h, not behind _GNU_SOURCE. FreeBSD also implements cpu_set
      slightly differently, so additional changes would be required to get it
      working right there anyway.
      
      v2: - fix #define in autotools
      
      Fixes: 9f1bbbdb
             ("util: try to fix the Android and MacOS build")
      Cc: Emil Velikov <emil.velikov@collabora.com>
      Reviewed-by: 's avatarMarek Olšák <marek.olsak@amd.com>
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
      3acc18fc
  18. 24 Aug, 2018 1 commit
  19. 23 Aug, 2018 2 commits
  20. 20 Aug, 2018 1 commit
  21. 16 Aug, 2018 1 commit
  22. 08 Aug, 2018 4 commits
  23. 07 Aug, 2018 2 commits
  24. 03 Aug, 2018 2 commits
  25. 20 Jul, 2018 1 commit
  26. 12 Jul, 2018 1 commit
  27. 28 Jun, 2018 1 commit
  28. 21 Jun, 2018 2 commits
  29. 20 Jun, 2018 2 commits
    • Keith Packard's avatar
      vulkan: EXT_acquire_xlib_display requires libXrandr headers to build · 3f960c13
      Keith Packard authored
      When VK_USE_PLATFORM_XLIB_XRANDR_EXT is defined, vulkan.h includes
      X11/extensions/Xrandr.h for the RROutput typedef which is used in
      the vkGetRandROutputDisplayEXT interface.
      
      Make sure we have the required header by checking during the build,
      and also set CFLAGS to point at the right directory.
      
      We don't need to link against the library as we don't use any
      functions from there, so don't add the _LIBS value in the autotools
      build.
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Fixes: dbac8e25 "radv: Add EXT_acquire_xlib_display to radv driver [v2]"
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
      3f960c13
    • Gert Wollny's avatar
      configure.ac: Add CFLAG -Wno-missing-field-initializers (v5) · 81e5bf3c
      Gert Wollny authored
      This warning is misleading: When a struct is partially initialized without
      assigning to the structure members by name, then the remaining fields
      will be zeroed out, and this warning will be issued (if enabled). If, on the
      other hand, the partial initialization is done by assigning to named members,
      the remaining structure elements may hold random data, but the warning is not
      issued. Since in Mesa the first approach to initialize structure elements is
      used very often, and it is usually assumed that the remaining elements are
      zeroed out, heeding this warning would be counter-productive.
      
      v2: - add -Wno-missing-field-initializers to meson-build
          - fix empty line error
          (both Eric Engestrom)
      
      v3: * check for -Wmissing-field-initializers warning and then disable it
            because gcc and clang always accept -Wno-* (Dylan Baker)
          * Also disable this warning for C++
      
      v4: * meson.build add -Wno-missing-field-initializers to
            c_args instead of no_override_init_args (Eric Engstrom)
      
      v5: * configure.ac: Correct copy/paste error with CFLAGS/CXXFLAGS
      
      Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1)
      Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (v2)
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric.engestrom@intel.com>
      Signed-off-by: Gert Wollny's avatarGert Wollny <gert.wollny@collabora.com>
      81e5bf3c