libcg / grvk

Vulkan-based Mantle API implementation
https://en.wikipedia.org/wiki/Mantle_(API)
zlib License
224 stars 14 forks source link

Star Swarm #13

Open libcg opened 3 years ago

libcg commented 3 years ago

Meta issue for the Star Swarm benchmark based on the Nitrous engine.

Cherser-s commented 3 years ago

Interesting, which native libraries I need to use to run Star Swarm successfuly, I get segfault on the same address for both Mantle and D3D11 backends on Linux, for Windows it obviously runs fine. It happens when the program calls memcpy to this fixed address (as destination) from the trace, but never allocates it (for Mantle backend trace is the same).

Unhandled exception: page fault on write access to 0x2407c40fb in 64-bit code (0x0000000000bac54f).
Backtrace:
=>0 0x0000000000bac54f EntryPoint+0x191e3() in msvcr110 (0x00000000009afda0)
  1 0x000000014007939f EntryPoint+0xffb96e22() in starswarm_d3d (0x00000000009afda0)
  2 0x000000014000509e EntryPoint+0xffb22b21() in starswarm_d3d (0x00000000009afda0)
  3 0x0000000140070ce1 EntryPoint+0xffb8e764() in starswarm_d3d (0x00000000009afe60)
  4 0x00000001404e26d4 EntryPoint+0x100000157() in starswarm_d3d (0x00000000009afe60)
  5 0x000000007b64ca21 in kernel32 (+0x3ca20) (0x00000000009afe60)

It does work on Proton though.

xatornet commented 3 years ago

It's not working for me on Nvidia on v0.4.0:

=== GRVK 0.4.0 === I/00006D60/grInitAndEnumerateGpus: app "Star Swarm" (00000002), engine "Nitrous by Oxide Games" (00000002), api 00000001 W/00006D60/grInitAndEnumerateGpus: unhandled alloc callbacks I/00006D60/grCreateDevice: 10DE:2204 "NVIDIA GeForce RTX 3090" (Vulkan 1.2.168, driver 466.11.0) W/00006D60/grWsiWinGetDisplays: semi-stub W/00006D60/grDbgRegisterMsgCallback: STUB W/000038F0/grCreateImage: unsupported format 0x2000F for image type 0x1401, tiling 0x1500 and usage 0x3 E/000038F0/grCreateImage: vkCreateImage failed (-1000011001) W/000038F0/getGrResult: unsupported result -1000011001 W/0000196C/grCreateImage: unsupported format 0x2000F for image type 0x1401, tiling 0x1500 and usage 0x3 E/0000196C/grCreateImage: vkCreateImage failed (-1000011001) W/0000196C/getGrResult: unsupported result -1000011001 W/00004750/grCreateImage: unsupported format 0x5000F for image type 0x1401, tiling 0x1500 and usage 0x3 E/00004750/grCreateImage: vkCreateImage failed (-1000011001) W/00004750/getGrResult: unsupported result -1000011001

sehraf commented 3 years ago

My Nvidia bails out earlier:

W/00000024/grWsiWinGetDisplays: semi-stub
wine: Unhandled page fault on read access to FFFFFFFFFFFFFFFF at address 0000000070BCA5C8 (thread 0024), starting debugger...

This is related to #8

libcg commented 3 years ago

@xatornet RTX GPUs on Windows won't hit #8, but as you can see the game is trying to use an image format that the driver doesn't support. There's not much I can do.

Cherser-s commented 3 years ago

Well, regardless of render pass count, why FPS is so low? Does the benchmark write descriptor sets all the time or something?

libcg commented 3 years ago

Yeah, pretty much...

sehraf commented 3 years ago

>30fps on my old radeon R9 290 on low preset 07a6f63b8f6f742e0b62b7c5dca03de9d149f4b3

===========================================================
Oxide Games
Star Swarm Stress Test - ©2013
C:\Users\Users\Documents\Star Swarm\Output_21_04_29_2213.txt
Version 1.10
04/29/2021 22:13
===========================================================

== Hardware Configuration =================================
GPU:        AMD Radeon R9 200 Series
CPU:        GenuineIntel
               Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Physical Cores:         4
Logical Cores:          8
Physical Memory:        17087897600
Allocatable Memory:     140737488224256
===========================================================

== Configuration ==========================================
API:                Mantle
Scenario:           ScenarioFollow.csv
User Input:         Disabled
Resolution:         1920x1080
Fullscreen:         True
GameCore Update:        16.6 ms
Bloom Quality:          High
PointLight Quality:     High
ToneCurve Quality:      High
Glare Overdraw:         0
Shading Samples:        8
Shade Quality:          Mid
Deferred Contexts (D3D11):      Disabled
Small Batch Optimized (Mantle):     Enabled
Temporal AA Duration:       16
Temporal AA Time Slice:     8
Detailed Frame Info:        Off
===========================================================

== Results ================================================
Test Duration:          360 Seconds
Total Frames:           11407

Average FPS:            31.69
Average Unit Count:     4079
Maximum Unit Count:     5490
Average Batches/MS:     114.98
Maximum Batches/MS:     203.52
Average Batch Count:        4458
Maximum Batch Count:        18797
===========================================================
plasticbomb1986 commented 2 years ago

grvk.log

===========================================================
Oxide Games
Star Swarm Stress Test - ©2013
C:\users\steamuser\Documents\Star Swarm\Output_21_12_20_1928.txt
Version 1.10
12/20/2021 19:28
===========================================================

== Hardware Configuration =================================
GPU:        AMD RADV VEGA10
CPU:        AuthenticAMD
        AMD Ryzen 7 3800XT 8-Core Processor            
Physical Cores:         8
Logical Cores:          16
Physical Memory:        69617733632
Allocatable Memory:     140737488224255
===========================================================

== Configuration ==========================================
API:                Mantle
Scenario:           ScenarioFollow.csv
User Input:         Disabled
Resolution:         1920x1080
Fullscreen:         True
GameCore Update:        16.6 ms
Bloom Quality:          High
PointLight Quality:     High
ToneCurve Quality:      High
Glare Overdraw:         16
Shading Samples:        64
Shade Quality:          Mid
Deferred Contexts (D3D11):      Disabled
Small Batch Optimized (Mantle):     Enabled
Temporal AA Duration:       16
Temporal AA Time Slice:     2
Detailed Frame Info:        Off
===========================================================

== Results ================================================
Test Duration:          360 Seconds
Total Frames:           29510

Average FPS:            81.97
Average Unit Count:     4791
Maximum Unit Count:     6160
Average Batches/MS:     1253.59
Maximum Batches/MS:     4536.85
Average Batch Count:        17388
Maximum Batch Count:        119707
===========================================================

Thats actually looks nice, since ti ran on the default non-oc settings for my gpu.