aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llwindow/lldxhardware.cpp2
-rw-r--r--linden/indra/llwindow/llgl.cpp269
-rw-r--r--linden/indra/llwindow/llgl.h95
-rw-r--r--linden/indra/llwindow/llglheaders.h36
-rw-r--r--linden/indra/llwindow/llglstates.h125
-rw-r--r--linden/indra/llwindow/llglstubs.h236
-rw-r--r--linden/indra/llwindow/llmousehandler.h2
-rw-r--r--linden/indra/llwindow/llwindow.cpp14
-rw-r--r--linden/indra/llwindow/llwindow.h5
-rw-r--r--linden/indra/llwindow/llwindow.vcproj8
-rw-r--r--linden/indra/llwindow/llwindow_vc8.vcproj792
-rw-r--r--linden/indra/llwindow/llwindow_vc9.vcproj796
-rw-r--r--linden/indra/llwindow/llwindowmacosx.cpp38
-rw-r--r--linden/indra/llwindow/llwindowsdl.cpp45
-rw-r--r--linden/indra/llwindow/llwindowwin32.cpp17
-rw-r--r--linden/indra/llwindow/llwindowwin32.h1
16 files changed, 1305 insertions, 1176 deletions
diff --git a/linden/indra/llwindow/lldxhardware.cpp b/linden/indra/llwindow/lldxhardware.cpp
index a401c63..352a5a3 100644
--- a/linden/indra/llwindow/lldxhardware.cpp
+++ b/linden/indra/llwindow/lldxhardware.cpp
@@ -35,7 +35,9 @@
35 35
36#include "linden_common.h" 36#include "linden_common.h"
37 37
38#define INITGUID
38#include <dxdiag.h> 39#include <dxdiag.h>
40#undef INITGUID
39 41
40#include <boost/tokenizer.hpp> 42#include <boost/tokenizer.hpp>
41 43
diff --git a/linden/indra/llwindow/llgl.cpp b/linden/indra/llwindow/llgl.cpp
index 6978fb9..07840c1 100644
--- a/linden/indra/llwindow/llgl.cpp
+++ b/linden/indra/llwindow/llgl.cpp
@@ -41,6 +41,7 @@
41#include "llsys.h" 41#include "llsys.h"
42 42
43#include "llgl.h" 43#include "llgl.h"
44#include "llglimmediate.h"
44 45
45#include "llerror.h" 46#include "llerror.h"
46#include "llquaternion.h" 47#include "llquaternion.h"
@@ -50,33 +51,15 @@
50 51
51#include "llglheaders.h" 52#include "llglheaders.h"
52 53
53#if LL_LINUX && !LL_MESA_HEADLESS
54// The __APPLE__ hack is to make glh_extensions.h not symbol-clash horribly
55# define __APPLE__
56# include "GL/glh_extensions.h"
57# undef __APPLE__
58
59/* Although SDL very likely ends up calling glXGetProcAddress() itself,
60 if we do it ourselves then we avoid getting bogus addresses back on
61 some systems. Weird. */
62/*# include "SDL/SDL.h"
63 # define GLH_EXT_GET_PROC_ADDRESS(p) SDL_GL_GetProcAddress(p) */
64#define GLX_GLXEXT_PROTOTYPES 1
65# include "GL/glx.h"
66# include "GL/glxext.h"
67// Use glXGetProcAddressARB instead of glXGetProcAddress - the ARB symbol
68// is considered 'legacy' but works on more machines.
69# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
70#endif // LL_LINUX && !LL_MESA_HEADLESS
71
72
73#ifdef _DEBUG 54#ifdef _DEBUG
74//#define GL_STATE_VERIFY 55//#define GL_STATE_VERIFY
75#endif 56#endif
76 57
77BOOL gClothRipple = FALSE; 58BOOL gClothRipple = FALSE;
78BOOL gNoRender = FALSE; 59BOOL gNoRender = FALSE;
60LLMatrix4 gGLObliqueProjectionInverse;
79 61
62LLGLNamePool::pool_list_t LLGLNamePool::sInstances;
80 63
81#if (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS 64#if (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS
82// ATI prototypes 65// ATI prototypes
@@ -312,6 +295,8 @@ LLGLManager::LLGLManager()
312 mVRAM = 0; 295 mVRAM = 0;
313 mGLMaxVertexRange = 0; 296 mGLMaxVertexRange = 0;
314 mGLMaxIndexRange = 0; 297 mGLMaxIndexRange = 0;
298
299 mHasRequirements = TRUE;
315} 300}
316 301
317//--------------------------------------------------------------------- 302//---------------------------------------------------------------------
@@ -426,7 +411,13 @@ bool LLGLManager::initGL()
426 } 411 }
427 412
428 } 413 }
429 else if (mGLVendor.find("INTEL") != LLString::npos) 414 else if (mGLVendor.find("INTEL") != LLString::npos
415#if LL_LINUX
416 // The Mesa-based drivers put this in the Renderer string,
417 // not the Vendor string.
418 || mGLRenderer.find("INTEL") != LLString::npos
419#endif //LL_LINUX
420 )
430 { 421 {
431 mGLVendorShort = "INTEL"; 422 mGLVendorShort = "INTEL";
432 mIsIntel = TRUE; 423 mIsIntel = TRUE;
@@ -451,6 +442,8 @@ bool LLGLManager::initGL()
451 } 442 }
452 else 443 else
453 { 444 {
445 mHasRequirements = FALSE;
446
454 // We don't support cards that don't support the GL_ARB_multitexture extension 447 // We don't support cards that don't support the GL_ARB_multitexture extension
455 llwarns << "GL Drivers do not support GL_ARB_multitexture" << llendl; 448 llwarns << "GL Drivers do not support GL_ARB_multitexture" << llendl;
456 return false; 449 return false;
@@ -509,6 +502,7 @@ void LLGLManager::shutdownGL()
509{ 502{
510 if (mInited) 503 if (mInited)
511 { 504 {
505 glFinish();
512 stop_glerror(); 506 stop_glerror();
513 mInited = FALSE; 507 mInited = FALSE;
514 } 508 }
@@ -959,7 +953,17 @@ void assert_glerror()
959 if (error) 953 if (error)
960 { 954 {
961#ifndef LL_LINUX // *FIX: ! This should be an error for linux as well. 955#ifndef LL_LINUX // *FIX: ! This should be an error for linux as well.
962 llerrs << "GL Error:" << gluErrorString(error) << llendl; 956 GLubyte const * gl_error_msg = gluErrorString(error);
957 if (NULL != gl_error_msg)
958 {
959 llerrs << "GL Error:" << gl_error_msg << llendl;
960 }
961 else
962 {
963 // gluErrorString returns NULL for some extensions' error codes.
964 // you'll probably have to grep for the number in glext.h.
965 llerrs << "GL Error: UNKNOWN 0x" << std::hex << error << llendl;
966 }
963#endif 967#endif
964 } 968 }
965} 969}
@@ -988,6 +992,7 @@ GLboolean LLGLDepthTest::sWriteEnabled = GL_TRUE; // OpenGL default
988void LLGLState::initClass() 992void LLGLState::initClass()
989{ 993{
990 sStateMap[GL_DITHER] = GL_TRUE; 994 sStateMap[GL_DITHER] = GL_TRUE;
995 sStateMap[GL_TEXTURE_2D] = GL_TRUE;
991} 996}
992 997
993//static 998//static
@@ -1001,7 +1006,9 @@ void LLGLState::restoreGL()
1001// Really shouldn't be needed, but seems we sometimes do. 1006// Really shouldn't be needed, but seems we sometimes do.
1002void LLGLState::resetTextureStates() 1007void LLGLState::resetTextureStates()
1003{ 1008{
1009 gGL.flush();
1004 GLint maxTextureUnits; 1010 GLint maxTextureUnits;
1011
1005 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &maxTextureUnits); 1012 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &maxTextureUnits);
1006 for (S32 j = maxTextureUnits-1; j >=0; j--) 1013 for (S32 j = maxTextureUnits-1; j >=0; j--)
1007 { 1014 {
@@ -1074,7 +1081,23 @@ void LLGLState::checkTextureChannels()
1074 error = TRUE; 1081 error = TRUE;
1075 llwarns << "Active texture channel corrupted. " << llendl; 1082 llwarns << "Active texture channel corrupted. " << llendl;
1076 } 1083 }
1077 1084 else if (!glIsEnabled(GL_TEXTURE_2D))
1085 {
1086 error = TRUE;
1087 llwarns << "GL_TEXTURE_2D not enabled on texture channel 0." << llendl;
1088 }
1089 else
1090 {
1091 GLint tex_env_mode = 0;
1092
1093 glGetTexEnviv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &tex_env_mode);
1094 if (tex_env_mode != GL_MODULATE)
1095 {
1096 error = TRUE;
1097 llwarns << "GL_TEXTURE_ENV_MODE invalid: " << std::hex << tex_env_mode << llendl;
1098 }
1099 }
1100
1078 GLint maxTextureUnits; 1101 GLint maxTextureUnits;
1079 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &maxTextureUnits); 1102 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &maxTextureUnits);
1080 1103
@@ -1270,11 +1293,13 @@ void LLGLState::setEnabled(S32 enabled)
1270 } 1293 }
1271 else if (enabled == TRUE && sStateMap[mState] != GL_TRUE) 1294 else if (enabled == TRUE && sStateMap[mState] != GL_TRUE)
1272 { 1295 {
1296 gGL.flush();
1273 glEnable(mState); 1297 glEnable(mState);
1274 sStateMap[mState] = GL_TRUE; 1298 sStateMap[mState] = GL_TRUE;
1275 } 1299 }
1276 else if (enabled == FALSE && sStateMap[mState] != GL_FALSE) 1300 else if (enabled == FALSE && sStateMap[mState] != GL_FALSE)
1277 { 1301 {
1302 gGL.flush();
1278 glDisable(mState); 1303 glDisable(mState);
1279 sStateMap[mState] = GL_FALSE; 1304 sStateMap[mState] = GL_FALSE;
1280 } 1305 }
@@ -1291,6 +1316,7 @@ LLGLState::~LLGLState()
1291#endif 1316#endif
1292 if (mIsEnabled != mWasEnabled) 1317 if (mIsEnabled != mWasEnabled)
1293 { 1318 {
1319 gGL.flush();
1294 if (mWasEnabled) 1320 if (mWasEnabled)
1295 { 1321 {
1296 glEnable(mState); 1322 glEnable(mState);
@@ -1478,3 +1504,200 @@ void parse_gl_version( S32* major, S32* minor, S32* release, LLString* vendor_sp
1478 vendor_specific->assign( version + i ); 1504 vendor_specific->assign( version + i );
1479 } 1505 }
1480} 1506}
1507
1508LLGLUserClipPlane::LLGLUserClipPlane(const LLPlane& p, const glh::matrix4f& modelview, const glh::matrix4f& projection)
1509{
1510 mModelview = modelview;
1511 mProjection = projection;
1512
1513 setPlane(p.mV[0], p.mV[1], p.mV[2], p.mV[3]);
1514}
1515
1516void LLGLUserClipPlane::setPlane(F32 a, F32 b, F32 c, F32 d)
1517{
1518 glh::matrix4f& P = mProjection;
1519 glh::matrix4f& M = mModelview;
1520
1521 glh::matrix4f invtrans_MVP = (P * M).inverse().transpose();
1522 glh::vec4f oplane(a,b,c,d);
1523 glh::vec4f cplane;
1524 invtrans_MVP.mult_matrix_vec(oplane, cplane);
1525
1526 cplane /= fabs(cplane[2]); // normalize such that depth is not scaled
1527 cplane[3] -= 1;
1528
1529 if(cplane[2] < 0)
1530 cplane *= -1;
1531
1532 glh::matrix4f suffix;
1533 suffix.set_row(2, cplane);
1534 glh::matrix4f newP = suffix * P;
1535 glMatrixMode(GL_PROJECTION);
1536 glPushMatrix();
1537 glLoadMatrixf(newP.m);
1538 gGLObliqueProjectionInverse = LLMatrix4(newP.inverse().transpose().m);
1539 glMatrixMode(GL_MODELVIEW);
1540}
1541
1542LLGLUserClipPlane::~LLGLUserClipPlane()
1543{
1544 glMatrixMode(GL_PROJECTION);
1545 glPopMatrix();
1546 glMatrixMode(GL_MODELVIEW);
1547}
1548
1549LLGLNamePool::LLGLNamePool()
1550{
1551}
1552
1553void LLGLNamePool::registerPool(LLGLNamePool* pool)
1554{
1555 pool_list_t::iterator iter = std::find(sInstances.begin(), sInstances.end(), pool);
1556 if (iter == sInstances.end())
1557 {
1558 sInstances.push_back(pool);
1559 }
1560}
1561
1562LLGLNamePool::~LLGLNamePool()
1563{
1564 pool_list_t::iterator iter = std::find(sInstances.begin(), sInstances.end(), this);
1565 if (iter != sInstances.end())
1566 {
1567 sInstances.erase(iter);
1568 }
1569}
1570
1571void LLGLNamePool::upkeep()
1572{
1573 std::sort(mNameList.begin(), mNameList.end(), CompareUsed());
1574}
1575
1576void LLGLNamePool::cleanup()
1577{
1578 for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter)
1579 {
1580 releaseName(iter->name);
1581 }
1582
1583 mNameList.clear();
1584}
1585
1586GLuint LLGLNamePool::allocate()
1587{
1588 for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter)
1589 {
1590 if (!iter->used)
1591 {
1592 iter->used = TRUE;
1593 return iter->name;
1594 }
1595 }
1596
1597 NameEntry entry;
1598 entry.name = allocateName();
1599 entry.used = TRUE;
1600 mNameList.push_back(entry);
1601
1602 return entry.name;
1603}
1604
1605void LLGLNamePool::release(GLuint name)
1606{
1607 for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter)
1608 {
1609 if (iter->name == name)
1610 {
1611 iter->used = FALSE;
1612 return;
1613 }
1614 }
1615}
1616
1617//static
1618void LLGLNamePool::upkeepPools()
1619{
1620 for (pool_list_t::iterator iter = sInstances.begin(); iter != sInstances.end(); ++iter)
1621 {
1622 LLGLNamePool* pool = *iter;
1623 pool->upkeep();
1624 }
1625}
1626
1627//static
1628void LLGLNamePool::cleanupPools()
1629{
1630 for (pool_list_t::iterator iter = sInstances.begin(); iter != sInstances.end(); ++iter)
1631 {
1632 LLGLNamePool* pool = *iter;
1633 pool->cleanup();
1634 }
1635}
1636
1637LLGLDepthTest::LLGLDepthTest(GLboolean depth_enabled, GLboolean write_enabled, GLenum depth_func)
1638: mPrevDepthEnabled(sDepthEnabled), mPrevDepthFunc(sDepthFunc), mPrevWriteEnabled(sWriteEnabled)
1639{
1640 if (depth_enabled != sDepthEnabled)
1641 {
1642 gGL.flush();
1643 if (depth_enabled) glEnable(GL_DEPTH_TEST);
1644 else glDisable(GL_DEPTH_TEST);
1645 sDepthEnabled = depth_enabled;
1646 }
1647 if (depth_func != sDepthFunc)
1648 {
1649 gGL.flush();
1650 glDepthFunc(depth_func);
1651 sDepthFunc = depth_func;
1652 }
1653 if (write_enabled != sWriteEnabled)
1654 {
1655 gGL.flush();
1656 glDepthMask(write_enabled);
1657 sWriteEnabled = write_enabled;
1658 }
1659}
1660
1661LLGLDepthTest::~LLGLDepthTest()
1662{
1663 if (sDepthEnabled != mPrevDepthEnabled )
1664 {
1665 gGL.flush();
1666 if (mPrevDepthEnabled) glEnable(GL_DEPTH_TEST);
1667 else glDisable(GL_DEPTH_TEST);
1668 sDepthEnabled = mPrevDepthEnabled;
1669 }
1670 if (sDepthFunc != mPrevDepthFunc)
1671 {
1672 gGL.flush();
1673 glDepthFunc(mPrevDepthFunc);
1674 sDepthFunc = mPrevDepthFunc;
1675 }
1676 if (sWriteEnabled != mPrevWriteEnabled )
1677 {
1678 gGL.flush();
1679 glDepthMask(mPrevWriteEnabled);
1680 sWriteEnabled = mPrevWriteEnabled;
1681 }
1682}
1683
1684LLGLClampToFarClip::LLGLClampToFarClip(glh::matrix4f P)
1685{
1686 for (U32 i = 0; i < 4; i++)
1687 {
1688 P.element(2, i) = P.element(3, i) * 0.99999f;
1689 }
1690
1691 glMatrixMode(GL_PROJECTION);
1692 glPushMatrix();
1693 glLoadMatrixf(P.m);
1694 glMatrixMode(GL_MODELVIEW);
1695}
1696
1697LLGLClampToFarClip::~LLGLClampToFarClip()
1698{
1699 glMatrixMode(GL_PROJECTION);
1700 glPopMatrix();
1701 glMatrixMode(GL_MODELVIEW);
1702}
1703
diff --git a/linden/indra/llwindow/llgl.h b/linden/indra/llwindow/llgl.h
index 57bd616..25ad0d6 100644
--- a/linden/indra/llwindow/llgl.h
+++ b/linden/indra/llwindow/llgl.h
@@ -42,8 +42,12 @@
42#include "llstring.h" 42#include "llstring.h"
43#include "stdtypes.h" 43#include "stdtypes.h"
44#include "v4math.h" 44#include "v4math.h"
45#include "llplane.h"
45#include "llgltypes.h" 46#include "llgltypes.h"
46 47
48#include "llglheaders.h"
49#include "glh/glh_linear.h"
50
47#define LL_DEBUG_GL 1 51#define LL_DEBUG_GL 1
48 52
49#define LL_GL_ERRS llerrs 53#define LL_GL_ERRS llerrs
@@ -97,6 +101,9 @@ public:
97 BOOL mIsGFFX; 101 BOOL mIsGFFX;
98 BOOL mATIOffsetVerticalLines; 102 BOOL mATIOffsetVerticalLines;
99 103
104 // Whether this version of GL is good enough for SL to use
105 BOOL mHasRequirements;
106
100#if LL_WINDOWS 107#if LL_WINDOWS
101 BOOL mHasWGLARBPixelFormat; 108 BOOL mHasWGLARBPixelFormat;
102#endif // LL_WINDOWS 109#endif // LL_WINDOWS
@@ -257,6 +264,94 @@ public:
257 LLGLDisable(LLGLenum state) : LLGLState(state, FALSE) {} 264 LLGLDisable(LLGLenum state) : LLGLState(state, FALSE) {}
258}; 265};
259 266
267/*
268 Store and modify projection matrix to create an oblique
269 projection that clips to the specified plane. Oblique
270 projections alter values in the depth buffer, so this
271 class should not be used mid-renderpass.
272
273 Restores projection matrix on destruction.
274 GL_MODELVIEW_MATRIX is active whenever program execution
275 leaves this class.
276 Does not stack.
277 Caches inverse of projection matrix used in gGLObliqueProjectionInverse
278*/
279class LLGLUserClipPlane
280{
281public:
282
283 LLGLUserClipPlane(const LLPlane& plane, const glh::matrix4f& modelview, const glh::matrix4f& projection);
284 ~LLGLUserClipPlane();
285
286 void setPlane(F32 a, F32 b, F32 c, F32 d);
287
288private:
289 glh::matrix4f mProjection;
290 glh::matrix4f mModelview;
291};
292
293/*
294 Modify and load projection matrix to push depth values to far clip plane.
295
296 Restores projection matrix on destruction.
297 GL_MODELVIEW_MATRIX is active whenever program execution
298 leaves this class.
299 Does not stack.
300*/
301class LLGLClampToFarClip
302{
303public:
304 LLGLClampToFarClip(glh::matrix4f projection);
305 ~LLGLClampToFarClip();
306};
307
308/*
309 Generic pooling scheme for things which use GL names (used for occlusion queries and vertex buffer objects).
310 Prevents thrashing of GL name caches by avoiding calls to glGenFoo and glDeleteFoo.
311*/
312class LLGLNamePool
313{
314public:
315 typedef struct
316 {
317 GLuint name;
318 BOOL used;
319 } NameEntry;
320
321 struct CompareUsed
322 {
323 bool operator()(const NameEntry& lhs, const NameEntry& rhs)
324 {
325 return lhs.used < rhs.used; //FALSE entries first
326 }
327 };
328
329 typedef std::vector<NameEntry> name_list_t;
330 name_list_t mNameList;
331
332 LLGLNamePool();
333 virtual ~LLGLNamePool();
334
335 void upkeep();
336 void cleanup();
337
338 GLuint allocate();
339 void release(GLuint name);
340
341 static void registerPool(LLGLNamePool* pool);
342 static void upkeepPools();
343 static void cleanupPools();
344
345protected:
346 typedef std::vector<LLGLNamePool*> pool_list_t;
347 static pool_list_t sInstances;
348
349 virtual GLuint allocateName() = 0;
350 virtual void releaseName(GLuint name) = 0;
351};
352
353extern LLMatrix4 gGLObliqueProjectionInverse;
354
260#include "llglstates.h" 355#include "llglstates.h"
261 356
262void init_glstates(); 357void init_glstates();
diff --git a/linden/indra/llwindow/llglheaders.h b/linden/indra/llwindow/llglheaders.h
index 45310ef..d66fbe4 100644
--- a/linden/indra/llwindow/llglheaders.h
+++ b/linden/indra/llwindow/llglheaders.h
@@ -50,6 +50,11 @@
50#include "GL/glext.h" 50#include "GL/glext.h"
51#include "GL/glu.h" 51#include "GL/glu.h"
52 52
53// The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
54# define __APPLE__
55# include "GL/glh_extensions.h"
56# undef __APPLE__
57
53#elif LL_LINUX 58#elif LL_LINUX
54//---------------------------------------------------------------------------- 59//----------------------------------------------------------------------------
55// Linux, MESA headers, but not necessarily assuming MESA runtime. 60// Linux, MESA headers, but not necessarily assuming MESA runtime.
@@ -58,6 +63,29 @@
58#include "GL/glext.h" 63#include "GL/glext.h"
59#include "GL/glu.h" 64#include "GL/glu.h"
60 65
66
67#if LL_LINUX && !LL_MESA_HEADLESS
68// The __APPLE__ kludge is to make glh_extensions.h not symbol-clash horribly
69# define __APPLE__
70# include "GL/glh_extensions.h"
71# undef __APPLE__
72
73/* Although SDL very likely ends up calling glXGetProcAddress() itself,
74 if we use SDL_GL_GetProcAddress() then we get bogus addresses back on
75 some systems. Weird. */
76/*# include "SDL/SDL.h"
77 # define GLH_EXT_GET_PROC_ADDRESS(p) SDL_GL_GetProcAddress(p) */
78#define GLX_GLXEXT_PROTOTYPES 1
79# include "GL/glx.h"
80# include "GL/glxext.h"
81// Use glXGetProcAddressARB instead of glXGetProcAddress - the ARB symbol
82// is considered 'legacy' but works on more machines.
83# define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
84// Whee, the X headers define 'Status'. Undefine to avoid confusion.
85#undef Status
86#endif // LL_LINUX && !LL_MESA_HEADLESS
87
88
61// GL_ARB_vertex_buffer_object 89// GL_ARB_vertex_buffer_object
62extern PFNGLBINDBUFFERARBPROC glBindBufferARB; 90extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
63extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB; 91extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
@@ -234,6 +262,12 @@ extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
234 262
235 263
236#elif LL_WINDOWS 264#elif LL_WINDOWS
265
266// windows gl headers depend on things like APIENTRY, so include windows.
267#define WIN32_LEAN_AND_MEAN
268#include <winsock2.h>
269#include <windows.h>
270
237//---------------------------------------------------------------------------- 271//----------------------------------------------------------------------------
238#include <GL/gl.h> 272#include <GL/gl.h>
239#include <GL/glu.h> 273#include <GL/glu.h>
@@ -555,6 +589,8 @@ extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
555} 589}
556#endif 590#endif
557 591
592#include <AGL/gl.h>
593
558#endif // LL_MESA / LL_WINDOWS / LL_DARWIN 594#endif // LL_MESA / LL_WINDOWS / LL_DARWIN
559 595
560 596
diff --git a/linden/indra/llwindow/llglstates.h b/linden/indra/llwindow/llglstates.h
index 5052c8d..7d65952 100644
--- a/linden/indra/llwindow/llglstates.h
+++ b/linden/indra/llwindow/llglstates.h
@@ -33,17 +33,7 @@
33#ifndef LL_LLGLSTATES_H 33#ifndef LL_LLGLSTATES_H
34#define LL_LLGLSTATES_H 34#define LL_LLGLSTATES_H
35 35
36#ifdef WIN32 36#include "llimagegl.h"
37# define WIN32_LEAN_AND_MEAN
38# include <winsock2.h>
39# include <windows.h>
40#endif
41
42#if LL_DARWIN
43#include <AGL/gl.h>
44#else
45#include "llglheaders.h"
46#endif
47 37
48//---------------------------------------------------------------------------- 38//----------------------------------------------------------------------------
49 39
@@ -51,45 +41,10 @@ class LLGLDepthTest
51{ 41{
52 // Enabled by default 42 // Enabled by default
53public: 43public:
54 LLGLDepthTest(GLboolean depth_enabled, GLboolean write_enabled = GL_TRUE, GLenum depth_func = GL_LEQUAL) 44 LLGLDepthTest(GLboolean depth_enabled, GLboolean write_enabled = GL_TRUE, GLenum depth_func = GL_LEQUAL);
55 : mPrevDepthEnabled(sDepthEnabled), mPrevDepthFunc(sDepthFunc), mPrevWriteEnabled(sWriteEnabled) 45
56 { 46 ~LLGLDepthTest();
57 if (depth_enabled != sDepthEnabled) 47
58 {
59 if (depth_enabled) glEnable(GL_DEPTH_TEST);
60 else glDisable(GL_DEPTH_TEST);
61 sDepthEnabled = depth_enabled;
62 }
63 if (depth_func != sDepthFunc)
64 {
65 glDepthFunc(depth_func);
66 sDepthFunc = depth_func;
67 }
68 if (write_enabled != sWriteEnabled)
69 {
70 glDepthMask(write_enabled);
71 sWriteEnabled = write_enabled;
72 }
73 }
74 ~LLGLDepthTest()
75 {
76 if (sDepthEnabled != mPrevDepthEnabled )
77 {
78 if (mPrevDepthEnabled) glEnable(GL_DEPTH_TEST);
79 else glDisable(GL_DEPTH_TEST);
80 sDepthEnabled = mPrevDepthEnabled;
81 }
82 if (sDepthFunc != mPrevDepthFunc)
83 {
84 glDepthFunc(mPrevDepthFunc);
85 sDepthFunc = mPrevDepthFunc;
86 }
87 if (sWriteEnabled != mPrevWriteEnabled )
88 {
89 glDepthMask(mPrevWriteEnabled);
90 sWriteEnabled = mPrevWriteEnabled;
91 }
92 }
93 GLboolean mPrevDepthEnabled; 48 GLboolean mPrevDepthEnabled;
94 GLenum mPrevDepthFunc; 49 GLenum mPrevDepthFunc;
95 GLboolean mPrevWriteEnabled; 50 GLboolean mPrevWriteEnabled;
@@ -104,7 +59,7 @@ private:
104class LLGLSDefault 59class LLGLSDefault
105{ 60{
106protected: 61protected:
107 LLGLEnable mTexture2D, mColorMaterial; 62 LLGLEnable mColorMaterial;
108 LLGLDisable mAlphaTest, mBlend, mCullFace, mDither, mFog, 63 LLGLDisable mAlphaTest, mBlend, mCullFace, mDither, mFog,
109 mLineSmooth, mLineStipple, mNormalize, mPolygonSmooth, 64 mLineSmooth, mLineStipple, mNormalize, mPolygonSmooth,
110 mTextureGenQ, mTextureGenR, mTextureGenS, mTextureGenT; 65 mTextureGenQ, mTextureGenR, mTextureGenS, mTextureGenT;
@@ -112,7 +67,6 @@ public:
112 LLGLSDefault() 67 LLGLSDefault()
113 : 68 :
114 // Enable 69 // Enable
115 mTexture2D(GL_TEXTURE_2D),
116 mColorMaterial(GL_COLOR_MATERIAL), 70 mColorMaterial(GL_COLOR_MATERIAL),
117 // Disable 71 // Disable
118 mAlphaTest(GL_ALPHA_TEST), 72 mAlphaTest(GL_ALPHA_TEST),
@@ -131,47 +85,33 @@ public:
131 { } 85 { }
132}; 86};
133 87
134class LLGLSTexture
135{
136protected:
137 LLGLEnable mTexture2D;
138public:
139 LLGLSTexture()
140 : mTexture2D(GL_TEXTURE_2D)
141 {}
142};
143
144
145class LLGLSNoTexture 88class LLGLSNoTexture
146{ 89{
147protected:
148 LLGLDisable mTexture2D;
149public: 90public:
150 LLGLSNoTexture() 91 LLGLSNoTexture()
151 : mTexture2D(GL_TEXTURE_2D) 92 { LLImageGL::unbindTexture(0); }
152 {}
153}; 93};
154 94
155class LLGLSObjectSelect // : public LLGLSDefault 95class LLGLSObjectSelect
156{ 96{
157protected: 97protected:
158 LLGLDisable mBlend, mFog, mTexture2D, mAlphaTest; 98 LLGLDisable mBlend, mFog, mAlphaTest;
159 LLGLEnable mCullFace; 99 LLGLEnable mCullFace;
160public: 100public:
161 LLGLSObjectSelect() 101 LLGLSObjectSelect()
162 : mBlend(GL_BLEND), mFog(GL_FOG), mTexture2D(GL_TEXTURE_2D), 102 : mBlend(GL_BLEND), mFog(GL_FOG),
163 mAlphaTest(GL_ALPHA_TEST), 103 mAlphaTest(GL_ALPHA_TEST),
164 mCullFace(GL_CULL_FACE) 104 mCullFace(GL_CULL_FACE)
165 {} 105 { LLImageGL::unbindTexture(0); }
166}; 106};
167 107
168class LLGLSObjectSelectAlpha // : public LLGLSObjectSelect 108class LLGLSObjectSelectAlpha
169{ 109{
170protected: 110protected:
171 LLGLEnable mTexture2D, mAlphaTest; 111 LLGLEnable mAlphaTest;
172public: 112public:
173 LLGLSObjectSelectAlpha() 113 LLGLSObjectSelectAlpha()
174 : mTexture2D(GL_TEXTURE_2D), mAlphaTest(GL_ALPHA_TEST) 114 : mAlphaTest(GL_ALPHA_TEST)
175 {} 115 {}
176}; 116};
177 117
@@ -180,13 +120,12 @@ public:
180class LLGLSUIDefault // : public LLGLSDefault 120class LLGLSUIDefault // : public LLGLSDefault
181{ 121{
182protected: 122protected:
183 LLGLEnable mBlend, mAlphaTest, mTexture2D; 123 LLGLEnable mBlend, mAlphaTest;
184 LLGLDisable mCullFace; 124 LLGLDisable mCullFace;
185 LLGLDepthTest mDepthTest; 125 LLGLDepthTest mDepthTest;
186public: 126public:
187 LLGLSUIDefault() 127 LLGLSUIDefault()
188 : mBlend(GL_BLEND), mAlphaTest(GL_ALPHA_TEST), 128 : mBlend(GL_BLEND), mAlphaTest(GL_ALPHA_TEST),
189 mTexture2D(GL_TEXTURE_2D),
190 mCullFace(GL_CULL_FACE), 129 mCullFace(GL_CULL_FACE),
191 mDepthTest(GL_FALSE, GL_TRUE, GL_LEQUAL) 130 mDepthTest(GL_FALSE, GL_TRUE, GL_LEQUAL)
192 {} 131 {}
@@ -206,12 +145,11 @@ class LLGLSNoTextureNoAlphaTest // : public LLGLSUIDefault
206{ 145{
207protected: 146protected:
208 LLGLDisable mAlphaTest; 147 LLGLDisable mAlphaTest;
209 LLGLDisable mTexture2D;
210public: 148public:
211 LLGLSNoTextureNoAlphaTest() 149 LLGLSNoTextureNoAlphaTest()
212 : mAlphaTest(GL_ALPHA_TEST), 150 : mAlphaTest(GL_ALPHA_TEST)
213 mTexture2D(GL_TEXTURE_2D) 151
214 {} 152 { LLImageGL::unbindTexture(0); }
215}; 153};
216 154
217//---------------------------------------------------------------------------- 155//----------------------------------------------------------------------------
@@ -305,14 +243,13 @@ class LLGLSTracker // : public LLGLSDefault
305{ 243{
306protected: 244protected:
307 LLGLEnable mCullFace, mBlend, mAlphaTest; 245 LLGLEnable mCullFace, mBlend, mAlphaTest;
308 LLGLDisable mTexture2D;
309public: 246public:
310 LLGLSTracker() : 247 LLGLSTracker() :
311 mCullFace(GL_CULL_FACE), 248 mCullFace(GL_CULL_FACE),
312 mBlend(GL_BLEND), 249 mBlend(GL_BLEND),
313 mAlphaTest(GL_ALPHA_TEST), 250 mAlphaTest(GL_ALPHA_TEST)
314 mTexture2D(GL_TEXTURE_2D) 251
315 {} 252 { LLImageGL::unbindTexture(0); }
316}; 253};
317 254
318//---------------------------------------------------------------------------- 255//----------------------------------------------------------------------------
@@ -340,4 +277,24 @@ public:
340//---------------------------------------------------------------------------- 277//----------------------------------------------------------------------------
341 278
342 279
280class LLGLSBlendFunc : public LLGLSPipeline {
281protected:
282 GLint mSavedSrc, mSavedDst;
283 LLGLEnable mBlend;
284
285public:
286 LLGLSBlendFunc(GLenum srcFunc, GLenum dstFunc) :
287 mBlend(GL_BLEND)
288 {
289 glGetIntegerv(GL_BLEND_SRC, &mSavedSrc);
290 glGetIntegerv(GL_BLEND_DST, &mSavedDst);
291 glBlendFunc(srcFunc, dstFunc);
292 }
293
294 ~LLGLSBlendFunc(void) {
295 glBlendFunc(mSavedSrc, mSavedDst);
296 }
297};
298
299
343#endif 300#endif
diff --git a/linden/indra/llwindow/llglstubs.h b/linden/indra/llwindow/llglstubs.h
deleted file mode 100644
index 9745caa..0000000
--- a/linden/indra/llwindow/llglstubs.h
+++ /dev/null
@@ -1,236 +0,0 @@
1/**
2 * @file llglstubs.h
3 * @brief LLGL stubs header file
4 *
5 * $LicenseInfo:firstyear=2001&license=viewergpl$
6 *
7 * Copyright (c) 2001-2008, Linden Research, Inc.
8 *
9 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab
11 * to you under the terms of the GNU General Public License, version 2.0
12 * ("GPL"), unless you have obtained a separate licensing agreement
13 * ("Other License"), formally executed by you and Linden Lab. Terms of
14 * the GPL can be found in doc/GPL-license.txt in this distribution, or
15 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
16 *
17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
21 *
22 * By copying, modifying or distributing this software, you acknowledge
23 * that you have read and understood your obligations described above,
24 * and agree to abide by those obligations.
25 *
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
30 */
31
32
33// bunch of macros that get #included multiple times with GL_FUNC defined
34// various ways to make stubs for OpenGL entry points. These are statically
35// linked to the app, and call into the real GL, which is dynamically
36// loaded at runtime. See llwindowsdl.cpp for current implementation.
37
38#if 1
39GL_FUNC(void,glAlphaFunc,(GLenum f,GLclampf x),(f,x),)
40GL_FUNC(void,glBegin,(GLenum e),(e),)
41GL_FUNC(void,glBindTexture,(GLenum target,GLuint name),(target,name),)
42GL_FUNC(void,glBlendFunc,(GLenum f,GLenum x),(f,x),)
43GL_FUNC(void,glCallLists,(GLsizei a,GLenum b,const GLvoid* c),(a,b,c),)
44GL_FUNC(void,glClear,(GLbitfield a),(a),)
45GL_FUNC(void,glClearColor,(GLclampf r,GLclampf g,GLclampf b,GLclampf a),(r,g,b,a),)
46GL_FUNC(void,glClearDepth,(GLclampd x),(x),)
47GL_FUNC(void,glColor3f,(GLfloat r,GLfloat g,GLfloat b),(r,g,b),)
48GL_FUNC(void,glColor4f,(GLfloat r,GLfloat g,GLfloat b,GLfloat a),(r,g,b,a),)
49GL_FUNC(void,glColorMask,(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha),(red,green,blue,alpha),)
50GL_FUNC(void,glColorPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer),(size, type, stride, pointer),)
51GL_FUNC(void,glCopyTexImage2D,(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border),(target, level, internalFormat, x, y, width, height, border),)
52GL_FUNC(void,glCopyTexSubImage2D,(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height),(target, level, xoffset, yoffset, x, y, width, height),)
53GL_FUNC(void,glCullFace,(GLenum mode),(mode),)
54GL_FUNC(void,glDeleteLists,(GLuint list, GLsizei range),(list,range),)
55GL_FUNC(void,glDeleteTextures,(GLsizei n, const GLuint *textures),(n,textures),)
56GL_FUNC(void,glDepthFunc,(GLenum func),(func),)
57GL_FUNC(void,glDepthMask,(GLboolean flag),(flag),)
58GL_FUNC(void,glDisable,(GLenum cap),(cap),)
59GL_FUNC(void,glDisableClientState,(GLenum array),(array),)
60GL_FUNC(void,glDrawArrays,(GLenum mode, GLint first, GLsizei count),(mode,first,count),)
61GL_FUNC(void,glDrawBuffer,(GLenum mode),(mode),)
62GL_FUNC(void,glEnable,(GLenum cap),(cap),)
63GL_FUNC(void,glEnableClientState,(GLenum array),(array),)
64GL_FUNC(void,glEnd,(void),(),)
65GL_FUNC(void,glEndList,(void),(),)
66GL_FUNC(GLuint,glGenLists,(GLsizei range),(range),return)
67GL_FUNC(void,glGenTextures,(GLsizei n, GLuint *textures),(n,textures),)
68GL_FUNC(GLenum,glGetError,(void),(),return)
69GL_FUNC(void,glGetFloatv,(GLenum pname, GLfloat *params),(pname,params),)
70GL_FUNC(void,glHint,(GLenum target, GLenum mode),(target,mode),)
71GL_FUNC(void,glInterleavedArrays,(GLenum format, GLsizei stride, const GLvoid *pointer),(format,stride,pointer),)
72GL_FUNC(GLboolean,glIsTexture,(GLuint texture),(texture),return)
73GL_FUNC(void,glLightfv,(GLenum light, GLenum pname, const GLfloat *params),(light,pname,params),)
74GL_FUNC(void,glListBase,(GLuint base),(base),)
75GL_FUNC(void,glLoadIdentity,(void),(),)
76GL_FUNC(void,glLoadMatrixf,(const GLfloat *m),(m),)
77GL_FUNC(void,glMatrixMode,(GLenum mode),(mode),)
78GL_FUNC(void,glNewList,(GLuint list, GLenum mode),(list,mode),)
79GL_FUNC(void,glNormal3f,(GLfloat nx, GLfloat ny, GLfloat nz),(nx,ny,nz),)
80GL_FUNC(void,glOrtho,(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar),(left,right,bottom,top,zNear,zFar),)
81GL_FUNC(void,glPixelStorei,(GLenum pname, GLint param),(pname,param),)
82GL_FUNC(void,glPixelTransferi,(GLenum pname, GLint param),(pname,param),)
83GL_FUNC(void,glPointSize,(GLfloat size),(size),)
84GL_FUNC(void,glPopMatrix,(void),(),)
85GL_FUNC(void,glPushMatrix,(void),(),)
86GL_FUNC(void,glReadBuffer,(GLenum mode),(mode),)
87GL_FUNC(void,glReadPixels,(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels),(x,y,width,height,format,type,pixels),)
88GL_FUNC(void,glRotatef,(GLfloat angle, GLfloat x, GLfloat y, GLfloat z),(angle,x,y,z),)
89GL_FUNC(void,glScalef,(GLfloat x, GLfloat y, GLfloat z),(x,y,z),)
90GL_FUNC(void,glShadeModel,(GLenum mode),(mode),)
91GL_FUNC(void,glTexCoord2f,(GLfloat s, GLfloat t),(s,t),)
92GL_FUNC(void,glTexCoordPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer),(size,type,stride,pointer),)
93GL_FUNC(void,glTexEnvf,(GLenum target, GLenum pname, GLfloat param),(target,pname,param),)
94GL_FUNC(void,glTexEnvfv,(GLenum target, GLenum pname, const GLfloat *params),(target,pname,params),)
95GL_FUNC(void,glTexEnvi,(GLenum target, GLenum pname, GLint param),(target,pname,param),)
96GL_FUNC(void,glTexParameterf,(GLenum target, GLenum pname, GLfloat param),(target,pname,param),)
97GL_FUNC(void,glTexParameteri,(GLenum target, GLenum pname, GLint param),(target,pname,param),)
98GL_FUNC(void,glTexSubImage2D,(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels),(target,level,xoffset,yoffset,width,height,format,type,pixels),)
99GL_FUNC(void,glTranslated,(GLdouble x, GLdouble y, GLdouble z),(x,y,z),)
100GL_FUNC(void,glTranslatef,(GLfloat x, GLfloat y, GLfloat z),(x,y,z),)
101GL_FUNC(void,glVertex2i,(GLint x, GLint y),(x,y),)
102GL_FUNC(void,glVertex2f,(GLfloat x, GLfloat y),(x,y),)
103GL_FUNC(void,glVertex3f,(GLfloat x, GLfloat y, GLfloat z),(x,y,z),)
104GL_FUNC(void,glVertexPointer,(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer),(size,type,stride,pointer),)
105GL_FUNC(void,glViewport,(GLint x, GLint y, GLsizei width, GLsizei height),(x,y,width,height),)
106GL_FUNC(void,glLockArraysEXT,(GLint first, GLsizei count),(first,count),)
107GL_FUNC(void,glUnlockArraysEXT,(void),(),)
108GL_FUNC(void,glGetIntegerv,(GLenum pname, GLint *params),(pname,params),)
109GL_FUNC(const GLubyte *,glGetString,(GLenum name),(name),return)
110GL_FUNC(void,glGetTexLevelParameteriv,(GLenum target, GLint level, GLenum pname, GLint *params),(target,level,pname,params),)
111GL_FUNC(void,glMultMatrixd,(const GLdouble *m),(m),)
112GL_FUNC(void,glMultMatrixf,(const GLfloat *m),(m),)
113GL_FUNC(void,glGetTexImage,(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels),(target,level,format,type,pixels),)
114GL_FUNC(void,glTexImage1D,(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels),(target,level,internalFormat,width,border,format,type,pixels),)
115GL_FUNC(void,glTexImage2D,(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels),(target,level,internalFormat,width,height,border,format,type,pixels),)
116GL_FUNC(void,glTexImage3D,(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels),(target,level,internalformat,width,height,depth,border,format,type,pixels),)
117GL_FUNC(void,glDepthRange,(GLclampd near_val, GLclampd far_val),(near_val,far_val),)
118GL_FUNC(void,glCallList,(GLuint list),(list),)
119GL_FUNC(void,glClearStencil,(GLint s),(s),)
120GL_FUNC(void,glColor3d,(GLdouble red, GLdouble green, GLdouble blue),(red,green,blue),)
121GL_FUNC(void,glColor3dv,(const GLdouble *v),(v),)
122GL_FUNC(void,glColor3fv,(const GLfloat *v),(v),)
123GL_FUNC(void,glColor4dv,(const GLdouble *v),(v),)
124GL_FUNC(void,glColor4fv,(const GLfloat *v),(v),)
125GL_FUNC(void,glColor4ub,(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha),(red,green,blue,alpha),)
126GL_FUNC(void,glColor4ubv,(const GLubyte *v),(v),)
127GL_FUNC(void,glColorMaterial,(GLenum face, GLenum mode),(face,mode),)
128GL_FUNC(void,glClientActiveTextureARB,(GLenum x),(x),)
129GL_FUNC(void,glActiveTextureARB,(GLenum texture),(texture),)
130GL_FUNC(GLboolean,glAreTexturesResident,(GLsizei n, const GLuint *textures, GLboolean *residences),(n,textures,residences),return)
131GL_FUNC(void,glClipPlane,(GLenum plane, const GLdouble *equation),(plane,equation),)
132GL_FUNC(void,glBindBufferARB,(GLenum x, GLuint y),(x,y),)
133GL_FUNC(void,glDeleteBuffersARB,(GLsizei x, const GLuint *y),(x,y),)
134GL_FUNC(void,glGenBuffersARB,(GLsizei x, GLuint *y),(x,y),)
135GL_FUNC(void,glBufferDataARB,(GLenum a, GLsizeiptrARB b, const GLvoid *c, GLenum d),(a,b,c,d),)
136GL_FUNC(void,glBufferSubDataARB,(GLenum a, GLintptr b, GLsizeiptr c, const GLvoid *d),(a,b,c,d),)
137GL_FUNC(void,glProgramStringARB,(GLenum a, GLenum b, GLsizei c, const GLvoid *d),(a,b,c,d),)
138GL_FUNC(void,glBindProgramARB,(GLenum a, GLuint b),(a,b),)
139GL_FUNC(void,glDeleteProgramsARB,(GLsizei a, const GLuint *b),(a,b),)
140GL_FUNC(void,glGenProgramsARB,(GLsizei a, GLuint *b),(a,b),)
141GL_FUNC(void,glProgramEnvParameter4dARB,(GLenum a, GLuint b, GLdouble c, GLdouble d, GLdouble e, GLdouble f),(a,b,c,d,e,f),)
142GL_FUNC(void,glProgramEnvParameter4dvARB,(GLenum a, GLuint b, const GLdouble *c),(a,b,c),)
143GL_FUNC(void,glProgramEnvParameter4fARB,(GLenum a, GLuint b, GLfloat c, GLfloat d, GLfloat e, GLfloat f),(a,b,c,d,e,f),)
144GL_FUNC(void,glProgramEnvParameter4fvARB,(GLenum a, GLuint b, const GLfloat *c),(a,b,c),)
145GL_FUNC(void,glProgramLocalParameter4dARB,(GLenum a, GLuint b, GLdouble c, GLdouble d, GLdouble e, GLdouble f),(a,b,c,d,e,f),)
146GL_FUNC(void,glProgramLocalParameter4dvARB,(GLenum a, GLuint b, const GLdouble *c),(a,b,c),)
147GL_FUNC(void,glProgramLocalParameter4fARB,(GLenum a, GLuint b, GLfloat c, GLfloat d, GLfloat e, GLfloat f),(a,b,c,d,e,f),)
148GL_FUNC(void,glProgramLocalParameter4fvARB,(GLenum a, GLuint b, const GLfloat *c),(a,b,c),)
149GL_FUNC(void,glGetProgramEnvParameterdvARB,(GLenum a, GLuint b, GLdouble *c),(a,b,c),)
150GL_FUNC(void,glGetProgramEnvParameterfvARB,(GLenum a, GLuint b, GLfloat *c),(a,b,c),)
151GL_FUNC(void,glGetProgramLocalParameterdvARB,(GLenum a, GLuint b, GLdouble *c),(a,b,c),)
152GL_FUNC(void,glGetProgramLocalParameterfvARB,(GLenum a, GLuint b, GLfloat *c),(a,b,c),)
153GL_FUNC(void,glGetProgramivARB,(GLenum a, GLenum b, GLint *c),(a,b,c),)
154GL_FUNC(void,glGetProgramStringARB,(GLenum a, GLenum b, GLvoid *c),(a,b,c),)
155GL_FUNC(GLboolean,glIsProgramARB,(GLuint a),(a),return)
156GL_FUNC(void,glColorTableEXT,(GLenum a, GLenum b, GLsizei c, GLenum d, GLenum e, const GLvoid *f),(a,b,c,d,e,f),)
157GL_FUNC(void,glCompressedTexImage2DARB,(GLenum a, GLint b, GLenum c, GLsizei d, GLsizei e, GLint f, GLsizei g, const GLvoid *h),(a,b,c,d,e,f,g,h),)
158GL_FUNC(void,glEnableVertexAttribArrayARB,(GLuint a),(a),)
159GL_FUNC(void,glDisableVertexAttribArrayARB,(GLuint a),(a),)
160GL_FUNC(void,glDrawElements,(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices),(mode,count,type,indices),)
161GL_FUNC(void,glDrawPixels,(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels),(width,height,format,type,pixels),)
162GL_FUNC(void,glDrawRangeElements,(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices),(mode,start,end,count,type,indices),)
163GL_FUNC(void,glFlush,(void),(),)
164GL_FUNC(void,glFogf,(GLenum pname, GLfloat param),(pname,param),)
165GL_FUNC(void,glFogfv,(GLenum pname, const GLfloat *params),(pname,params),)
166GL_FUNC(void,glFogi,(GLenum pname, GLint param),(pname,param),)
167GL_FUNC(void,glFrontFace,(GLenum mode),(mode),)
168GL_FUNC(void,glGetBooleanv,(GLenum pname, GLboolean *params),(pname,params),)
169GL_FUNC(void,glGetDoublev,(GLenum pname, GLdouble *params),(pname,params),)
170GL_FUNC(void,glGetMaterialfv,(GLenum face, GLenum pname, GLfloat *params),(face,pname,params),)
171GL_FUNC(void,glGetLightfv,(GLenum light, GLenum pname, GLfloat *params),(light,pname,params),)
172GL_FUNC(GLboolean,glIsEnabled,(GLenum cap),(cap),return)
173GL_FUNC(void,glGetCompressedTexImageARB,(GLenum a, GLint b, GLvoid *c),(a,b,c),)
174GL_FUNC(void,glLightf,(GLenum light, GLenum pname, GLfloat param),(light,pname,param),)
175GL_FUNC(void,glLightModelfv,(GLenum pname, const GLfloat *params),(pname,params),)
176GL_FUNC(void,glLightModeli,(GLenum pname, GLint param),(pname,param),)
177GL_FUNC(void,glLightModeliv,(GLenum pname, const GLint *params),(pname,params),)
178GL_FUNC(void,glLineStipple,(GLint factor, GLushort pattern),(factor,pattern),)
179GL_FUNC(void,glLineWidth,(GLfloat width),(width),)
180GL_FUNC(void,glPushAttrib,(GLbitfield mask),(mask),)
181GL_FUNC(void,glPopAttrib,(void),(),)
182GL_FUNC(void,glLogicOp,(GLenum opcode),(opcode),)
183GL_FUNC(void,glMaterialf,(GLenum face, GLenum pname, GLfloat param),(face,pname,param),)
184GL_FUNC(void,glMateriali,(GLenum face, GLenum pname, GLint param),(face,pname,param),)
185GL_FUNC(void,glMaterialfv,(GLenum face, GLenum pname, const GLfloat *params),(face,pname,params),)
186GL_FUNC(void,glNormal3d,(GLdouble nx, GLdouble ny, GLdouble nz),(nx,ny,nz),)
187GL_FUNC(void,glNormal3dv,(const GLdouble *v),(v),)
188GL_FUNC(void,glNormal3fv,(const GLfloat *v),(v),)
189GL_FUNC(void,glNormalPointer,(GLenum type, GLsizei stride, const GLvoid *ptr),(type,stride,ptr),)
190GL_FUNC(void,glPolygonMode,(GLenum face, GLenum mode),(face,mode),)
191GL_FUNC(void,glPolygonOffset,(GLfloat factor, GLfloat units),(factor,units),)
192GL_FUNC(void,glPolygonStipple,(const GLubyte *mask),(mask),)
193GL_FUNC(void,glRotated,(GLdouble angle, GLdouble x, GLdouble y, GLdouble z),(angle,x,y,z),)
194GL_FUNC(void,glStencilFunc,(GLenum func, GLint ref, GLuint mask),(func,ref,mask),)
195GL_FUNC(void,glStencilMask,(GLuint mask),(mask),)
196GL_FUNC(void,glScissor,(GLint x, GLint y, GLsizei width, GLsizei height),(x,y,width,height),)
197GL_FUNC(void,glStencilOp,(GLenum fail, GLenum zfail, GLenum zpass),(fail,zfail,zpass),)
198GL_FUNC(void,glTexCoord2i,(GLint s, GLint t),(s,t),)
199GL_FUNC(void,glTexCoord2fv,(const GLfloat *v),(v),)
200GL_FUNC(void,glTexGenfv,(GLenum coord, GLenum pname, const GLfloat *params),(coord,pname,params),)
201GL_FUNC(void,glTexGeni,(GLenum coord, GLenum pname, GLint param),(coord,pname,param),)
202GL_FUNC(void,glTexParameterfv,(GLenum target, GLenum pname, const GLfloat *params),(target,pname,params),)
203GL_FUNC(void,glVertex2d,(GLdouble x, GLdouble y),(x,y),)
204GL_FUNC(void,glVertex2dv,(const GLdouble *v),(v),)
205GL_FUNC(void,glVertex2fv,(const GLfloat *v),(v),)
206GL_FUNC(void,glVertex3dv,(const GLdouble *v),(v),)
207GL_FUNC(void,glVertex3fv,(const GLfloat *v),(v),)
208GL_FUNC(void,glVertex4dv,(const GLdouble *v),(v),)
209GL_FUNC(void,glEvalPoint1,(GLint i),(i),)
210GL_FUNC(void,glEvalPoint2,(GLint i, GLint j),(i,j),)
211GL_FUNC(void,glEvalCoord1f,(GLfloat u),(u),)
212GL_FUNC(void,glEvalCoord2f,(GLfloat u, GLfloat v),(u,v),)
213GL_FUNC(void,glEvalMesh1,(GLenum mode, GLint i1, GLint i2),(mode,i1,i2),)
214GL_FUNC(void,glEvalMesh2,(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2),(mode,i1,i2,j1,j2),)
215GL_FUNC(void,glMapGrid1f,(GLint un, GLfloat u1, GLfloat u2),(un,u1,u2),)
216GL_FUNC(void,glMapGrid2d,(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2),(un,u1,u2,vn,v1,v2),)
217GL_FUNC(void,glMapGrid2f,(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2),(un,u1,u2,vn,v1,v2),)
218GL_FUNC(void,glMap1f,(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points),(target,u1,u2,stride,order,points),)
219GL_FUNC(void,glMap2f,(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points),(target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points),)
220GL_FUNC(void,glVertexAttribPointerARB,(GLuint a, GLint b, GLenum c, GLboolean d, GLsizei e, const GLvoid *f),(a,b,c,d,e,f),)
221GL_FUNC(GLuint,glNewObjectBufferATI,(GLsizei a, const GLvoid *b, GLenum c),(a,b,c),return)
222GL_FUNC(void,glUpdateObjectBufferATI,(GLuint a, GLuint b, GLsizei c, const GLvoid *d, GLenum e),(a,b,c,d,e),)
223GL_FUNC(void,glFreeObjectBufferATI,(GLuint a),(a),)
224GL_FUNC(void,glArrayObjectATI,(GLenum a, GLint b, GLenum c, GLsizei d, GLuint e, GLuint f),(a,b,c,d,e,f),)
225GL_FUNC(void,glVertexAttribArrayObjectATI,(GLuint a, GLint b, GLenum c, GLboolean d, GLsizei e, GLuint f, GLuint g),(a,b,c,d,e,f,g),)
226
227// CgGL needs these on Linux...
228#if LL_LINUX || LL_SOLARIS
229GL_FUNC(void*,glXGetCurrentDisplay,(void),(),return)
230GL_FUNC(const char *,glXQueryExtensionsString,(void *dpy, int screen),(dpy,screen),return)
231GL_FUNC(void*,glXGetProcAddressARB,(const GLubyte *fn),(fn),return)
232#endif
233#endif
234
235// end of llglstubs.h ...
236
diff --git a/linden/indra/llwindow/llmousehandler.h b/linden/indra/llwindow/llmousehandler.h
index 8bc77bb..b511dcd 100644
--- a/linden/indra/llwindow/llmousehandler.h
+++ b/linden/indra/llwindow/llmousehandler.h
@@ -57,7 +57,7 @@ public:
57 virtual void onMouseCaptureLost() = 0; 57 virtual void onMouseCaptureLost() = 0;
58 58
59 // Hack to support LLFocusMgr 59 // Hack to support LLFocusMgr
60 virtual BOOL isView() = 0; 60 virtual BOOL isView() const = 0;
61 61
62 virtual void screenPointToLocal(S32 screen_x, S32 screen_y, S32* local_x, S32* local_y) const = 0; 62 virtual void screenPointToLocal(S32 screen_x, S32 screen_y, S32* local_x, S32* local_y) const = 0;
63 virtual void localPointToScreen(S32 local_x, S32 local_y, S32* screen_x, S32* screen_y) const = 0; 63 virtual void localPointToScreen(S32 local_x, S32 local_y, S32* screen_x, S32* screen_y) const = 0;
diff --git a/linden/indra/llwindow/llwindow.cpp b/linden/indra/llwindow/llwindow.cpp
index 718ed55..5e05f03 100644
--- a/linden/indra/llwindow/llwindow.cpp
+++ b/linden/indra/llwindow/llwindow.cpp
@@ -247,7 +247,7 @@ LLWindow::LLWindow(BOOL fullscreen, U32 flags)
247 mFlags(flags), 247 mFlags(flags),
248 mHighSurrogate(0) 248 mHighSurrogate(0)
249{ 249{
250 for (U32 i = 0; i < 6; i++) 250 for (U32 i = 0; i < 8; i++)
251 { 251 {
252 mJoyAxis[i] = 0; 252 mJoyAxis[i] = 0;
253 } 253 }
@@ -275,7 +275,7 @@ void LLWindow::decBusyCount()
275 275
276F32 LLWindow::getJoystickAxis(U32 axis) 276F32 LLWindow::getJoystickAxis(U32 axis)
277{ 277{
278 if (axis < 6) 278 if (axis < 8)
279 { 279 {
280 return mJoyAxis[axis]; 280 return mJoyAxis[axis];
281 } 281 }
@@ -415,7 +415,7 @@ void LLSplashScreen::hide()
415// 415//
416 416
417// TODO: replace with std::set 417// TODO: replace with std::set
418static LLLinkedList<LLWindow> sWindowList; 418static std::set<LLWindow*> sWindowList;
419 419
420LLWindow* LLWindowManager::createWindow( 420LLWindow* LLWindowManager::createWindow(
421 char *title, 421 char *title,
@@ -481,13 +481,13 @@ LLWindow* LLWindowManager::createWindow(
481 llwarns << "LLWindowManager::create() : Error creating window." << llendl; 481 llwarns << "LLWindowManager::create() : Error creating window." << llendl;
482 return NULL; 482 return NULL;
483 } 483 }
484 sWindowList.addDataAtEnd(new_window); 484 sWindowList.insert(new_window);
485 return new_window; 485 return new_window;
486} 486}
487 487
488BOOL LLWindowManager::destroyWindow(LLWindow* window) 488BOOL LLWindowManager::destroyWindow(LLWindow* window)
489{ 489{
490 if (!sWindowList.checkData(window)) 490 if (sWindowList.find(window) == sWindowList.end())
491 { 491 {
492 llerrs << "LLWindowManager::destroyWindow() : Window pointer not valid, this window doesn't exist!" 492 llerrs << "LLWindowManager::destroyWindow() : Window pointer not valid, this window doesn't exist!"
493 << llendl; 493 << llendl;
@@ -496,7 +496,7 @@ BOOL LLWindowManager::destroyWindow(LLWindow* window)
496 496
497 window->close(); 497 window->close();
498 498
499 sWindowList.removeData(window); 499 sWindowList.erase(window);
500 500
501 delete window; 501 delete window;
502 502
@@ -505,5 +505,5 @@ BOOL LLWindowManager::destroyWindow(LLWindow* window)
505 505
506BOOL LLWindowManager::isWindowValid(LLWindow *window) 506BOOL LLWindowManager::isWindowValid(LLWindow *window)
507{ 507{
508 return sWindowList.checkData(window); 508 return sWindowList.find(window) != sWindowList.end();
509} 509}
diff --git a/linden/indra/llwindow/llwindow.h b/linden/indra/llwindow/llwindow.h
index 1d49572..48ee4d6 100644
--- a/linden/indra/llwindow/llwindow.h
+++ b/linden/indra/llwindow/llwindow.h
@@ -73,6 +73,9 @@ enum ECursorType {
73 UI_CURSOR_TOOLBUY, 73 UI_CURSOR_TOOLBUY,
74 UI_CURSOR_TOOLPAY, 74 UI_CURSOR_TOOLPAY,
75 UI_CURSOR_TOOLOPEN, 75 UI_CURSOR_TOOLOPEN,
76 UI_CURSOR_TOOLPLAY,
77 UI_CURSOR_TOOLPAUSE,
78 UI_CURSOR_TOOLMEDIAOPEN,
76 UI_CURSOR_PIPETTE, 79 UI_CURSOR_PIPETTE,
77 UI_CURSOR_COUNT // Number of elements in this enum (NOT a cursor) 80 UI_CURSOR_COUNT // Number of elements in this enum (NOT a cursor)
78}; 81};
@@ -255,7 +258,7 @@ protected:
255 ESwapMethod mSwapMethod; 258 ESwapMethod mSwapMethod;
256 BOOL mHideCursorPermanent; 259 BOOL mHideCursorPermanent;
257 U32 mFlags; 260 U32 mFlags;
258 F32 mJoyAxis[6]; 261 F32 mJoyAxis[8];
259 U8 mJoyButtonState[16]; 262 U8 mJoyButtonState[16];
260 U16 mHighSurrogate; 263 U16 mHighSurrogate;
261 264
diff --git a/linden/indra/llwindow/llwindow.vcproj b/linden/indra/llwindow/llwindow.vcproj
index 1291d99..0243c72 100644
--- a/linden/indra/llwindow/llwindow.vcproj
+++ b/linden/indra/llwindow/llwindow.vcproj
@@ -19,7 +19,7 @@
19 <Tool 19 <Tool
20 Name="VCCLCompilerTool" 20 Name="VCCLCompilerTool"
21 Optimization="0" 21 Optimization="0"
22 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 22 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
23 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG" 23 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG"
24 MinimalRebuild="TRUE" 24 MinimalRebuild="TRUE"
25 BasicRuntimeChecks="3" 25 BasicRuntimeChecks="3"
@@ -63,8 +63,8 @@
63 CharacterSet="1"> 63 CharacterSet="1">
64 <Tool 64 <Tool
65 Name="VCCLCompilerTool" 65 Name="VCCLCompilerTool"
66 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
66 AdditionalOptions="/Oy-" 67 AdditionalOptions="/Oy-"
67 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
68 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;LL_RELEASE" 68 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;LL_RELEASE"
69 RuntimeLibrary="0" 69 RuntimeLibrary="0"
70 StructMemberAlignment="0" 70 StructMemberAlignment="0"
@@ -107,7 +107,7 @@
107 <Tool 107 <Tool
108 Name="VCCLCompilerTool" 108 Name="VCCLCompilerTool"
109 Optimization="0" 109 Optimization="0"
110 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\..\libraries\i686-win32\include;..\..\libraries\include\GLMESA;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 110 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;..\..\libraries\i686-win32\include;..\..\libraries\include\GLMESA;..\..\libraries\i686-win32\include;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
111 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS" 111 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS"
112 MinimalRebuild="TRUE" 112 MinimalRebuild="TRUE"
113 BasicRuntimeChecks="3" 113 BasicRuntimeChecks="3"
@@ -153,7 +153,7 @@
153 Name="VCCLCompilerTool" 153 Name="VCCLCompilerTool"
154 AdditionalOptions="/Oy-" 154 AdditionalOptions="/Oy-"
155 Optimization="0" 155 Optimization="0"
156 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 156 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
157 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;LL_RELEASE" 157 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;LL_RELEASE"
158 RuntimeLibrary="0" 158 RuntimeLibrary="0"
159 StructMemberAlignment="0" 159 StructMemberAlignment="0"
diff --git a/linden/indra/llwindow/llwindow_vc8.vcproj b/linden/indra/llwindow/llwindow_vc8.vcproj
index b663fc8..69ec460 100644
--- a/linden/indra/llwindow/llwindow_vc8.vcproj
+++ b/linden/indra/llwindow/llwindow_vc8.vcproj
@@ -1,397 +1,395 @@
1<?xml version="1.0" encoding="Windows-1252"?> 1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject 2<VisualStudioProject
3 ProjectType="Visual C++" 3 ProjectType="Visual C++"
4 Version="8.00" 4 Version="8.00"
5 Name="llwindow" 5 Name="llwindow"
6 ProjectGUID="{B5B53617-416F-404A-BF10-22EBCCA0E4FB}" 6 ProjectGUID="{B5B53617-416F-404A-BF10-22EBCCA0E4FB}"
7 RootNamespace="llwindow" 7 RootNamespace="llwindow"
8 Keyword="Win32Proj" 8 Keyword="Win32Proj"
9 > 9 >
10 <Platforms> 10 <Platforms>
11 <Platform 11 <Platform
12 Name="Win32" 12 Name="Win32"
13 /> 13 />
14 </Platforms> 14 </Platforms>
15 <ToolFiles> 15 <ToolFiles>
16 </ToolFiles> 16 </ToolFiles>
17 <Configurations> 17 <Configurations>
18 <Configuration 18 <Configuration
19 Name="Debug|Win32" 19 Name="Debug|Win32"
20 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 20 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
21 IntermediateDirectory="Debug" 21 IntermediateDirectory="Debug"
22 ConfigurationType="4" 22 ConfigurationType="4"
23 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 23 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
24 CharacterSet="1" 24 CharacterSet="1"
25 > 25 >
26 <Tool 26 <Tool
27 Name="VCPreBuildEventTool" 27 Name="VCPreBuildEventTool"
28 /> 28 />
29 <Tool 29 <Tool
30 Name="VCCustomBuildTool" 30 Name="VCCustomBuildTool"
31 /> 31 />
32 <Tool 32 <Tool
33 Name="VCXMLDataGeneratorTool" 33 Name="VCXMLDataGeneratorTool"
34 /> 34 />
35 <Tool 35 <Tool
36 Name="VCWebServiceProxyGeneratorTool" 36 Name="VCWebServiceProxyGeneratorTool"
37 /> 37 />
38 <Tool 38 <Tool
39 Name="VCMIDLTool" 39 Name="VCMIDLTool"
40 /> 40 />
41 <Tool 41 <Tool
42 Name="VCCLCompilerTool" 42 Name="VCCLCompilerTool"
43 Optimization="0" 43 Optimization="0"
44 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 44 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
45 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" 45 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG"
46 MinimalRebuild="true" 46 MinimalRebuild="true"
47 BasicRuntimeChecks="3" 47 BasicRuntimeChecks="3"
48 RuntimeLibrary="1" 48 RuntimeLibrary="1"
49 StructMemberAlignment="4" 49 StructMemberAlignment="4"
50 TreatWChar_tAsBuiltInType="false" 50 TreatWChar_tAsBuiltInType="false"
51 ForceConformanceInForLoopScope="true" 51 ForceConformanceInForLoopScope="true"
52 UsePrecompiledHeader="0" 52 UsePrecompiledHeader="0"
53 WarningLevel="3" 53 WarningLevel="3"
54 Detect64BitPortabilityProblems="false" 54 Detect64BitPortabilityProblems="false"
55 DebugInformationFormat="4" 55 DebugInformationFormat="4"
56 /> 56 />
57 <Tool 57 <Tool
58 Name="VCManagedResourceCompilerTool" 58 Name="VCManagedResourceCompilerTool"
59 /> 59 />
60 <Tool 60 <Tool
61 Name="VCResourceCompilerTool" 61 Name="VCResourceCompilerTool"
62 /> 62 />
63 <Tool 63 <Tool
64 Name="VCPreLinkEventTool" 64 Name="VCPreLinkEventTool"
65 /> 65 />
66 <Tool 66 <Tool
67 Name="VCLibrarianTool" 67 Name="VCLibrarianTool"
68 OutputFile="$(OutDir)/llwindow.lib" 68 OutputFile="$(OutDir)/llwindow.lib"
69 /> 69 />
70 <Tool 70 <Tool
71 Name="VCALinkTool" 71 Name="VCALinkTool"
72 /> 72 />
73 <Tool 73 <Tool
74 Name="VCXDCMakeTool" 74 Name="VCXDCMakeTool"
75 /> 75 />
76 <Tool 76 <Tool
77 Name="VCBscMakeTool" 77 Name="VCBscMakeTool"
78 /> 78 />
79 <Tool 79 <Tool
80 Name="VCFxCopTool" 80 Name="VCFxCopTool"
81 /> 81 />
82 <Tool 82 <Tool
83 Name="VCPostBuildEventTool" 83 Name="VCPostBuildEventTool"
84 /> 84 />
85 </Configuration> 85 </Configuration>
86 <Configuration 86 <Configuration
87 Name="Release|Win32" 87 Name="Release|Win32"
88 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 88 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
89 IntermediateDirectory="Release" 89 IntermediateDirectory="Release"
90 ConfigurationType="4" 90 ConfigurationType="4"
91 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 91 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
92 CharacterSet="1" 92 CharacterSet="1"
93 > 93 >
94 <Tool 94 <Tool
95 Name="VCPreBuildEventTool" 95 Name="VCPreBuildEventTool"
96 /> 96 />
97 <Tool 97 <Tool
98 Name="VCCustomBuildTool" 98 Name="VCCustomBuildTool"
99 /> 99 />
100 <Tool 100 <Tool
101 Name="VCXMLDataGeneratorTool" 101 Name="VCXMLDataGeneratorTool"
102 /> 102 />
103 <Tool 103 <Tool
104 Name="VCWebServiceProxyGeneratorTool" 104 Name="VCWebServiceProxyGeneratorTool"
105 /> 105 />
106 <Tool 106 <Tool
107 Name="VCMIDLTool" 107 Name="VCMIDLTool"
108 /> 108 />
109 <Tool 109 <Tool
110 Name="VCCLCompilerTool" 110 Name="VCCLCompilerTool"
111 AdditionalOptions="/Oy-" 111 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
112 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 112 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
113 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" 113 TreatWChar_tAsBuiltInType="false"
114 TreatWChar_tAsBuiltInType="false" 114 ForceConformanceInForLoopScope="true"
115 ForceConformanceInForLoopScope="true" 115 WarningLevel="3"
116 WarningLevel="3" 116 WarnAsError="true"
117 WarnAsError="true" 117 DebugInformationFormat="3"
118 DebugInformationFormat="3" 118 />
119 /> 119 <Tool
120 <Tool 120 Name="VCManagedResourceCompilerTool"
121 Name="VCManagedResourceCompilerTool" 121 />
122 /> 122 <Tool
123 <Tool 123 Name="VCResourceCompilerTool"
124 Name="VCResourceCompilerTool" 124 />
125 /> 125 <Tool
126 <Tool 126 Name="VCPreLinkEventTool"
127 Name="VCPreLinkEventTool" 127 />
128 /> 128 <Tool
129 <Tool 129 Name="VCLibrarianTool"
130 Name="VCLibrarianTool" 130 OutputFile="$(OutDir)/llwindow.lib"
131 OutputFile="$(OutDir)/llwindow.lib" 131 />
132 /> 132 <Tool
133 <Tool 133 Name="VCALinkTool"
134 Name="VCALinkTool" 134 />
135 /> 135 <Tool
136 <Tool 136 Name="VCXDCMakeTool"
137 Name="VCXDCMakeTool" 137 />
138 /> 138 <Tool
139 <Tool 139 Name="VCBscMakeTool"
140 Name="VCBscMakeTool" 140 />
141 /> 141 <Tool
142 <Tool 142 Name="VCFxCopTool"
143 Name="VCFxCopTool" 143 />
144 /> 144 <Tool
145 <Tool 145 Name="VCPostBuildEventTool"
146 Name="VCPostBuildEventTool" 146 />
147 /> 147 </Configuration>
148 </Configuration> 148 <Configuration
149 <Configuration 149 Name="DebugMesaHeadless|Win32"
150 Name="DebugMesaHeadless|Win32" 150 OutputDirectory="../lib_debug/i686-win32"
151 OutputDirectory="../lib_debug/i686-win32" 151 IntermediateDirectory="$(ConfigurationName)"
152 IntermediateDirectory="$(ConfigurationName)" 152 ConfigurationType="4"
153 ConfigurationType="4" 153 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
154 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 154 CharacterSet="1"
155 CharacterSet="1" 155 >
156 > 156 <Tool
157 <Tool 157 Name="VCPreBuildEventTool"
158 Name="VCPreBuildEventTool" 158 />
159 /> 159 <Tool
160 <Tool 160 Name="VCCustomBuildTool"
161 Name="VCCustomBuildTool" 161 />
162 /> 162 <Tool
163 <Tool 163 Name="VCXMLDataGeneratorTool"
164 Name="VCXMLDataGeneratorTool" 164 />
165 /> 165 <Tool
166 <Tool 166 Name="VCWebServiceProxyGeneratorTool"
167 Name="VCWebServiceProxyGeneratorTool" 167 />
168 /> 168 <Tool
169 <Tool 169 Name="VCMIDLTool"
170 Name="VCMIDLTool" 170 />
171 /> 171 <Tool
172 <Tool 172 Name="VCCLCompilerTool"
173 Name="VCCLCompilerTool" 173 Optimization="0"
174 Optimization="0" 174 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\GLMESA;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
175 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\GLMESA;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 175 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS"
176 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS" 176 MinimalRebuild="true"
177 MinimalRebuild="true" 177 BasicRuntimeChecks="3"
178 BasicRuntimeChecks="3" 178 RuntimeLibrary="1"
179 RuntimeLibrary="1" 179 StructMemberAlignment="4"
180 StructMemberAlignment="4" 180 TreatWChar_tAsBuiltInType="false"
181 TreatWChar_tAsBuiltInType="false" 181 ForceConformanceInForLoopScope="true"
182 ForceConformanceInForLoopScope="true" 182 UsePrecompiledHeader="0"
183 UsePrecompiledHeader="0" 183 WarningLevel="3"
184 WarningLevel="3" 184 Detect64BitPortabilityProblems="false"
185 Detect64BitPortabilityProblems="false" 185 DebugInformationFormat="4"
186 DebugInformationFormat="4" 186 />
187 /> 187 <Tool
188 <Tool 188 Name="VCManagedResourceCompilerTool"
189 Name="VCManagedResourceCompilerTool" 189 />
190 /> 190 <Tool
191 <Tool 191 Name="VCResourceCompilerTool"
192 Name="VCResourceCompilerTool" 192 />
193 /> 193 <Tool
194 <Tool 194 Name="VCPreLinkEventTool"
195 Name="VCPreLinkEventTool" 195 />
196 /> 196 <Tool
197 <Tool 197 Name="VCLibrarianTool"
198 Name="VCLibrarianTool" 198 OutputFile="$(OutDir)/llwindow_mesaheadless.lib"
199 OutputFile="$(OutDir)/llwindow_mesaheadless.lib" 199 />
200 /> 200 <Tool
201 <Tool 201 Name="VCALinkTool"
202 Name="VCALinkTool" 202 />
203 /> 203 <Tool
204 <Tool 204 Name="VCXDCMakeTool"
205 Name="VCXDCMakeTool" 205 />
206 /> 206 <Tool
207 <Tool 207 Name="VCBscMakeTool"
208 Name="VCBscMakeTool" 208 />
209 /> 209 <Tool
210 <Tool 210 Name="VCFxCopTool"
211 Name="VCFxCopTool" 211 />
212 /> 212 <Tool
213 <Tool 213 Name="VCPostBuildEventTool"
214 Name="VCPostBuildEventTool" 214 />
215 /> 215 </Configuration>
216 </Configuration> 216 <Configuration
217 <Configuration 217 Name="ReleaseNoOpt|Win32"
218 Name="ReleaseNoOpt|Win32" 218 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
219 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 219 IntermediateDirectory="$(ConfigurationName)"
220 IntermediateDirectory="$(ConfigurationName)" 220 ConfigurationType="4"
221 ConfigurationType="4" 221 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
222 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 222 CharacterSet="1"
223 CharacterSet="1" 223 >
224 > 224 <Tool
225 <Tool 225 Name="VCPreBuildEventTool"
226 Name="VCPreBuildEventTool" 226 />
227 /> 227 <Tool
228 <Tool 228 Name="VCCustomBuildTool"
229 Name="VCCustomBuildTool" 229 />
230 /> 230 <Tool
231 <Tool 231 Name="VCXMLDataGeneratorTool"
232 Name="VCXMLDataGeneratorTool" 232 />
233 /> 233 <Tool
234 <Tool 234 Name="VCWebServiceProxyGeneratorTool"
235 Name="VCWebServiceProxyGeneratorTool" 235 />
236 /> 236 <Tool
237 <Tool 237 Name="VCMIDLTool"
238 Name="VCMIDLTool" 238 />
239 /> 239 <Tool
240 <Tool 240 Name="VCCLCompilerTool"
241 Name="VCCLCompilerTool" 241 Optimization="0"
242 AdditionalOptions="/Oy-" 242 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
243 Optimization="0" 243 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
244 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 244 RuntimeLibrary="0"
245 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" 245 StructMemberAlignment="0"
246 RuntimeLibrary="0" 246 TreatWChar_tAsBuiltInType="false"
247 StructMemberAlignment="0" 247 ForceConformanceInForLoopScope="true"
248 TreatWChar_tAsBuiltInType="false" 248 UsePrecompiledHeader="0"
249 ForceConformanceInForLoopScope="true" 249 WarningLevel="3"
250 UsePrecompiledHeader="0" 250 Detect64BitPortabilityProblems="false"
251 WarningLevel="3" 251 DebugInformationFormat="3"
252 Detect64BitPortabilityProblems="false" 252 />
253 DebugInformationFormat="3" 253 <Tool
254 /> 254 Name="VCManagedResourceCompilerTool"
255 <Tool 255 />
256 Name="VCManagedResourceCompilerTool" 256 <Tool
257 /> 257 Name="VCResourceCompilerTool"
258 <Tool 258 />
259 Name="VCResourceCompilerTool" 259 <Tool
260 /> 260 Name="VCPreLinkEventTool"
261 <Tool 261 />
262 Name="VCPreLinkEventTool" 262 <Tool
263 /> 263 Name="VCLibrarianTool"
264 <Tool 264 OutputFile="$(OutDir)/llwindow.lib"
265 Name="VCLibrarianTool" 265 />
266 OutputFile="$(OutDir)/llwindow.lib" 266 <Tool
267 /> 267 Name="VCALinkTool"
268 <Tool 268 />
269 Name="VCALinkTool" 269 <Tool
270 /> 270 Name="VCXDCMakeTool"
271 <Tool 271 />
272 Name="VCXDCMakeTool" 272 <Tool
273 /> 273 Name="VCBscMakeTool"
274 <Tool 274 />
275 Name="VCBscMakeTool" 275 <Tool
276 /> 276 Name="VCFxCopTool"
277 <Tool 277 />
278 Name="VCFxCopTool" 278 <Tool
279 /> 279 Name="VCPostBuildEventTool"
280 <Tool 280 />
281 Name="VCPostBuildEventTool" 281 </Configuration>
282 /> 282 </Configurations>
283 </Configuration> 283 <References>
284 </Configurations> 284 </References>
285 <References> 285 <Files>
286 </References> 286 <Filter
287 <Files> 287 Name="Source Files"
288 <Filter 288 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
289 Name="Source Files" 289 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
290 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" 290 >
291 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" 291 <File
292 > 292 RelativePath=".\lldxhardware.cpp"
293 <File 293 >
294 RelativePath=".\lldxhardware.cpp" 294 </File>
295 > 295 <File
296 </File> 296 RelativePath=".\llgl.cpp"
297 <File 297 >
298 RelativePath=".\llgl.cpp" 298 </File>
299 > 299 <File
300 </File> 300 RelativePath=".\llkeyboard.cpp"
301 <File 301 >
302 RelativePath=".\llkeyboard.cpp" 302 </File>
303 > 303 <File
304 </File> 304 RelativePath=".\llkeyboardwin32.cpp"
305 <File 305 >
306 RelativePath=".\llkeyboardwin32.cpp" 306 </File>
307 > 307 <File
308 </File> 308 RelativePath=".\lllogitechlcd.cpp"
309 <File 309 >
310 RelativePath=".\lllogitechlcd.cpp" 310 </File>
311 > 311 <File
312 </File> 312 RelativePath=".\llwindow.cpp"
313 <File 313 >
314 RelativePath=".\llwindow.cpp" 314 </File>
315 > 315 <File
316 </File> 316 RelativePath=".\llwindowheadless.cpp"
317 <File 317 >
318 RelativePath=".\llwindowheadless.cpp" 318 </File>
319 > 319 <File
320 </File> 320 RelativePath=".\llwindowmesaheadless.cpp"
321 <File 321 >
322 RelativePath=".\llwindowmesaheadless.cpp" 322 </File>
323 > 323 <File
324 </File> 324 RelativePath=".\llwindowwin32.cpp"
325 <File 325 >
326 RelativePath=".\llwindowwin32.cpp" 326 </File>
327 > 327 </Filter>
328 </File> 328 <Filter
329 </Filter> 329 Name="Header Files"
330 <Filter 330 Filter="h;hpp;hxx;hm;inl;inc;xsd"
331 Name="Header Files" 331 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
332 Filter="h;hpp;hxx;hm;inl;inc;xsd" 332 >
333 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" 333 <File
334 > 334 RelativePath=".\lldxhardware.h"
335 <File 335 >
336 RelativePath=".\lldxhardware.h" 336 </File>
337 > 337 <File
338 </File> 338 RelativePath=".\llgl.h"
339 <File 339 >
340 RelativePath=".\llgl.h" 340 </File>
341 > 341 <File
342 </File> 342 RelativePath=".\llglheaders.h"
343 <File 343 >
344 RelativePath=".\llglheaders.h" 344 </File>
345 > 345 <File
346 </File> 346 RelativePath=".\llglstates.h"
347 <File 347 >
348 RelativePath=".\llglstates.h" 348 </File>
349 > 349 <File
350 </File> 350 RelativePath=".\llgltypes.h"
351 <File 351 >
352 RelativePath=".\llgltypes.h" 352 </File>
353 > 353 <File
354 </File> 354 RelativePath=".\llkeyboard.h"
355 <File 355 >
356 RelativePath=".\llkeyboard.h" 356 </File>
357 > 357 <File
358 </File> 358 RelativePath=".\llkeyboardwin32.h"
359 <File 359 >
360 RelativePath=".\llkeyboardwin32.h" 360 </File>
361 > 361 <File
362 </File> 362 RelativePath=".\lllogitechlcd.h"
363 <File 363 >
364 RelativePath=".\lllogitechlcd.h" 364 </File>
365 > 365 <File
366 </File> 366 RelativePath=".\llmousehandler.h"
367 <File 367 >
368 RelativePath=".\llmousehandler.h" 368 </File>
369 > 369 <File
370 </File> 370 RelativePath=".\llwindow.h"
371 <File 371 >
372 RelativePath=".\llwindow.h" 372 </File>
373 > 373 <File
374 </File> 374 RelativePath=".\llwindowheadless.h"
375 <File 375 >
376 RelativePath=".\llwindowheadless.h" 376 </File>
377 > 377 <File
378 </File> 378 RelativePath=".\llwindowmesaheadless.h"
379 <File 379 >
380 RelativePath=".\llwindowmesaheadless.h" 380 </File>
381 > 381 <File
382 </File> 382 RelativePath=".\llwindowwin32.h"
383 <File 383 >
384 RelativePath=".\llwindowwin32.h" 384 </File>
385 > 385 </Filter>
386 </File> 386 <Filter
387 </Filter> 387 Name="Resource Files"
388 <Filter 388 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
389 Name="Resource Files" 389 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
390 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" 390 >
391 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" 391 </Filter>
392 > 392 </Files>
393 </Filter> 393 <Globals>
394 </Files> 394 </Globals>
395 <Globals> 395</VisualStudioProject>
396 </Globals>
397</VisualStudioProject>
diff --git a/linden/indra/llwindow/llwindow_vc9.vcproj b/linden/indra/llwindow/llwindow_vc9.vcproj
index 89998cd..991c296 100644
--- a/linden/indra/llwindow/llwindow_vc9.vcproj
+++ b/linden/indra/llwindow/llwindow_vc9.vcproj
@@ -1,398 +1,398 @@
1<?xml version="1.0" encoding="Windows-1252"?> 1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject 2<VisualStudioProject
3 ProjectType="Visual C++" 3 ProjectType="Visual C++"
4 Version="9.00" 4 Version="9.00"
5 Name="llwindow" 5 Name="llwindow"
6 ProjectGUID="{B5B53617-416F-404A-BF10-22EBCCA0E4FB}" 6 ProjectGUID="{B5B53617-416F-404A-BF10-22EBCCA0E4FB}"
7 RootNamespace="llwindow" 7 RootNamespace="llwindow"
8 Keyword="Win32Proj" 8 Keyword="Win32Proj"
9 TargetFrameworkVersion="131072" 9 TargetFrameworkVersion="131072"
10 > 10 >
11 <Platforms> 11 <Platforms>
12 <Platform 12 <Platform
13 Name="Win32" 13 Name="Win32"
14 /> 14 />
15 </Platforms> 15 </Platforms>
16 <ToolFiles> 16 <ToolFiles>
17 </ToolFiles> 17 </ToolFiles>
18 <Configurations> 18 <Configurations>
19 <Configuration 19 <Configuration
20 Name="Debug|Win32" 20 Name="Debug|Win32"
21 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 21 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
22 IntermediateDirectory="Debug" 22 IntermediateDirectory="Debug"
23 ConfigurationType="4" 23 ConfigurationType="4"
24 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 24 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
25 CharacterSet="1" 25 CharacterSet="1"
26 > 26 >
27 <Tool 27 <Tool
28 Name="VCPreBuildEventTool" 28 Name="VCPreBuildEventTool"
29 /> 29 />
30 <Tool 30 <Tool
31 Name="VCCustomBuildTool" 31 Name="VCCustomBuildTool"
32 /> 32 />
33 <Tool 33 <Tool
34 Name="VCXMLDataGeneratorTool" 34 Name="VCXMLDataGeneratorTool"
35 /> 35 />
36 <Tool 36 <Tool
37 Name="VCWebServiceProxyGeneratorTool" 37 Name="VCWebServiceProxyGeneratorTool"
38 /> 38 />
39 <Tool 39 <Tool
40 Name="VCMIDLTool" 40 Name="VCMIDLTool"
41 /> 41 />
42 <Tool 42 <Tool
43 Name="VCCLCompilerTool" 43 Name="VCCLCompilerTool"
44 Optimization="0" 44 Optimization="0"
45 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 45 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
46 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG" 46 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG"
47 MinimalRebuild="true" 47 MinimalRebuild="true"
48 BasicRuntimeChecks="3" 48 BasicRuntimeChecks="3"
49 RuntimeLibrary="1" 49 RuntimeLibrary="1"
50 StructMemberAlignment="4" 50 StructMemberAlignment="4"
51 TreatWChar_tAsBuiltInType="false" 51 TreatWChar_tAsBuiltInType="false"
52 ForceConformanceInForLoopScope="true" 52 ForceConformanceInForLoopScope="true"
53 UsePrecompiledHeader="0" 53 UsePrecompiledHeader="0"
54 WarningLevel="3" 54 WarningLevel="3"
55 Detect64BitPortabilityProblems="false" 55 Detect64BitPortabilityProblems="false"
56 DebugInformationFormat="4" 56 DebugInformationFormat="4"
57 /> 57 />
58 <Tool 58 <Tool
59 Name="VCManagedResourceCompilerTool" 59 Name="VCManagedResourceCompilerTool"
60 /> 60 />
61 <Tool 61 <Tool
62 Name="VCResourceCompilerTool" 62 Name="VCResourceCompilerTool"
63 /> 63 />
64 <Tool 64 <Tool
65 Name="VCPreLinkEventTool" 65 Name="VCPreLinkEventTool"
66 /> 66 />
67 <Tool 67 <Tool
68 Name="VCLibrarianTool" 68 Name="VCLibrarianTool"
69 OutputFile="$(OutDir)/llwindow.lib" 69 OutputFile="$(OutDir)/llwindow.lib"
70 /> 70 />
71 <Tool 71 <Tool
72 Name="VCALinkTool" 72 Name="VCALinkTool"
73 /> 73 />
74 <Tool 74 <Tool
75 Name="VCXDCMakeTool" 75 Name="VCXDCMakeTool"
76 /> 76 />
77 <Tool 77 <Tool
78 Name="VCBscMakeTool" 78 Name="VCBscMakeTool"
79 /> 79 />
80 <Tool 80 <Tool
81 Name="VCFxCopTool" 81 Name="VCFxCopTool"
82 /> 82 />
83 <Tool 83 <Tool
84 Name="VCPostBuildEventTool" 84 Name="VCPostBuildEventTool"
85 /> 85 />
86 </Configuration> 86 </Configuration>
87 <Configuration 87 <Configuration
88 Name="Release|Win32" 88 Name="Release|Win32"
89 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 89 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
90 IntermediateDirectory="Release" 90 IntermediateDirectory="Release"
91 ConfigurationType="4" 91 ConfigurationType="4"
92 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 92 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
93 CharacterSet="1" 93 CharacterSet="1"
94 > 94 >
95 <Tool 95 <Tool
96 Name="VCPreBuildEventTool" 96 Name="VCPreBuildEventTool"
97 /> 97 />
98 <Tool 98 <Tool
99 Name="VCCustomBuildTool" 99 Name="VCCustomBuildTool"
100 /> 100 />
101 <Tool 101 <Tool
102 Name="VCXMLDataGeneratorTool" 102 Name="VCXMLDataGeneratorTool"
103 /> 103 />
104 <Tool 104 <Tool
105 Name="VCWebServiceProxyGeneratorTool" 105 Name="VCWebServiceProxyGeneratorTool"
106 /> 106 />
107 <Tool 107 <Tool
108 Name="VCMIDLTool" 108 Name="VCMIDLTool"
109 /> 109 />
110 <Tool 110 <Tool
111 Name="VCCLCompilerTool" 111 Name="VCCLCompilerTool"
112 AdditionalOptions="/Oy-" 112 AdditionalOptions="/Oy-"
113 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 113 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
114 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" 114 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
115 TreatWChar_tAsBuiltInType="false" 115 TreatWChar_tAsBuiltInType="false"
116 ForceConformanceInForLoopScope="true" 116 ForceConformanceInForLoopScope="true"
117 WarningLevel="3" 117 WarningLevel="3"
118 WarnAsError="true" 118 WarnAsError="true"
119 DebugInformationFormat="3" 119 DebugInformationFormat="3"
120 /> 120 />
121 <Tool 121 <Tool
122 Name="VCManagedResourceCompilerTool" 122 Name="VCManagedResourceCompilerTool"
123 /> 123 />
124 <Tool 124 <Tool
125 Name="VCResourceCompilerTool" 125 Name="VCResourceCompilerTool"
126 /> 126 />
127 <Tool 127 <Tool
128 Name="VCPreLinkEventTool" 128 Name="VCPreLinkEventTool"
129 /> 129 />
130 <Tool 130 <Tool
131 Name="VCLibrarianTool" 131 Name="VCLibrarianTool"
132 OutputFile="$(OutDir)/llwindow.lib" 132 OutputFile="$(OutDir)/llwindow.lib"
133 /> 133 />
134 <Tool 134 <Tool
135 Name="VCALinkTool" 135 Name="VCALinkTool"
136 /> 136 />
137 <Tool 137 <Tool
138 Name="VCXDCMakeTool" 138 Name="VCXDCMakeTool"
139 /> 139 />
140 <Tool 140 <Tool
141 Name="VCBscMakeTool" 141 Name="VCBscMakeTool"
142 /> 142 />
143 <Tool 143 <Tool
144 Name="VCFxCopTool" 144 Name="VCFxCopTool"
145 /> 145 />
146 <Tool 146 <Tool
147 Name="VCPostBuildEventTool" 147 Name="VCPostBuildEventTool"
148 /> 148 />
149 </Configuration> 149 </Configuration>
150 <Configuration 150 <Configuration
151 Name="DebugMesaHeadless|Win32" 151 Name="DebugMesaHeadless|Win32"
152 OutputDirectory="../lib_debug/i686-win32" 152 OutputDirectory="../lib_debug/i686-win32"
153 IntermediateDirectory="$(ConfigurationName)" 153 IntermediateDirectory="$(ConfigurationName)"
154 ConfigurationType="4" 154 ConfigurationType="4"
155 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 155 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
156 CharacterSet="1" 156 CharacterSet="1"
157 > 157 >
158 <Tool 158 <Tool
159 Name="VCPreBuildEventTool" 159 Name="VCPreBuildEventTool"
160 /> 160 />
161 <Tool 161 <Tool
162 Name="VCCustomBuildTool" 162 Name="VCCustomBuildTool"
163 /> 163 />
164 <Tool 164 <Tool
165 Name="VCXMLDataGeneratorTool" 165 Name="VCXMLDataGeneratorTool"
166 /> 166 />
167 <Tool 167 <Tool
168 Name="VCWebServiceProxyGeneratorTool" 168 Name="VCWebServiceProxyGeneratorTool"
169 /> 169 />
170 <Tool 170 <Tool
171 Name="VCMIDLTool" 171 Name="VCMIDLTool"
172 /> 172 />
173 <Tool 173 <Tool
174 Name="VCCLCompilerTool" 174 Name="VCCLCompilerTool"
175 Optimization="0" 175 Optimization="0"
176 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\GLMESA;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 176 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\GLMESA;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
177 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS" 177 PreprocessorDefinitions="WIN32;_DEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_DEBUG;LL_MESA;LL_MESA_HEADLESS"
178 MinimalRebuild="true" 178 MinimalRebuild="true"
179 BasicRuntimeChecks="3" 179 BasicRuntimeChecks="3"
180 RuntimeLibrary="1" 180 RuntimeLibrary="1"
181 StructMemberAlignment="4" 181 StructMemberAlignment="4"
182 TreatWChar_tAsBuiltInType="false" 182 TreatWChar_tAsBuiltInType="false"
183 ForceConformanceInForLoopScope="true" 183 ForceConformanceInForLoopScope="true"
184 UsePrecompiledHeader="0" 184 UsePrecompiledHeader="0"
185 WarningLevel="3" 185 WarningLevel="3"
186 Detect64BitPortabilityProblems="false" 186 Detect64BitPortabilityProblems="false"
187 DebugInformationFormat="4" 187 DebugInformationFormat="4"
188 /> 188 />
189 <Tool 189 <Tool
190 Name="VCManagedResourceCompilerTool" 190 Name="VCManagedResourceCompilerTool"
191 /> 191 />
192 <Tool 192 <Tool
193 Name="VCResourceCompilerTool" 193 Name="VCResourceCompilerTool"
194 /> 194 />
195 <Tool 195 <Tool
196 Name="VCPreLinkEventTool" 196 Name="VCPreLinkEventTool"
197 /> 197 />
198 <Tool 198 <Tool
199 Name="VCLibrarianTool" 199 Name="VCLibrarianTool"
200 OutputFile="$(OutDir)/llwindow_mesaheadless.lib" 200 OutputFile="$(OutDir)/llwindow_mesaheadless.lib"
201 /> 201 />
202 <Tool 202 <Tool
203 Name="VCALinkTool" 203 Name="VCALinkTool"
204 /> 204 />
205 <Tool 205 <Tool
206 Name="VCXDCMakeTool" 206 Name="VCXDCMakeTool"
207 /> 207 />
208 <Tool 208 <Tool
209 Name="VCBscMakeTool" 209 Name="VCBscMakeTool"
210 /> 210 />
211 <Tool 211 <Tool
212 Name="VCFxCopTool" 212 Name="VCFxCopTool"
213 /> 213 />
214 <Tool 214 <Tool
215 Name="VCPostBuildEventTool" 215 Name="VCPostBuildEventTool"
216 /> 216 />
217 </Configuration> 217 </Configuration>
218 <Configuration 218 <Configuration
219 Name="ReleaseNoOpt|Win32" 219 Name="ReleaseNoOpt|Win32"
220 OutputDirectory="../lib_$(ConfigurationName)/i686-win32" 220 OutputDirectory="../lib_$(ConfigurationName)/i686-win32"
221 IntermediateDirectory="$(ConfigurationName)" 221 IntermediateDirectory="$(ConfigurationName)"
222 ConfigurationType="4" 222 ConfigurationType="4"
223 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" 223 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
224 CharacterSet="1" 224 CharacterSet="1"
225 > 225 >
226 <Tool 226 <Tool
227 Name="VCPreBuildEventTool" 227 Name="VCPreBuildEventTool"
228 /> 228 />
229 <Tool 229 <Tool
230 Name="VCCustomBuildTool" 230 Name="VCCustomBuildTool"
231 /> 231 />
232 <Tool 232 <Tool
233 Name="VCXMLDataGeneratorTool" 233 Name="VCXMLDataGeneratorTool"
234 /> 234 />
235 <Tool 235 <Tool
236 Name="VCWebServiceProxyGeneratorTool" 236 Name="VCWebServiceProxyGeneratorTool"
237 /> 237 />
238 <Tool 238 <Tool
239 Name="VCMIDLTool" 239 Name="VCMIDLTool"
240 /> 240 />
241 <Tool 241 <Tool
242 Name="VCCLCompilerTool" 242 Name="VCCLCompilerTool"
243 AdditionalOptions="/Oy-" 243 AdditionalOptions="/Oy-"
244 Optimization="0" 244 Optimization="0"
245 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI" 245 AdditionalIncludeDirectories="..\llcommon;..\llmath;..\llxml;..\llvfs;..\llmessage;..\llscene;..\llimage;..\llrender;&quot;..\..\libraries\i686-win32\include&quot;;..\..\libraries\include\;..\..\libraries\include\Logitech_LCD;..\..\libraries\include\Logitech_LCD\LCDUI"
246 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE" 246 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;LL_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_USE_32BIT_TIME_T;LL_RELEASE"
247 RuntimeLibrary="0" 247 RuntimeLibrary="0"
248 StructMemberAlignment="0" 248 StructMemberAlignment="0"
249 TreatWChar_tAsBuiltInType="false" 249 TreatWChar_tAsBuiltInType="false"
250 ForceConformanceInForLoopScope="true" 250 ForceConformanceInForLoopScope="true"
251 UsePrecompiledHeader="0" 251 UsePrecompiledHeader="0"
252 WarningLevel="3" 252 WarningLevel="3"
253 Detect64BitPortabilityProblems="false" 253 Detect64BitPortabilityProblems="false"
254 DebugInformationFormat="3" 254 DebugInformationFormat="3"
255 /> 255 />
256 <Tool 256 <Tool
257 Name="VCManagedResourceCompilerTool" 257 Name="VCManagedResourceCompilerTool"
258 /> 258 />
259 <Tool 259 <Tool
260 Name="VCResourceCompilerTool" 260 Name="VCResourceCompilerTool"
261 /> 261 />
262 <Tool 262 <Tool
263 Name="VCPreLinkEventTool" 263 Name="VCPreLinkEventTool"
264 /> 264 />
265 <Tool 265 <Tool
266 Name="VCLibrarianTool" 266 Name="VCLibrarianTool"
267 OutputFile="$(OutDir)/llwindow.lib" 267 OutputFile="$(OutDir)/llwindow.lib"
268 /> 268 />
269 <Tool 269 <Tool
270 Name="VCALinkTool" 270 Name="VCALinkTool"
271 /> 271 />
272 <Tool 272 <Tool
273 Name="VCXDCMakeTool" 273 Name="VCXDCMakeTool"
274 /> 274 />
275 <Tool 275 <Tool
276 Name="VCBscMakeTool" 276 Name="VCBscMakeTool"
277 /> 277 />
278 <Tool 278 <Tool
279 Name="VCFxCopTool" 279 Name="VCFxCopTool"
280 /> 280 />
281 <Tool 281 <Tool
282 Name="VCPostBuildEventTool" 282 Name="VCPostBuildEventTool"
283 /> 283 />
284 </Configuration> 284 </Configuration>
285 </Configurations> 285 </Configurations>
286 <References> 286 <References>
287 </References> 287 </References>
288 <Files> 288 <Files>
289 <Filter 289 <Filter
290 Name="Source Files" 290 Name="Source Files"
291 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" 291 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
292 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" 292 UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
293 > 293 >
294 <File 294 <File
295 RelativePath=".\lldxhardware.cpp" 295 RelativePath=".\lldxhardware.cpp"
296 > 296 >
297 </File> 297 </File>
298 <File 298 <File
299 RelativePath=".\llgl.cpp" 299 RelativePath=".\llgl.cpp"
300 > 300 >
301 </File> 301 </File>
302 <File 302 <File
303 RelativePath=".\llkeyboard.cpp" 303 RelativePath=".\llkeyboard.cpp"
304 > 304 >
305 </File> 305 </File>
306 <File 306 <File
307 RelativePath=".\llkeyboardwin32.cpp" 307 RelativePath=".\llkeyboardwin32.cpp"
308 > 308 >
309 </File> 309 </File>
310 <File 310 <File
311 RelativePath=".\lllogitechlcd.cpp" 311 RelativePath=".\lllogitechlcd.cpp"
312 > 312 >
313 </File> 313 </File>
314 <File 314 <File
315 RelativePath=".\llwindow.cpp" 315 RelativePath=".\llwindow.cpp"
316 > 316 >
317 </File> 317 </File>
318 <File 318 <File
319 RelativePath=".\llwindowheadless.cpp" 319 RelativePath=".\llwindowheadless.cpp"
320 > 320 >
321 </File> 321 </File>
322 <File 322 <File
323 RelativePath=".\llwindowmesaheadless.cpp" 323 RelativePath=".\llwindowmesaheadless.cpp"
324 > 324 >
325 </File> 325 </File>
326 <File 326 <File
327 RelativePath=".\llwindowwin32.cpp" 327 RelativePath=".\llwindowwin32.cpp"
328 > 328 >
329 </File> 329 </File>
330 </Filter> 330 </Filter>
331 <Filter 331 <Filter
332 Name="Header Files" 332 Name="Header Files"
333 Filter="h;hpp;hxx;hm;inl;inc;xsd" 333 Filter="h;hpp;hxx;hm;inl;inc;xsd"
334 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" 334 UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
335 > 335 >
336 <File 336 <File
337 RelativePath=".\lldxhardware.h" 337 RelativePath=".\lldxhardware.h"
338 > 338 >
339 </File> 339 </File>
340 <File 340 <File
341 RelativePath=".\llgl.h" 341 RelativePath=".\llgl.h"
342 > 342 >
343 </File> 343 </File>
344 <File 344 <File
345 RelativePath=".\llglheaders.h" 345 RelativePath=".\llglheaders.h"
346 > 346 >
347 </File> 347 </File>
348 <File 348 <File
349 RelativePath=".\llglstates.h" 349 RelativePath=".\llglstates.h"
350 > 350 >
351 </File> 351 </File>
352 <File 352 <File
353 RelativePath=".\llgltypes.h" 353 RelativePath=".\llgltypes.h"
354 > 354 >
355 </File> 355 </File>
356 <File 356 <File
357 RelativePath=".\llkeyboard.h" 357 RelativePath=".\llkeyboard.h"
358 > 358 >
359 </File> 359 </File>
360 <File 360 <File
361 RelativePath=".\llkeyboardwin32.h" 361 RelativePath=".\llkeyboardwin32.h"
362 > 362 >
363 </File> 363 </File>
364 <File 364 <File
365 RelativePath=".\lllogitechlcd.h" 365 RelativePath=".\lllogitechlcd.h"
366 > 366 >
367 </File> 367 </File>
368 <File 368 <File
369 RelativePath=".\llmousehandler.h" 369 RelativePath=".\llmousehandler.h"
370 > 370 >
371 </File> 371 </File>
372 <File 372 <File
373 RelativePath=".\llwindow.h" 373 RelativePath=".\llwindow.h"
374 > 374 >
375 </File> 375 </File>
376 <File 376 <File
377 RelativePath=".\llwindowheadless.h" 377 RelativePath=".\llwindowheadless.h"
378 > 378 >
379 </File> 379 </File>
380 <File 380 <File
381 RelativePath=".\llwindowmesaheadless.h" 381 RelativePath=".\llwindowmesaheadless.h"
382 > 382 >
383 </File> 383 </File>
384 <File 384 <File
385 RelativePath=".\llwindowwin32.h" 385 RelativePath=".\llwindowwin32.h"
386 > 386 >
387 </File> 387 </File>
388 </Filter> 388 </Filter>
389 <Filter 389 <Filter
390 Name="Resource Files" 390 Name="Resource Files"
391 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" 391 Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
392 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" 392 UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
393 > 393 >
394 </Filter> 394 </Filter>
395 </Files> 395 </Files>
396 <Globals> 396 <Globals>
397 </Globals> 397 </Globals>
398</VisualStudioProject> 398</VisualStudioProject>
diff --git a/linden/indra/llwindow/llwindowmacosx.cpp b/linden/indra/llwindow/llwindowmacosx.cpp
index b458d7f..b616595 100644
--- a/linden/indra/llwindow/llwindowmacosx.cpp
+++ b/linden/indra/llwindow/llwindowmacosx.cpp
@@ -42,6 +42,7 @@
42#include "llgl.h" 42#include "llgl.h"
43#include "llstring.h" 43#include "llstring.h"
44#include "lldir.h" 44#include "lldir.h"
45#include "llviewercontrol.h"
45 46
46#include "llglheaders.h" 47#include "llglheaders.h"
47 48
@@ -800,22 +801,24 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
800 } 801 }
801 aglSetInteger(mContext, AGL_SWAP_INTERVAL, &frames_per_swap); 802 aglSetInteger(mContext, AGL_SWAP_INTERVAL, &frames_per_swap);
802 803
803#if 0 // SJB: Got a compile error. Plus I don't want to test this along with everything else ; save it for later
804 //enable multi-threaded OpenGL 804 //enable multi-threaded OpenGL
805 CGLError cgl_err; 805 if (gSavedSettings.getBOOL("RenderAppleUseMultGL"))
806 CGLContextObj ctx = CGLGetCurrentContext();
807
808 cgl_err = CGLEnable( ctx, kCGLCEMPEngine);
809
810 if (cgl_err != kCGLNoError )
811 {
812 llinfos << "Multi-threaded OpenGL not available." << llendl;
813 }
814 else
815 { 806 {
816 llinfos << "Multi-threaded OpenGL enabled." << llendl; 807 CGLError cgl_err;
808 CGLContextObj ctx = CGLGetCurrentContext();
809
810 cgl_err = CGLEnable( ctx, kCGLCEMPEngine);
811
812 if (cgl_err != kCGLNoError )
813 {
814 llinfos << "Multi-threaded OpenGL not available." << llendl;
815 }
816 else
817 {
818 llinfos << "Multi-threaded OpenGL enabled." << llendl;
819 }
817 } 820 }
818#endif 821
819 // Don't need to get the current gamma, since there's a call that restores it to the system defaults. 822 // Don't need to get the current gamma, since there's a call that restores it to the system defaults.
820 return TRUE; 823 return TRUE;
821} 824}
@@ -2740,6 +2743,9 @@ const char* cursorIDToName(int id)
2740 case UI_CURSOR_TOOLBUY: return "UI_CURSOR_TOOLBUY"; 2743 case UI_CURSOR_TOOLBUY: return "UI_CURSOR_TOOLBUY";
2741 case UI_CURSOR_TOOLPAY: return "UI_CURSOR_TOOLPAY"; 2744 case UI_CURSOR_TOOLPAY: return "UI_CURSOR_TOOLPAY";
2742 case UI_CURSOR_TOOLOPEN: return "UI_CURSOR_TOOLOPEN"; 2745 case UI_CURSOR_TOOLOPEN: return "UI_CURSOR_TOOLOPEN";
2746 case UI_CURSOR_TOOLPLAY: return "UI_CURSOR_TOOLPLAY";
2747 case UI_CURSOR_TOOLPAUSE: return "UI_CURSOR_TOOLPAUSE";
2748 case UI_CURSOR_TOOLMEDIAOPEN: return "UI_CURSOR_TOOLMEDIAOPEN";
2743 case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE"; 2749 case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE";
2744 } 2750 }
2745 2751
@@ -2836,6 +2842,9 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
2836 case UI_CURSOR_TOOLBUY: 2842 case UI_CURSOR_TOOLBUY:
2837 case UI_CURSOR_TOOLPAY: 2843 case UI_CURSOR_TOOLPAY:
2838 case UI_CURSOR_TOOLOPEN: 2844 case UI_CURSOR_TOOLOPEN:
2845 case UI_CURSOR_TOOLPLAY:
2846 case UI_CURSOR_TOOLPAUSE:
2847 case UI_CURSOR_TOOLMEDIAOPEN:
2839 result = setImageCursor(gCursors[cursor]); 2848 result = setImageCursor(gCursors[cursor]);
2840 break; 2849 break;
2841 2850
@@ -2878,6 +2887,9 @@ void LLWindowMacOSX::initCursors()
2878 initPixmapCursor(UI_CURSOR_TOOLBUY, 1, 1); 2887 initPixmapCursor(UI_CURSOR_TOOLBUY, 1, 1);
2879 initPixmapCursor(UI_CURSOR_TOOLPAY, 1, 1); 2888 initPixmapCursor(UI_CURSOR_TOOLPAY, 1, 1);
2880 initPixmapCursor(UI_CURSOR_TOOLOPEN, 1, 1); 2889 initPixmapCursor(UI_CURSOR_TOOLOPEN, 1, 1);
2890 initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1);
2891 initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1);
2892 initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1);
2881 2893
2882 initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10); 2894 initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10);
2883 initPixmapCursor(UI_CURSOR_SIZENESW, 10, 10); 2895 initPixmapCursor(UI_CURSOR_SIZENESW, 10, 10);
diff --git a/linden/indra/llwindow/llwindowsdl.cpp b/linden/indra/llwindow/llwindowsdl.cpp
index 7d42bce..f8a87c4 100644
--- a/linden/indra/llwindow/llwindowsdl.cpp
+++ b/linden/indra/llwindow/llwindowsdl.cpp
@@ -116,7 +116,9 @@ BOOL ll_try_gtk_init(void)
116 if (!tried_gtk_init) 116 if (!tried_gtk_init)
117 { 117 {
118 tried_gtk_init = TRUE; 118 tried_gtk_init = TRUE;
119#if LL_GSTREAMER_ENABLED
119 if (!g_thread_supported ()) g_thread_init (NULL); 120 if (!g_thread_supported ()) g_thread_init (NULL);
121#endif // LL_GSTREAMER_ENABLED
120 maybe_lock_display(); 122 maybe_lock_display();
121 gtk_is_good = gtk_init_check(NULL, NULL); 123 gtk_is_good = gtk_init_check(NULL, NULL);
122 maybe_unlock_display(); 124 maybe_unlock_display();
@@ -503,6 +505,9 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
503 SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); 505 SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
504#if !LL_SOLARIS 506#if !LL_SOLARIS
505 SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, (bits <= 16) ? 16 : 24); 507 SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, (bits <= 16) ? 16 : 24);
508 // We need stencil support for a few (minor) things.
509 if (!getenv("LL_GL_NO_STENCIL"))
510 SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
506#else 511#else
507 // NOTE- use smaller Z-buffer to enable more graphics cards 512 // NOTE- use smaller Z-buffer to enable more graphics cards
508 // - This should not affect better GPUs and has been proven 513 // - This should not affect better GPUs and has been proven
@@ -585,6 +590,11 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
585 } 590 }
586 591
587 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags | SDL_FULLSCREEN); 592 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags | SDL_FULLSCREEN);
593 if (!mWindow && bits > 16)
594 {
595 SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
596 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags | SDL_FULLSCREEN);
597 }
588 598
589 if (mWindow) 599 if (mWindow)
590 { 600 {
@@ -627,6 +637,11 @@ BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, B
627 637
628 llinfos << "createContext: creating window " << width << "x" << height << "x" << bits << llendl; 638 llinfos << "createContext: creating window " << width << "x" << height << "x" << bits << llendl;
629 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags); 639 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags);
640 if (!mWindow && bits > 16)
641 {
642 SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
643 mWindow = SDL_SetVideoMode(width, height, bits, sdlflags);
644 }
630 645
631 if (!mWindow) 646 if (!mWindow)
632 { 647 {
@@ -1985,7 +2000,7 @@ void LLWindowSDL::gatherInput()
1985 static Uint32 lastRightDown = 0; 2000 static Uint32 lastRightDown = 0;
1986 SDL_Event event; 2001 SDL_Event event;
1987 2002
1988#if LL_GTK && LL_LIBXUL_ENABLED 2003#if LL_GTK && LL_LLMOZLIB_ENABLED
1989 // Pump GTK events so embedded Gecko doesn't starve. 2004 // Pump GTK events so embedded Gecko doesn't starve.
1990 if (ll_try_gtk_init()) 2005 if (ll_try_gtk_init())
1991 { 2006 {
@@ -2004,7 +2019,7 @@ void LLWindowSDL::gatherInput()
2004 2019
2005 setlocale(LC_ALL, saved_locale.c_str() ); 2020 setlocale(LC_ALL, saved_locale.c_str() );
2006 } 2021 }
2007#endif // LL_GTK && LL_LIBXUL_ENABLED 2022#endif // LL_GTK && LL_LLMOZLIB_ENABLED
2008 2023
2009 // Handle all outstanding SDL events 2024 // Handle all outstanding SDL events
2010 while (SDL_PollEvent(&event)) 2025 while (SDL_PollEvent(&event))
@@ -2358,6 +2373,9 @@ void LLWindowSDL::initCursors()
2358 mSDLCursors[UI_CURSOR_TOOLBUY] = makeSDLCursorFromBMP("toolbuy.BMP",0,0); 2373 mSDLCursors[UI_CURSOR_TOOLBUY] = makeSDLCursorFromBMP("toolbuy.BMP",0,0);
2359 mSDLCursors[UI_CURSOR_TOOLPAY] = makeSDLCursorFromBMP("toolpay.BMP",0,0); 2374 mSDLCursors[UI_CURSOR_TOOLPAY] = makeSDLCursorFromBMP("toolpay.BMP",0,0);
2360 mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen.BMP",0,0); 2375 mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen.BMP",0,0);
2376 mSDLCursors[UI_CURSOR_TOOLPLAY] = makeSDLCursorFromBMP("toolplay.BMP",0,0);
2377 mSDLCursors[UI_CURSOR_TOOLPAUSE] = makeSDLCursorFromBMP("toolpause.BMP",0,0);
2378 mSDLCursors[UI_CURSOR_TOOLMEDIAOPEN] = makeSDLCursorFromBMP("toolmediaopen.BMP",0,0);
2361 mSDLCursors[UI_CURSOR_PIPETTE] = makeSDLCursorFromBMP("lltoolpipette.BMP",2,28); 2379 mSDLCursors[UI_CURSOR_PIPETTE] = makeSDLCursorFromBMP("lltoolpipette.BMP",2,28);
2362} 2380}
2363 2381
@@ -2744,20 +2762,27 @@ void spawn_web_browser(const char* escaped_url)
2744 2762
2745void *LLWindowSDL::getPlatformWindow() 2763void *LLWindowSDL::getPlatformWindow()
2746{ 2764{
2747#if LL_GTK && LL_LIBXUL_ENABLED 2765#if LL_GTK && LL_LLMOZLIB_ENABLED
2748 if (ll_try_gtk_init()) 2766 if (ll_try_gtk_init())
2749 { 2767 {
2750 maybe_lock_display(); 2768 maybe_lock_display();
2751 GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
2752 2769
2753 // show the hidden-widget while debugging (needs mozlib change) 2770 GtkWidget *owin = gtk_window_new(GTK_WINDOW_POPUP);
2754 //gtk_widget_show_all(GTK_WIDGET(win)); 2771 // Why a layout widget? A MozContainer would be ideal, but
2755 2772 // it involves exposing Mozilla headers to mozlib-using apps.
2756 gtk_widget_realize(GTK_WIDGET(win)); 2773 // A layout widget with a GtkWindow parent has the desired
2774 // properties of being plain GTK, having a window, and being
2775 // derived from a GtkContainer.
2776 GtkWidget *rtnw = gtk_layout_new(NULL, NULL);
2777 gtk_container_add(GTK_CONTAINER(owin), rtnw);
2778 gtk_widget_realize(rtnw);
2779 GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(rtnw), GTK_NO_WINDOW);
2780
2757 maybe_unlock_display(); 2781 maybe_unlock_display();
2758 return win; 2782
2783 return rtnw;
2759 } 2784 }
2760#endif // LL_GTK && LL_LIBXUL_ENABLED 2785#endif // LL_GTK && LL_LLMOZLIB_ENABLED
2761 // Unixoid mozilla really needs GTK. 2786 // Unixoid mozilla really needs GTK.
2762 return NULL; 2787 return NULL;
2763} 2788}
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp
index 4ad044b..3f33f1a 100644
--- a/linden/indra/llwindow/llwindowwin32.cpp
+++ b/linden/indra/llwindow/llwindowwin32.cpp
@@ -44,6 +44,7 @@
44 44
45// Require DirectInput version 8 45// Require DirectInput version 8
46#define DIRECTINPUT_VERSION 0x0800 46#define DIRECTINPUT_VERSION 0x0800
47
47#include <dinput.h> 48#include <dinput.h>
48 49
49 50
@@ -428,7 +429,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
428 mhInstance = GetModuleHandle(NULL); 429 mhInstance = GetModuleHandle(NULL);
429 mWndProc = NULL; 430 mWndProc = NULL;
430 431
431 mSwapMethod = SWAP_METHOD_UNDEFINED; 432 mSwapMethod = SWAP_METHOD_EXCHANGE;
432 433
433 // No WPARAM yet. 434 // No WPARAM yet.
434 mLastSizeWParam = 0; 435 mLastSizeWParam = 0;
@@ -774,7 +775,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
774 attrib_list[cur_attrib++] = GL_TRUE; 775 attrib_list[cur_attrib++] = GL_TRUE;
775 776
776 attrib_list[cur_attrib++] = WGL_COLOR_BITS_ARB; 777 attrib_list[cur_attrib++] = WGL_COLOR_BITS_ARB;
777 attrib_list[cur_attrib++] = 24; 778 attrib_list[cur_attrib++] = 32;
778 779
779 attrib_list[cur_attrib++] = WGL_RED_BITS_ARB; 780 attrib_list[cur_attrib++] = WGL_RED_BITS_ARB;
780 attrib_list[cur_attrib++] = 8; 781 attrib_list[cur_attrib++] = 8;
@@ -1018,6 +1019,11 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
1018 // based on the system's (or user's) default settings. 1019 // based on the system's (or user's) default settings.
1019 allowLanguageTextInput(NULL, FALSE); 1020 allowLanguageTextInput(NULL, FALSE);
1020 1021
1022 initInputDevices();
1023}
1024
1025void LLWindowWin32::initInputDevices()
1026{
1021 // Direct Input 1027 // Direct Input
1022 HRESULT hr; 1028 HRESULT hr;
1023 1029
@@ -1753,6 +1759,8 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa
1753 SetWindowLong(mWindowHandle, GWL_USERDATA, (U32)this); 1759 SetWindowLong(mWindowHandle, GWL_USERDATA, (U32)this);
1754 show(); 1760 show();
1755 1761
1762 initInputDevices();
1763
1756 // ok to post quit messages now 1764 // ok to post quit messages now
1757 mPostQuit = TRUE; 1765 mPostQuit = TRUE;
1758 return TRUE; 1766 return TRUE;
@@ -1907,6 +1915,9 @@ void LLWindowWin32::initCursors()
1907 mCursor[UI_CURSOR_TOOLBUY] = loadColorCursor(TEXT("TOOLBUY")); 1915 mCursor[UI_CURSOR_TOOLBUY] = loadColorCursor(TEXT("TOOLBUY"));
1908 mCursor[UI_CURSOR_TOOLPAY] = loadColorCursor(TEXT("TOOLPAY")); 1916 mCursor[UI_CURSOR_TOOLPAY] = loadColorCursor(TEXT("TOOLPAY"));
1909 mCursor[UI_CURSOR_TOOLOPEN] = loadColorCursor(TEXT("TOOLOPEN")); 1917 mCursor[UI_CURSOR_TOOLOPEN] = loadColorCursor(TEXT("TOOLOPEN"));
1918 mCursor[UI_CURSOR_TOOLPLAY] = loadColorCursor(TEXT("TOOLPLAY"));
1919 mCursor[UI_CURSOR_TOOLPAUSE] = loadColorCursor(TEXT("TOOLPAUSE"));
1920 mCursor[UI_CURSOR_TOOLMEDIAOPEN] = loadColorCursor(TEXT("TOOLMEDIAOPEN"));
1910 1921
1911 // Note: custom cursors that are not found make LoadCursor() return NULL. 1922 // Note: custom cursors that are not found make LoadCursor() return NULL.
1912 for( S32 i = 0; i < UI_CURSOR_COUNT; i++ ) 1923 for( S32 i = 0; i < UI_CURSOR_COUNT; i++ )
@@ -3196,6 +3207,8 @@ void LLWindowWin32::updateJoystick( )
3196 mJoyAxis[3] = js.lRx/1000.f; 3207 mJoyAxis[3] = js.lRx/1000.f;
3197 mJoyAxis[4] = js.lRy/1000.f; 3208 mJoyAxis[4] = js.lRy/1000.f;
3198 mJoyAxis[5] = js.lRz/1000.f; 3209 mJoyAxis[5] = js.lRz/1000.f;
3210 mJoyAxis[6] = js.rglSlider[0]/1000.f;
3211 mJoyAxis[7] = js.rglSlider[1]/1000.f;
3199 3212
3200 for (U32 i = 0; i < 16; i++) 3213 for (U32 i = 0; i < 16; i++)
3201 { 3214 {
diff --git a/linden/indra/llwindow/llwindowwin32.h b/linden/indra/llwindow/llwindowwin32.h
index 3f78dca..f159d30 100644
--- a/linden/indra/llwindow/llwindowwin32.h
+++ b/linden/indra/llwindow/llwindowwin32.h
@@ -122,6 +122,7 @@ protected:
122 ~LLWindowWin32(); 122 ~LLWindowWin32();
123 123
124 void initCursors(); 124 void initCursors();
125 void initInputDevices();
125 HCURSOR loadColorCursor(LPCTSTR name); 126 HCURSOR loadColorCursor(LPCTSTR name);
126 BOOL isValid(); 127 BOOL isValid();
127 void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size); 128 void moveWindow(const LLCoordScreen& position,const LLCoordScreen& size);