Summary: | [i965] >Observer_ issue | ||
---|---|---|---|
Product: | Mesa | Reporter: | Darius Spitznagel <d.spitznagel> |
Component: | Drivers/DRI/i965 | Assignee: | Tapani Pälli <lemody> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | fdsfgs |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Apitrace Replay log
turn error to warning wokaround workaround |
Description
Darius Spitznagel
2017-11-17 20:05:07 UTC
Maybe just copy-paste first what kind of errors are visible (log when running apitrace trace) (In reply to Tapani Pälli from comment #1) > Maybe just copy-paste first what kind of errors are visible (log when > running apitrace trace) How do I log when running "apitrace trace"? There is no option to write a log during trace. I will attach the replay messages from shell. Created attachment 135591 [details]
Apitrace Replay log
Let me know if you need the "verbose" output from the replay. From the logs it seems some program fails to link and causes following usages of this program fail. Bug #97852 has similar compilation error, perhaps even the very same case since it seem this game has been written with UE4. Yes it is an UE4 game. I think it uses version 4.15.x I followed the link to Bug #97852... Timothee Besset (comment #11) > Possibly related: https://github.com/EpicGames/UnrealEngine/pull/4080/files > (engine side fix) > > While an engine fix is always desireable .. "for the future", I agree that > if this could be turned into a warning on the driver side it would be nice. I think I cloud test this and see what happens. Can you attach a patch which is turning this error into a warning? If this is really an engine error and Nvidia blob is using a workaround (like they often do - grrr) I would contact the game developers and ask for an engine update. Sadly the link from Timothee Besset is dead. This would have been a good point to let the game developrs know. Created attachment 135601 [details] [review] turn error to warning patch for turning linker error as warning Funny coincidence. Some minutes ago I have tested the SAME patch! :) Turning this into warning indeed fixes the game!!! This reminds me of an older bug we had together... Bug #71870 with METRO LL. Again Mesa developers are too strict and game developers ignore specs;) Please let me know what to do. Should I contact games devs - I don't think this makes sense. Thank you Tapani. The patch applies also to stable 17.2.5. But I cannot test this right now - my lunch break is over. I will report back when I get home. When it works - i think so - it would be nice if you could push the patch to stable 17.2 and upcoming 17.3. Or maybe better... a new /etc/drirc option? (In reply to Darius Spitznagel from comment #8) > Funny coincidence. Some minutes ago I have tested the SAME patch! :) > > Turning this into warning indeed fixes the game!!! > > This reminds me of an older bug we had together... Bug #71870 with METRO LL. Yeah good times :) > Again Mesa developers are too strict and game developers ignore specs;) > > Please let me know what to do. Should I contact games devs - I don't think > this makes sense. I think drirc option would be the way to go, in Mesa driver we want to follow the specs as is. It might be that the binary drivers have something similar to drirc to apply workarounds as well. As promised I tested the patch with stable mesa 7.2.5 > works. Tested patch with 17.3.0-rc5 too > works. Now back to bug-hunting... I have 3 more bugs to find:) What is the binary name for this game? (for drirc change) (In reply to Tapani Pälli from comment #12) > What is the binary name for this game? (for drirc change) TheObserver-Linux-Shipping Created attachment 135624 [details] [review] wokaround here's a workaround attempt (In reply to Tapani Pälli from comment #14) > Created attachment 135624 [details] [review] [review] > wokaround > > here's a workaround attempt Does not compile with mesa git on my system... snippet: <<<< I/usr/include/libdrm -fvisibility=hidden -DGALLIUM_SOFTPIPE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/local/src/mesa/master/mesa=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -Wmissing-prototypes -fno-math-errno -fno-trapping-math -std=c99 -c ../../../../../src/gallium/state_trackers/dri/dri2.c -fPIC -DPIC -o .libs/dri2.o ../../../../../src/gallium/state_trackers/dri/dri_screen.c: In function ‘dri_fill_st_options’: ../../../../../src/gallium/state_trackers/dri/dri_screen.c:84:11: error: ‘struct st_config_options’ has no member named ‘allow_cross_stage_interpolation_mismatch’; did you mean ‘allow_glsl_cross_stage_interpolation_mismatch’? options->allow_cross_stage_interpolation_mismatch = ^~ Makefile:705: recipe for target 'dri_screen.lo' failed make[5]: *** [dri_screen.lo] Error 1 make[5]: *** Waiting for unfinished jobs.... >>>> Replaced "allow_cross_stage_interpolation_mismatch" with "allow_glsl_cross_stage_interpolation_mismatch" > retry compiling. (In reply to Darius Spitznagel from comment #16) > Replaced "allow_cross_stage_interpolation_mismatch" with > "allow_glsl_cross_stage_interpolation_mismatch" > retry compiling. With the change above it compiled but the patch did not work. Will check if I send you the right binary name. Hmmm, binary name is correct.
Even starting directly from shell...
>allow_glsl_cross_stage_interpolation_mismatch=true steam steam://rungameid/514900
...did not work.
Hmm sorry did not compile test gallium changes ... I think you need to copy the drirc change to your drirc (In reply to Tapani Pälli from comment #19) > Hmm sorry did not compile test gallium changes ... I think you need to copy > the drirc change to your drirc I did copy the whole drirc and even checked with... cat ~/.drirc ...if its really in > YES it is. It simply does not work and I don't know why. Putting... allow_glsl_cross_stage_interpolation_mismatch=true %command% ... into observer steam options doesn't work too. I'm confused now. Could it be, that this option/workaround needs to enabled in mesa code somewhere else? I'll investigate and come back with better patch Created attachment 135658 [details] [review] workaround OK, here is a fixed patch. This worked for me on i965. (In reply to Tapani Pälli from comment #22) > Created attachment 135658 [details] [review] [review] > workaround > > OK, here is a fixed patch. This worked for me on i965. Now it works for me, too, thank you Tapani. This report can be closed. workaround pushed to Mesa master --- 8< --- commit faccbaf3faf9a7cdcda3e4032fafd0f6064459bd Author: Tapani Pälli <tapani.palli@intel.com> Date: Fri Nov 24 07:46:07 2017 +0200 mesa: add AllowGLSLCrossStageInterpolationMismatch workaround This fixes issues seen with certain versions of Unreal Engine 4 editor and games built with that using GLSL 4.30. v2: add driinfo_gallium change (Emil Velikov) Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97852 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103801 Acked-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> |
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.