https://bugs.winehq.org/show_bug.cgi?id=41055
Bug ID: 41055 Summary: "Texture ... does not have a drawable" on i915 with D3D8 Product: Wine Version: 1.9.14 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: b7.10110111@gmail.com Distribution: ---
Created attachment 55227 --> https://bugs.winehq.org/attachment.cgi?id=55227 Test case
If you compile the attached test case with this command
wineg++ -DD3D_8 d3d-texture-test.cpp -lgdi32 -ld3d8 -ld3dx9 -lwinmm -o d3d8-texture-test.exe
, and then run it on an i915 GPU (I tested on Intel Atom N550), you'll get white cube instead of colored, and in console you'll get lots of messages like this:
err:d3d:wined3d_texture_prepare_location Texture 0x166a70 does not have a drawable.
In wine-1.5.14 this worked correctly.
https://bugs.winehq.org/show_bug.cgi?id=41055
Ruslan Kabatsayev b7.10110111@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #1 from Ruslan Kabatsayev b7.10110111@gmail.com --- Created attachment 55228 --> https://bugs.winehq.org/attachment.cgi?id=55228 WINEDEBUG=+d3d output
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- (In reply to Ruslan Kabatsayev from comment #1)
trace:d3d:wined3d_dll_init Not always rendering backbuffers offscreen.
Are you using custom registry settings? Does it work any better without those?
The message from wined3d_texture_prepare_location() is a little too strict, but probably harmless if it happens because you set "AlwaysOffscreen" to "disabled".
https://bugs.winehq.org/show_bug.cgi?id=41055
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- I cannot compile this (obviously a problem here) so can you attach a compiled text case, please?
warning: ‘_MIDL_STUB_MESSAGE’ has a field ‘_MIDL_STUB_MESSAGE::SavedContextHandles’ whose type uses the anonymous namespace [enabled by default] typedef struct _MIDL_STUB_MESSAGE ^ /home/bruno/programs/wine/include/rpcndr.h:493:16: warning: ‘_SCONTEXT_QUEUE’ has a field ‘_SCONTEXT_QUEUE::ArrayOfObjects’ whose type uses the anonymous namespace [enabled by default] typedef struct _SCONTEXT_QUEUE { ^ winegcc: winebuild failed
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #4 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #2)
(In reply to Ruslan Kabatsayev from comment #1)
trace:d3d:wined3d_dll_init Not always rendering backbuffers offscreen.
Are you using custom registry settings? Does it work any better without those?
The message from wined3d_texture_prepare_location() is a little too strict, but probably harmless if it happens because you set "AlwaysOffscreen" to "disabled".
With AlwaysOffscreen set to enabled (or without the key at all) I don't have this message, but the cube in the test case still is white, i.e. not textured.
(In reply to Bruno Jesus from comment #3)
I cannot compile this (obviously a problem here) so can you attach a compiled text case, please?
I don't correctly have set-up mingw32 on this machine. Will wineg++-compiled binary be good enough? If not, I'll attach a Win32 exe in several hours.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #5 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Ruslan Kabatsayev from comment #4)
(In reply to Bruno Jesus from comment #3)
I cannot compile this (obviously a problem here) so can you attach a compiled text case, please?
I don't correctly have set-up mingw32 on this machine. Will wineg++-compiled binary be good enough? If not, I'll attach a Win32 exe in several hours.
Well, I have no idea what is the difference, if you are able to reproduce with wineg++ I believe I'll be able to.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #6 from Ruslan Kabatsayev b7.10110111@gmail.com --- Created attachment 55230 --> https://bugs.winehq.org/attachment.cgi?id=55230 Test case compiled with wineg++
(In reply to Bruno Jesus from comment #5)
Well, I have no idea what is the difference, if you are able to reproduce with wineg++ I believe I'll be able to.
I just worried about possible incompatibility with libgcc_s.so.1 and the like between my and your systems. But anyway, here you are.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #7 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Ruslan Kabatsayev from comment #6)
I just worried about possible incompatibility with libgcc_s.so.1 and the like between my and your systems. But anyway, here you are.
I just run the test and I have a beautiful rgb gradient cube rotating so I think I'm not affected.
bruno@Note:~/Downloads$ lspci -v -s 00:02.0 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller]) Subsystem: Acer Incorporated [ALI] Core Processor Integrated Graphics Controller Flags: bus master, fast devsel, latency 0, IRQ 43 Memory at b0000000 (64-bit, non-prefetchable) [size=4M] Memory at a0000000 (64-bit, prefetchable) [size=256M] I/O ports at 3050 [size=8] Expansion ROM at <unassigned> [disabled] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #8 from Ruslan Kabatsayev b7.10110111@gmail.com --- Created attachment 55244 --> https://bugs.winehq.org/attachment.cgi?id=55244 Intel Atom N550 glxinfo
(In reply to Bruno Jesus from comment #7)
I just run the test and I have a beautiful rgb gradient cube rotating so I think I'm not affected.
It might be that your GPU variant supports some extensions which aren't supported on mine. Here's my output of glxinfo.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #9 from Ruslan Kabatsayev b7.10110111@gmail.com --- OK, so this lack of textures happens on newer Mesa 11.2 too, but only after I set MESA_EXTENSION_OVERRIDE=-GL_ARB_fragment_shader — the state of i915 in Mesa 10.5.9. So basically, WineD3D doesn't work correctly on GLSL-less systems (including i915 on Windows, where IIRC there is a wined3d-powered d3d8.dll/d3d9.dll version).
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #10 from Ruslan Kabatsayev b7.10110111@gmail.com --- A bit more testing reveals that if I add -GL_ARB_vertex_shader to the list of extension overrides on Atom N550 with Mesa 10.5.9, then texturing comes back.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #11 from Ruslan Kabatsayev b7.10110111@gmail.com --- Bisection points to this commit:
10d46bc042696bb9e5c45ac88af332c957bbff03 is the first bad commit commit 10d46bc042696bb9e5c45ac88af332c957bbff03 Author: Henri Verbeet hverbeet@codeweavers.com Date: Sun Nov 11 18:52:38 2012 +0100
wined3d: Add support for GLSL based fixed function fragment shaders.
:040000 040000 091c0723beec13a7d04542a59eb7586b01627f4b 8d78954f05c51057c6cc1c259be552fba1ee0f08 M dlls
https://bugs.winehq.org/show_bug.cgi?id=41055
Ruslan Kabatsayev b7.10110111@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |10d46bc042696bb9e5c45ac88af | |332c957bbff03
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #12 from Henri Verbeet hverbeet@gmail.com --- Created attachment 56171 --> https://bugs.winehq.org/attachment.cgi?id=56171 patch
Does this patch make it any better?
Note that when testing with MESA_EXTENSION_OVERRIDE=-GL_ARB_fragment_shader, you should also set MESA_GL_VERSION_OVERRIDE=1.4, since OpenGL 2.0 implies GL_ARB_fragment_shader.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #13 from Ruslan Kabatsayev b7.10110111@gmail.com --- (In reply to Henri Verbeet from comment #12)
Created attachment 56171 [details] patch
Does this patch make it any better?
Yes, it does work with both AlwaysOffscreen enabled and disabled states.
https://bugs.winehq.org/show_bug.cgi?id=41055
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |6690c7090c35aff776418ef2441 | |e1b065c81f5b3
--- Comment #14 from Henri Verbeet hverbeet@gmail.com --- The message in the subject should be fixed by commit 1a02c676fbe7468bf9edca637a2415d5739f376b, the actual bug by commit 6690c7090c35aff776418ef2441e1b065c81f5b3. Please reopen if not.
https://bugs.winehq.org/show_bug.cgi?id=41055
--- Comment #15 from Ruslan Kabatsayev b7.10110111@gmail.com --- Confirming fixed.
https://bugs.winehq.org/show_bug.cgi?id=41055
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.0-rc1.
https://bugs.winehq.org/show_bug.cgi?id=41055
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=41055
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #17 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.7.