Comments (15)
Would it be possible to get a short trace of the issue with
https://github.com/iXit/wine-nine-standalone/wiki/apitrace
?
Thanks
from wine-nine-standalone.
Here it is:
Sam2.trace.zip
I ran the game with Gallium Nine and not wined3d, hope that's not an issue.
from wine-nine-standalone.
Thanks, I'll investigate
from wine-nine-standalone.
Given the same issue happens with wined3d in the trace, I guess it is something with texture pitch or similar. Having the same trace with wine would be helpful.
from wine-nine-standalone.
There is a demo of this:
https://www.moddb.com/downloads/serious-sam-2-demo
Seems about format conversion, from YUY2 to RGB888::
d3d:wined3d_check_device_format_conversion wined3d 0x1306a8, adapter_idx 0, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_YUY2, dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
https://en.wikipedia.org/wiki/YUV
AFAIR YUY2 format was removed from hardware since ATi/AMD HD cards, so conversion is needed there on more recent ones.
from wine-nine-standalone.
I guess this just works if somebody tries to play this on pre HD AMD card... i mean on r300 gallium driver, as there such conversion is not needed... well, i am not sure if nine even works on r300 in the first place. 🤣
But that is what i think this bug is about, it must be converted... otherwise wont play correctly on a HW without such format support.
from wine-nine-standalone.
DXVK also play this correctly, likely do conversion there too... 🤣
https://github.com/doitsujin/dxvk/tree/master/src/d3d9/shaders
from wine-nine-standalone.
"Given the same issue happens with wined3d in the trace, I guess it is something with texture pitch or similar. Having the same trace with wine would be helpful."
Well, wined3d trace when replaying on nine just exits with 🤣
44 @0 IDirect3D9::CreateDevice(this = 0x135170, Adapter = D3DADAPTER_DEFAULT, DeviceType = D3DDEVTYPE_HAL, hFocusWindow = 0x1005a, BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING, pPresentationParameters = &{BackBufferWidth = 1024, BackBufferHeight = 768, BackBufferFormat = D3DFMT_X8R8G8B8, BackBufferCount = 1, MultiSampleType = D3DMULTISAMPLE_NONE, MultiSampleQuality = 0, SwapEffect = D3DSWAPEFFECT_DISCARD, hDeviceWindow = 0x1005a, Windowed = FALSE, EnableAutoDepthStencil = TRUE, AutoDepthStencilFormat = D3DFMT_D32, Flags = 0x0, FullScreen_RefreshRateInHz = 0, PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE}, ppReturnedDeviceInterface = &0x134e90) = D3D_OK
44: warning: failed with 0x8876086c (D3DERR_INVALIDCALL): Invalid call
I guess you want some from Windows? 🤣
from wine-nine-standalone.
He, he, seems Windows trace no one could replay as it picks D3DFMT_YUY2. 🤣
WINED3D and DXVK, when replaying just exits with: X Error of failed request: BadWindow (invalid Window parameter)
NINE seems do something else, but still crashy... anyway, if interested to see crashes for yourself, both wined3d and windows traces here:
https://drive.google.com/file/d/1jcoTlhZDzAcBS0hWjZCXYRSXbIgdS3vY/view?usp=sharing
from wine-nine-standalone.
The formats can be emulated so I should be able to replay both traces.
from wine-nine-standalone.
If I emulate YUV2 I can run both traces fine.
Unfortunately it is a bit more complicated than that. On both windows and wined3d they advertise suppose for the format as surface but not texture. Probably for a good reason. Nine makes no difference between the two in terms of advertised format. I'll have to take a look.
from wine-nine-standalone.
He, he, i hexed GfxD3D.dll and replaced all occurrences of YUY2 with RGBG or GRGB. 🤣
WINED3D looks the same as NINE if on RGBG or GRGB, doubled and wrong colors. Meanwhile, NINE is not doubled on these, just on YUY2. DXVK is never doubled.
Colors are off with these on any WINED3D, NINE, DXVK of course, but at least could be a proof that scaling seems actually different on all these.
Dont know why i mention this, but who knows it might help. 🤣
from wine-nine-standalone.
I mean that was an brute force attack, just to show a difference 🤣 NINE seems opposite of WIND3D there, just a guess.... should formats ever turn into doubles, probably no?
from wine-nine-standalone.
"Meanwhile, NINE is not doubled on these, just on YUY2."
Not just, it is on YUY2 but also on UYVY, meanwhile on WINED3D these YUVs are scaled, but else arent - quite the opposite of NINE. 🤣
On DXVK, none is doubled UYVY, RGBG, YUY2, GRGB, DXT1, DXT2, DXT3, DXT4 and DXT5... anything that game supports is scaled correctly.
On WINED3D, correct are only UYVY and YUY2, else doubled.
On NINE, everything else scale correctly, besides UYVY and YUY2. 🤣
from wine-nine-standalone.
On Windows, it scales and renders correctly there no matter what i hexed there on formats, unlike on Linux where seems NONE do that.
So maybe, just return the same emulated thing for UYVY, RGBG, YUY2 and GRGB. 🤣
from wine-nine-standalone.
Related Issues (20)
- Wine 7.12 problem: err:d3d9nine:nine_set Couldn't load d3d9-nine.dll: L"Fehlerhaftes EXE-Format f\00fcr %1.\r\n" HOT 14
- 320 frames per second maximum HOT 1
- Constant limit issues with r500 hardware HOT 20
- Some games work while others run up to main menu & don't load to in-game HOT 22
- Prince of persia Warrior Within HOT 10
- Github workflow failed with ubuntu-latest HOT 6
- No compatible GPU found HOT 1
- Gallium Nine (winetricks) seems to be broken since Wine 8.3 HOT 35
- Setting a native DLL override for d3d9 is incorrect HOT 6
- Nine only works when installed to system32/syswow64 HOT 17
- Native Direct3D 9 will be unavailable HOT 3
- Dx10, dx11 HOT 4
- Dragon HOT 2
- Using gallium-nine, CAD software repeatedly opening connections to the X server HOT 3
- Make the release produce files that don't need renaming HOT 2
- Hidden & Dangerous Deluxe HOT 4
- Gallium Nine (winetricks) seems to be again broken in Wine 8.13 HOT 5
- whats the difference between this program and the other wines? HOT 1
- Miss of textures on Grand Chase HOT 1
- ninewinecfg fails to enable nine - err:d3d9nine:executeCmdline CreateProcessA failed, error=2 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wine-nine-standalone.