[Mesa-dev] freedreno: 'Unhandled NIR tex src type: 11' on A3XX

Brian Masney masneyb at onstation.org
Tue Jun 11 01:52:18 UTC 2019


Hi Rob,

On Mon, Jun 10, 2019 at 05:10:45PM -0700, Rob Clark wrote:
> On Mon, Jun 10, 2019 at 3:54 PM Brian Masney <masneyb at onstation.org> wrote:
> >
> > On Mon, Jun 10, 2019 at 06:58:30AM -0700, Rob Clark wrote:
> > > On Mon, Jun 10, 2019 at 6:53 AM Rob Clark <robdclark at gmail.com> wrote:
> > > >
> > > > On Sat, Jun 8, 2019 at 6:08 PM Brian Masney <masneyb at onstation.org> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm trying to get the GPU working using the Freedreno driver (A330) on
> > > > > the Nexus 5 phone. I'm using kernel 5.2rc3 with some out of tree patches
> > > > > related to the GPU [1] and mesa 19.1.0-rc5 on postmarketOS. When I run
> > > > > glxgears, I see the gears show up for a fraction of a second and then
> > > > > it terminates due to the following error:
> > > > >
> > > > > -----
> > > > > shader: MESA_SHADER_FRAGMENT
> > > > > inputs: 1
> > > > > outputs: 1
> > > > > uniforms: 0
> > > > > shared: 0
> > > > > decl_var uniform INTERP_MODE_NONE sampler2D sampler (0, 0, 0)
> > > > > decl_var shader_in INTERP_MODE_SMOOTH vec4 in_0 (VARYING_SLOT_VAR0, 0, 0)
> > > > > decl_var shader_out INTERP_MODE_FLAT vec4 out_0 (FRAG_RESULT_DATA0, 0, 0)
> > > > > decl_function main (0 params)
> > > > >
> > > > > impl main {
> > > > >         block block_0:
> > > > >         /* preds: */
> > > > >         vec1 32 ssa_0 = load_const (0x00000000 /* 0.000000 */)
> > > > >         vec2 32 ssa_1 = intrinsic load_barycentric_pixel () (1) /* interp_mode=1 */
> > > > >         vec4 32 ssa_2 = intrinsic load_interpolated_input (ssa_1, ssa_0) (0, 0) /* base=0 */ /* component=0 */  /* in_0 */
> > > > >         vec1 32 ssa_3 = deref_var &sampler (uniform sampler2D)
> > > > >         vec2 32 ssa_4 = vec2 ssa_2.x, ssa_2.y
> > > > >         vec4 32 ssa_5 = tex ssa_3 (texture_deref), ssa_3 (sampler_deref), ssa_4 (coord)
> > > > > Unhandled NIR tex src type: 11
> > > >
> > > > This should be getting lowered somewhere..  and I don't *think* it
> > > > should be a3xx specific.
> > >
> > > It should be getting lowered in gl_nir_lower_samplers().. which should
> > > be called from mesa/st before the driver even sees this shader.
> > >
> > > Could you build mesa from git w/ latest 19.1, I guess this must have
> > > been fixed by now, since other drivers that use nir would hit the same
> > > issue.
> >
> > This error doesn't happen on X11 using the mesa master branch. Instead,
> > I get the following error on that branch:
> >
> > ../src/gallium/drivers/freedreno/freedreno_batch.c:424:fd_batch_add_dep: Assertion `!batch_depends_on(dep, batch)' failed.
> >
> > Full disclosure though: I rebuilt the mesa package using the
> > postmarketOS packaging yesterday and it includes a few extra patches for
> > musl libc.
> >
> > https://gitlab.com/postmarketOS/pmaports/tree/master/temp/mesa
> 
> 
> I don't see anything obvious in those patches that would be related..
> but I suspect this type of error is going to be timing related.
> (Which could ofc be due to musl or something else)
> 
> but a bit surprised debug_assert() is enabled in debug builds.. it
> would probably be a "harmless" situation if asserts were not enabled.
> 
> (note that I do most of my testing with debug builds with asserts
> enabled.. this is the type of thing that I want to see and fix.. but
> probably shouldn't matter to end users)

I recompiled the master branch of mesa in pmOS with '-Db_ndebug=true'
and X11 is now working properly on the Nexus 5. glxgears averages about
59.5 FPS. I'll add a bug report with pmOS to have them add that flag to
their mesa build. Fedora added that flag to their builds:
https://bugzilla.redhat.com/show_bug.cgi?id=1692426

19.1.0-rc5 still doesn't work for me due to the original error.

Brian


More information about the mesa-dev mailing list