Skip to content

Commit 7394fc2

Browse files
committed
GPU Display CMake: No need to require OpenGL, we can build with Vulkan only
1 parent cd89ebc commit 7394fc2

6 files changed

Lines changed: 83 additions & 106 deletions

File tree

‎GPU/GPUTracking/CMakeLists.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPER} "${CMAKE_CXX_FLAGS_${CMAKE_BUILD_T
2727

2828
include(cmake/helpers.cmake)
2929

30-
if((ALIGPU_BUILD_TYPE STREQUAL "Standalone" AND GPUCA_BUILD_EVENT_DISPLAY) OR (ALIGPU_BUILD_TYPE STREQUAL "O2" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND TARGET AliceO2::DebugGUI AND OPENGL_FOUND AND GLFW_FOUND AND (NOT DEFINED GPUCA_BUILD_EVENT_DISPLAY OR NOT GPUCA_BUILD_EVENT_DISPLAY)))
30+
if((ALIGPU_BUILD_TYPE STREQUAL "Standalone" AND GPUCA_BUILD_EVENT_DISPLAY) OR (ALIGPU_BUILD_TYPE STREQUAL "O2" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND TARGET AliceO2::DebugGUI AND (NOT DEFINED GPUCA_BUILD_EVENT_DISPLAY OR GPUCA_BUILD_EVENT_DISPLAY)))
3131
set(GPUCA_EVENT_DISPLAY ON)
3232
endif()
3333
if(ROOT_FOUND)

‎GPU/GPUTracking/display/CMakeLists.txt‎

Lines changed: 74 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
set(MODULE GPUTrackingDisplay)
1313

1414
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
15-
find_package(GLEW)
16-
set_package_properties(GLEW PROPERTIES TYPE OPTIONAL)
1715
find_package(X11)
1816
set_package_properties(X11 PROPERTIES TYPE OPTIONAL)
1917
find_package(GLUT)
@@ -28,6 +26,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
2826
set_package_properties(O2GPUWayland PROPERTIES TYPE OPTIONAL)
2927
find_package(Qt6 COMPONENTS Widgets)
3028
set_package_properties(Qt6 PROPERTIES TYPE OPTIONAL)
29+
set(GPUCA_CONFIG_GL3W 1)
3130
endif()
3231

3332
# glslc compiles the shaders to SPIR-V for both backends
@@ -37,12 +36,16 @@ else()
3736
find_program(GPUCA_GLSLC glslc)
3837
endif()
3938

40-
# OpenGL backend: OpenGL 4.6 headers (bundled gl3w, or GLEW) for SPIR-V shaders, and glslc
41-
if(GPUCA_GLSLC)
39+
# OpenGL backend: OpenGL library, OpenGL 4.6 headers (gl3w: from DebugGUI in O2, bundled in standalone; or GLEW) for SPIR-V shaders, and glslc
40+
if(GPUCA_GLSLC AND TARGET OpenGL::GL)
4241
include(CheckSymbolExists)
43-
if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_GL3W)
44-
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)
45-
check_symbol_exists(GL_VERSION_4_6 "GL/glcorearb.h" GPUCA_GL3W_HAS_GL_4_6) # Bundled header
42+
if(GPUCA_CONFIG_GL3W)
43+
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
44+
get_target_property(CMAKE_REQUIRED_INCLUDES AliceO2::DebugGUI INTERFACE_INCLUDE_DIRECTORIES)
45+
else()
46+
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)
47+
endif()
48+
check_symbol_exists(GL_VERSION_4_6 "GL/glcorearb.h" GPUCA_GL3W_HAS_GL_4_6)
4649
if(GPUCA_GL3W_HAS_GL_4_6)
4750
set(GPUCA_EVENT_DISPLAY_OPENGL ON)
4851
endif()
@@ -57,9 +60,13 @@ if(GPUCA_GLSLC)
5760
endif()
5861
if(NOT GPUCA_EVENT_DISPLAY_OPENGL)
5962
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
60-
message(FATAL_ERROR "OpenGL event display needs OpenGL 4.6 headers and glslc")
63+
message(FATAL_ERROR "OpenGL event display needs OpenGL, OpenGL 4.6 headers and glslc")
6164
endif()
62-
message(STATUS "OpenGL event display backend disabled: needs OpenGL 4.6 headers and glslc")
65+
message(STATUS "OpenGL event display backend disabled: needs OpenGL, OpenGL 4.6 headers and glslc")
66+
set(GLUT_FOUND 0)
67+
set(OPENGL_GLU_FOUND 0)
68+
set(GLEW_FOUND 0)
69+
set(X11_FOUND 0)
6370
endif()
6471

