mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
This commit is contained in:
		
				
					committed by
					
						
						ocornut
					
				
			
			
				
	
			
			
			
						parent
						
							28b237f94d
						
					
				
				
					commit
					64b1aeebf5
				
			@@ -22,6 +22,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// CHANGELOG
 | 
					// CHANGELOG
 | 
				
			||||||
// (minor and older changes stripped away, please see git history for details)
 | 
					// (minor and older changes stripped away, please see git history for details)
 | 
				
			||||||
 | 
					//  2023-10-05: OpenGL: Rename symbols in our internal loader so that LTO compilation with another copy of gl3w is possible. (#6875, #6668, #4445)
 | 
				
			||||||
//  2023-06-20: OpenGL: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
 | 
					//  2023-06-20: OpenGL: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
 | 
				
			||||||
//  2023-05-09: OpenGL: Support for glBindSampler() backup/restore on ES3. (#6375)
 | 
					//  2023-05-09: OpenGL: Support for glBindSampler() backup/restore on ES3. (#6375)
 | 
				
			||||||
//  2023-04-18: OpenGL: Restore front and back polygon mode separately when supported by context. (#6333)
 | 
					//  2023-04-18: OpenGL: Restore front and back polygon mode separately when supported by context. (#6333)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -467,7 +467,7 @@ GL3W_API int imgl3wIsSupported(int major, int minor);
 | 
				
			|||||||
GL3W_API GL3WglProc imgl3wGetProcAddress(const char *proc);
 | 
					GL3W_API GL3WglProc imgl3wGetProcAddress(const char *proc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* gl3w internal state */
 | 
					/* gl3w internal state */
 | 
				
			||||||
union GL3WProcs {
 | 
					union ImGL3WProcs {
 | 
				
			||||||
    GL3WglProc ptr[59];
 | 
					    GL3WglProc ptr[59];
 | 
				
			||||||
    struct {
 | 
					    struct {
 | 
				
			||||||
        PFNGLACTIVETEXTUREPROC            ActiveTexture;
 | 
					        PFNGLACTIVETEXTUREPROC            ActiveTexture;
 | 
				
			||||||
@@ -532,7 +532,7 @@ union GL3WProcs {
 | 
				
			|||||||
    } gl;
 | 
					    } gl;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GL3W_API extern union GL3WProcs imgl3wProcs;
 | 
					GL3W_API extern union ImGL3WProcs imgl3wProcs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* OpenGL functions */
 | 
					/* OpenGL functions */
 | 
				
			||||||
#define glActiveTexture                   imgl3wProcs.gl.ActiveTexture
 | 
					#define glActiveTexture                   imgl3wProcs.gl.ActiveTexture
 | 
				
			||||||
@@ -794,7 +794,7 @@ static const char *proc_names[] = {
 | 
				
			|||||||
    "glViewport",
 | 
					    "glViewport",
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GL3W_API union GL3WProcs imgl3wProcs;
 | 
					GL3W_API union ImGL3WProcs imgl3wProcs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void load_procs(GL3WGetProcAddressProc proc)
 | 
					static void load_procs(GL3WGetProcAddressProc proc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,6 +128,8 @@ Other changes:
 | 
				
			|||||||
  is compiled in MBCS mode and using a non-Unicode window. (#6785, #6782, #5725, #5961) [@sneakyevil]
 | 
					  is compiled in MBCS mode and using a non-Unicode window. (#6785, #6782, #5725, #5961) [@sneakyevil]
 | 
				
			||||||
- Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows
 | 
					- Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows
 | 
				
			||||||
  doesn't emit it (same behavior as GLFW/SDL). (#6859) [@thedmd, @SuperWangKai]
 | 
					  doesn't emit it (same behavior as GLFW/SDL). (#6859) [@thedmd, @SuperWangKai]
 | 
				
			||||||
 | 
					- Backends: OpenGL3: rename symbols in our internal loader so that LTO compilation with another
 | 
				
			||||||
 | 
					  copy of gl3w becomes possible. (#6875, #6668, #4445) [@nicolasnoble]
 | 
				
			||||||
- Internals: Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
 | 
					- Internals: Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1431,7 +1433,7 @@ Breaking Changes:
 | 
				
			|||||||
- Commented out redirecting functions/enums names that were marked obsolete in 1.67 and 1.69 (March 2019):
 | 
					- Commented out redirecting functions/enums names that were marked obsolete in 1.67 and 1.69 (March 2019):
 | 
				
			||||||
  - ImGui::GetOverlayDrawList() -> use ImGui::GetForegroundDrawList()
 | 
					  - ImGui::GetOverlayDrawList() -> use ImGui::GetForegroundDrawList()
 | 
				
			||||||
  - ImFont::GlyphRangesBuilder  -> use ImFontGlyphRangesBuilder
 | 
					  - ImFont::GlyphRangesBuilder  -> use ImFontGlyphRangesBuilder
 | 
				
			||||||
- Backends: OpenGL3: added a third source file "imgui_impl_opengl3_loader.h". [@rokups]
 | 
					- Backends: OpenGL3: added a third source file "imgui_impl_opengl3_loader.h". (#4445) [@rokups]
 | 
				
			||||||
- Backends: GLFW: backend now uses glfwSetCursorEnterCallback(). (#3751, #4377, #2445)
 | 
					- Backends: GLFW: backend now uses glfwSetCursorEnterCallback(). (#3751, #4377, #2445)
 | 
				
			||||||
- Backends: GLFW: backend now uses glfwSetWindowFocusCallback(). (#4388) [@thedmd]
 | 
					- Backends: GLFW: backend now uses glfwSetWindowFocusCallback(). (#4388) [@thedmd]
 | 
				
			||||||
  - If calling ImGui_ImplGlfw_InitXXX with install_callbacks=true: this is already done for you.
 | 
					  - If calling ImGui_ImplGlfw_InitXXX with install_callbacks=true: this is already done for you.
 | 
				
			||||||
@@ -1520,7 +1522,7 @@ Other Changes:
 | 
				
			|||||||
  about building on 32-bit systems. (#4225) [@kingofthebongo2008]
 | 
					  about building on 32-bit systems. (#4225) [@kingofthebongo2008]
 | 
				
			||||||
- Backends: OpenGL3: Embed our own minimal GL headers/loader (imgui_impl_opengl3_loader.h) based on gl3w.
 | 
					- Backends: OpenGL3: Embed our own minimal GL headers/loader (imgui_impl_opengl3_loader.h) based on gl3w.
 | 
				
			||||||
  Reduces the frequent issues and confusion coming from having to support multiple loaders and requiring users to use and
 | 
					  Reduces the frequent issues and confusion coming from having to support multiple loaders and requiring users to use and
 | 
				
			||||||
  initialize the same loader as the backend. [@rokups]
 | 
					  initialize the same loader as the backend. (#4445) [@rokups]
 | 
				
			||||||
  Removed support for gl3w, glew, glad, glad2, glbinding2, glbinding3 (all now unnecessary).
 | 
					  Removed support for gl3w, glew, glad, glad2, glbinding2, glbinding3 (all now unnecessary).
 | 
				
			||||||
- Backends: OpenGL3: Handle GL_CLIP_ORIGIN on <4.5 contexts if "GL_ARB_clip_control" extension is detected. (#4170, #3998)
 | 
					- Backends: OpenGL3: Handle GL_CLIP_ORIGIN on <4.5 contexts if "GL_ARB_clip_control" extension is detected. (#4170, #3998)
 | 
				
			||||||
- Backends: OpenGL3: Destroy vertex/fragment shader objects right after they are linked into main shader. (#4244) [@Crowbarous]
 | 
					- Backends: OpenGL3: Destroy vertex/fragment shader objects right after they are linked into main shader. (#4244) [@Crowbarous]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user