etnaviv: split link_shader

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
This commit is contained in:
Christian Gmeiner 2019-08-12 15:18:20 +02:00
parent 0765a1dd0e
commit f90b23b8c4
2 changed files with 7 additions and 4 deletions

View File

@ -2561,9 +2561,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

View File

@ -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);