Hello, I've been toying with the idea of adding gallium support for the atomic counters extension in gallium. Nouveau already largely supports it, so it's mostly a question of plumbing. (One piece that's missing in nouveau is _actually_ binding resources, but that can't be too difficult... I hope.)
It seems like the thing that makes the most sense is to make sure that the atomic buffer is allocated with PIPE_BIND_SHADER_RESOURCE, and use ->set_shader_resources to bind them. Then the TGSI opcodes generated would refer to TGSI_FILE_RESOURCE objects linked to those atomic buffers. I would reuse the existing ATOM* opcodes + LOAD/STORE (didn't check if extra ones are needed, but I'd assume not). Am I missing some large piece of this? Is there an easier/better way of doing this? It'll obviously require a bunch of work in st_glsl_to_tgsi to add support for tracking resources/etc. -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev