mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-23 15:06:32 +00:00
Mark capture as degraded if we're missing key hardware capabilities
* This includes primarily compute shaders and image load/store
This commit is contained in:
@@ -197,7 +197,6 @@ extern bool GLIsCore;
|
||||
EXT_TO_CHECK(EXT_depth_bounds_test) \
|
||||
EXT_TO_CHECK(ARB_compute_shader) \
|
||||
EXT_TO_CHECK(ARB_program_interface_query) \
|
||||
EXT_TO_CHECK(ARB_image_load_store) \
|
||||
EXT_TO_CHECK(ARB_copy_image) \
|
||||
EXT_TO_CHECK(ARB_shader_atomic_counters) \
|
||||
EXT_TO_CHECK(ARB_shader_storage_buffer_object) \
|
||||
|
||||
@@ -646,6 +646,8 @@ void GLReplay::InitDebugData()
|
||||
eDbgSource_RuntimeWarning,
|
||||
"ARB_gpu_shader5 not supported, pixel picking and saving of integer "
|
||||
"textures may be inaccurate.");
|
||||
|
||||
m_Degraded = true;
|
||||
}
|
||||
|
||||
if(!HasExt[ARB_stencil_texturing])
|
||||
@@ -654,6 +656,13 @@ void GLReplay::InitDebugData()
|
||||
m_pDriver->AddDebugMessage(
|
||||
eDbgCategory_Portability, eDbgSeverity_Medium, eDbgSource_RuntimeWarning,
|
||||
"ARB_stencil_texturing not supported, stencil values will not be displayed or picked.");
|
||||
|
||||
m_Degraded = true;
|
||||
}
|
||||
|
||||
if(!HasExt[ARB_shader_image_load_store] || !HasExt[ARB_compute_shader])
|
||||
{
|
||||
m_Degraded = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -413,7 +413,7 @@ void GLRenderState::MarkDirty(WrappedOpenGL *gl)
|
||||
}
|
||||
}
|
||||
|
||||
if(GLCoreVersion >= 42 || HasExt[ARB_image_load_store])
|
||||
if(GLCoreVersion >= 42 || HasExt[ARB_shader_image_load_store])
|
||||
{
|
||||
m_Real->glGetIntegerv(eGL_MAX_IMAGE_UNITS, &maxCount);
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ GLReplay::GLReplay()
|
||||
m_pDriver = NULL;
|
||||
m_Proxy = false;
|
||||
|
||||
m_Degraded = false;
|
||||
|
||||
RDCEraseEl(m_ReplayCtx);
|
||||
m_DebugCtx = NULL;
|
||||
|
||||
@@ -122,7 +124,7 @@ APIProperties GLReplay::GetAPIProperties()
|
||||
|
||||
ret.pipelineType = eGraphicsAPI_OpenGL;
|
||||
ret.localRenderer = eGraphicsAPI_OpenGL;
|
||||
ret.degraded = false;
|
||||
ret.degraded = m_Degraded;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -351,6 +351,8 @@ private:
|
||||
GLuint emptyVAO;
|
||||
} DebugData;
|
||||
|
||||
bool m_Degraded;
|
||||
|
||||
FloatVector InterpretVertex(byte *data, uint32_t vert, const MeshDisplay &cfg, byte *end,
|
||||
bool useidx, bool &valid);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user