On 6/10/19 9:52 PM, Brian Masney 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 <masn...@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 <robdcl...@gmail.com> wrote:

On Sat, Jun 8, 2019 at 6:08 PM Brian Masney <masn...@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


You probably want '--buildtype=release' instead of '-Db_ndebug=true'
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to