Move writes after reads
Change-Id: Ia1a5c6ab46d38c493cfb4df1d03f05d98dc31f73
diff --git a/cc/gapii/gles_spy.h b/cc/gapii/gles_spy.h
index e3669ed..486e3b8 100644
--- a/cc/gapii/gles_spy.h
+++ b/cc/gapii/gles_spy.h
@@ -3751,9 +3751,9 @@
/* case false: */(((l_min_88_a < l_min_88_b) == (false))) ? (l_min_88_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_88_result;
- write(slice(string_length_written, 0, 1), 0, l_l);
copy(slice(info, (uint64_t)(0), (uint64_t)(l_l)),
slice(l_s->mInfoLog, (uint64_t)(0), (uint64_t)(l_l)));
+ write(slice(string_length_written, 0, 1), 0, l_l);
} while (false);
mEncoder->Uint16(141); // Type ID -- TODO: mEncoder->Id(GL_GET_SHADER_INFO_LOG_ID);
@@ -3784,9 +3784,9 @@
/* case false: */(((l_min_90_a < l_min_90_b) == (false))) ? (l_min_90_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_90_result;
- write(slice(string_length_written, 0, 1), 0, l_l);
copy(slice(source, (uint64_t)(0), (uint64_t)(l_l)),
slice(slice(l_s->mSource), (uint64_t)(0), (uint64_t)(l_l)));
+ write(slice(string_length_written, 0, 1), 0, l_l);
} while (false);
mEncoder->Uint16(142); // Type ID -- TODO: mEncoder->Id(GL_GET_SHADER_SOURCE_ID);
@@ -3976,9 +3976,9 @@
/* case false: */(((l_min_99_a < l_min_99_b) == (false))) ? (l_min_99_b) :
/* default: */ 0 /* clang-format on */;
int32_t l_l = l_min_99_result;
- write(slice(string_length_written, 0, 1), 0, l_l);
copy(slice(info, (uint64_t)(0), (uint64_t)(l_l)),
slice(l_p->mInfoLog, (uint64_t)(0), (uint64_t)(l_l)));
+ write(slice(string_length_written, 0, 1), 0, l_l);
} while (false);
mEncoder->Uint16(152); // Type ID -- TODO: mEncoder->Id(GL_GET_PROGRAM_INFO_LOG_ID);
@@ -4792,43 +4792,51 @@
break;
}
case StateVariable::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_CUBE_MAP_TEXTURE_SIZE: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_FRAGMENT_UNIFORM_VECTORS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_RENDERBUFFER_SIZE: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_TEXTURE_IMAGE_UNITS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_TEXTURE_SIZE: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_VARYING_VECTORS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_VERTEX_ATTRIBS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: {
@@ -4837,25 +4845,30 @@
break;
}
case StateVariable::GL_MAX_VERTEX_UNIFORM_VECTORS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_MAX_VIEWPORT_DIMS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
- write(l_v, 1,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 1));
+ auto l_max_width =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ auto l_max_height =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 1);
+ write(l_v, 0, l_max_width);
+ write(l_v, 1, l_max_height);
break;
}
case StateVariable::GL_NUM_COMPRESSED_TEXTURE_FORMATS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_NUM_SHADER_BINARY_FORMATS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_PACK_ALIGNMENT: {
@@ -4907,8 +4920,9 @@
break;
}
case StateVariable::GL_SUBPIXEL_BITS: {
- write(l_v, 0,
- read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0));
+ auto l_result =
+ read(slice(values, (uint64_t)(0), (uint64_t)(stateVariableSize(param))), 0);
+ write(l_v, 0, l_result);
break;
}
case StateVariable::GL_IMPLEMENTATION_COLOR_READ_FORMAT: {
diff --git a/gfxapi/gles/gles.api b/gfxapi/gles/gles.api
index 8c2a13c..322d6bf 100644
--- a/gfxapi/gles/gles.api
+++ b/gfxapi/gles/gles.api
@@ -1978,8 +1978,8 @@
ctx := GetContext()
s := ctx.Instances.Shaders[shader]
l := min(buffer_length, as!s32(strlen(s.InfoLog)))
- string_length_written[0] = l
copy(info[0:l], s.InfoLog[0:l])
+ string_length_written[0] = l
}
///http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml
@@ -1990,8 +1990,8 @@
ctx := GetContext()
s := ctx.Instances.Shaders[shader]
l := min(buffer_length, as!s32(strlen(s.Source)))
- string_length_written[0] = l
copy(source[0:l], as!char[](s.Source)[0:l])
+ string_length_written[0] = l
}
///http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml
@@ -2072,8 +2072,8 @@
ctx := GetContext()
p := ctx.Instances.Programs[program]
l := min(buffer_length, as!s32(strlen(p.InfoLog)))
- string_length_written[0] = l
copy(info[0:l], p.InfoLog[0:l])
+ string_length_written[0] = l
}
///http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml
@@ -2470,56 +2470,69 @@
case GL_GENERATE_MIPMAP_HINT:
v[0] = as!s32(ctx.GenerateMipmapHint)
case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: {
- v[0] = ?
- assert(v[0] > 7)
+ result := ?
+ assert(result > 7)
+ v[0] = result
}
case GL_MAX_CUBE_MAP_TEXTURE_SIZE: {
- v[0] = ?
- assert(v[0] > 15)
+ result := ?
+ assert(result > 15)
+ v[0] = result
}
case GL_MAX_FRAGMENT_UNIFORM_VECTORS: {
- v[0] = ?
- assert(v[0] > 15)
+ result := ?
+ assert(result > 15)
+ v[0] = result
}
case GL_MAX_RENDERBUFFER_SIZE: {
- v[0] = ?
- assert(v[0] > 0)
+ result := ?
+ assert(result > 0)
+ v[0] = result
}
case GL_MAX_TEXTURE_IMAGE_UNITS: {
- v[0] = ?
- assert(v[0] > 7)
+ result := ?
+ assert(result > 7)
+ v[0] = result
}
case GL_MAX_TEXTURE_SIZE: {
- v[0] = ?
- assert(v[0] > 63)
+ result := ?
+ assert(result > 63)
+ v[0] = result
}
case GL_MAX_VARYING_VECTORS: {
- v[0] = ?
- assert(v[0] > 7)
+ result := ?
+ assert(result > 7)
+ v[0] = result
}
case GL_MAX_VERTEX_ATTRIBS: {
- v[0] = ?
- assert(v[0] > 7)
+ result := ?
+ assert(result > 7)
+ v[0] = result
}
case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
v[0] = ?
case GL_MAX_VERTEX_UNIFORM_VECTORS: {
- v[0] = ?
- assert(v[0] > 127)
+ result := ?
+ assert(result > 127)
+ v[0] = result
}
case GL_MAX_VIEWPORT_DIMS: {
- v[0] = ? /* max width */
- assert(v[0] > ctx.Rasterizing.Viewport.Width-1)
- v[1] = ? /* max height */
- assert(v[1] > ctx.Rasterizing.Viewport.Height-1)
+ max_width := ?
+ max_height := ?
+ assert(max_width > ctx.Rasterizing.Viewport.Width-1)
+ assert(max_height > ctx.Rasterizing.Viewport.Height-1)
+ v[0] = max_width
+ v[1] = max_height
}
case GL_NUM_COMPRESSED_TEXTURE_FORMATS: {
- v[0] = ?
- assert(v[0] > -1)
+ result := ?
+ assert(result > -1)
+ v[0] = result
}
case GL_NUM_SHADER_BINARY_FORMATS: {
- v[0] = ?
- assert(v[0] > -1)
+ result := ?
+ assert(result > -1)
+ v[0] = result
}
case GL_PACK_ALIGNMENT:
v[0] = ctx.PixelStorage[GL_PACK_ALIGNMENT]
@@ -2548,8 +2561,9 @@
case GL_STENCIL_BITS:
v[0] = ?
case GL_SUBPIXEL_BITS: {
- v[0] = ?
- assert(v[0] > 3)
+ result := ?
+ assert(result > 3)
+ v[0] = result
}
case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
v[0] = ?
diff --git a/gfxapi/gles/replay_writer.go b/gfxapi/gles/replay_writer.go
index ac56d40..ae95e44 100644
--- a/gfxapi/gles/replay_writer.go
+++ b/gfxapi/gles/replay_writer.go
@@ -3519,8 +3519,8 @@
}
}() // s32
l := min_88_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
ϟa.Info.Slice(uint64(int32(0)), uint64(l), ϟs).replayCopy(s.InfoLog.Slice(uint64(int32(0)), uint64(l), ϟs), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
_, _, _, _, _, _, _, _ = context, GetContext_87_result, ctx, s, min_88_a, min_88_b, min_88_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
if key, remap := ϟa.Shader.remap(ϟa, ϟs); remap {
@@ -3560,8 +3560,8 @@
}
}() // s32
l := min_90_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
ϟa.Source.Slice(uint64(int32(0)), uint64(l), ϟs).replayCopy(MakeCharˢFromString(s.Source, ϟs).Slice(uint64(int32(0)), uint64(l), ϟs), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
_, _, _, _, _, _, _, _ = context, GetContext_89_result, ctx, s, min_90_a, min_90_b, min_90_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
if key, remap := ϟa.Shader.remap(ϟa, ϟs); remap {
@@ -3804,8 +3804,8 @@
}
}() // s32
l := min_99_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
ϟa.Info.Slice(uint64(int32(0)), uint64(l), ϟs).replayCopy(p.InfoLog.Slice(uint64(int32(0)), uint64(l), ϟs), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).replayWrite(l, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
_, _, _, _, _, _, _, _ = context, GetContext_98_result, ctx, p, min_99_a, min_99_b, min_99_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
if key, remap := ϟa.Program.remap(ϟa, ϟs); remap {
@@ -4646,32 +4646,57 @@
case StateVariable_GL_GENERATE_MIPMAP_HINT:
v.Index(uint64(0), ϟs).replayWrite(int32(ctx.GenerateMipmapHint), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
case StateVariable_GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_CUBE_MAP_TEXTURE_SIZE:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_FRAGMENT_UNIFORM_VECTORS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_RENDERBUFFER_SIZE:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_TEXTURE_IMAGE_UNITS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_TEXTURE_SIZE:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_VARYING_VECTORS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_VERTEX_ATTRIBS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
case StateVariable_GL_MAX_VERTEX_UNIFORM_VECTORS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_MAX_VIEWPORT_DIMS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
- v.Index(uint64(1), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(1), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ max_width := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ max_height := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(1), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(max_width, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ v.Index(uint64(1), ϟs).replayWrite(max_height, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _, _ = max_width, max_height
case StateVariable_GL_NUM_COMPRESSED_TEXTURE_FORMATS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_NUM_SHADER_BINARY_FORMATS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_PACK_ALIGNMENT:
v.Index(uint64(0), ϟs).replayWrite(ctx.PixelStorage.Get(PixelStoreParameter_GL_PACK_ALIGNMENT), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
case StateVariable_GL_UNPACK_ALIGNMENT:
@@ -4693,7 +4718,9 @@
case StateVariable_GL_STENCIL_BITS:
v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
case StateVariable_GL_SUBPIXEL_BITS:
- v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb) // any
+ v.Index(uint64(0), ϟs).replayWrite(result, ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
+ _ = result
case StateVariable_GL_IMPLEMENTATION_COLOR_READ_FORMAT:
v.Index(uint64(0), ϟs).replayWrite(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).replayMap(ϟa, ϟs, ϟd, ϟl, ϟb), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
case StateVariable_GL_IMPLEMENTATION_COLOR_READ_TYPE:
diff --git a/gfxapi/gles/state_mutator.go b/gfxapi/gles/state_mutator.go
index f7e9638..67a1d12 100644
--- a/gfxapi/gles/state_mutator.go
+++ b/gfxapi/gles/state_mutator.go
@@ -2795,8 +2795,8 @@
}
}() // s32
l := min_88_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
ϟa.Info.Slice(uint64(int32(0)), uint64(l), ϟs).Copy(s.InfoLog.Slice(uint64(int32(0)), uint64(l), ϟs), ϟs, ϟd, ϟl)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
_, _, _, _, _, _, _, _ = context, GetContext_87_result, ctx, s, min_88_a, min_88_b, min_88_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
return nil
@@ -2824,8 +2824,8 @@
}
}() // s32
l := min_90_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
ϟa.Source.Slice(uint64(int32(0)), uint64(l), ϟs).Copy(MakeCharˢFromString(s.Source, ϟs).Slice(uint64(int32(0)), uint64(l), ϟs), ϟs, ϟd, ϟl)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
_, _, _, _, _, _, _, _ = context, GetContext_89_result, ctx, s, min_90_a, min_90_b, min_90_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
return nil
@@ -2972,8 +2972,8 @@
}
}() // s32
l := min_99_result // s32
- ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
ϟa.Info.Slice(uint64(int32(0)), uint64(l), ϟs).Copy(p.InfoLog.Slice(uint64(int32(0)), uint64(l), ϟs), ϟs, ϟd, ϟl)
+ ϟa.StringLengthWritten.Slice(uint64(0), uint64(1), ϟs).Index(uint64(0), ϟs).Write(l, ϟs)
_, _, _, _, _, _, _, _ = context, GetContext_98_result, ctx, p, min_99_a, min_99_b, min_99_result, l
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
return nil
@@ -3652,32 +3652,57 @@
case StateVariable_GL_GENERATE_MIPMAP_HINT:
v.Index(uint64(0), ϟs).Write(int32(ctx.GenerateMipmapHint), ϟs)
case StateVariable_GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_CUBE_MAP_TEXTURE_SIZE:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_FRAGMENT_UNIFORM_VECTORS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_RENDERBUFFER_SIZE:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_TEXTURE_IMAGE_UNITS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_TEXTURE_SIZE:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_VARYING_VECTORS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_VERTEX_ATTRIBS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
case StateVariable_GL_MAX_VERTEX_UNIFORM_VECTORS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_MAX_VIEWPORT_DIMS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
- v.Index(uint64(1), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(1), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ max_width := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ max_height := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(1), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(max_width, ϟs)
+ v.Index(uint64(1), ϟs).Write(max_height, ϟs)
+ _, _ = max_width, max_height
case StateVariable_GL_NUM_COMPRESSED_TEXTURE_FORMATS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_NUM_SHADER_BINARY_FORMATS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_PACK_ALIGNMENT:
v.Index(uint64(0), ϟs).Write(ctx.PixelStorage.Get(PixelStoreParameter_GL_PACK_ALIGNMENT), ϟs)
case StateVariable_GL_UNPACK_ALIGNMENT:
@@ -3699,7 +3724,9 @@
case StateVariable_GL_STENCIL_BITS:
v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
case StateVariable_GL_SUBPIXEL_BITS:
- v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
+ result := ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl) // any
+ v.Index(uint64(0), ϟs).Write(result, ϟs)
+ _ = result
case StateVariable_GL_IMPLEMENTATION_COLOR_READ_FORMAT:
v.Index(uint64(0), ϟs).Write(ϟa.Values.Slice(uint64(int32(0)), uint64(externs{ϟs, ϟd, ϟl}.stateVariableSize(ϟa.Param)), ϟs).Index(uint64(0), ϟs).Read(ϟs, ϟd, ϟl), ϟs)
case StateVariable_GL_IMPLEMENTATION_COLOR_READ_TYPE:
diff --git a/gfxapi/test/gfxapi_test.api b/gfxapi/test/gfxapi_test.api
index 113629c..30d7b3b 100644
--- a/gfxapi/test/gfxapi_test.api
+++ b/gfxapi/test/gfxapi_test.api
@@ -108,9 +108,9 @@
////////////////////////////////////////////////////////////////
cmd void cmd_void_3_in_arrays(u8* a, u8** b, int* c) {
buf = make!u8(10)
- copy(buf, a[5:25]) // only 10 elements should be copied
- read(b[5:15])
+ read(b[5:15])
read(c[5:15])
+ copy(buf, a[5:25]) // only 10 elements should be copied
}
////////////////////////////////////////////////////////////////
diff --git a/gfxapi/test/replay_writer.go b/gfxapi/test/replay_writer.go
index 9465f3d..4e06f2d 100644
--- a/gfxapi/test/replay_writer.go
+++ b/gfxapi/test/replay_writer.go
@@ -390,9 +390,9 @@
_ = ϟc
ϟa.observations.ApplyReads(ϟs.Memory[memory.ApplicationPool])
ϟc.Buf = MakeU8ˢ(uint64(10), ϟs)
- ϟc.Buf.replayCopy(ϟa.A.Slice(uint64(5), uint64(25), ϟs), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
ϟa.B.Slice(uint64(5), uint64(15), ϟs).onReplayRead(ϟa, ϟs, ϟd, ϟl, ϟb)
ϟa.C.Slice(uint64(5), uint64(15), ϟs).onReplayRead(ϟa, ϟs, ϟd, ϟl, ϟb)
+ ϟc.Buf.replayCopy(ϟa.A.Slice(uint64(5), uint64(25), ϟs), ϟa, ϟs, ϟd, ϟl, ϟb, ϟp)
ϟa.observations.ApplyWrites(ϟs.Memory[memory.ApplicationPool])
ϟb.Push(ϟa.A.value())
ϟb.Push(ϟa.B.value())
diff --git a/gfxapi/test/replay_writer_test.go b/gfxapi/test/replay_writer_test.go
index a97eff2..a5cc4f4 100644
--- a/gfxapi/test/replay_writer_test.go
+++ b/gfxapi/test/replay_writer_test.go
@@ -322,22 +322,22 @@
},
expected: expected{
// ┌────┬────┬────┬────┬────╔════╤════╤════╤════╤════╤════╤════╤════╤════╤════╗
- // a │0x00│0x01│0x02│0x03│0x04║0x05│0x06│0x07│0x08│0x09│0x0a│0x0b│0x0c│0x0d│0x0e║
- // └────┴────┴────┴────┴────╚════╧════╧════╧════╧════╧════╧════╧════╧════╧════╝
- // ┌────┬────┬────┬────┬────╔════╤════╤════╤════╤════╤════╤════╤════╤════╤════╗
// b │0x10│0x14│0x18│0x1c│0x20║0x24│0x28│0x2c│0x30│0x34│0x38│0x3c│0x40│0x44│0x48║
// └────┴────┴────┴────┴────╚════╧════╧════╧════╧════╧════╧════╧════╧════╧════╝
// ┌────┬────┬────┬────┬────╔════╤════╤════╤════╤════╤════╤════╤════╤════╤════╗
// c │0x50│0x58│0x60│0x68│0x70║0x78│0x80│0x88│0x90│0x98│0xa0│0xa8│0xb0│0xb8│0xc0║
// └────┴────┴────┴────┴────╚════╧════╧════╧════╧════╧════╧════╧════╧════╧════╝
- resources: []binary.ID{aID, bID, cID},
+ // ┌────┬────┬────┬────┬────╔════╤════╤════╤════╤════╤════╤════╤════╤════╤════╗
+ // a │0x00│0x01│0x02│0x03│0x04║0x05│0x06│0x07│0x08│0x09│0x0a│0x0b│0x0c│0x0d│0x0e║
+ // └────┴────┴────┴────┴────╚════╧════╧════╧════╧════╧════╧════╧════╧════╧════╝
+ resources: []binary.ID{bID, cID, aID},
opcodes: []interface{}{
opcode.Label{Value: 0},
- opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x5},
- opcode.Resource{ID: 0},
opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x24},
- opcode.Resource{ID: 1},
+ opcode.Resource{ID: 0},
opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x78},
+ opcode.Resource{ID: 1},
+ opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x5},
opcode.Resource{ID: 2},
opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x00},
opcode.PushI{DataType: protocol.TypeVolatilePointer, Value: 0x10},