summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_screen.c
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2017-11-04 12:52:43 -0400
committerRob Clark <[email protected]>2017-11-12 12:28:59 -0500
commitbedbe7f90c811dcf47975008efbd1b54dbdf2756 (patch)
tree4ea5d665f7e5a7178aa0ab9995af1353bdcb9c9d /src/gallium/drivers/freedreno/freedreno_screen.c
parent819a613ae33410584e13e78e78af82c71716f67d (diff)
freedreno/a5xx: image support
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_screen.c')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_screen.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
index 673d1e5b030..7910bbbdcd5 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -558,6 +558,7 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
return 0;
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
+ case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
if (is_a5xx(screen)) {
/* a5xx (and a4xx for that matter) has one state-block
* for compute-shader SSBO's and another that is shared
@@ -576,6 +577,10 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
*
* I think that way we could avoid having to patch shaders
* for actual SSBO indexes by using a static partitioning.
+ *
+ * Note same state block is used for images and buffers,
+ * but images also need texture state for read access
+ * (isam/isam.3d)
*/
switch(shader)
{
@@ -587,9 +592,6 @@ fd_screen_get_shader_param(struct pipe_screen *pscreen,
}
}
return 0;
- case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
- /* probably should be same as MAX_SHADRER_BUFFERS but not implemented yet */
- return 0;
}
debug_printf("unknown shader param %d\n", param);
return 0;