summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-07-23 09:05:40 -0700
committerAlyssa Rosenzweig <[email protected]>2019-08-01 16:23:01 -0700
commitc8bc6644475953b0e6d26a7883bcb8d9a330ac88 (patch)
tree3675ea95c349b158849602a96ea9964b677cc129 /src
parent5a8b83ca0b632139a4bea3433db22a60b53c3efa (diff)
panfrost: Expose COMPUTE-related caps for GLES3.1
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/panfrost/pan_screen.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c
index d8aa6e34103..b517c6c6fe0 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -143,6 +143,10 @@ panfrost_get_param(struct pipe_screen *screen, enum pipe_cap param)
case PIPE_CAP_IMAGE_LOAD_FORMATTED:
return is_deqp;
+ /* For faking compute shaders */
+ case PIPE_CAP_COMPUTE:
+ return is_deqp;
+
/* TODO: Where does this req come from in practice? */
case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
return 1;
@@ -238,12 +242,12 @@ panfrost_get_shader_param(struct pipe_screen *screen,
enum pipe_shader_type shader,
enum pipe_shader_cap param)
{
+ bool is_deqp = pan_debug & PAN_DBG_DEQP;
+
if (shader != PIPE_SHADER_VERTEX &&
- shader != PIPE_SHADER_FRAGMENT) {
+ shader != PIPE_SHADER_FRAGMENT &&
+ !(shader == PIPE_SHADER_COMPUTE && is_deqp))
return 0;
- }
-
- bool is_deqp = pan_debug & PAN_DBG_DEQP;
/* this is probably not totally correct.. but it's a start: */
switch (param) {