6572
if(Vulkan_FOUND)
@@ -86,18 +93,15 @@ set(SRCS ../utils/qsem.cxx
8693
GPUDisplay.cxx
8794
helpers/GPUDisplayMagneticField.cxx
8895
frontend/GPUDisplayFrontend.cxx
89-
frontend/GPUDisplayFrontendGlfw.cxx
9096
frontend/GPUDisplayFrontendNone.cxx
9197
backend/GPUDisplayBackend.cxx
92-
backend/GPUDisplayBackendNone.cxx
93-
backend/GPUDisplayBackendOpenGL.cxx)
98+
backend/GPUDisplayBackendNone.cxx)
9499

95100
set(SRCS_NO_H helpers/GPUDisplayLoader.cxx
96101
render/GPUDisplayDraw.cxx
97102
render/GPUDisplayImportEvent.cxx
98103
helpers/GPUDisplayHelpers.cxx
99104
helpers/GPUDisplayAnimation.cxx
100-
helpers/GPUDisplayBackendOpenGLMagneticField.cxx
101105
helpers/GPUDisplayQuaternion.cxx
102106
helpers/GPUDisplayInterpolation.cxx
103107
helpers/GPUDisplayROOT.cxx
@@ -107,35 +111,41 @@ set(HDRS_INSTALL helpers/GPUDisplayMagneticFieldConstants.h)
107111

108112
if(GPUCA_EVENT_DISPLAY_VULKAN)
109113
set(SRCS ${SRCS} backend/GPUDisplayBackendVulkan.cxx)
110-
if(GPUCA_EVENT_DISPLAY_WAYLAND)
111-
set(WAYLAND_PROTOCOL_HEADERS)
112-
set(WAYLAND_PROTOCOL_SOURCES)
113-
foreach(xml ${O2GPUWayland_PROTOCOLS}) # List and existence check in dependencies/FindO2GPUWayland.cmake
114-
get_filename_component(name ${xml} NAME_WE)
115-
string(REGEX REPLACE "(-unstable)?-v[0-9]+$" "" name ${name})
116-
set(header ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/${name}-client-protocol.h)
117-
set(source ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/${name}-protocol.c)
118-
add_custom_command(
119-
OUTPUT ${header}
120-
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/
121-
COMMAND ${O2GPUWayland_SCANNER} client-header ${O2GPUWayland_PROTOCOLS_DIR}/${xml} ${header}
122-
MAIN_DEPENDENCY ${O2GPUWayland_PROTOCOLS_DIR}/${xml}
123-
COMMENT "Preparing Wayland ${name}-client-protocol.h")
124-
add_custom_command(
125-
OUTPUT ${source}
126-
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/
127-
COMMAND ${O2GPUWayland_SCANNER} private-code ${O2GPUWayland_PROTOCOLS_DIR}/${xml} ${source}
128-
MAIN_DEPENDENCY ${O2GPUWayland_PROTOCOLS_DIR}/${xml}
129-
COMMENT "Preparing Wayland ${name}-protocol.c")
130-
list(APPEND WAYLAND_PROTOCOL_HEADERS ${header})
131-
list(APPEND WAYLAND_PROTOCOL_SOURCES ${source})
132-
endforeach()
133-
134-
set_property(SOURCE frontend/GPUDisplayFrontendWayland.cxx ${WAYLAND_PROTOCOL_SOURCES} APPEND PROPERTY OBJECT_DEPENDS ${WAYLAND_PROTOCOL_HEADERS})
135-
set_property(SOURCE frontend/GPUDisplayFrontendWayland.cxx APPEND PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/)
136-
137-
set(SRCS_NO_H ${SRCS_NO_H} frontend/GPUDisplayFrontendWayland.cxx ${WAYLAND_PROTOCOL_SOURCES})
138-
endif()
114+
endif()
115+
116+
if(GPUCA_EVENT_DISPLAY_OPENGL)
117+
set(SRCS ${SRCS} backend/GPUDisplayBackendOpenGL.cxx)
118+
set(SRCS_NO_H ${SRCS_NO_H} helpers/GPUDisplayBackendOpenGLMagneticField.cxx)
119+
endif()
120+
121+
if(GPUCA_EVENT_DISPLAY_WAYLAND)
122+
set(WAYLAND_PROTOCOL_HEADERS)
123+
set(WAYLAND_PROTOCOL_SOURCES)
124+
foreach(xml ${O2GPUWayland_PROTOCOLS}) # List and existence check in dependencies/FindO2GPUWayland.cmake
125+
get_filename_component(name ${xml} NAME_WE)
126+
string(REGEX REPLACE "(-unstable)?-v[0-9]+$" "" name ${name})
127+
set(header ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/${name}-client-protocol.h)
128+
set(source ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/${name}-protocol.c)
129+
add_custom_command(
130+
OUTPUT ${header}
131+
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/
132+
COMMAND ${O2GPUWayland_SCANNER} client-header ${O2GPUWayland_PROTOCOLS_DIR}/${xml} ${header}
133+
MAIN_DEPENDENCY ${O2GPUWayland_PROTOCOLS_DIR}/${xml}
134+
COMMENT "Preparing Wayland ${name}-client-protocol.h")
135+
add_custom_command(
136+
OUTPUT ${source}
137+
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/
138+
COMMAND ${O2GPUWayland_SCANNER} private-code ${O2GPUWayland_PROTOCOLS_DIR}/${xml} ${source}
139+
MAIN_DEPENDENCY ${O2GPUWayland_PROTOCOLS_DIR}/${xml}
140+
COMMENT "Preparing Wayland ${name}-protocol.c")
141+
list(APPEND WAYLAND_PROTOCOL_HEADERS ${header})
142+
list(APPEND WAYLAND_PROTOCOL_SOURCES ${source})
143+
endforeach()
144+
145+
set_property(SOURCE frontend/GPUDisplayFrontendWayland.cxx ${WAYLAND_PROTOCOL_SOURCES} APPEND PROPERTY OBJECT_DEPENDS ${WAYLAND_PROTOCOL_HEADERS})
146+
set_property(SOURCE frontend/GPUDisplayFrontendWayland.cxx APPEND PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/xdg-gen/)
147+
148+
set(SRCS_NO_H ${SRCS_NO_H} frontend/GPUDisplayFrontendWayland.cxx ${WAYLAND_PROTOCOL_SOURCES})
139149
endif()
140150

141151
if(X11_FOUND)
@@ -146,6 +156,10 @@ if(GLUT_FOUND)
146156
set(SRCS ${SRCS} frontend/GPUDisplayFrontendGlut.cxx)
147157
endif()
148158

159+
if(GLFW_FOUND)
160+
set(SRCS ${SRCS} frontend/GPUDisplayFrontendGlfw.cxx)
161+
endif()
162+
149163
if(GPUCA_EVENT_DISPLAY_QT)
150164
set(CMAKE_AUTOMOC ON)
151165
set(CMAKE_AUTORCC ON)
@@ -160,12 +174,10 @@ string(REPLACE ".cxx" ".h" HDRS "${SRCS}")
160174
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
161175
o2_add_library(${MODULE}
162176
TARGETVARNAME targetName
163-
PUBLIC_LINK_LIBRARIES O2::GPUTracking AliceO2::DebugGUI
177+
PUBLIC_LINK_LIBRARIES O2::GPUTracking
164178
PUBLIC_INCLUDE_DIRECTORIES .
165179
SOURCES ${SRCS} ${SRCS_NO_H})
166180

167-
target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_EVENT_DISPLAY_GLFW GPUCA_DISPLAY_GL3W GPUCA_DISPLAY_OPENGL_CORE)
168-
169181
o2_add_executable(field-uniform-exporter
170182
TARGETVARNAME exporterName
171183
COMPONENT_NAME gpu
@@ -192,7 +204,6 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/setinclude.sh PERMISSIONS OWNER_READ O
192204
target_compile_definitions(${targetName} PRIVATE $<TARGET_PROPERTY:O2::GPUTracking,COMPILE_DEFINITIONS>)
193205

194206
message(STATUS "Building GPU Event Display (OpenGL ${GPUCA_EVENT_DISPLAY_OPENGL}, Vulkan ${GPUCA_EVENT_DISPLAY_VULKAN} ${Vulkan_VERSION}, Wayland ${GPUCA_EVENT_DISPLAY_WAYLAND}, Freetype ${GPUCA_EVENT_DISPLAY_FREETYPE}, Fontconfig ${Fontconfig_FOUND}, Qt ${GPUCA_EVENT_DISPLAY_QT})")
195-
target_link_libraries(${targetName} PUBLIC ${GLFW_LIBRARIES} OpenGL::GL)
196207
target_include_directories(${targetName} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
197208

198209
if(X11_FOUND)
@@ -205,13 +216,23 @@ if(GLUT_FOUND)
205216
target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_EVENT_DISPLAY_GLUT)
206217
endif()
207218

208-
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
209-
if(GLFW_FOUND)
210-
target_link_libraries(${targetName} PRIVATE glfw)
211-
target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_EVENT_DISPLAY_GLFW)
212-
endif()
219+
if(GLFW_FOUND)
220+
target_link_libraries(${targetName} PRIVATE ${GLFW_LIBRARIES} glfw)
221+
target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_EVENT_DISPLAY_GLFW)
222+
endif()
223+
224+
if (OPENGL_GLU_FOUND)
225+
target_link_libraries(${targetName} PRIVATE OpenGL::GLU)
226+
endif()
227+
228+
if(GPUCA_CONFIG_GL3W)
229+
target_compile_definitions(${targetName} PRIVATE GPUCA_DISPLAY_GL3W GPUCA_DISPLAY_OPENGL_CORE)
230+
endif()
231+
232+
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
233+
target_link_libraries(${targetName} PRIVATE AliceO2::DebugGUI)
234+
elseif(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
213235
if(GPUCA_CONFIG_GL3W)
214-
target_compile_definitions(${targetName} PRIVATE GPUCA_DISPLAY_GL3W)
215236
target_sources(${targetName} PRIVATE ${GPUTRACKING_DIR}/display/3rdparty/gl3w.c)
216237
else()
217238
target_link_libraries(${targetName} PRIVATE ${GLEW_LIBRARIES})
@@ -220,12 +241,9 @@ if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
220241
target_include_directories(${targetName} SYSTEM PUBLIC ${GPUTRACKING_DIR}/display/3rdparty)
221242
endif()
222243

223-
if (OPENGL_GLU_FOUND)
224-
target_link_libraries(${targetName} PRIVATE OpenGL::GLU)
225-
endif()
226-
227244
if(GPUCA_EVENT_DISPLAY_OPENGL)
228245
target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_EVENT_DISPLAY_OPENGL)
246+
target_link_libraries(${targetName} PRIVATE OpenGL::GL)
229247
endif()
230248

