Bug 110116 - Neverball particles are broken (GL_POINT_SPRITE)
Summary: Neverball particles are broken (GL_POINT_SPRITE)
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: 18.3
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-15 02:32 UTC by QwertyChouskie
Modified: 2019-05-17 20:05 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Neverball apitrace (5.43 MB, application/octet-stream)
2019-03-15 17:29 UTC, QwertyChouskie
Details
apitrace from self-compiled Neverball 1.6.0 (3.61 MB, application/octet-stream)
2019-03-19 17:27 UTC, QwertyChouskie
Details

Description QwertyChouskie 2019-03-15 02:32:25 UTC
From https://github.com/Neverball/neverball/issues/170

The particles in the goal posts in Neverball 1.6.0 (from the Ubuntu archives) render as squares on my system.  I have Intel HD 4000 graphics, Mesa 18.3.3, Linux 4.18.0-16-generic, and Ubuntu 18.04.  Note that this also happens with llvmpipe and softpipe, so probably not an Intel-specific issue.
Comment 1 Tapani Pälli 2019-03-15 06:08:49 UTC
I've briefly tested, stars render OK on HSW but are displayed as rectangles on KBL.
Comment 2 Ilia Mirkin 2019-03-15 11:11:13 UTC
Seems to work with llvmpipe on 19.0-rc7. (And with nouveau on multiple GPU generations.)
Comment 3 Denis 2019-03-15 12:55:30 UTC
hi, I also checked on KBL and HSW. Don't see this issue (KBL was launched under X, mesa-git from master, for HSW I installed gnome and launched under wayland).


GL renderer: Mesa DRI Intel(R) Haswell Mobile 
GL version: 3.0 Mesa 18.3.4 (From Fedora repository)
GPU HD Graphics 4600
kernel 4.20.13-200.fc29.x86_64

[root@localhost mesa]# loginctl show-session 9 -p Type
Type=wayland

neverball was compiled from source. According to game header, it is also 1.6.0 version. Checked and LIBGL_ALWAYS_SOFTWARE, also works fine.

Will check 18.3.3, mentioned by you
Comment 4 Denis 2019-03-15 13:17:35 UTC
update - checked and 18.3.3 mesa version (built from git). Also works fine (HSW).
HSW on X (mesa 18.3.4) also doesn't reproduce the issue
Comment 5 QwertyChouskie 2019-03-15 17:10:13 UTC
According to https://github.com/Neverball/neverball/issues/170#issuecomment-473301333 there seems to be some difference between the Debian/Ubuntu packaged Neverball and building it from source.  Also, the code at https://github.com/Neverball/neverball does have changes from 1.6.0, so this may not be a fair comparison.

I'll try to get an apitrace and post it here.
Comment 6 QwertyChouskie 2019-03-15 17:29:53 UTC
Created attachment 143684 [details]
Neverball apitrace

Here's an apitrace from my system with the Ubuntu 18.04, Mesa 18.3.3, and Neverball 1.6.0 from the repos.
Comment 7 Denis 2019-03-18 11:06:49 UTC
yes, with your apitrace I see the issue
Comment 8 Denis 2019-03-18 13:46:38 UTC
Interesting that provided apitrace reproduces issue on several my configurations. Checked:
HSW (mesa git-master and 18.3.3)
KBL (mesa 11.2.2, 18.3.4, git-master)
also checked using Radeon GPU

OpenGL renderer string: AMD OLAND (DRM 2.50.0, 4.20.6-042006-generic, LLVM 5.0.0)
OpenGL version string: 2.1 Mesa 18.1.5


UPD: issue on apitrace is visible in X and in wayland, doesn't matter.
____________

second check, I clonned debian repo
https://salsa.debian.org/games-team/neverball
and tested master and 1.6.0-8 packages, on HSW and on KBL. In both cases game also works fine.

____________

third check:
According to comment from https://github.com/Neverball/neverball/issues/170
>If ENABLE_HMD has been used, ...
I searched for any commits, mentioned this flag, and found one.

commit 0e8164fad29fce0081b8d29db946852574ff87d3 (HEAD)
Author: Jānis Rūcis <parasti@gmail.com>
Date:   Fri Oct 25 20:48:18 2013 +0300

    Define ENABLE_HMD macro with a value
    
    (The policy is such that the absence of ENABLE_SMTH and
    -DENABLE_SMTH=0 should both do the same thing.)

Screenshot with issue, which was reproduced with this commit here: => https://drive.google.com/open?id=1928Qo6wGPenF-J68c8N67RPABlAzkto7

I bisected between master and this "bad" commit and found out that first time this issue appeared here

Author: Robert Kooima <robert.kooima@gmail.com>  2014-03-18 19:51:06
Committer: Robert Kooima <robert.kooima@gmail.com>  2014-03-18 19:51:06
Parent: 9edce894a55a40167bf18d8a82fc7d85cc6c27dd (Tweaks to material effects)
Child:  c2eeda59bc8189a047c8496d3528574638dc3f12 (Replace goal and jump)
Branches: master, remotes/origin/master
Follows: neverball-1.5.4
Precedes: neverball-1.6.0

    Add third light source to be used for sparkle effects

_____________


So according to all my findings higher, I would say that this issue is something in the game, not in driver. And this issue can't be reproduced if I build game from master branches:
https://github.com/Neverball/neverball
https://salsa.debian.org/games-team/neverball

Could it be compilator issue?
I have gcc 8.3.1 on HSW and gcc 7.3.0 on KBL
Comment 9 QwertyChouskie 2019-03-19 17:27:52 UTC
Created attachment 143734 [details]
apitrace from self-compiled Neverball 1.6.0

I seem to be unable to reproduce the issue using Neverball master or self-built 0.6.0 thus far.  I wondered if this is not a GL issue, but a loading of assets issue, so I compiled as normal, then overwrote the generated binary with the one from the installed package.  The squares showed up, so it's definitely linked to that specific binary somehow.

It may be an issue with the package being compiled for older libraries, and having trouble with operating with the newer libraries, or alternatively, the compiler version may affect things.

Attached is an apitrace with my self-built 1.6.0 for comparison.  Maybe someone can compare the two and see what the difference is.
Comment 10 QwertyChouskie 2019-05-17 20:05:01 UTC
Turns out the the Debian package somehow doesn't install all the assets.  Not a Mesa issue, closing.

https://github.com/Neverball/neverball/issues/170#issuecomment-493550779


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.