Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ngscopeclient/scopehal-apps
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9d6dad93d582
Choose a base ref
...
head repository: ngscopeclient/scopehal-apps
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 82fa51264a07
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Sep 5, 2020

  1. Copy the full SHA
    4648738 View commit details
  2. Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    82fa512 View commit details
Showing with 34 additions and 1 deletion.
  1. +21 −0 src/glscopeclient/WaveformArea.cpp
  2. +13 −1 src/glscopeclient/shaders/waveform-compute.glsl
21 changes: 21 additions & 0 deletions src/glscopeclient/WaveformArea.cpp
Original file line number Diff line number Diff line change
@@ -562,6 +562,27 @@ void WaveformArea::on_realize()
exit(1);
}

//Make sure we have the GL_ARB_gpu_shader_int64 extension
if(!GLEW_ARB_gpu_shader_int64)
{
string err =
"Your graphics card or driver does not appear to support the GL_ARB_gpu_shader_int64 extension, \n"
"which is required to perform GPU-accelerated 64-bit integer arithmetic.\n"
"\n"
"Unfortunately, glscopeclient cannot run on your system.\n";

Gtk::MessageDialog dlg(
err,
false,
Gtk::MESSAGE_ERROR,
Gtk::BUTTONS_OK,
true
);

dlg.run();
exit(1);
}

m_isGlewInitialized = true;
}

14 changes: 13 additions & 1 deletion src/glscopeclient/shaders/waveform-compute.glsl
Original file line number Diff line number Diff line change
@@ -118,7 +118,19 @@ void main()
//Digital signal - do not interpolate
else
{
//TODO: Draw the vertical line exactly one sample wide at edges
//If we are very near the left edge, draw vertical line
if(abs(left.x - gl_GlobalInvocationID.x + 1) <= 2)
{
starty = left.y;
endy = right.y;
}

//otherwise draw a single pixel
else
{
starty = right.y;
endy = right.y;
}
}

//Clip to window size