mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-16 10:45:45 +00:00
Ensure GL pixel history finds all possible modifying events
* All tests must be disabled as much as possible, including depth clipping and depth bounds, as well as binding a fixed shader for potential shader discards.
This commit is contained in:
@@ -864,13 +864,20 @@ rdcarray<EventUsage> QueryModifyingEvents(WrappedOpenGL *driver, GLPixelHistoryR
|
||||
GLRenderState state;
|
||||
state.FetchState(driver);
|
||||
|
||||
GLint currentProgram = 0;
|
||||
driver->glGetIntegerv(eGL_CURRENT_PROGRAM, ¤tProgram);
|
||||
|
||||
if(!IsGLES)
|
||||
driver->glEnable(eGL_DEPTH_CLAMP);
|
||||
if(HasExt[EXT_depth_bounds_test])
|
||||
driver->glDisable(eGL_DEPTH_BOUNDS_TEST_EXT);
|
||||
driver->glDisable(eGL_DEPTH_TEST);
|
||||
driver->glDisable(eGL_STENCIL_TEST);
|
||||
driver->glDisable(eGL_CULL_FACE);
|
||||
driver->glDisable(eGL_SAMPLE_MASK);
|
||||
driver->glDisable(eGL_DEPTH_CLAMP);
|
||||
driver->glEnable(eGL_SCISSOR_TEST);
|
||||
driver->glScissor(x, y, 1, 1);
|
||||
driver->glUseProgram(GetFixedColProgram(driver, driver->GetReplay(), resources, currentProgram));
|
||||
|
||||
driver->SetFetchCounters(true);
|
||||
driver->glBeginQuery(eGL_SAMPLES_PASSED, occlusionQueries[i]);
|
||||
|
||||
Reference in New Issue
Block a user