[Mesa-dev] [PATCH 0/7] gallium, radeonsi: raise number of samplers to 32

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Thu Apr 7 00:18:55 UTC 2016


Hi Nicolai,

Patches 1-2 and 5-6 are

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

However, for increasing the limits there are several cases which still
use signed shifts (i.e. 1 << ...) which is undefined behavior shifting
into bit 31. mesa/st contains several of those, not sure which need to
be updated due to having lower limits, but I would presume at least
st_glsl_to_tgsi.cpp needs updating.

I will probably revisit using the constant engine once my compute
shader and robust_buffer_access_behavior work is mostly done. Tracking
some kind of highest used descriptor (probably better via shader
usage, as we can apply the correct bound checking during compilation),
is probably a good idea independently of CE usage. Uploading 2 KiB for
every texture change is indeed a bit much.

- Bas


On Thu, Apr 7, 2016 at 12:46 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> Hi,
>
> it seems that games increasingly expect to be able to use 32 samplers in
> their shaders. This series is intended to enable that for radeonsi, but
> as a side effect also does so for the Gallium software renderers. It's
> mostly an exercise in changing constants.
>
> This increases the size of descriptor sets in radeonsi quite significantly.
> We should probably start to track the highest non-NULL descriptors and
> use that to reduce the amount of stuff we copy around - keeping in mind
> the robust buffer access requirements. It may be worth it to look at the
> constant engine patches again.
>
> Please review!
>
> Thanks,
> Nicolai
> --
>  .../auxiliary/draw/draw_pipe_aaline.c        |  2 +-
>  src/gallium/auxiliary/util/u_pstipple.c      |  2 +-
>  src/gallium/drivers/radeonsi/si_blit.c       | 12 +++++------
>  .../drivers/radeonsi/si_descriptors.c        | 20 +++++++++---------
>  src/gallium/drivers/radeonsi/si_pipe.c       |  2 +-
>  src/gallium/drivers/radeonsi/si_pipe.h       |  4 ++--
>  src/gallium/drivers/radeonsi/si_state.h      |  6 +++---
>  src/gallium/include/pipe/p_state.h           |  2 +-
>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp   |  2 +-
>  9 files changed, 26 insertions(+), 26 deletions(-)
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list