On Sat, 25 Jan 2003 01:14:15 +0100 Raphaël Junqueira fenix@club-internet.fr wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi all, it seems a big patch, but it's only simple cleanups/splits ;)
it's the first and bigger patch for splitting d3d8 from the future d3d7/d3d8/d3d9 comon code
Changelog:
- some needed cleanups for future dx9 and d3d common layer support:
- stateblocks to IDirect3DStateBlockImpl interface and moving into a new file (stateblock.c)
- shaders to IDirect3D*ShaderImpl interfaces
- splitting vshader and vshader declaration as in dx9 into 2 interfaces (for future common layer use)
- vshader declaration code to a new file (vsaderdeclaration.c)
- device calls to new interfaces (redirect stubs)
- simple texture fix for a little regression after last jason patches
- some caps code using the GL/glext.h defines (GL_VERSION_*)
Todo:
- renaming IDirec3DDevice8Impl::StateBlock to IDirec3DDevice8Impl::startupStateBlock
- moving IDirec3DDevice8Impl d3d generic code to a "common layer" interface (maybe IDirec3DDeviceImpl)
- merging new DrawPrimitive prototype (using ddraw code) with current code
- splitting d3d8_private.h into 2 headers (d3d8 specific header, and common layer header)
- merging the hal base prototype
Raphael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+MdbYp7NA3AmQTU4RAg3DAJ94zf6kzopk2WH95+Nvq/BcH26dogCdEhf2 UASOhtqMDLoJocMODUtZZv8= =5SNm -----END PGP SIGNATURE-----
Including glext.h appears to break the DLL for me. NVidia's GL headers (gl.h) already define some of the types specified in glext.h. I presume X installs glext.h, but I've not had a conflict between the two headers before.
In file included from d3d8_private.h:30, from device.c:35: /usr/local/include/GL/glext.h:3142: conflicting types for `glCopyTexSubImage3DEXT' /usr/local/include/GL/gl.h:2486: previous declaration of `glCopyTexSubImage3DEXT' /usr/local/include/GL/glext.h:3566: conflicting types for `glColorSubTableEXT' /usr/local/include/GL/gl.h:2446: previous declaration of `glColorSubTableEXT' /usr/local/include/GL/glext.h:4372: conflicting types for `glTbufferMask3DFX' /usr/local/include/GL/gl.h:2984: previous declaration of `glTbufferMask3DFX' /usr/local/include/GL/glext.h:4406: conflicting types for `glTextureColorMaskSGIS' /usr/local/include/GL/gl.h:3050: previous declaration of `glTextureColorMaskSGIS'
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Le Mardi 28 Janvier 2003 21:56, Andrew John Hughes a écrit :
On Sat, 25 Jan 2003 01:14:15 +0100
Raphaël Junqueira fenix@club-internet.fr wrote:
<snip>
Including glext.h appears to break the DLL for me. NVidia's GL headers (gl.h) already define some of the types specified in glext.h. I presume X installs glext.h, but I've not had a conflict between the two headers before.
yukkkk,
it's a known recurrent problem ;( currently i have a proto where i redefined all the types, protos, ... but it's not merged yet (it's a HAL arch draft)
sorry, but your nvidia header don't seem to respect the "standard" ;(
can you send me your nvidia gl.h header i'll try to play with #ifdef/#endif
Raphael
In file included from d3d8_private.h:30, from device.c:35: /usr/local/include/GL/glext.h:3142: conflicting types for `glCopyTexSubImage3DEXT' /usr/local/include/GL/gl.h:2486: previous declaration of `glCopyTexSubImage3DEXT' /usr/local/include/GL/glext.h:3566: conflicting types for `glColorSubTableEXT' /usr/local/include/GL/gl.h:2446: previous declaration of `glColorSubTableEXT' /usr/local/include/GL/glext.h:4372: conflicting types for `glTbufferMask3DFX' /usr/local/include/GL/gl.h:2984: previous declaration of `glTbufferMask3DFX' /usr/local/include/GL/glext.h:4406: conflicting types for `glTextureColorMaskSGIS' /usr/local/include/GL/gl.h:3050: previous declaration of `glTextureColorMaskSGIS'
why not file a bug report to NVidia ? after all only THEIR headers dont work...
Including glext.h appears to break the DLL for me. NVidia's GL headers (gl.h) already define some of the types specified in glext.h. I presume X installs glext.h, but I've not had a conflict between the two headers before.
In file included from d3d8_private.h:30, from device.c:35: /usr/local/include/GL/glext.h:3142: conflicting types for `glCopyTexSubImage3DEXT' /usr/local/include/GL/gl.h:2486: previous declaration of `glCopyTexSubImage3DEXT' /usr/local/include/GL/glext.h:3566: conflicting types for `glColorSubTableEXT' /usr/local/include/GL/gl.h:2446: previous declaration of `glColorSubTableEXT' /usr/local/include/GL/glext.h:4372: conflicting types for `glTbufferMask3DFX' /usr/local/include/GL/gl.h:2984: previous declaration of `glTbufferMask3DFX' /usr/local/include/GL/glext.h:4406: conflicting types for `glTextureColorMaskSGIS' /usr/local/include/GL/gl.h:3050: previous declaration of `glTextureColorMaskSGIS'
-- Andrew :-)
Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
"Windows is the one true OS. MS invented the GUI. MS invented the 32 bit OS. MS is open and standard. MS loves you. We have always been at war with Oceania."
ATTACHMENT part 2 application/pgp-signature
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
On Tue, 28 Jan 2003 22:21:59 +0100 (CET) Sylvain Petreolle spetreolle@yahoo.fr wrote:
why not file a bug report to NVidia ? after all only THEIR headers dont work...
Including glext.h appears to break the DLL for me. NVidia's GL headers (gl.h) already define some of the types specified in glext.h. I presume X installs glext.h, but I've not had a conflict between the two headers before.
In file included from d3d8_private.h:30, from device.c:35: /usr/local/include/GL/glext.h:3142: conflicting types for `glCopyTexSubImage3DEXT' /usr/local/include/GL/gl.h:2486: previous declaration of `glCopyTexSubImage3DEXT' /usr/local/include/GL/glext.h:3566: conflicting types for `glColorSubTableEXT' /usr/local/include/GL/gl.h:2446: previous declaration of `glColorSubTableEXT' /usr/local/include/GL/glext.h:4372: conflicting types for `glTbufferMask3DFX' /usr/local/include/GL/gl.h:2984: previous declaration of `glTbufferMask3DFX' /usr/local/include/GL/glext.h:4406: conflicting types for `glTextureColorMaskSGIS' /usr/local/include/GL/gl.h:3050: previous declaration of `glTextureColorMaskSGIS'
-- Andrew :-)
Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
"Windows is the one true OS. MS invented the GUI. MS invented the 32 bit OS. MS is open and standard. MS loves you. We have always been at war with Oceania."
ATTACHMENT part 2 application/pgp-signature
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Fortunately, the problem is lessened by the fact that the headers don't appear to be installed by default. However, there is an incentive to replace the X ones with the NVidia ones as they "contain the most up to date versions of NVIDIA's OpenGL extensions". Looking round their website, there doesn't seem to be anywhere to report the conflict or give any feedback to them at all - I couldn't find any contact details. Not suprising when you think that they must be the only company to supply executable headers (implying that they are developed on a Win32 system). It's not all bad though - in the Developer's corner of their web-site, there seem to be some good examples of DirectX stuff, with source. Might be useful for testing Wine... (although I don't know the legalities - they jseem to be freely downloadable)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Le Mardi 28 Janvier 2003 22:58, Andrew John Hughes a écrit :
On Tue, 28 Jan 2003 22:21:59 +0100 (CET)
Sylvain Petreolle spetreolle@yahoo.fr wrote:
why not file a bug report to NVidia ? after all only THEIR headers dont work...
Including glext.h appears to break the DLL for me. NVidia's GL headers (gl.h) already define some of the types specified in glext.h. I presume X installs glext.h, but I've not had a conflict between the two headers before.
In file included from d3d8_private.h:30, from device.c:35: /usr/local/include/GL/glext.h:3142: conflicting types for `glCopyTexSubImage3DEXT' /usr/local/include/GL/gl.h:2486: previous declaration of `glCopyTexSubImage3DEXT' /usr/local/include/GL/glext.h:3566: conflicting types for `glColorSubTableEXT' /usr/local/include/GL/gl.h:2446: previous declaration of `glColorSubTableEXT' /usr/local/include/GL/glext.h:4372: conflicting types for `glTbufferMask3DFX' /usr/local/include/GL/gl.h:2984: previous declaration of `glTbufferMask3DFX' /usr/local/include/GL/glext.h:4406: conflicting types for `glTextureColorMaskSGIS' /usr/local/include/GL/gl.h:3050: previous declaration of `glTextureColorMaskSGIS'
-- Andrew :-)
Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
"Windows is the one true OS. MS invented the GUI. MS invented the 32 bit OS. MS is open and standard. MS loves you. We have always been at war with Oceania."
ATTACHMENT part 2 application/pgp-signature
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Fortunately, the problem is lessened by the fact that the headers don't appear to be installed by default. However, there is an incentive to replace the X ones with the NVidia ones as they "contain the most up to date versions of NVIDIA's OpenGL extensions". Looking round their website, there doesn't seem to be anywhere to report the conflict or give any feedback to them at all - I couldn't find any contact details. Not suprising when you think that they must be the only company to supply executable headers (implying that they are developed on a Win32 system).
you are right, i'm fixing this problem now (thx to your reply)
It's not all bad though - in the Developer's corner of their web-site, there seem to be some good examples of DirectX stuff, with source. Might be useful for testing Wine... (although I don't know the legalities - they jseem to be freely downloadable)
yes they are usefull, as nvidia effect browser is perfect for testing vertex shader emulation code ;)
Raphael