summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-11-03 10:15:38 +1000
committerDave Airlie <[email protected]>2017-12-01 06:12:31 +0000
commit4e7f6437b5359fe41a48fbba510f46ac69db8653 (patch)
treeba77803b0f73ac80f263fdf495bbd268762223c1 /src/gallium/drivers/r600/r600_pipe.h
parentc758fd05d84e7a88966a103d57b61285f56a0e81 (diff)
r600: add ARB_shader_storage_buffer_object support (v3)
This just builds on the image support. Evergreen only has ssbo for fragment and compute no other stages. v2: handle images and ssbo in the same shader properly (Ilia) v3: fix RESQ on buffers, fix missing atom emit fix first element offset use R32 format write separate buffer rat store path. (from running deqp gles3.1 tests) Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index f651d66e070..e54fada9a65 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -38,7 +38,7 @@
#include "tgsi/tgsi_scan.h"
-#define R600_NUM_ATOMS 53
+#define R600_NUM_ATOMS 54
#define R600_MAX_IMAGES 8
/*
@@ -145,6 +145,7 @@ struct r600_cb_misc_state {
unsigned nr_cbufs;
unsigned nr_ps_color_outputs;
unsigned nr_image_rats;
+ unsigned nr_buffer_rats;
bool multiwrite;
bool dual_src_blend;
};
@@ -521,6 +522,7 @@ struct r600_context {
struct r600_atomic_buffer_state atomic_buffer_state;
/* only have images on fragment shader */
struct r600_image_state fragment_images;
+ struct r600_image_state fragment_buffers;
/* Shaders and shader resources. */
struct r600_cso_state vertex_fetch_shader;
struct r600_shader_state hw_shader_stages[EG_NUM_HW_STAGES];