diff options
author | Christian Gmeiner <[email protected]> | 2020-01-10 20:12:28 +0100 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2020-01-11 22:05:35 +0000 |
commit | db7967ef9f08e1430bbebc752bcbb63e8c921c29 (patch) | |
tree | a68fd35b8fafc94f510abfe8ef4d399259028c34 /src | |
parent | 44a6b17df76bebcccff0a928987ea2a3272e32a4 (diff) |
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 <[email protected]>
Reviewed-by: Jonathan Marek <[email protected]>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3351>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3351>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_debug.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_screen.c | 8 |
2 files changed, 8 insertions, 1 deletions
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 |