summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2019-08-12 15:18:20 +0200
committerChristian Gmeiner <christian.gmeiner@gmail.com>2019-08-12 23:44:11 +0200
commit7ea158f3a68b2aa153b2c5b640bf77ab82baff82 (patch)
treedd2e59efd83897843baf4a3cfbdfe18ac3e5da67
parentd4b574f26ab51c1a35c9619971aec1fec4ffd822 (diff)
downloadmesa-7ea158f3a68b2aa153b2c5b640bf77ab82baff82.tar.gz
etnaviv: move nir linking to etna_link_shaders(..)
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_compiler.c3
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_shader.c8
2 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
index 8214d4f5770..e78c155f1b7 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
@@ -2581,9 +2581,6 @@ bool
etna_link_shader(struct etna_shader_link_info *info,
const struct etna_shader_variant *vs, const struct etna_shader_variant *fs)
{
- if (DBG_ENABLED(ETNA_DBG_NIR))
- return etna_link_shader_nir(info, vs, fs);
-
int comp_ofs = 0;
/* For each fragment input we need to find the associated vertex shader
* output, which can be found by matching on semantic name and index. A
diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c
index f0cde53d023..1dc53aa578f 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);
@@ -78,7 +79,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);