diff options
author | Dave Airlie <[email protected]> | 2016-04-26 14:32:52 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2016-04-27 09:01:03 +1000 |
commit | e749c30cebe071da450e28cb47b1b7deb8284a39 (patch) | |
tree | f979efb8e10bd77e8f83166efcd3777af4594a1c /src/gallium/drivers/softpipe/sp_context.h | |
parent | f78bcb7638be3c2612fd1ab0371361a8b53104c7 (diff) |
softpipe: add support for compute shaders. (v2)
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.
Acked-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_context.h')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_context.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index 70d00c88b6e..a57f5875537 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -71,6 +71,7 @@ struct softpipe_context { struct sp_geometry_shader *gs; struct sp_velems_state *velems; struct sp_so_state *so; + struct sp_compute_shader *cs; /** Other rendering state */ struct pipe_blend_color blend_color; @@ -205,10 +206,11 @@ struct softpipe_context { * XXX wouldn't it make more sense for the tile cache to just be part * of sp_sampler_view? */ - struct softpipe_tex_tile_cache *tex_cache[PIPE_SHADER_GEOMETRY+1][PIPE_MAX_SHADER_SAMPLER_VIEWS]; + struct softpipe_tex_tile_cache *tex_cache[PIPE_SHADER_TYPES][PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned dump_fs : 1; unsigned dump_gs : 1; + unsigned dump_cs : 1; unsigned no_rast : 1; }; |