Mesa (master): etnaviv: add deqp debug option
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Jan 11 22:36:34 UTC 2020
Module: Mesa
Branch: master
Commit: db7967ef9f08e1430bbebc752bcbb63e8c921c29
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=db7967ef9f08e1430bbebc752bcbb63e8c921c29
Author: Christian Gmeiner <christian.gmeiner at gmail.com>
Date: Fri Jan 10 20:12:28 2020 +0100
etnaviv: add deqp debug option
This new debug option will fake some driver CAPs to be able to run dEQP
for GLES3.
Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Reviewed-by: Jonathan Marek <jonathan at marek.ca>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3351>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3351>
---
src/gallium/drivers/etnaviv/etnaviv_debug.h | 1 +
src/gallium/drivers/etnaviv/etnaviv_screen.c | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_debug.h b/src/gallium/drivers/etnaviv/etnaviv_debug.h
index 7676e5adce1..79e6ebaedd8 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_debug.h
+++ b/src/gallium/drivers/etnaviv/etnaviv_debug.h
@@ -54,6 +54,7 @@
#define ETNA_DBG_SHADERDB 0x800000 /* dump program compile information */
#define ETNA_DBG_NO_SINGLEBUF 0x1000000 /* disable single buffer feature */
#define ETNA_DBG_NIR 0x2000000 /* use new NIR compiler */
+#define ETNA_DBG_DEQP 0x4000000 /* Hacks to run dEQP GLES3 tests */
extern int etna_mesa_debug; /* set in etna_screen.c from ETNA_DEBUG */
diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 3f687c4314a..f9edf53e2c0 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -73,6 +73,7 @@ static const struct debug_named_value debug_options[] = {
{"shaderdb", ETNA_DBG_SHADERDB, "Enable shaderdb output"},
{"no_singlebuffer",ETNA_DBG_NO_SINGLEBUF, "Disable single buffer feature"},
{"nir", ETNA_DBG_NIR, "use new NIR compiler"},
+ {"deqp", ETNA_DBG_DEQP, "Hacks to run dEQP GLES3 tests"}, /* needs MESA_GLES_VERSION_OVERRIDE=3.0 */
DEBUG_NAMED_VALUE_END
};
@@ -180,6 +181,8 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
return 0;
/* Stream output. */
+ case PIPE_CAP_MAX_STREAM_OUTPUT_BUFFERS:
+ return DBG_ENABLED(ETNA_DBG_DEQP) ? 4 : 0;
case PIPE_CAP_MAX_STREAM_OUTPUT_SEPARATE_COMPONENTS:
case PIPE_CAP_MAX_STREAM_OUTPUT_INTERLEAVED_COMPONENTS:
return 0;
@@ -312,7 +315,7 @@ etna_screen_get_shader_param(struct pipe_screen *pscreen,
case PIPE_SHADER_CAP_MAX_TEMPS:
return 64; /* Max native temporaries. */
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
- return 1;
+ return DBG_ENABLED(ETNA_DBG_DEQP) ? 16 : 1;
case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED:
return 1;
case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
@@ -614,6 +617,9 @@ etna_determine_uniform_limits(struct etna_screen *screen)
screen->specs.max_vs_uniforms = 168;
screen->specs.max_ps_uniforms = 64;
}
+
+ if (DBG_ENABLED(ETNA_DBG_DEQP))
+ screen->specs.max_ps_uniforms = 1024;
}
static bool
More information about the mesa-commit
mailing list