<div dir="ltr">Thanks for that.<div><br></div><div>I think you should file a bug against the Mesa r600 OpenGL driver, and add a link to <a href="http://lists.freedesktop.org/archives/apitrace/2014-November/001011.html" target="_blank">http://lists.freedesktop.org/archives/apitrace/2014-November/001011.html</a> .  It's not clear whether this is a HW or SW problem, but the fact that it doesn't happen with a different card means that the r600 driver developers are you best bet to make further progress.</div><div><br></div><div>IIUC the r600 driver is that the glMapBufferRange(GL_ARRAY_BUFFER, ..., GL_STATIC_DRAW) returns uncached memory which is mapped into the PCI device. The fact that the rendering is fine even tracing means the data was correctly stored in the device's memory, so my guess is that when the CPU tries to read the data it just wrote back from the device, the device is sometimes sending gibberish interleaved with the right data.  It could be a HW bug (for which a SW workaround might or not be possible, as what ApiTrace tries to do is rarely done in practice by real apps), or SW bug (like some internal device caches/settings need to be flushed).</div><div><br></div><div>That said the Cypress chips are relatively old.  I'm not sure how much time r600 driver developers can afford to spend on this issue.   I've they often ask users to make traces of bugs, so at very least they will want to be aware of this issue.</div><div><br></div><div>Jose</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 10, 2014 at 8:33 PM, Benjamin Bellec <span dir="ltr"><<a href="mailto:b.bellec@gmail.com" target="_blank">b.bellec@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>I have tested with nouveau (on a GeForce GT210 (NVA8)) and everything is fine with it. No glitches while retracing.<br></div>Here is an example trace if you want to compare :<br><a href="https://drive.google.com/file/d/0B7D2Y0QXFND2aHp0M0gzVE81dEk/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B7D2Y0QXFND2aHp0M0gzVE81dEk/view?usp=sharing</a> (149 MB)<br>md5sum 0988b7a222a923520180783e28be267a<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2014-11-09 23:55 GMT+01:00 Benjamin Bellec <span dir="ltr"><<a href="mailto:b.bellec@gmail.com" target="_blank">b.bellec@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>I tried to follow the procedure in the link you pointed, but I couldn't make it works. So I just disabled the Steam Overlay as said, and continued to catch the trace with my modified "Sam3" file, which should works after all.<br><br></div>Just disabling the overlay doesn't solve the glitches.<br>So I tested your 3 patches, unfortunately none of them has improved the situation : as usual, sometimes there is no glitches at all but most of times glitches appears while retracing.<br><br></div>If you need them, here are some of the traces :<br></div>- trace with zlib patch, the glitches are a bit different than usual : <a href="https://drive.google.com/file/d/0B7D2Y0QXFND2ZXp5SVR0QU1GV2M/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B7D2Y0QXFND2ZXp5SVR0QU1GV2M/view?usp=sharing</a> (174 MB) md5sum 1b109d36e7760968ad8ce04bc4d22fe9<br>- trace with glfinish patch : <a href="https://drive.google.com/file/d/0B7D2Y0QXFND2M3N0VDY4QUlHNE0/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B7D2Y0QXFND2M3N0VDY4QUlHNE0/view?usp=sharing</a> (158 MB) md5sum 8d4b9a7de7f1ce4fe02385259a952b25<br></div>- again a trace with glfinish patch, glitches are different from the first one : <a href="https://drive.google.com/file/d/0B7D2Y0QXFND2ZUNCTVNqM19BbUk/view?usp=sharing" target="_blank">https://drive.google.com/file/d/0B7D2Y0QXFND2ZUNCTVNqM19BbUk/view?usp=sharing</a> (155 MB) md5sum 7bda946ce1cd21f8138e0724b7502219<br><br></div>Tomorrow, I will test with a GeForce GT210 (nouveau).<br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2014-11-07 13:53 GMT+01:00 Benjamin Bellec <span dir="ltr"><<a href="mailto:b.bellec@gmail.com" target="_blank">b.bellec@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>OK, I will redo my trace with this new procedure. It seems cleaner and safer than mine.<br></div>But I will not be able to do this weekend.<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2014-11-07 9:57 GMT+01:00 José Fonseca <span dir="ltr"><<a href="mailto:jose.r.fonseca@gmail.com" target="_blank">jose.r.fonseca@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Hi Benjamin,</div><span><div><br></div><div>> ERROR: ld.so: object '/home/benjamin/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.</div><div><br></div></span><div>It might be a good idea to disable Steam's game overlay, just to be sure it's not interfering with apitrace, as described in <a href="https://github.com/apitrace/apitrace/wiki/Steam#linux" target="_blank">https://github.com/apitrace/apitrace/wiki/Steam#linux</a> , the " Otherwise, I think what you're doing should be fine.</div><span><div><br></div><div>> apitrace: warning: _gl_param_size: unknown GLenum 0x87FC</div><div><br></div></span><div>For these warnings I'll push a fix to apitrace shortly, but they are harmless -- it won't affect the trace at all.</div><div><br></div><div>Jose</div><div><div><div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 6, 2014 at 10:36 PM, Benjamin Bellec <span dir="ltr"><<a href="mailto:b.bellec@gmail.com" target="_blank">b.bellec@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi José,<br><br></div>I have done quite intense testing of this evening, but I finally saw something quite odd. So before sharing anything I need to be sure that I'm not capturing the trace wrongly.<br><br></div>First of all, Serious Sam 3 is a Steam game. It's a 32-bit game. I'm on a 64-bit machine.<br><br>Here is how I build apitrace :<br></div>$ git clone <a href="https://github.com/apitrace/apitrace.git" target="_blank">https://github.com/apitrace/apitrace.git</a><br></div>$ cd apitrace<br>$ cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GUI=TRUE<br>$ make -C build<br>$ cmake \<br>        -DCMAKE_C_FLAGS=-m32 \<br>        -DCMAKE_CXX_FLAGS=-m32 \<br>        -DCMAKE_EXE_LINKER_FLAGS=-m32 \<br>        -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib \<br>        -DENABLE_GUI=FALSE \<br>        -H. -Bbuild32<br>$ make -C build32 glxtrace<br><br></div>So I should now have a working apitrace in /home/benjamin/apitrace<br><br></div>I launch steam :<br>$ steam<br>Running Steam on fedora 19 64-bit<br>STEAM_RUNTIME is enabled automatically<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br><br>(steam:2986): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »<br><br>(steam:2986): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »<br>/usr/share/themes/Adwaita/gtk-2.0/gtkrc:1137: error: unexpected identifier `direction', expected character `}'<br>Gtk-Message: Failed to load module "pk-gtk-module"<br><br>(steamwebhelper:2990): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »<br><br>(steamwebhelper:2990): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »<br>/usr/share/themes/Adwaita/gtk-2.0/gtkrc:1137: error: unexpected identifier `direction', expected character `}'<br>Gtk-Message: Failed to load module "pk-gtk-module"<br>Installing breakpad exception handler for appid(steamwebhelper)/version(20141020140456)<br>Installing breakpad exception handler for appid(steamwebhelper)/version(1413813896)<br>[1106/231809:ERROR:nss_util.cc(1018)] Failed to load NSS libraries.<br>Installing breakpad exception handler for appid(steamwebhelper)/version(20141020140456)<br>Installing breakpad exception handler for appid(steamwebhelper)/version(1413813896)<br>Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element<br>Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element<br>Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number<br>Fontconfig warning: "/etc/fonts/conf.d/65-0-lohit-bengali.conf", line 32: unknown element "langset"<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Generating new string page texture 2: 48x256, total string texture memory is 49,15 KB<br>Generating new string page texture 3: 256x256, total string texture memory is 311,30 KB<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Adding licenses for the following package(s): 0, 11, 34, 79, 516, 984, 2481, 12328, 14840, 16549, 17838, 20883, 21089, 25544, 27644, 29136, 31974, 31975, 49307, 53394, 53820<br>roaming config store loaded successfully - 1484 bytes.<br>migrating temporary roaming config store<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>ExecCommandLine: ""/home/benjamin/.local/share/Steam/ubuntu12_32/steam" "<br>System startup time: 3,47 seconds<br>[1106/231812:ERROR:renderer_main.cc(227)] Running without renderer sandbox<br>Generating new string page texture 70: 1024x256, total string texture memory is 1,36 MB<br>Generating new string page texture 71: 256x256, total string texture memory is 262,14 KB<br>Generating new string page texture 72: 128x256, total string texture memory is 1,49 MB<br>Running Steam on fedora 19 64-bit<br>STEAM_RUNTIME has been set by the user to: /home/benjamin/.local/share/Steam/ubuntu12_32/steam-runtime<br>Generating new string page texture 73: 32x256, total string texture memory is 1,52 MB<br>ExecCommandLine: "/home/benjamin/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"<br>ExecSteamURL: "steam://open/driverhelperready"<br>Generating new string page texture 78: 64x256, total string texture memory is 1,59 MB<br>Generating new string page texture 79: 256x256, total string texture memory is 1,85 MB<br>Generating new string page texture 80: 128x256, total string texture memory is 1,98 MB<br>Generating new string page texture 81: 384x256, total string texture memory is 2,38 MB<br>Installing breakpad exception handler for appid(steam)/version(1413917607)<br>Generating new string page texture 91: 512x256, total string texture memory is 2,90 MB<br><br><br></div>And in order to catch a trace of the game, I have modified the SS3 executable. The executable is located in "/home/benjamin/.local/share/Steam/SteamApps/common/Serious Sam 3/Bin" and is named "Sam3"<br><br>$ file "/home/benjamin/.local/share/Steam/SteamApps/common/Serious Sam 3/Bin/Sam3" gives :<br></div>ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xaedfd266c84ecec32e8ff6e69f3f1eb8a5f78d46, stripped<br><br></div>So I moved the genuine exec :<br></div>$ mv Sam3 Sam3.old<br><br></div>And created a new "Sam3" shell script which is just :<br>#!/bin/sh<br>TRACE_FILE=/home/benjamin/testmesa/ss3_tmp.trace LD_PRELOAD=/home/benjamin/apitrace/build32/wrappers/glxtrace.so /home/benjamin/apitrace/build/apitrace trace --api gl ./Sam3.old<br><br></div>So now I just launch SS3 within Steam and here is the log (that I didn't saw before) :<br>Game update: AppID 41070 "Serious Sam 3: BFE", ProcID 3108, IP <a href="http://0.0.0.0:0" target="_blank">0.0.0.0:0</a><br>ERROR: ld.so: object '/home/benjamin/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.<br>ERROR: ld.so: object '/home/benjamin/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>ERROR: ld.so: object '/home/benjamin/apitrace/build/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /home/benjamin/.local/share/Steam/SteamApps/common/Serious Sam 3/Bin/Sam3.old<br><br>(steam:2986): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.<br></div>          [snip] same message several times [/snip]<br><div>(steam:2986): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/bash<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/getopt<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/basename<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/sed<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/sed<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/sed<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/sed<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/sed<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/tr<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/bash<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/cat<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/cat<br>cat: /etc/debian_version: Aucun fichier ou dossier de ce type<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/bash<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/grep<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>apitrace: loaded into /usr/bin/cat<br>Setting breakpad minidump AppID = 41070<br>Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197975475067 [API loaded no]<br>WRN:  CPU Power saving is enabled and performance governor is not used.<br>INF:  GameEnv API: Steam<br>INF:  Encoded user ID = 28d03bc7:6f628ecf<br>apitrace: redirecting dlopen("libGL.so.1", 0x101)<br>apitrace: tracing to /home/benjamin/testmesa/ss3_tmp.trace<br>apitrace: redirecting dlopen("libGL.so.1", 0x102)<br>INF:  <br>INF:  * Desktop settings...<br>INF:  Color depth: 32-bit<br>INF:  Desktop resolution: 1680 x 1050<br>INF:  Fullscreen on primary display<br>apitrace: redirecting dlopen("libGL.so.1", 0x101)<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>lspci: /home/benjamin/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libpci.so.3: version `LIBPCI_3.2' not found (required by lspci)<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>lspci: /home/benjamin/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libpci.so.3: version `LIBPCI_3.2' not found (required by lspci)<br>ERROR: ld.so: object '/home/benjamin/apitrace/build32/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded: ignored.<br>lspci: /home/benjamin/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libpci.so.3: version `LIBPCI_3.2' not found (required by lspci)<br>WRN:  lspci: GPU vendor and/or device ID not detected!<br>apitrace: warning: _gl_param_size: unknown GLenum 0x87FC<br>apitrace: warning: _gl_param_size: unknown GLenum 0x87FC<br>WRN:  [OpenGL] Unable to determine VRAM size... assuming 512 MB.<br>apitrace: warning: _gl_param_size: unknown GLenum 0x87FC<br>apitrace: warning: _gl_param_size: unknown GLenum 0x87FC<br>WRN:  [OpenGL] "GL_ARB_get_program_binary" extension is present but not used because no binary formats are exposed.<br>INF:  <br>INF:  Gfx API: OpenGL<br>INF:  Resolution: 1680 x 1050<br>INF:  Vendor: unknown (0x0000)<br>INF:  Driver: X.Org (0x0000)<br>INF:  Renderer: Gallium 0.4 on AMD CYPRESS<br>INF:  Version: 3.0 Mesa 10.3.2<br>INF:  Video memory size: 512 MB<br>INF:  Available for textures: 512 MB<br>INF:  Active GPU(s): 1<br>INF:  Unable to check for correct version of display driver!<br>INF:  <br>INF:  Sfx API: OpenAL<br>INF:  Device: PulseAudio Default<br>INF:  Mixer frequency: 44100 Hz<br>INF:  Mixer voices: 64<br>INF:  Max sound sources: 15<br>INF:  Max total volume: 3<br>INF:  Speaker config: (unknown)<br>INF:  Environment FX: not supported<br>INF:  <br>INF:  Using cheats will invalidate your score for this level and achievements won't be awarded for the remainder of the game.<br>INF:  AutoDetect: Hardware values unchanged, nothing to do.<br>INF:  Started simulation on 'Content/SeriousSam3/Levels/Menu/Intro.wld' in 0.54 seconds.<br>INF:  Started simulation on 'Content/SeriousSam3/Levels/Menu/MenuLevel.wld' in 0.26 seconds.<br>INF:  Started simulation on 'Content/SeriousSam3/Levels/Z5_Other/SV_Canyon.wld' in 5.47 seconds.<br><br><br></div><div>I suspect something is wrong in the manner I'm capturing the trace.<br></div><div><div><div><div><div><div><div><div><div><div><div><br><div class="gmail_extra"><br><div class="gmail_quote">2014-11-05 23:19 GMT+01:00 José Fonseca <span dir="ltr"><<a href="mailto:jose.r.fonseca@gmail.com" target="_blank">jose.r.fonseca@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Nov 5, 2014 at 6:22 PM, Benjamin Bellec <span dir="ltr"><<a href="mailto:b.bellec@gmail.com" target="_blank">b.bellec@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Yes I confirm that the weapons are *always* correctly rendered while tracing. The corruption only appears in the apitrace.<br></div></div></blockquote><div><br></div></span><div>Wow. This is one of the weirdest things i've seen.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Anyway thanks for this explanation.<br>So, do you think a hardware (physical) problem can be the origin of this ?<br></div><div>Or more probably a software one ? </div></div></blockquote><div><br></div><div><br></div><div><br></div><div><br></div></span><div>Please do two more experiments:</div><div><br></div><div>1. Undo any previous changes to apitrace tree, apply the attached patch zlib.patch and see if it helps. </div><div><br></div><div>   This will force apitrace to compress with zlib instead of snappy, so eliminate the chance that the bug is not on glMapBufferRange but inside snappy somehow.</div><div><br></div><div></div><div>2. Ditto with pin-thread-on-cpu.patch.<br></div><div><br></div><div>  If this is a problem due to stale CPU cache this might help.</div><div><br></div><div>3. Ditto with glfinish.patch</div><div><br></div><div>   If GPU is the one scribbling over then this call should make the issue either never happen or happen all the time.</div><div><br></div><div>4. try tracing the replay of the good ss3_correct_without_patch.trace like<br></div><div><div><br></div><div>  ./apitrace trace ./glretrace -b ss3_correct_without_patch.trace</div><div><br></div><div>a few times, and check whether the replays are as good as ss3_correct_without_patch.trace, or if they regress some times, like the real app does.  This might help determine whether the ss3 application is doing something special, or not.</div><div><br></div></div><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Because I was surprised, indeed, I have another problematic bug that occurs, aparently with glMapBufferRange() too, see <a href="https://bugs.freedesktop.org/show_bug.cgi?id=77596" target="_blank">BUGZILLA #77596 </a>particularly my #7 comments. Maybe this is just coincidence. I'm not an OpenGL developper so I don't know where the glMapBufferRange's "lenght" parameter come from ? (from the game or from the OpenGL driver itself).<br></div></div></blockquote><div><br></div></span><div>It's hard to say whether it's related. glMapBufferRange's length parameter is specified by the app, but the app could be computing that value based on glGet* queries done to the OpenGL driver, and some times there are bugs.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>To sum up, what do you think I should do now ? Fill a bug against the OpenGL driver ?<br></div></div><div><div><div class="gmail_extra"><br></div></div></div></blockquote><div> </div></span><div>Let's see if the above experiments help narrow this further.</div><div><br></div><div><br></div><div>I really hate when apitrace is not able to capture something properly -- it's like most basic of basic functionality -- everything else (replay, UI, state dumping) can be fixed improved after the fact, but if the trace itself can't be trusted then that's showstopper.  So fingers crossed..</div><div><br></div><div><br></div><div>Jose</div><div> </div></div></div></div>
</blockquote></div><br></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>