1. 11 Mar, 2021 1 commit
  2. 05 Mar, 2021 2 commits
  3. 02 Mar, 2021 1 commit
  4. 17 Feb, 2021 2 commits
  5. 13 Feb, 2021 1 commit
  6. 02 Feb, 2021 3 commits
  7. 30 Jan, 2021 1 commit
  8. 22 Jan, 2021 2 commits
    • Marek Olšák's avatar
      radeonsi: add internal blitter_running flag · 1a2dde8f
      Marek Olšák authored
      
      
      to skip the indirection in si_decompress_textures
      Reviewed-by: Pierre-Eric Pelloux-Prayer's avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
      Part-of: <mesa/mesa!8653>
      1a2dde8f
    • Marek Olšák's avatar
      radeonsi: add new possibly faster command submission helpers · a0978fff
      Marek Olšák authored
      
      
      This decreases the release libgallium_dri.so size without debug symbols
      by 16384 bytes. The CPU time spent in si_emit_draw_packets decreased
      from 4.5% to 4.1% in viewperf13/catia/plane01.
      
      The previous code did:
          cs->current.buf[cs->current.cdw++] = ...;
          cs->current.buf[cs->current.cdw++] = ...;
          cs->current.buf[cs->current.cdw++] = ...;
          cs->current.buf[cs->current.cdw++] = ...;
      
      The new code does:
          unsigned num = cs->current.cdw;
          uint32_t *buf = cs->current.buf;
          buf[num++] = ...;
          buf[num++] = ...;
          buf[num++] = ...;
          buf[num++] = ...;
          cs->current.cdw = num;
      
      The code is the same (radeon_emit is redefined as a macro) except that
      all set and emit functions must be surrounded by radeon_begin(cs) and
      radeon_end().
      
      radeon_packets_added() returns whether there has been any new packets added
      since radeon_begin.
      
      radeon_end_update_context_roll(sctx) sets sctx->context_roll = true
      if there has been any new packets added since radeon_begin.
      
      For now, the "cs" parameter is intentionally unused in radeon_emit and
      radeon_emit_array.
      Reviewed-by: Pierre-Eric Pelloux-Prayer's avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
      Part-of: <mesa/mesa!8653>
      a0978fff
  9. 20 Jan, 2021 2 commits
  10. 18 Jan, 2021 2 commits
  11. 07 Jan, 2021 2 commits
  12. 06 Jan, 2021 1 commit
    • Yogesh Mohan Marmithu's avatar
      radeonsi: enable vrs2x2 coarse shading if flat shading (v9) · 8a22fc95
      Yogesh Mohan Marmithu authored
      
      
      Enable vrs2x2 coarse shading if flat shading as per
      idea and guidance given by Marek.
      
      is_flat_shading variable in struct si_shader_info is set
      based on the data from gather_intrinsic_info() function
      and struct si_state_rasterizer. If is_flat_shading_variable
      is set, then in function si_emit_db_render_state() vrs2x2
      shading is enabled in hardware.
      
      v2: Fix review comments from Pierre-Eric. Code optimizations.
      v3: Fix indentation style issue.
      v4: Fix review comments from Marek. Fixed logical issue pointed
          by Marek where info->is_flat_shading variable can be corrupted
          and other code cleanup.
      v5: Make the code compact as suggested by Pierre-Eric.
      v6: Fix new review comments from Marek.
      v7: use info->uses_interp_color variable fix from Marek.
      v8: Fix coding style comment from Marek.
      v9: Add uses_fbfetch_output check as suggested by Marek.
      Signed-off-by: Yogesh Mohan Marmithu's avatarYogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
      Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
      Part-of: <mesa/mesa!8161>
      8a22fc95
  13. 05 Jan, 2021 1 commit
    • Marek Olšák's avatar
      radeonsi: take color interpolation into account for shader variants · 76eb3478
      Marek Olšák authored
      
      
      Fixes:
      - Sample shading now uses per-sample interpolation for colors if colors
        are the only inputs. (this is the only case that was broken)
      
      Optimizations:
      - BC_OPTIMIZE (barycentric optimization) is now enabled with MSAA if colors
        are qualified with both center and centroid. (BC_OPTIMIZE means that
        the hardware skips initializing centroid (i,j) if they are equal to
        center (i,j))
      - If MSAA is disabled and at least 2 out of (center, centroid, sample) are
        used by all inputs now including colors, center is forced for all inputs.
      - If INTERP_MODE_COLOR is not used and the legacy GL shade model is flat,
        the shader variant for flat shading is not generated.
      Acked-by: Pierre-Eric Pelloux-Prayer's avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
      Part-of: <mesa/mesa!8225>
      76eb3478
  14. 16 Dec, 2020 1 commit
    • Marek Olšák's avatar
      radeonsi: fix small primitive culling with MSAA force-disabled and smoothing · dffc27e5
      Marek Olšák authored
      The problem was that the shader constants were based on the framebuffer
      sample count and ignored the multisample enable state and the line/polygon
      smoothing state, which uses MSAA rasterization that only sets SampleMaskIn
      to get the coverage for alpha-blended smoothing (the PS epilog computes
      the alpha channel from SampleMaskIn and blending generates the AA results).
      
      - This is a complete rework that adds a new state for NGG cull constants.
      - It fixes the same thing for the prim discard compute shader.
      - It documents how VS_STATE.SMALL_PRIM_PRECISION is encoded.
      
      It fixes blue corruption in Unigine Heaven with MSAA and Medium details
      or better.
      
      Fixes: 7648060d
      
       - radeonsi: enable NGG culling by default on gfx10.3 dGPUs
      Acked-by: Pierre-Eric Pelloux-Prayer's avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
      Part-of: <mesa/mesa!8022>
      dffc27e5
  15. 09 Dec, 2020 1 commit
  16. 05 Dec, 2020 1 commit
  17. 01 Dec, 2020 5 commits
  18. 26 Nov, 2020 1 commit
  19. 23 Nov, 2020 2 commits
  20. 18 Nov, 2020 3 commits
  21. 17 Nov, 2020 1 commit
  22. 12 Nov, 2020 1 commit
  23. 30 Oct, 2020 1 commit
  24. 17 Oct, 2020 2 commits