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

Rob Clark robdclark at gmail.com
Tue Jun 11 02:05:25 UTC 2019


On Mon, Jun 10, 2019 at 6:52 PM Brian Masney <masneyb at onstation.org> wrote:
>
> 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.
>

fwiw, vblank_mode=0 will make glxgears about a bazzilion times faster
(otoh glxgears really is a horrible benchmark.. but either way w/out
vblank_mode=0 it will be limited to screen refresh rate)

BR,
-R


More information about the mesa-dev mailing list