On Mon, May 28, 2018 at 3:05 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Mon, May 28, 2018 at 2:48 PM, Marek Olšák <mar...@gmail.com> wrote: > > On Mon, May 28, 2018 at 5:29 AM, Nicolai Hähnle <nhaeh...@gmail.com> > wrote: > >> > >> On 25.05.2018 23:03, Marek Olšák wrote: > >>> > >>> From: Marek Olšák <marek.ol...@amd.com> > >>> > >>> Bindless texture handles can be passed via vertex attribs using this > >>> type. > >>> This fixes a bunch of bindless piglit tests on radeonsi. > >>> > >>> Cc: 18.0 18.1 <mesa-sta...@lists.freedesktop.org> > >>> --- > >>> src/mesa/state_tracker/st_atom_array.c | 3 +++ > >>> 1 file changed, 3 insertions(+) > >>> > >>> diff --git a/src/mesa/state_tracker/st_atom_array.c > >>> b/src/mesa/state_tracker/st_atom_array.c > >>> index 9a0935e21a5..76dc81975c8 100644 > >>> --- a/src/mesa/state_tracker/st_atom_array.c > >>> +++ b/src/mesa/state_tracker/st_atom_array.c > >>> @@ -292,20 +292,23 @@ st_pipe_vertex_format(const struct > >>> gl_array_attributes *attrib) > >>> assert(size == 3 && !integer && format == GL_RGBA); > >>> return PIPE_FORMAT_R11G11B10_FLOAT; > >>> case GL_UNSIGNED_BYTE: > >>> if (format == GL_BGRA) { > >>> /* this is an odd-ball case */ > >>> assert(normalized); > >>> return PIPE_FORMAT_B8G8R8A8_UNORM; > >>> } > >>> break; > >>> + > >>> + case GL_UNSIGNED_INT64_ARB: > >>> + return PIPE_FORMAT_R32G32_UINT; > >> > >> > >> Is it not possible to have vectors of uint64 as attributes? > > > > > > I don't think we support uint64 in shaders. We only support bindless > > samplers, which can't be vectors. > > While we do support them in theory [i64vecN attributes], in practice > they get lowered in init_velement_lowered (ideally attrib->Doubles is > set there). Given that the 64-bit bindless attributes have the same > counting issues, I think they should go through the same lowering > logic, even though in practice it won't matter (since it always fits > into a single attribute). > > I did do a bit of tracing, and it seemed like that should already work > with the current code, but clearly it doesn't for some reason. > > This patch seems like a workaround, although in practice, it will work too. > Vector uint64 vertex attributes are only supported with the NV extension. Marek
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev