summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_context.h')
-rw-r--r--src/gallium/drivers/v3d/v3d_context.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h
index 686ecfa8024..136d8506597 100644
--- a/src/gallium/drivers/v3d/v3d_context.h
+++ b/src/gallium/drivers/v3d/v3d_context.h
@@ -58,6 +58,7 @@ void v3d_job_add_bo(struct v3d_job *job, struct v3d_bo *bo);
#define VC5_DIRTY_ZSA (1 << 2)
#define VC5_DIRTY_FRAGTEX (1 << 3)
#define VC5_DIRTY_VERTTEX (1 << 4)
+#define VC5_DIRTY_SHADER_IMAGE (1 << 5)
#define VC5_DIRTY_BLEND_COLOR (1 << 7)
#define VC5_DIRTY_STENCIL_REF (1 << 8)
@@ -222,6 +223,18 @@ enum v3d_ez_state {
VC5_EZ_DISABLED,
};
+struct v3d_image_view {
+ struct pipe_image_view base;
+ /* V3D 4.x texture shader state struct */
+ struct pipe_resource *tex_state;
+ uint32_t tex_state_offset;
+};
+
+struct v3d_shaderimg_stateobj {
+ struct v3d_image_view si[PIPE_MAX_SHADER_IMAGES];
+ uint32_t enabled_mask;
+};
+
/**
* A complete bin/render job.
*
@@ -440,6 +453,7 @@ struct v3d_context {
struct pipe_clip_state clip;
struct pipe_viewport_state viewport;
struct v3d_ssbo_stateobj ssbo[PIPE_SHADER_TYPES];
+ struct v3d_shaderimg_stateobj shaderimg[PIPE_SHADER_TYPES];
struct v3d_constbuf_stateobj constbuf[PIPE_SHADER_TYPES];
struct v3d_texture_stateobj tex[PIPE_SHADER_TYPES];
struct v3d_vertexbuf_stateobj vertexbuf;