When to use this article
This article applies when:
- The application throws
devDept.EyeshotException: GL_INVALID_VALUE: A numeric argument is out of range. - The stack trace points to
Workspace.OnPaint()orWorkspace.CheckOGLError(). - The cause is typically environmental (driver, GPU, virtualization, remote session); a code change is rarely required.
The error message is too generic to point at a single cause on its own.
The steps below help narrow the search and identify what is actually triggering it.
Apply them in order, top to bottom, and stop at the first one that resolves the issue.
Step 0 — Collect environment information
Collect the Windows DirectX diagnostic before starting the steps below.
- Press Win + R, type dxdiag, press Enter.
- Wait for the progress bar at the bottom to reach 100%.
- Click "Save All Information…" and save as dxdiag.txt.
- Note the GPU "Card name", "Driver Version" and "Driver Date" from the Display tab(s).
Keep dxdiag.txt at hand for the steps below, and attach it to the support ticket if needed.
Step 1 — Disable NVIDIA Threaded Optimization
This is the most common fix for GL_INVALID_VALUE in recent years. It applies to NVIDIA professional cards (Quadro, RTX A-series, RTX 1000 / 2000 / 4000 / 5000, T-series, P-series, A-series) running a Studio or Production Branch driver newer than 553.62 (August 2024). On consumer GeForce cards the change is harmless, and still worth trying.
- Right-click on the desktop → NVIDIA Control Panel. (If absent: install it from the NVIDIA App or the Microsoft Store.)
- Left pane: "Manage 3D settings".
- Right pane, top: tab "Program Settings".
- Click "Add" and browse to your application's .exe file. To find the exact path: open Task Manager → Details while the application is running.
- In the feature list, find "Threaded optimization" and set it to Off.
- Click Apply.
- Restart the application and reproduce the action that previously crashed.
If the issue is gone, you can stop here.
Step 2 — Upgrade the application to Eyeshot 2026 or later
Consider upgrading the application to Eyeshot 2026 or later. Starting from that version, Eyeshot uses OpenGL 3.3 instead of legacy versions.
Step 3 — Switch the renderer to Direct3D
Switch the application's renderer from OpenGL to Direct3D and check whether the error still occurs. The result is valuable information for analyzing the case. The code that performs the switch is:
design1.Renderer = rendererType.Direct3D;
If Direct3D solves the issue, we can infer the issue is OpenGL specific; otherwise, the problem is in the main drawing loop.
Step 4 — Update or roll back the GPU driver
Check whether the GPU vendor has released a newer driver and install it. If the issue started right after a driver update, roll back to the previous known-good version.
Step 5 — Virtualized environments and Remote Desktop
Eyeshot requires direct access to a real GPU. Two environments commonly break this assumption:
- Virtual machines / VDI / Azure / AWS / Citrix without GPU passthrough. Software-emulated 3D adapters (VMware SVGA, Microsoft Basic Render Driver, GDI generic) are not supported. Ask IT to enable hardware GPU passthrough (NVIDIA GRID / vGPU, AMD MxGPU, Azure NV-series, AWS G-instances) or run the application on a machine with a real GPU.
- Microsoft Remote Desktop (mstsc) sessions swap the graphics device on disconnect and reconnect, which breaks the renderer. The same-session reconnect case is fixed in Eyeshot 2020.3.428 or later, so upgrading Eyeshot resolves it. For the other RDP scenarios, switch to TeamViewer or AnyDesk.
If the affected machine matches one of these scenarios, fix the environment before opening a ticket.
Step 6 — Reproducibility checks
If the steps above did not resolve the issue, narrow down the scope:
- Try the same application on a different machine with a different GPU. If the crash does not happen there, the issue is environment-specific. Re-check Steps 1, 4 and 5, using the working machine's settings as reference.
- If the affected machine has more than one GPU (for example, an Intel integrated GPU plus an NVIDIA / AMD discrete GPU), repeat the test forcing each GPU explicitly via Windows Settings → System → Display → Graphics, the NVIDIA Control Panel "Preferred graphics processor" setting, or the AMD Radeon Software equivalent. The error may be tied to a single adapter.
- Try a different, smaller input file. If the simpler file works, the original may be the trigger. Share the smallest reproducing file with support.
- Start the application without loading any file. If the crash still happens at startup, the cause is unrelated to scene content. Re-check Steps 1, 4 and 5.
- Open one of the Eyeshot samples solutions installed by the SDK setup (typically located under C:\Program Files\devDept\Eyeshot {version}\Samples\), and run a sample matching your scenario on the affected machine. If the sample also crashes, the cause is environmental or a real Eyeshot bug. If the sample works, the cause is more likely in the custom application code (threading, custom entities, custom rendering). In that case, contact the application developer.
- If the application uses custom drawing code (custom entities with overridden Draw methods, custom shaders, manual OpenGL calls), temporarily disable or remove that code and re-run the test. If the error stops, the cause is in the custom rendering code rather than in Eyeshot itself.
Step 7 — Opening a ticket and what to attach
If none of the steps above resolved the issue, open a ticket at and attach:
- The full dxdiag.txt from Step 0.
- A minimal reproduction: the smallest input file that triggers the error, or a small Visual Studio project derived from one of the Eyeshot samples solutions.
- A screenshot or a short video of the error and of the action that triggers it.
- Whether the issue is reproducible only on one specific machine, and the details of that machine.
Comments
Please sign in to leave a comment.