Am 10.10.19 um 20:52 schrieb Jose Fonseca: > Sounds great. > > Reviewed-by: Jose Fonseca <jfons...@vmware.com> > > BTW, it's not really difficult to do gather with unsigned offsets: add > 0x80000000 to the base, subtract 0x8000000 to the offsets, and use the > signed gather. If the cost of doing so is significant, we could do > this just for large textures, by adding a bit per texture to the shader key. Right, that should work. I guess the cost should be insignificant (although might make debugging harder?). Theoretically the base address adjustment could even be done outside the shader (though that would be looking a bit odd, in any case it's just a single scalar add per jit invocation), and the offset adjustment could be done while the offsets are still vectorized.
Roland > > Jose > > > ------------------------------------------------------------------------ > *From:* srol...@vmware.com <srol...@vmware.com> > *Sent:* Thursday, October 10, 2019 19:18 > *To:* Jose Fonseca <jfons...@vmware.com>; mesa-dev@lists.freedesktop.org > <mesa-dev@lists.freedesktop.org> > *Cc:* Roland Scheidegger <srol...@vmware.com> > *Subject:* [PATCH] llvmpipe: increase max texture size to 2GB > > From: Roland Scheidegger <srol...@vmware.com> > > The 1GB limit was arbitrary, increase this to 2GB (which is the max > possible without code changes). > --- > src/gallium/drivers/llvmpipe/lp_limits.h | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/llvmpipe/lp_limits.h > b/src/gallium/drivers/llvmpipe/lp_limits.h > index c2808162c78..569179ecdf4 100644 > --- a/src/gallium/drivers/llvmpipe/lp_limits.h > +++ b/src/gallium/drivers/llvmpipe/lp_limits.h > @@ -43,7 +43,11 @@ > /** > * Max texture sizes > */ > -#define LP_MAX_TEXTURE_SIZE (1 * 1024 * 1024 * 1024ULL) /* 1GB for now */ > +/** > + * 2GB is the actual max currently (we always use 32bit offsets, and both > + * llvm GEP as well as avx2 gather use signed offsets). > + */ > +#define LP_MAX_TEXTURE_SIZE (2 * 1024 * 1024 * 1024ULL) > #define LP_MAX_TEXTURE_2D_LEVELS 14 /* 8K x 8K for now */ > #define LP_MAX_TEXTURE_3D_LEVELS 12 /* 2K x 2K x 2K for now */ > #define LP_MAX_TEXTURE_CUBE_LEVELS 14 /* 8K x 8K for now */ > -- > 2.17.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev