Commit 6185d42e by Cody Northrop Committed by Commit Bot

Capture/Replay: Update MEC for Subway Surfer

Implement some missing entry points, including sync objects. Bug: b/150458446 Bug: angleproject:3662 Change-Id: I0e9e7926e1a13bd9b0e83900ea19d2fbef9a284f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220312Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
parent 98496cab
......@@ -18,6 +18,7 @@
#include "common/system_utils.h"
#include "libANGLE/Context.h"
#include "libANGLE/Fence.h"
#include "libANGLE/Framebuffer.h"
#include "libANGLE/Query.h"
#include "libANGLE/ResourceMap.h"
......@@ -1593,6 +1594,7 @@ void CaptureUpdateUniformValues(const gl::State &replayState,
}
break;
}
case GL_BOOL:
case GL_UNSIGNED_INT:
{
std::vector<GLuint> uniformBuffer(uniformSize);
......@@ -2587,6 +2589,20 @@ void CaptureMidExecutionSetup(const gl::Context *context,
}
}
// Capture Sync Objects
const gl::SyncManager &syncs = apiState.getSyncManagerForCapture();
for (const auto &syncIter : syncs)
{
GLsync syncID = reinterpret_cast<GLsync>(syncIter.first);
gl::Sync *sync = syncIter.second;
if (!sync)
{
continue;
}
cap(CaptureFenceSync(replayState, true, sync->getCondition(), sync->getFlags(), syncID));
}
// Capture GL Context states.
// TODO(http://anglebug.com/3662): Complete state capture.
auto capCap = [cap, &replayState](GLenum capEnum, bool capValue) {
......@@ -2846,14 +2862,6 @@ void CaptureMidExecutionSetup(const gl::Context *context,
capCap(GL_DITHER, apiState.isDitherEnabled());
}
const gl::SyncManager &syncs = apiState.getSyncManagerForCapture();
for (const auto &syncIter : syncs)
{
// TODO: Create existing sync objects (http://anglebug.com/3662)
(void)syncIter;
UNIMPLEMENTED();
}
// Allow the replayState object to be destroyed conveniently.
replayState.setBufferBinding(context, gl::BufferBinding::Array, nullptr);
}
......
......@@ -732,7 +732,7 @@ void CaptureUniform1uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLuint), paramCapture);
}
void CaptureUniform2uiv_value(const State &glState,
......@@ -742,7 +742,7 @@ void CaptureUniform2uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLuint) * 2, paramCapture);
}
void CaptureUniform3uiv_value(const State &glState,
......@@ -752,7 +752,7 @@ void CaptureUniform3uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLuint) * 3, paramCapture);
}
void CaptureUniform4uiv_value(const State &glState,
......@@ -762,7 +762,7 @@ void CaptureUniform4uiv_value(const State &glState,
const GLuint *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLuint) * 4, paramCapture);
}
void CaptureUniformMatrix2x3fv_value(const State &glState,
......@@ -773,7 +773,7 @@ void CaptureUniformMatrix2x3fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
}
void CaptureUniformMatrix2x4fv_value(const State &glState,
......@@ -784,7 +784,7 @@ void CaptureUniformMatrix2x4fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
}
void CaptureUniformMatrix3x2fv_value(const State &glState,
......@@ -795,7 +795,7 @@ void CaptureUniformMatrix3x2fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
}
void CaptureUniformMatrix3x4fv_value(const State &glState,
......@@ -806,7 +806,7 @@ void CaptureUniformMatrix3x4fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
}
void CaptureUniformMatrix4x2fv_value(const State &glState,
......@@ -817,7 +817,7 @@ void CaptureUniformMatrix4x2fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
}
void CaptureUniformMatrix4x3fv_value(const State &glState,
......@@ -828,7 +828,7 @@ void CaptureUniformMatrix4x3fv_value(const State &glState,
const GLfloat *value,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
}
void CaptureVertexAttribI4iv_v(const State &glState,
......
......@@ -98,7 +98,7 @@ void CaptureGetProgramInterfaceiv_params(const State &glState,
GLint *params,
ParamCapture *paramCapture)
{
UNIMPLEMENTED();
CaptureMemory(params, sizeof(GLint), paramCapture);
}
void CaptureGetProgramPipelineInfoLog_length(const State &glState,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment