summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/etnaviv_shader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_shader.c')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_shader.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c
index a87e94b2b01..1f0d117eac1 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_shader.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_shader.c
@@ -67,6 +67,7 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs,
struct etna_shader_variant *vs, struct etna_shader_variant *fs)
{
struct etna_shader_link_info link = { };
+ bool failed;
assert(vs->stage == MESA_SHADER_VERTEX);
assert(fs->stage == MESA_SHADER_FRAGMENT);
@@ -83,7 +84,12 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs,
}
#endif
- if (etna_link_shader(&link, vs, fs)) {
+ if (DBG_ENABLED(ETNA_DBG_NIR))
+ failed = etna_link_shader_nir(&link, vs, fs);
+ else
+ failed = etna_link_shader(&link, vs, fs);
+
+ if (failed) {
/* linking failed: some fs inputs do not have corresponding
* vs outputs */
assert(0);