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: ab663aff26c3
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: c0758fbfb2d0
Choose a head ref
  • 3 commits
  • 3 files changed
  • 1 contributor

Commits on Sep 6, 2020

  1. Copy the full SHA
    0f5febc View commit details
  2. Copy the full SHA
    2a68a9c View commit details
  3. Copy the full SHA
    c0758fb View commit details
Showing with 11 additions and 4 deletions.
  1. +6 −3 src/glscopeclient/OscilloscopeWindow.cpp
  2. +3 −0 src/glscopeclient/WaveformArea_rendering.cpp
  3. +2 −1 src/glscopeclient/shaders/waveform-compute-digital.glsl
9 changes: 6 additions & 3 deletions src/glscopeclient/OscilloscopeWindow.cpp
Original file line number Diff line number Diff line change
@@ -636,9 +636,12 @@ void OscilloscopeWindow::DoFileOpen(string filename, bool loadLayout, bool loadW
//Start threads to poll scopes etc
g_app->StartScopeThreads();

//Done loading, we can render everything for good now
//Done loading, we can render everything for good now.
//Issue 2 render calls since the very first render does some setup stuff
m_loadInProgress = false;
ClearAllPersistence();
g_app->DispatchPendingEvents();
ClearAllPersistence();
}

/**
@@ -1824,7 +1827,7 @@ void OscilloscopeWindow::OnZoomInHorizontal(WaveformGroup* group, int64_t target
group->m_pixelsPerXUnit *= step;
group->m_xAxisOffset = target - (delta/step);

ClearPersistence(group);
ClearPersistence(group, false, true);
}

/**
@@ -1840,7 +1843,7 @@ void OscilloscopeWindow::OnZoomOutHorizontal(WaveformGroup* group, int64_t targe
group->m_pixelsPerXUnit /= step;
group->m_xAxisOffset = target - (delta*step);

ClearPersistence(group);
ClearPersistence(group, false, true);
}

void OscilloscopeWindow::ClearPersistence(WaveformGroup* group, bool geometry_dirty, bool position_dirty)
3 changes: 3 additions & 0 deletions src/glscopeclient/WaveformArea_rendering.cpp
Original file line number Diff line number Diff line change
@@ -393,7 +393,10 @@ bool WaveformArea::on_render(const Glib::RefPtr<Gdk::GLContext>& /*context*/)
//Create render data if needed
//(can't do this when m_waveformRenderData is created because filters can be added later on)
if(m_overlayRenderData.find(overlay) == m_overlayRenderData.end())
{
m_overlayRenderData[overlay] = new WaveformRenderData(overlay, this);
m_geometryDirty = true;
}

//Create the texture
auto wdat = m_overlayRenderData[overlay];
3 changes: 2 additions & 1 deletion src/glscopeclient/shaders/waveform-compute-digital.glsl
Original file line number Diff line number Diff line change
@@ -66,7 +66,8 @@ shared float g_workingBuffer[COLS_PER_BLOCK][MAX_HEIGHT];
int GetBoolean(uint i)
{
int block = voltage[i/4];
return (block >> (8*i) ) & 0xff;
uint nbyte = (i & 3);
return (block >> (8*nbyte) ) & 0xff;
}

void main()