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

Rob Clark robdclark at gmail.com
Tue Jun 11 00:10:45 UTC 2019


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)

BR,
-R


More information about the mesa-dev mailing list