Elektrine lite

← Feed

@abrasive@digipres.club

2026-04-24 13:04 UTC

In the tradition of Direct3D samples of the era it would ask which graphics card and mode to use - then it would bomb out; wine had thrown an assertion dlls/ddraw/surface.c:5519: unsafe_impl_from_IDirect3DTexture2: Assertion `iface->lpVtbl == &d3d_texture2_vtbl' failed. So something passed in a texture pointer that wasn't a texture.

Replies (1)

  • @abrasive@digipres.club 2026-04-24 13:06

    A little faffing and I worked out that WINEDEBUG=+ddraw would tell me what textures were allocated and released and supplied to various calls. And in this case, the texture was allocated, and released, and *then* passed to a SetTexture call! Which didn't work, because... it was no longer a texture. Then it took a lot a lot more faffing to find where and why these things happened. Ended up having to compile wine to insert debug prints because winedbg and gdb both just crashed -_-

    Open ##5037142