Compiling Mesa 7.12-devel configured with --enable-d3d1x shows the folowing error: --- In file included from d3d11.cpp:220:0: d3d11_context.h: In member function ‘void GalliumD3D11DeviceContext<PtrTraits>::init_context()’: d3d11_context.h:153:34: error: ‘screen’ was not declared in this scope d3d11.cpp: In function ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’: d3d11.cpp:224:200: error: new declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ ../gd3dapi/galliumd3d11.h:65:10: error: ambiguates old declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ In file included from d3d11.cpp:220:0: d3d11_context.h: In member function ‘HRESULT GalliumD3D11DeviceContext<PtrTraits>::Map(ID3D11Resource*, unsigned int, D3D11_MAP, unsigned int, D3D11_MAPPED_SUBRESOURCE*) [with PtrTraits = nonatomic_device_child_ptr_traits, HRESULT = int, ID3D11Resource = ID3D11Resource, D3D11_MAP = D3D11_MAP, D3D11_MAPPED_SUBRESOURCE = D3D11_MAPPED_SUBRESOURCE]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1484:12: warning: unused variable ‘face’ [-Wunused-variable] d3d11_context.h: In member function ‘void GalliumD3D11DeviceContext<PtrTraits>::CopySubresourceRegion(ID3D11Resource*, unsigned int, unsigned int, unsigned int, unsigned int, ID3D11Resource*, unsigned int, const D3D11_BOX*) [with PtrTraits = nonatomic_device_child_ptr_traits, ID3D11Resource = ID3D11Resource, D3D11_BOX = D3D11_BOX]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1545:12: warning: unused variable ‘dst_face’ [-Wunused-variable] d3d11_context.h:1547:12: warning: unused variable ‘src_face’ [-Wunused-variable] make[5]: *** [d3d11.o] Error 1 make[5]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x/gd3d11' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x' make[3]: *** [subdirs] Error 1 make[3]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers' make[2]: *** [default] Error 1 make[2]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src' make: *** [default] Error 1 --- Make Mesa 7.11 produces a similar error.
Fixed in mesa/master with f1f7645f23bd11fb54a992cdbe9ef0a6ee0136f3.
(In reply to comment #1) > Fixed in mesa/master with f1f7645f23bd11fb54a992cdbe9ef0a6ee0136f3. Still some errors: --- d3d11.cpp: In function ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’: d3d11.cpp:224:200: error: new declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ ../gd3dapi/galliumd3d11.h:65:10: error: ambiguates old declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ In file included from d3d11.cpp:220:0: d3d11_context.h: In member function ‘HRESULT GalliumD3D11DeviceContext<PtrTraits>::Map(ID3D11Resource*, unsigned int, D3D11_MAP, unsigned int, D3D11_MAPPED_SUBRESOURCE*) [with PtrTraits = nonatomic_device_child_ptr_traits, HRESULT = int, ID3D11Resource = ID3D11Resource, D3D11_MAP = D3D11_MAP, D3D11_MAPPED_SUBRESOURCE = D3D11_MAPPED_SUBRESOURCE]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1482:12: warning: unused variable ‘face’ [-Wunused-variable] d3d11_context.h: In member function ‘void GalliumD3D11DeviceContext<PtrTraits>::CopySubresourceRegion(ID3D11Resource*, unsigned int, unsigned int, unsigned int, unsigned int, ID3D11Resource*, unsigned int, const D3D11_BOX*) [with PtrTraits = nonatomic_device_child_ptr_traits, ID3D11Resource = ID3D11Resource, D3D11_BOX = D3D11_BOX]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1543:12: warning: unused variable ‘dst_face’ [-Wunused-variable] d3d11_context.h:1545:12: warning: unused variable ‘src_face’ [-Wunused-variable] make[5]: *** [d3d11.o] Error 1 make[5]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x/gd3d11' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x' make[3]: *** [subdirs] Error 1 make[3]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers' make[2]: *** [default] Error 1 make[2]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src' make: *** [default] Error 1 ---
(In reply to comment #1) > Fixed in mesa/master with f1f7645f23bd11fb54a992cdbe9ef0a6ee0136f3. I downloaded a fresh git clone of mesa and still get d3dlx compilation errors: --- d3d11.cpp: In function ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’: d3d11.cpp:224:200: error: new declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ ../gd3dapi/galliumd3d11.h:65:10: error: ambiguates old declaration ‘HRESULT GalliumD3D11DeviceCreate(pipe_screen*, pipe_context*, BOOL, unsigned int, IDXGIAdapter*, ID3D11Device**)’ In file included from d3d11.cpp:220:0: d3d11_context.h: In member function ‘HRESULT GalliumD3D11DeviceContext<PtrTraits>::Map(ID3D11Resource*, unsigned int, D3D11_MAP, unsigned int, D3D11_MAPPED_SUBRESOURCE*) [with PtrTraits = nonatomic_device_child_ptr_traits, HRESULT = int, ID3D11Resource = ID3D11Resource, D3D11_MAP = D3D11_MAP, D3D11_MAPPED_SUBRESOURCE = D3D11_MAPPED_SUBRESOURCE]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1482:12: warning: unused variable ‘face’ [-Wunused-variable] d3d11_context.h: In member function ‘void GalliumD3D11DeviceContext<PtrTraits>::CopySubresourceRegion(ID3D11Resource*, unsigned int, unsigned int, unsigned int, unsigned int, ID3D11Resource*, unsigned int, const D3D11_BOX*) [with PtrTraits = nonatomic_device_child_ptr_traits, ID3D11Resource = ID3D11Resource, D3D11_BOX = D3D11_BOX]’: d3d11.cpp:231:1: instantiated from here d3d11_context.h:1543:12: warning: unused variable ‘dst_face’ [-Wunused-variable] d3d11_context.h:1545:12: warning: unused variable ‘src_face’ [-Wunused-variable] make[5]: *** [d3d11.o] Error 1 make[5]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x/gd3d11' make[4]: *** [all] Error 2 make[4]: Leaving directory `/home/jos/src/xorg/git-master/mesa/src/gallium/state_trackers/d3d1x' make[3]: *** [subdirs] Error 1 ---
Same problem over here. Many errors related to either missing "STDMETHODCALLTYPE" in declarations or unneeded "STDMETHODCALLTYPE" in associated files. Compiler doesn't like it because returned values are not of the same types as declared ones. It leads to "error: new declaration... error: ambiguates old declaration..." I was about to propose a patch, but I can't figure out if "STDMETHODCALLTYPE" are needed or not (I would say they are, but one commit (a73c6ce67b272b71dc814b3384d8c1c99f6c75e3) says it causes crashes)
Added Luca since he may have more info on the problem.
Which versions of gcc and wine are you using ? I still don't get these errors with gcc-4.4 (going to update to 4.6 now).
I should have added that info. Using Ubuntu Oneiric 64bit, running gcc 4.6.1 and wine 1.3.31.
(In reply to comment #6) > Which versions of gcc and wine are you using ? I still don't get these errors > with gcc-4.4 (going to update to 4.6 now). Using Debian Sid 64bit, running gcc 4.6.2-3 and wine 1.3.31. I also tried gcc-4.5, getting the same errors.
http://cgit.freedesktop.org/mesa/mesa/commit/?id=058fb0071639d076a850dd29120a232fe7fdbce6
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.