diff options
| author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-03-27 00:14:56 +0200 | 
|---|---|---|
| committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-03-27 00:14:56 +0200 | 
| commit | 78174fc8658caeddfd8306ec19eb0e1c2975368e (patch) | |
| tree | 0948d578f384fbd247eefd2dff771a9cd8cbd8c1 /indra/llrender | |
| parent | 689ef9442581d7af8ff0e0264be4919fe6cffd73 (diff) | |
| parent | 9567393f803dfb0c786b8e917e41c8f4b8b22af7 (diff) | |
Merge remote-tracking branch 'origin/main' into DRTVWR-588-maint-W
# Conflicts:
#	.github/workflows/build.yaml
Diffstat (limited to 'indra/llrender')
| -rw-r--r-- | indra/llrender/llimagegl.cpp | 3 | ||||
| -rw-r--r-- | indra/llrender/llrender.cpp | 10 | ||||
| -rw-r--r-- | indra/llrender/llrender.h | 2 | ||||
| -rw-r--r-- | indra/llrender/llrendernavprim.cpp | 10 | 
4 files changed, 18 insertions, 7 deletions
| diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index c6fd824c4e..56a12b07b1 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1353,6 +1353,7 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt                  scratch = new(std::nothrow) U32[width * height];                  if (!scratch)                  { +                    LLError::LLUserWarningMsg::showOutOfMemory();                      LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))                                << " bytes for a manual image W" << width << " H" << height << LL_ENDL;                  } @@ -1378,6 +1379,7 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt                  scratch = new(std::nothrow) U32[width * height];                  if (!scratch)                  { +                    LLError::LLUserWarningMsg::showOutOfMemory();                      LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))                          << " bytes for a manual image W" << width << " H" << height << LL_ENDL;                  } @@ -1406,6 +1408,7 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt                  scratch = new(std::nothrow) U32[width * height];                  if (!scratch)                  { +                    LLError::LLUserWarningMsg::showOutOfMemory();                      LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))                          << " bytes for a manual image W" << width << " H" << height << LL_ENDL;                  } diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index ee66122774..4d64dc9e10 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -857,7 +857,7 @@ LLRender::~LLRender()  	shutdown();  } -void LLRender::init(bool needs_vertex_buffer) +bool LLRender::init(bool needs_vertex_buffer)  {  #if LL_WINDOWS      if (gGLManager.mHasDebugOutput && gDebugGL) @@ -879,6 +879,13 @@ void LLRender::init(bool needs_vertex_buffer)      // necessary for reflection maps      glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); +#if LL_WINDOWS +    if (glGenVertexArrays == nullptr) +    { +        return false; +    } +#endif +      { //bind a dummy vertex array object so we're core profile compliant          U32 ret;          glGenVertexArrays(1, &ret); @@ -889,6 +896,7 @@ void LLRender::init(bool needs_vertex_buffer)      {          initVertexBuffer();      } +    return true;  }  void LLRender::initVertexBuffer() diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h index fd922affba..716b52354d 100644 --- a/indra/llrender/llrender.h +++ b/indra/llrender/llrender.h @@ -375,7 +375,7 @@ public:  	LLRender();  	~LLRender(); -    void init(bool needs_vertex_buffer); +    bool init(bool needs_vertex_buffer);      void initVertexBuffer();      void resetVertexBuffer();  	void shutdown(); diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index d610a44bc6..eea3077632 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -40,20 +40,20 @@ LLRenderNavPrim gRenderNav;  //=============================================================================  void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const  { -	LLColor4 cV(color); -	gGL.color4fv( cV.mV ); -	gGL.begin(LLRender::TRIANGLES); +    gGL.color4ubv(color.mV); + +    gGL.begin(LLRender::TRIANGLES);  	{  		gGL.vertex3fv( a.mV );  		gGL.vertex3fv( b.mV );  		gGL.vertex3fv( c.mV );  	} -	gGL.end();		 +	gGL.end();  }  //=============================================================================  void LLRenderNavPrim::renderNavMeshVB( U32 mode, LLVertexBuffer* pVBO, int vertCnt )  {	  	pVBO->setBuffer(); -	pVBO->drawArrays( mode, 0, vertCnt );	 +	pVBO->drawArrays( mode, 0, vertCnt );  }  //============================================================================= | 
