diff options
-rw-r--r-- | src/broadcom/compiler/nir_to_vir.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/vc5/vc5_uniforms.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 879704aeeed..7a31e242d11 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -380,9 +380,11 @@ ntq_emit_tex(struct v3d_compile *c, nir_tex_instr *instr) p0_unpacked.bias_supplied = true; break; case nir_tex_src_lod: - /* XXX: Needs base level addition */ coords[next_coord++] = - ntq_get_src(c, instr->src[i].src, 0); + vir_FADD(c, + ntq_get_src(c, instr->src[i].src, 0), + vir_uniform(c, QUNIFORM_TEXTURE_FIRST_LEVEL, + unit)); if (instr->op != nir_texop_txf && instr->op != nir_texop_tg4) { diff --git a/src/gallium/drivers/vc5/vc5_uniforms.c b/src/gallium/drivers/vc5/vc5_uniforms.c index 37354b8bb84..5e181344e73 100644 --- a/src/gallium/drivers/vc5/vc5_uniforms.c +++ b/src/gallium/drivers/vc5/vc5_uniforms.c @@ -324,6 +324,10 @@ vc5_write_uniforms(struct vc5_context *vc5, struct vc5_compiled_shader *shader, break; case QUNIFORM_TEXTURE_FIRST_LEVEL: + cl_aligned_f(&uniforms, + texstate->textures[uinfo->data[i]]->u.tex.first_level); + break; + case QUNIFORM_TEXTURE_BORDER_COLOR: /* XXX */ break; |