GithubHelp home page GithubHelp logo

Comments (15)

axeldavy avatar axeldavy commented on July 28, 2024

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.

aufkrawall avatar aufkrawall commented on July 28, 2024

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.

axeldavy avatar axeldavy commented on July 28, 2024

Thanks, I'll investigate

from wine-nine-standalone.

axeldavy avatar axeldavy commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

DXVK also play this correctly, likely do conversion there too... 🤣
https://github.com/doitsujin/dxvk/tree/master/src/d3d9/shaders

from wine-nine-standalone.

dungeon007 avatar dungeon007 commented on July 28, 2024

"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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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.

axeldavy avatar axeldavy commented on July 28, 2024

The formats can be emulated so I should be able to replay both traces.

from wine-nine-standalone.

axeldavy avatar axeldavy commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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.

dungeon007 avatar dungeon007 commented on July 28, 2024

"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.

dungeon007 avatar dungeon007 commented on July 28, 2024

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)

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.