softpipe: add support for compute shaders. (v2)

Graphics / Mesa 3D Graphics Library / Mesa - Dave Airlie [redhat.com] - 26 April 2016 18:01 EDT

This enables ARB_compute_shader on softpipe. I've only tested this with piglit so far, and I hopefully plan on integrating it with my vulkan work. I'll get to testing it with deqp more later.

The basic premise is to create up to 1024 restartable TGSI machines, and execute workgroups of those machines.

v1.1: free machines.
v2: deqp fixes - add samplers support, finish atomic operations, fix load/store writemasks.

e749c30 softpipe: add support for compute shaders. (v2)
src/gallium/drivers/softpipe/Makefile.sources | 1 +
src/gallium/drivers/softpipe/sp_compute.c | 235 +++++++++++++++++++++++
src/gallium/drivers/softpipe/sp_context.c | 3 +
src/gallium/drivers/softpipe/sp_context.h | 4 +-
src/gallium/drivers/softpipe/sp_screen.c | 57 +++++-
src/gallium/drivers/softpipe/sp_state.h | 13 ++
src/gallium/drivers/softpipe/sp_state_derived.c | 6 +
src/gallium/drivers/softpipe/sp_state_shader.c | 53 +++++
8 files changed, 369 insertions(+), 3 deletions(-)

Upstream: cgit.freedesktop.org


  • Share