Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nv2a: Add Vulkan renderer #1701

Merged
merged 145 commits into from
Dec 31, 2024
Merged

nv2a: Add Vulkan renderer #1701

merged 145 commits into from
Dec 31, 2024

Conversation

mborgerson
Copy link
Member

@mborgerson mborgerson commented Jul 22, 2024

  • Better startup error handling and renderer fallback
  • Runtime renderer switching
  • pvideo overlays
  • rect texture
  • sampler dims
  • fix conv
  • unaligned vertex buffers
  • Physical device selection in GUI
  • Include renderer selection and driver version in compat reports
  • 0 size tex
  • better low-memory handling
  • uma staging simplification path
  • pipeline disk cache / runtime perf
  • cache samplers independently from textures
  • misc
    • math.h include
    • aa/scaling signedness cleanup
    • menubar renderer select
  • add back gl line width setup
  • run full test suite
  • remove check for promoted extensions
  • dedicated allocation
  • Convert new submodules to subprojects
    • Fix source archive

Issues:

  • Halo 2 scaling
  • Halo 2 High charity blackscreen @ 3x
  • Boot anim
  • NGB intro (No repro)
  • BFBB Hub
  • BFBB Perf
  • workgroup size (timesplitters, black, rdr)
  • push constant limit
  • holopox in destroy all humans 2
  • destroy all humans hang
  • 007 artifacts
  • 007 shadows
  • shifted? (555)
  • Conker on Intel Iris Xe
  • Crazy Taxi (filtering)
  • Conker on AMD RX 6600
  • TOCA Race Driver 2 on AMD RX 6600
    - [ ] Intel Meteor Lake-P [Intel Arc Graphics] Drivers appear problematic. Works fine on Windows with Lunar Lake.
  • Shadow the hedgehog
    • orbs
    • subtitles
  • texture filtering
  • Halo CE floor lighting, two betrayals pillars
  • timesplitters fp bloom
  • Crash Bandicoot twoc
  • Star Wars Battlefront 2 flickering (likely alignment)
  • Gun Valkyrie shadows on AMD
  • Gun Valkyrie texture stretching
  • Halo 2 active camo
  • Spike Out geometry (buffer alignment)
  • Jade Empire black screen
  • Jade empire shadows, flicker
  • Kung Fu Chaos
    • black screen
    • blending
  • Total Immersion Racing blending?
  • Mercenaries Minimap
  • SegaGT textures
  • conker sampler dims xemu(1).log
  • Phantom Crash rect_tex
  • texture warping
    • Mortal Kombat: Shaolin Monks
    • House of the Dead 2
    • Phantasy Star
    • Sega GT
  • splinter cell meter
  • Battlefront 2 HUD flicker (560.70)
  • GTA
    • geom
    • blur off
  • Gauntlet
  • Group S challenge
  • FMV
    • Black Stone (pvideo)
    • Brute Force (surface blit)
    • World Soccer Winning Eleven 8,9
    • Forza (pvideo)
    • Futurama (texture blit)
    • Serious Sam (pvideo)
  • Halo projectile
  • Halo lightmap
  • draw time
  • Halo 2 black screen (starting a new game on easy letting all the cutscenes play out it took till right after the doors open when the athens blows up, Windows 10 nvidia rtx 3080 566.14)
  • h2 decal flicker
  • Legends of Wrestling 2 shadows
  • Hulk z fighting

Note to testers:

  • Not on macOS yet. Linux and Windows only for now.
  • Machine > Settings > Display > Backend > Vulkan. Restart xemu. You can switch renderers at runtime.
  • Some features that the GL renderer has are missing. Expect some minor differences. Please report major differences and obvious bugs not listed above.
  • Performance may be better, or may be worse--we are focusing on correctness more than performance rn.

@mborgerson mborgerson force-pushed the feat/vulkan branch 6 times, most recently from 3355a00 to 62e31ff Compare July 22, 2024 08:27
@Triticum0

This comment was marked as off-topic.

@HadetTheUndying

This comment was marked as resolved.

@Lagahan

This comment was marked as resolved.

@mborgerson mborgerson force-pushed the feat/vulkan branch 3 times, most recently from ddab87e to da59a60 Compare July 23, 2024 06:57
@Spidy123222

This comment was marked as resolved.

@Lagahan

This comment was marked as resolved.

@rizaumami

This comment was marked as resolved.

@rizaumami

This comment was marked as resolved.

@mborgerson

This comment was marked as resolved.

@rizaumami

This comment was marked as resolved.

@mborgerson mborgerson force-pushed the feat/vulkan branch 2 times, most recently from aa52e7f to e8d494f Compare July 24, 2024 10:12
@mborgerson

This comment was marked as resolved.

@rizaumami
Copy link

@rizaumami Can you please try the latest build and see if that resolves your issue

Still have the issue in 0.7.131-36-g5d49845579
It's not only in a game but also in the Microsoft dashboard, so not game issue.
The orangish colour in Halo 2 is different issue (#952?)

simplescreenrecorder.webm

@Triticum0

This comment was marked as resolved.

@Triticum0
Copy link

Breakdown exhibit worse performance on vulkan than opengl
Vulkan 20f/15ps
Opengl 30/25fps

@Triticum0

This comment was marked as resolved.

@Triticum0
Copy link

Triticum0 commented Jul 25, 2024

Total Immersion racing sound volume bars and car stat bars are not rendered on vulkan correctly.
vulkan
xemu-2024-07-25-13-48-30
xemu-2024-07-25-14-04-01

opengl
xemu-2024-07-25-13-48-36
xemu-2024-07-25-14-04-09

@Mechanism8

This comment was marked as resolved.

@thatsprettygood

This comment was marked as resolved.

@mborgerson mborgerson marked this pull request as ready for review December 31, 2024 08:32
@mborgerson mborgerson merged commit b6d6a47 into master Dec 31, 2024
38 checks passed
@mborgerson mborgerson deleted the feat/vulkan branch December 31, 2024 08:37
@mborgerson
Copy link
Member Author

Stable enough! Will start tracking remaining and new issues separately.

@xemu-project xemu-project locked as resolved and limited conversation to collaborators Dec 31, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.