Code Monkey home page Code Monkey logo

Comments (8)

dustin-lunarg avatar dustin-lunarg commented on July 28, 2024

Are you trying to replay with a mesa build that is different than the build used for capture?

I see two extensions in the capture file that could be causing the problem:

  • VK_EXT_shader_demote_to_helper_invocation - It looks like this was added to Mesa 19.3.0 for RADV/ACO only.
  • VK_AMD_shader_fragment_mask - It looks like this may have been added last month.

So, it is possible that replay will fail when not using ACO or when using a mesa version that is more than a month old.

Attempting to replay the example file on my system, AMD RADV VEGA10 (LLVM 9.0.0), produced the same error, but I was able to work around the error by modifying the replay tool to strip out the two extensions that I listed above. Replay worked when those two extensions were removed.

This is the diff for the change that I made to remove the extensions, if you want to try it: filter_extensions.diff

That is a one-off fix that is specific to this case, but we could create a generic fix by adding a replay option that would remove unsupported extensions from instance and device creation, which could address cases like this where an extension was enabled but may not be required.

from gfxreconstruct.

NTMan avatar NTMan commented on July 28, 2024

Are you trying to replay with a mesa build that is different than the build used for capture?

No, both Mesa builds is same.

So, it is possible that replay will fail when not using ACO

Oh, my fault. I forgot to enable ACO for replaying trace, thanks.

This is the diff for the change that I made to remove the extensions, if you want to try it: filter_extensions.diff

Thanks again, it works.

But I found the new issue:
I made capture in 4K resolution, and replaying looks like wrongly scaled (picture did not fit in the screen)
This issue I guess was introduced in dev branch because when I builded GFXreconstruct from master branch the all captures replaying in fullscreen mode, but now I see the borderless window with scaling.

Screenshot from 2020-02-14 09-17-45

from gfxreconstruct.

dustin-lunarg avatar dustin-lunarg commented on July 28, 2024

Does the replay tool print any warning messages about screen size? When I play the file on my 2560x1440 monitor, the result matches the screenshot that you provided and I get an error message that says:

[gfxrecon] WARNING - Requested window size (3840x2160) exceeds current screen size (2560x1440); replay may fail due to inability to create a window of the appropriate size.

If I connect a 4K monitor, the replay enters full screen mode and has the correct size. I see the same behavior with both the dev and master branches.

Replay will determine window size from the swapchain size, and will only try to enter fullscreen mode when the window/swapchain size matches the monitor size. We could add an option to always force fullscreen or force a specific window size, if you think that would help.

from gfxreconstruct.

NTMan avatar NTMan commented on July 28, 2024

I didn't see messages that window size (3840x2160) exceeds the current screen size.
But I use scaling in DE 200%. And I guess replaying uses this scaling by mistake.

Screenshot from 2020-02-14 23-50-06

from gfxreconstruct.

dustin-lunarg avatar dustin-lunarg commented on July 28, 2024

I wasn't able to reproduce this from Gnome with 200% scaling or KDE with 2x scaling on a Fedora 31 system. The replay was the correct size for both cases. If you would like us to look into this, could you provide details for the Linux distribution that you are using so that we can try to reproduce your environment for testing?

from gfxreconstruct.

dustin-lunarg avatar dustin-lunarg commented on July 28, 2024

Never mind, I was able to reproduce the issue on GNOME when replaying with a Wayland surface. My previous tests were with Xcb surfaces.

One difference between master and dev is that dev now depends on xcb-keysyms. If you did not intentionally build the replay tool with Wayland support, it is possible that you got a Wayland build because xcb-keysyms was missing (libxcb-keysyms1-dev for Ubuntu / xcb-util-keysysms-devel for Fedora).

from gfxreconstruct.

NTMan avatar NTMan commented on July 28, 2024

Never mind, I was able to reproduce the issue on GNOME when replaying with a Wayland surface. My previous tests were with Xcb surfaces.

Yes, I using Wayland session. And under Wayland replay working only in window with Gnome scaling.

Under Gnome X Session replay didn't worked on my side:

$ RADV_PERFTEST=aco ~/packaging-work/git/gfxreconstruct/build/tools/replay/gfxrecon-replay gfxrecon_capture_20200214T023654.gfxr 
[gfxrecon] ERROR - Failed to connect to the Wayland display server
Failed to initialize platform specific window system management.
Ensure that the appropriate Vulkan platform extensions have been enabled.

One difference between master and dev is that dev now depends on xcb-keysyms. If you did not intentionally build the replay tool with Wayland support, it is possible that you got a Wayland build because xcb-keysyms was missing (libxcb-keysyms1-dev for Ubuntu / xcb-util-keysysms-devel for Fedora).

Yep, I installed xcb-util-keysyms-devel for success building.

I see you know about Fedora packaging, but for the successful build I had to make edits cmake files because the paths on Fedora are different from your.

Screenshot from 2020-02-17 01-42-43
Screenshot from 2020-02-17 01-42-38

from gfxreconstruct.

dustin-lunarg avatar dustin-lunarg commented on July 28, 2024

The latest release contains improvements to Wayland support, which should resolve the scaling issue that was described above. I'm going to close this as I believe that both the initial issue and the scaling issue should be resolved, but feel free to create a new issue if you continue to have problems with scaling.

from gfxreconstruct.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.