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 @@ ...@@ -18,6 +18,7 @@
#include "common/system_utils.h" #include "common/system_utils.h"
#include "libANGLE/Context.h" #include "libANGLE/Context.h"
#include "libANGLE/Fence.h"
#include "libANGLE/Framebuffer.h" #include "libANGLE/Framebuffer.h"
#include "libANGLE/Query.h" #include "libANGLE/Query.h"
#include "libANGLE/ResourceMap.h" #include "libANGLE/ResourceMap.h"
...@@ -1593,6 +1594,7 @@ void CaptureUpdateUniformValues(const gl::State &replayState, ...@@ -1593,6 +1594,7 @@ void CaptureUpdateUniformValues(const gl::State &replayState,
} }
break; break;
} }
case GL_BOOL:
case GL_UNSIGNED_INT: case GL_UNSIGNED_INT:
{ {
std::vector<GLuint> uniformBuffer(uniformSize); std::vector<GLuint> uniformBuffer(uniformSize);
...@@ -2587,6 +2589,20 @@ void CaptureMidExecutionSetup(const gl::Context *context, ...@@ -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. // Capture GL Context states.
// TODO(http://anglebug.com/3662): Complete state capture. // TODO(http://anglebug.com/3662): Complete state capture.
auto capCap = [cap, &replayState](GLenum capEnum, bool capValue) { auto capCap = [cap, &replayState](GLenum capEnum, bool capValue) {
...@@ -2846,14 +2862,6 @@ void CaptureMidExecutionSetup(const gl::Context *context, ...@@ -2846,14 +2862,6 @@ void CaptureMidExecutionSetup(const gl::Context *context,
capCap(GL_DITHER, apiState.isDitherEnabled()); 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. // Allow the replayState object to be destroyed conveniently.
replayState.setBufferBinding(context, gl::BufferBinding::Array, nullptr); replayState.setBufferBinding(context, gl::BufferBinding::Array, nullptr);
} }
......
...@@ -732,7 +732,7 @@ void CaptureUniform1uiv_value(const State &glState, ...@@ -732,7 +732,7 @@ void CaptureUniform1uiv_value(const State &glState,
const GLuint *value, const GLuint *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLuint), paramCapture);
} }
void CaptureUniform2uiv_value(const State &glState, void CaptureUniform2uiv_value(const State &glState,
...@@ -742,7 +742,7 @@ void CaptureUniform2uiv_value(const State &glState, ...@@ -742,7 +742,7 @@ void CaptureUniform2uiv_value(const State &glState,
const GLuint *value, const GLuint *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLuint) * 2, paramCapture);
} }
void CaptureUniform3uiv_value(const State &glState, void CaptureUniform3uiv_value(const State &glState,
...@@ -752,7 +752,7 @@ void CaptureUniform3uiv_value(const State &glState, ...@@ -752,7 +752,7 @@ void CaptureUniform3uiv_value(const State &glState,
const GLuint *value, const GLuint *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLuint) * 3, paramCapture);
} }
void CaptureUniform4uiv_value(const State &glState, void CaptureUniform4uiv_value(const State &glState,
...@@ -762,7 +762,7 @@ void CaptureUniform4uiv_value(const State &glState, ...@@ -762,7 +762,7 @@ void CaptureUniform4uiv_value(const State &glState,
const GLuint *value, const GLuint *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLuint) * 4, paramCapture);
} }
void CaptureUniformMatrix2x3fv_value(const State &glState, void CaptureUniformMatrix2x3fv_value(const State &glState,
...@@ -773,7 +773,7 @@ void CaptureUniformMatrix2x3fv_value(const State &glState, ...@@ -773,7 +773,7 @@ void CaptureUniformMatrix2x3fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
} }
void CaptureUniformMatrix2x4fv_value(const State &glState, void CaptureUniformMatrix2x4fv_value(const State &glState,
...@@ -784,7 +784,7 @@ void CaptureUniformMatrix2x4fv_value(const State &glState, ...@@ -784,7 +784,7 @@ void CaptureUniformMatrix2x4fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
} }
void CaptureUniformMatrix3x2fv_value(const State &glState, void CaptureUniformMatrix3x2fv_value(const State &glState,
...@@ -795,7 +795,7 @@ void CaptureUniformMatrix3x2fv_value(const State &glState, ...@@ -795,7 +795,7 @@ void CaptureUniformMatrix3x2fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 6, paramCapture);
} }
void CaptureUniformMatrix3x4fv_value(const State &glState, void CaptureUniformMatrix3x4fv_value(const State &glState,
...@@ -806,7 +806,7 @@ void CaptureUniformMatrix3x4fv_value(const State &glState, ...@@ -806,7 +806,7 @@ void CaptureUniformMatrix3x4fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
} }
void CaptureUniformMatrix4x2fv_value(const State &glState, void CaptureUniformMatrix4x2fv_value(const State &glState,
...@@ -817,7 +817,7 @@ void CaptureUniformMatrix4x2fv_value(const State &glState, ...@@ -817,7 +817,7 @@ void CaptureUniformMatrix4x2fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 8, paramCapture);
} }
void CaptureUniformMatrix4x3fv_value(const State &glState, void CaptureUniformMatrix4x3fv_value(const State &glState,
...@@ -828,7 +828,7 @@ void CaptureUniformMatrix4x3fv_value(const State &glState, ...@@ -828,7 +828,7 @@ void CaptureUniformMatrix4x3fv_value(const State &glState,
const GLfloat *value, const GLfloat *value,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(value, count * sizeof(GLfloat) * 12, paramCapture);
} }
void CaptureVertexAttribI4iv_v(const State &glState, void CaptureVertexAttribI4iv_v(const State &glState,
......
...@@ -98,7 +98,7 @@ void CaptureGetProgramInterfaceiv_params(const State &glState, ...@@ -98,7 +98,7 @@ void CaptureGetProgramInterfaceiv_params(const State &glState,
GLint *params, GLint *params,
ParamCapture *paramCapture) ParamCapture *paramCapture)
{ {
UNIMPLEMENTED(); CaptureMemory(params, sizeof(GLint), paramCapture);
} }
void CaptureGetProgramPipelineInfoLog_length(const State &glState, 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