diff options
Diffstat (limited to 'indra/llrender')
| -rw-r--r-- | indra/llrender/llglslshader.cpp | 11 | ||||
| -rw-r--r-- | indra/llrender/llglslshader.h | 9 | ||||
| -rw-r--r-- | indra/llrender/llvertexbuffer.cpp | 7 | ||||
| -rw-r--r-- | indra/llrender/llvertexbuffer.h | 9 | 
4 files changed, 35 insertions, 1 deletions
| diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp index 55713eea80..f424a01541 100644 --- a/indra/llrender/llglslshader.cpp +++ b/indra/llrender/llglslshader.cpp @@ -504,6 +504,10 @@ BOOL LLGLSLShader::createShader(std::vector<LLStaticHashedString> * attributes,          unbind();      } +#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +    setLabel(mName); +#endif +      return success;  } @@ -1786,3 +1790,10 @@ void LLShaderUniforms::apply(LLGLSLShader* shader)          shader->uniform3fv(uniform.mUniform, 1, uniform.mValue.mV);      }  } + +#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +void LLGLSLShader::setLabel(std::string label) { +    LL_LABEL_OBJECT_GL(GL_PROGRAM, mProgramObject, label.length(), label.c_str()); +} + +#endif diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h index c26ee014cb..01eca7ebfe 100644 --- a/indra/llrender/llglslshader.h +++ b/indra/llrender/llglslshader.h @@ -294,6 +294,10 @@ public:      // this pointer should be set to whichever shader represents this shader's rigged variant      LLGLSLShader* mRiggedVariant = nullptr; +	#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +    void setLabel(std::string label); +	#endif +  private:  	void unloadInternal();  }; @@ -305,5 +309,10 @@ extern LLGLSLShader			gSolidColorProgram;  //Alpha mask shader (declared here so llappearance can access properly)  extern LLGLSLShader			gAlphaMaskProgram; +#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +#define LL_SET_SHADER_LABEL(shader) shader.setLabel(#shader) +#else +#define LL_SET_SHADER_LABEL(shader, label) +#endif  #endif diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 981175d845..4ce04c17f6 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -175,7 +175,7 @@ U8* LLVBOPool::allocate(U32& name, U32 size, bool for_seed)  	{  		//make a new buffer  		name = genBuffer(); -		 +  		glBindBuffer(mType, name);  		if (!for_seed && i < LL_VBO_POOL_SEED_COUNT) @@ -574,6 +574,10 @@ void LLVertexBuffer::validateRange(U32 start, U32 end, U32 count, U32 indices_of  	}  } +void LLVertexBuffer::setLabel(std::string label) { +	LL_LABEL_OBJECT_GL(GL_BUFFER, mGLBuffer, label.length(), label.c_str()); +} +  void LLVertexBuffer::drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indices_offset) const  {  	validateRange(start, end, count, indices_offset); @@ -1068,6 +1072,7 @@ bool LLVertexBuffer::createGLBuffer(U32 size)  	{  		static int gl_buffer_idx = 0;  		mGLBuffer = ++gl_buffer_idx; +  		mMappedData = (U8*)ll_aligned_malloc_16(size);  		mSize = size;  	} diff --git a/indra/llrender/llvertexbuffer.h b/indra/llrender/llvertexbuffer.h index a7907f9cae..a7e5fddf8c 100644 --- a/indra/llrender/llvertexbuffer.h +++ b/indra/llrender/llvertexbuffer.h @@ -300,6 +300,9 @@ public:  	//for debugging, validate data in given range is valid  	void validateRange(U32 start, U32 end, U32 count, U32 offset) const; +	#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +	void setLabel(std::string label); +	#endif  protected:	 @@ -370,5 +373,11 @@ public:  	static U32 sSetCount;  }; +#ifdef LL_PROFILER_ENABLE_TRACY_OPENGL +#define LL_LABEL_VERTEX_BUFFER(buf, name) buf->setLabel(name) +#else +#define LL_LABEL_VERTEX_BUFFER(buf, name) +#endif +  #endif // LL_LLVERTEXBUFFER_H | 
