1. 18 Nov, 2020 3 commits
  2. 14 Nov, 2020 1 commit
    • Alejandro Piñeiro's avatar
      broadcom/compiler: separate texture/sampler info from v3d_key · 429c3364
      Alejandro Piñeiro authored
      So far the v3d compiler has them combined, as for OpenGL both are the
      same. This change is intended to fit the v3d compiler better with
      Vulkan, where they are separate concepts.
      Note that NIR has them separate for a long time, both on nir_variable
      and on some NIR lowerings.
      v2: (from Iago feedback)
          * Use key->num_tex/sampler_used to iterate through the array
          * Fill up num_samplers_used on v3d, assert that is the same that
            num_tex_used if possible.
      v3: (Iago)
          * Assert num_tex/samplers_used is smaller that tex/sampler array size.
      v4: Update assert mentioned on v3 to use <= instead of < (detected by CI)
      Reviewed-by: Iago Toral's avatarIago Toral Quiroga <itoral@igalia.com>
      squash! broadcom/compiler: separate texture/sampler info from v3d_key
      Part-of: <mesa/mesa!7545>
  3. 11 Nov, 2020 1 commit
    • James Jones's avatar
      gallium: Add pipe_screen::is_dmabuf_modifier_supported · 6ee10ab3
      James Jones authored
      Add a "do you support this modifier?" query to all
      drivers which support format modifiers. This will
      be used in a subsequent change to fully
      encapsulate modifier validation and auxiliary plane
      count calculation logic behind the driver
      abstraction, which will in turn simplify the
      addition of device-class-specific format modifiers
      in the nouveau driver.
      Signed-off-by: James Jones's avatarJames Jones <jajones@nvidia.com>
      Part-of: <!3723>
  4. 05 Nov, 2020 2 commits
  5. 03 Nov, 2020 1 commit
    • Alejandro Piñeiro's avatar
      broadcom/compiler: remove v3d_fs_key depth_enabled field. · 09b2bd1d
      Alejandro Piñeiro authored
      It is not used right now, so keeping it adds some noise/confusion.
      So far configuring Z test are done through the CFG_BITS. See
      v3dX(emit_state) at v3dx_emit.c for v3d, and pack_cfg_bits at
      v3dv_pipeline.c for v3dv. There flags like z_updates_enable and others
      are filled up.
      That key field seems like a leftover coming from using vc4 as
      reference, as that driver defines and uses a field with name name.
      Reviewed-by: Iago Toral's avatarIago Toral Quiroga <itoral@igalia.com>
      Part-of: <!7421>
  6. 29 Oct, 2020 1 commit
  7. 21 Oct, 2020 1 commit
  8. 13 Oct, 2020 3 commits
  9. 07 Oct, 2020 3 commits
  10. 04 Oct, 2020 3 commits
  11. 02 Oct, 2020 1 commit
  12. 01 Oct, 2020 1 commit
    • Matt Turner's avatar
      Revert F16C series (MR 6774) · 1aac47db
      Matt Turner authored
      This reverts commit 4fb2eddf.
      This reverts commit 7a1deb16.
      This reverts commit 2b6a1723.
      This reverts commit 5af81393.
      This reverts commit 87900afe.
      A couple of problems were discovered after this series was merged that
      cause breakage in different configurations:
         (1) It seems that using -mf16c also enables AVX, leading to SIGILL on
         platforms that do not support AVX.
         (2) Since clang only warns about unknown flags, and as I understand
         it Meson's handling in cc.has_argument() is broken, the F16C code is
         wrongly enabled when clang is used, even for example on ARM, leading
         to a compilation error.
      Closes: #3583Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Reviewed-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
      Part-of: <!6969>
  13. 30 Sep, 2020 2 commits
  14. 24 Sep, 2020 1 commit
  15. 22 Sep, 2020 1 commit
  16. 16 Sep, 2020 1 commit
  17. 26 Aug, 2020 1 commit
    • Alejandro Piñeiro's avatar
      v3d: set instance id to 0 at start of tile · 05a03499
      Alejandro Piñeiro authored
      PTB assumes that base instance to be 0 at start of tile, but hw would
      not do that, we need to set it. It is worth to note that the opcode
      name is somewhat confusing as what it really sets is the base
      instance. We could rename the opcode, but then the name would be
      different to the original Broadcom name, so confusing in any case.
      This fixes several dEQP-GLES3 and dEQP-GLES31 tests that passes
      individually, but started to fail depending on other tests running
      before using base instance different to zero.
      This is the backport of a Vulkan patch that fixed some Vulkan CTS
      tests that start to fails after some other tests used an instance id.
      CC: 20.2 20.1 <mesa-stable@lists.freedesktop.org>
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Part-of: <!6447>
  18. 05 Aug, 2020 1 commit
  19. 29 Jul, 2020 1 commit
  20. 09 Jul, 2020 1 commit
  21. 08 Jul, 2020 1 commit
  22. 06 Jul, 2020 4 commits
    • Neil Roberts's avatar
      v3d: Enable perpendicular line caps when line smoothing · 137d8f98
      Neil Roberts authored
      V3D has a bit to set the line caps to be perpendicular to the line
      rather than aligned to the edges of the framebuffer. I don’t know what
      the disadvantages are of enabling this, but I noticed by experimentation
      that enabling line smoothing on the Intel driver also enables nicer line
      caps, so it seems nice to enable it here too.
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Part-of: <!5624>
    • Neil Roberts's avatar
      v3d: Add a lowering pass for line smoothing · ee4d51f8
      Neil Roberts authored
      When line smoothing is enabled, the driver now increases the width of
      the line so that it can add some semi-transparent pixels to either side
      of the line. A lowering pass is added which modifies the alpha component
      of every write to fragment output 0 so that if the fragment is outside
      the width of the line then the alpha is reduced. It additionally
      discards fragments that are completely invisible. It might seem bad to
      use discard on a tiled renderer but the assumption is that any bad
      effects from using discard will also happen anyway because of enabling
      alpha blending.
      v2: Disable the line smoothing pass entirely when the framebuffer
          contains an integer colour output or one with no alpha channel.
          Calculate the coverage once upfront and store in a global variable
          instead of calculating each time an output write is modified. Also
          do the conditional discard once upfront.
      v3: Don’t check whether the output buffer has an alpha channel. Only
          look at output 0. Use aa_line_width intrinsic instead of calculating
          the real line width in the shader. Clamp the coverage as part of the
          global variable, not per output write.
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Part-of: <!5624>
    • Neil Roberts's avatar
      v3d: Handle the line width intrinsics · 207da33a
      Neil Roberts authored
      Adds new QUNIFORMs to store the line widths.
      v2: Also handle the aa_line_width intrinsic
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Part-of: <!5624>
    • Jason Ekstrand's avatar
      v3d: Only call nir_lower_io on shader_in/out · 23b70948
      Jason Ekstrand authored
      Gallium drivers should never see nir_var_uniform because gallium lowers
      regular uniforms to a UBO.  No GL driver should ever see either
      nir_var_mem_shared because that's lowered in GLSL IR.
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Reviewed-by: Connor Abbott's avatarConnor Abbott <cwabbott0@gmail.com>
      Part-of: <!5418>
  23. 29 Jun, 2020 2 commits
  24. 27 Jun, 2020 1 commit
    • Alejandro Piñeiro's avatar
      v3d: moving v3d simulator to src/broadcom · 583d7d3d
      Alejandro Piñeiro authored
      So it could be used by both the OpenGL and the Vulkan driver.
      In addition to the move, some small changes were needed to be made on
      the API. For example, the simulator was receiving v3d_screen on
      initialization, and that code setted v3d_screen->sim_file. Now it
      returns the new sim_file created.
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Part-of: <!5666>
  25. 22 Jun, 2020 2 commits
    • Neil Roberts's avatar
      v3d: Disable PIPE_CAP_PRIMITIVE_RESTART · ffc4d824
      Neil Roberts authored
      The hardware can only support the PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX
      subset. This will make it stop advertising the NV_primitive_restart
      extension without breaking GLES 3.0 support.
      v2: Update features.txt
      Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
      Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com>
      Part-of: <!5559>
    • Neil Roberts's avatar
      gallium: Add pipe cap for primitive restart with fixed index · bb5fc901
      Neil Roberts authored
      Adds PIPE_CAP_PRIMITIVE_RESTART_FIXED_INDEX which is a subset of the
      primitive restart cap for when the hardware can only support the fixed
      indices specified in GLES.
      The switch statements were automatically modified with this command:
      find \( \( -name \*.cpp -o -name \*.c \) \! -type l \) \
       -exec sed -i -r \
       's/^(\s*case\s+PIPE_CAP_PRIMITIVE_RESTART)\s*:.*$/\0\n\1_FIXED_INDEX:/' \
       {} \;
      v2: Add a note in screen.rst
      Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
      Reviewed by: Erik Faye-Lund <erik.faye-lund@collabora.com>
      Part-of: <!5559>