summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>2022-10-22 10:58:45 -0400
committerMarge Bot <emma+marge@anholt.net>2023-02-04 17:10:15 +0000
commit32cbcbcb500b9c21ac5c94be43cf17fae0fa6bd8 (patch)
treedc8ee132ff13b000dcd78dd540a997122dbb6ac0 /src
parentf4b553d55a460635b16324db701f32f2959b0199 (diff)
asahi: Fake more caps for dEQP-GLES31
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21062>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/asahi/agx_pipe.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c
index ef25f0a61b5..a6f3df622fc 100644
--- a/src/gallium/drivers/asahi/agx_pipe.c
+++ b/src/gallium/drivers/asahi/agx_pipe.c
@@ -1233,6 +1233,7 @@ agx_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_MIXED_FRAMEBUFFER_SIZES:
case PIPE_CAP_FRAGMENT_SHADER_DERIVATIVES:
case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT:
+ case PIPE_CAP_SHADER_PACK_HALF_FLOAT:
return 1;
/* We could support ARB_clip_control by toggling the clip control bit for
@@ -1289,6 +1290,12 @@ agx_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_SAMPLE_SHADING:
case PIPE_CAP_SEAMLESS_CUBE_MAP:
case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
+ case PIPE_CAP_TEXTURE_BUFFER_OBJECTS:
+ case PIPE_CAP_TEXTURE_BUFFER_SAMPLER:
+ case PIPE_CAP_IMAGE_LOAD_FORMATTED:
+ case PIPE_CAP_IMAGE_STORE_FORMATTED:
+ case PIPE_CAP_COMPUTE:
+ case PIPE_CAP_INT64:
return is_deqp;
case PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS:
@@ -1352,6 +1359,15 @@ agx_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_ENDIANNESS:
return PIPE_ENDIAN_LITTLE;
+ case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
+ return is_deqp ? 4 : 0;
+ case PIPE_CAP_MIN_TEXTURE_GATHER_OFFSET:
+ return is_deqp ? -8 : 0;
+ case PIPE_CAP_MAX_TEXTURE_GATHER_OFFSET:
+ return is_deqp ? 7 : 0;
+ case PIPE_CAP_DRAW_INDIRECT:
+ return is_deqp;
+
case PIPE_CAP_VIDEO_MEMORY: {
uint64_t system_memory;
@@ -1443,7 +1459,6 @@ agx_get_shader_param(struct pipe_screen *pscreen, enum pipe_shader_type shader,
!(shader == PIPE_SHADER_COMPUTE && is_deqp))
return 0;
-
/* Don't allow side effects with vertex processing. The APIs don't require it
* and it may be problematic on our hardware.
*/