mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
broadcom/vc5: Fix BASE_LEVEL handling with txl.
The HW doesn't add the base level anywhere (the min/max lod clamping is what does base level), so we need to add it manually in this case. Fixes piglit tex-miplevel-selection *Lod 2D.
This commit is contained in:
parent
c55813c22e
commit
6a78416dab
2 changed files with 8 additions and 2 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue