1. 21 Jan, 2020 1 commit
    • Eric Anholt's avatar
      gallium: Pack the atomic counters just above the SSBOs. · d5a39714
      Eric Anholt authored
      We carve out half the SSBO space for atomics, and we were just binding
      them way up there.  freedreno was then using a remapping table to map the
      sparse buffer index back down, since space in the descriptor array is a
      shared resource that may limit parallelism.  That remapping table
      generated inside of the ir3 compiler is getting thoroughly in the way of
      implementing vulkan descriptor sets.
      
      We will be able to get rid of the freedreno's remapping table, and
      hopefully save shared resources on other hardware, by packing the atomics
      tightly above the SSBOs (like i965 does).  We already rebind the shader
      buffers on program change if either the old or new program has SSBOs or
      ABOs, so this doesn't necessarily increase the program state change cost
      (the only cost increase I can come up with is if you're using the same
      atomic counter without rebinding it across changes of programs with
      varying SSBO counts, meaning it would now bounce around index space).
      Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
      Part-of: <!3240>
      d5a39714
  2. 15 Jun, 2018 1 commit
  3. 09 Feb, 2018 1 commit
  4. 09 Nov, 2017 1 commit
  5. 21 Jun, 2017 2 commits
  6. 07 Jun, 2017 1 commit
  7. 08 May, 2017 1 commit
  8. 13 Apr, 2017 1 commit
  9. 30 Jul, 2016 1 commit
    • Marek Olšák's avatar
      st/mesa: completely rewrite state atoms · c8fe3b9d
      Marek Olšák authored
      The goal is to do this in st_validate_state:
         while (dirty)
            atoms[u_bit_scan(&dirty)]->update(st);
      
      That implies that atoms can't specify which flags they consume.
      There is exactly one ST_NEW_* flag for each atom. (58 flags in total)
      
      There are macros that combine multiple flags into one for easier use.
      
      All _NEW_* flags are translated into ST_NEW_* flags in st_invalidate_state.
      st/mesa doesn't keep the _NEW_* flags after that.
      
      torcs is 2% faster between the previous patch and the end of this series.
      
      v2: - add st_atom_list.h to Makefile.sources
      Reviewed-by: default avatarNicolai Hähnle <nicolai.haehnle@amd.com>
      c8fe3b9d