mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 13:20:54 +00:00
Mark resources as written when their state changes
* This forces initial state snapshotting creation even if initial states weren't saved for the resource initially.
This commit is contained in:
@@ -298,7 +298,7 @@ void WrappedOpenGL::glSamplerParameteri(GLuint sampler, GLenum pname, GLint para
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -358,7 +358,7 @@ void WrappedOpenGL::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat pa
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -419,7 +419,7 @@ void WrappedOpenGL::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLi
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -480,7 +480,7 @@ void WrappedOpenGL::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLf
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -541,7 +541,7 @@ void WrappedOpenGL::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GL
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -602,7 +602,7 @@ void WrappedOpenGL::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const G
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(SamplerRes(GetCtx(), sampler),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1459,7 +1459,12 @@ void WrappedOpenGL::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuin
|
||||
if(record == NULL)
|
||||
return;
|
||||
|
||||
if(program)
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->Resource, eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
|
||||
if(IsBackgroundCapturing(m_State) && program)
|
||||
{
|
||||
GLResourceRecord *progrecord =
|
||||
GetResourceManager()->GetResourceRecord(ProgramRes(GetCtx(), program));
|
||||
|
||||
@@ -597,7 +597,8 @@ void WrappedOpenGL::glBindImageTexture(GLuint unit, GLuint texture, GLint level,
|
||||
}
|
||||
|
||||
GetContextRecord()->AddChunk(chunk);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(TextureRes(GetCtx(), texture), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(TextureRes(GetCtx(), texture),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -657,7 +658,7 @@ void WrappedOpenGL::glBindImageTextures(GLuint first, GLsizei count, const GLuin
|
||||
for(GLsizei i = 0; i < count; i++)
|
||||
if(textures != NULL && textures[i] != 0)
|
||||
GetResourceManager()->MarkResourceFrameReferenced(TextureRes(GetCtx(), textures[i]),
|
||||
eFrameRef_Read);
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -836,7 +837,8 @@ void WrappedOpenGL::Common_glGenerateTextureMipmapEXT(GLResourceRecord *record,
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else if(IsBackgroundCapturing(m_State))
|
||||
{
|
||||
@@ -1007,7 +1009,8 @@ void WrappedOpenGL::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint s
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(dstrecord->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(dstrecord->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(dstrecord->GetResourceID(),
|
||||
eFrameRef_CompleteWrite);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(srcrecord->GetResourceID(), eFrameRef_Read);
|
||||
}
|
||||
else if(IsBackgroundCapturing(m_State))
|
||||
@@ -1105,7 +1108,8 @@ void WrappedOpenGL::Common_glCopyTextureSubImage1DEXT(GLResourceRecord *record,
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1209,7 +1213,8 @@ void WrappedOpenGL::Common_glCopyTextureSubImage2DEXT(GLResourceRecord *record,
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1321,7 +1326,8 @@ void WrappedOpenGL::Common_glCopyTextureSubImage3DEXT(GLResourceRecord *record,
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1441,7 +1447,8 @@ void WrappedOpenGL::Common_glTextureParameteriEXT(GLResourceRecord *record, GLen
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1545,7 +1552,8 @@ void WrappedOpenGL::Common_glTextureParameterivEXT(GLResourceRecord *record, GLe
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1652,7 +1660,8 @@ void WrappedOpenGL::Common_glTextureParameterIivEXT(GLResourceRecord *record, GL
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1759,7 +1768,8 @@ void WrappedOpenGL::Common_glTextureParameterIuivEXT(GLResourceRecord *record, G
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1864,7 +1874,8 @@ void WrappedOpenGL::Common_glTextureParameterfEXT(GLResourceRecord *record, GLen
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1968,7 +1979,8 @@ void WrappedOpenGL::Common_glTextureParameterfvEXT(GLResourceRecord *record, GLe
|
||||
if(IsActiveCapturing(m_State))
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_ReadBeforeWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3714,7 +3726,8 @@ void WrappedOpenGL::Common_glCopyTextureImage1DEXT(GLResourceRecord *record, GLe
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
|
||||
ResourceId texId = record->GetResourceID();
|
||||
@@ -3867,7 +3880,8 @@ void WrappedOpenGL::Common_glCopyTextureImage2DEXT(GLResourceRecord *record, GLe
|
||||
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
|
||||
ResourceId texId = record->GetResourceID();
|
||||
@@ -4823,7 +4837,8 @@ void WrappedOpenGL::Common_glTextureSubImage1DEXT(GLResourceRecord *record, GLen
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5035,7 +5050,8 @@ void WrappedOpenGL::Common_glTextureSubImage2DEXT(GLResourceRecord *record, GLen
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5255,7 +5271,8 @@ void WrappedOpenGL::Common_glTextureSubImage3DEXT(GLResourceRecord *record, GLen
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5456,7 +5473,8 @@ void WrappedOpenGL::Common_glCompressedTextureSubImage1DEXT(GLResourceRecord *re
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5669,7 +5687,8 @@ void WrappedOpenGL::Common_glCompressedTextureSubImage2DEXT(GLResourceRecord *re
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5888,7 +5907,8 @@ void WrappedOpenGL::Common_glCompressedTextureSubImage3DEXT(GLResourceRecord *re
|
||||
{
|
||||
GetContextRecord()->AddChunk(scope.Get());
|
||||
m_MissingTracks.insert(record->GetResourceID());
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(), eFrameRef_Read);
|
||||
GetResourceManager()->MarkResourceFrameReferenced(record->GetResourceID(),
|
||||
eFrameRef_PartialWrite);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user