231249
if(GPUCA_EVENT_DISPLAY_VULKAN OR GPUCA_EVENT_DISPLAY_OPENGL)

‎GPU/GPUTracking/display/backend/GPUDisplayBackend.cxx‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
#include "GPUDisplayBackend.h"
1616
#include "helpers/GPUDisplayMagneticField.h"
1717

18-
#include "GPUDisplayBackendOpenGL.h"
1918
#include "GPUDisplayBackendNone.h"
19+
#ifdef GPUCA_BUILD_EVENT_DISPLAY_OPENGL
20+
#include "GPUDisplayBackendOpenGL.h"
21+
#endif
2022
#ifdef GPUCA_BUILD_EVENT_DISPLAY_VULKAN
2123
#include "GPUDisplayBackendVulkan.h"
2224
#endif
@@ -50,9 +52,12 @@ GPUDisplayBackend* GPUDisplayBackend::getBackend(const char* type)
5052
return new GPUDisplayBackendVulkan;
5153
} else
5254
#endif
53-
if (strcmp(type, "opengl") == 0 || strcmp(type, "auto") == 0) {
55+
#ifdef GPUCA_BUILD_EVENT_DISPLAY_OPENGL
56+
if (strcmp(type, "opengl") == 0 || strcmp(type, "auto") == 0) {
5457
return new GPUDisplayBackendOpenGL;
55-
} else if (strcmp(type, "none") == 0) {
58+
} else
59+
#endif
60+
if (strcmp(type, "none") == 0) {
5661
return new GPUDisplayBackendNone;
5762
} else {
5863
GPUError("Requested renderer not available");

‎GPU/GPUTracking/display/backend/GPUDisplayBackend.h‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@
2222
#include <memory>
2323
#include <vector>
2424

25-
#if defined(GPUCA_DISPLAY_GL3W) && !defined(GPUCA_DISPLAY_OPENGL_CORE)
26-
#define GPUCA_DISPLAY_OPENGL_CORE
27-
#endif
28-
2925
union hmm_mat4;
3026

3127
namespace o2::gpu

‎GPU/GPUTracking/display/backend/GPUDisplayBackendOpenGL.cxx‎

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
using namespace o2::gpu;
3737

38-
#ifdef GPUCA_BUILD_EVENT_DISPLAY_OPENGL // Set by CMake if OpenGL 4.6 headers and glslc are available, runtime minimum version in GPUDisplayFrontend.h
3938
#define GPUCA_DISPLAY_SHADER_TYPE_OPENGL
4039
#include "GPUDisplayLoadShaders.h"
4140

@@ -766,33 +765,3 @@ void GPUDisplayBackendOpenGL::updateRenderer(bool withScreenshot)
766765
createFB(mMixBuffer, true, true, false, mRenderWidth, mRenderHeight);
767766
setQuality();
768767
}
769-
770-
#else // GPUCA_BUILD_EVENT_DISPLAY_OPENGL
771-
GPUDisplayBackendOpenGL::GPUDisplayBackendOpenGL()
772-
{
773-
}
774-
int32_t GPUDisplayBackendOpenGL::checkShaderStatus(uint32_t shader) { return 0; }
775-
int32_t GPUDisplayBackendOpenGL::checkProgramStatus(uint32_t program) { return 0; }
776-
int32_t GPUDisplayBackendOpenGL::ExtInit() { throw std::runtime_error("Insufficnet OpenGL version"); }
777-
bool GPUDisplayBackendOpenGL::CoreProfile() { return false; }
778-
uint32_t GPUDisplayBackendOpenGL::DepthBits() { return 0; }
779-
uint32_t GPUDisplayBackendOpenGL::drawVertices(const vboList& v, const drawType t) { return 0; }
780-
void GPUDisplayBackendOpenGL::ActivateColor(std::array<float, 4>& color) {}
781-
void GPUDisplayBackendOpenGL::setQuality() {}
782-
void GPUDisplayBackendOpenGL::setDepthBuffer() {}
783-
int32_t GPUDisplayBackendOpenGL::InitBackendA() { throw std::runtime_error("Insufficnet OpenGL version"); }
784-
void GPUDisplayBackendOpenGL::ExitBackendA() {}
785-
void GPUDisplayBackendOpenGL::loadDataToGPU(size_t totalVertizes) {}
786-
void GPUDisplayBackendOpenGL::prepareDraw(const hmm_mat4& proj, const hmm_mat4& view, bool requestScreenshot, bool toMixBuffer, float includeMixImage) {}
787-
void GPUDisplayBackendOpenGL::resizeScene(uint32_t width, uint32_t height) {}
788-
void GPUDisplayBackendOpenGL::finishDraw(bool doScreenshot, bool toMixBuffer, float includeMixImage) {}
789-
void GPUDisplayBackendOpenGL::finishFrame(bool doScreenshot, bool toMixBuffer, float includeMixImage) {}
790-
void GPUDisplayBackendOpenGL::prepareText() {}
791-
void GPUDisplayBackendOpenGL::finishText() {}
792-
void GPUDisplayBackendOpenGL::pointSizeFactor(float factor) {}
793-
void GPUDisplayBackendOpenGL::lineWidthFactor(float factor) {}
794-
void GPUDisplayBackendOpenGL::addFontSymbol(int32_t symbol, int32_t sizex, int32_t sizey, int32_t offsetx, int32_t offsety, int32_t advance, void* data) {}
795-
void GPUDisplayBackendOpenGL::initializeTextDrawing() {}
796-
void GPUDisplayBackendOpenGL::clearFontSymbols() {}
797-
void GPUDisplayBackendOpenGL::OpenGLPrint(const char* s, float x, float y, float* color, float scale) {}
798-
#endif // GPUCA_BUILD_EVENT_DISPLAY_OPENGL

‎GPU/GPUTracking/display/helpers/GPUDisplayBackendOpenGLMagneticField.cxx‎

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232

3333
using namespace o2::gpu;
3434

35-
#ifdef GPUCA_BUILD_EVENT_DISPLAY_OPENGL // Set by CMake, see GPUDisplayBackendOpenGL.cxx
36-
3735
#define GPUCA_DISPLAY_SHADER_TYPE_OPENGL
3836
#include "GPUDisplayLoadShaders.h"
3937

@@ -161,12 +159,3 @@ void GPUDisplayBackendOpenGL::ExitMagFieldVisualization()
161159
CHKERR(glDeleteBuffers(1, &VBO_field));
162160
CHKERR(glDeleteVertexArrays(1, &VAO_field));
163161
}
164-
165-
#else // GPUCA_BUILD_EVENT_DISPLAY_OPENGL
166-
int32_t GPUDisplayBackendOpenGL::InitMagFieldVisualization()
167-
{
168-
return 0;
169-
}
170-
uint32_t GPUDisplayBackendOpenGL::drawField() { return 0; }
171-
void GPUDisplayBackendOpenGL::ExitMagFieldVisualization() {}
172-
#endif // GPUCA_BUILD_EVENT_DISPLAY_OPENGL

0 commit comments

Comments
 (0)