aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/host/tools/emugen/tests
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/host/tools/emugen/tests')
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_dec.cpp8
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_opcodes.h3
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.cpp1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_proc.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.cpp1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_proc.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_enc.cpp18
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_entry.cpp7
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_ftable.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_opcodes.h3
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.cpp1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_entry.cpp7
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_proc.h1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/input/foo.in1
-rw-r--r--emulator/opengl/host/tools/emugen/tests/t.001/input/foo.types3
18 files changed, 57 insertions, 3 deletions
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_dec.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_dec.cpp
index d56653f..0319284 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_dec.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_dec.cpp
@@ -77,6 +77,14 @@ size_t foo_decoder_context_t::decode(void *buf, size_t len, IOStream *stream)
SET_LASTCALL("fooDoEncoderFlush");
break;
}
+ case OP_fooTakeConstVoidPtrConstPtr: {
+ uint32_t size_param __attribute__((unused)) = Unpack<uint32_t,uint32_t>(ptr + 8);
+ InputBuffer inptr_param(ptr + 8 + 4, size_param);
+ DEBUG("foo(%p): fooTakeConstVoidPtrConstPtr(%p(%u) )\n", stream,(const void* const*)(inptr_param.get()), size_param);
+ this->fooTakeConstVoidPtrConstPtr((const void* const*)(inptr_param.get()));
+ SET_LASTCALL("fooTakeConstVoidPtrConstPtr");
+ break;
+ }
default:
unknownOpcode = true;
} //switch
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_opcodes.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_opcodes.h
index 154f2e1..7219caa 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_opcodes.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_opcodes.h
@@ -7,7 +7,8 @@
#define OP_fooIsBuffer 201
#define OP_fooUnsupported 202
#define OP_fooDoEncoderFlush 203
-#define OP_last 204
+#define OP_fooTakeConstVoidPtrConstPtr 204
+#define OP_last 205
#endif
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.cpp
index e310e2f..22ff47f 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.cpp
@@ -14,6 +14,7 @@ int foo_server_context_t::initDispatchByName(void *(*getProc)(const char *, void
fooIsBuffer = (fooIsBuffer_server_proc_t) getProc("fooIsBuffer", userData);
fooUnsupported = (fooUnsupported_server_proc_t) getProc("fooUnsupported", userData);
fooDoEncoderFlush = (fooDoEncoderFlush_server_proc_t) getProc("fooDoEncoderFlush", userData);
+ fooTakeConstVoidPtrConstPtr = (fooTakeConstVoidPtrConstPtr_server_proc_t) getProc("fooTakeConstVoidPtrConstPtr", userData);
return 0;
}
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.h
index 3cc0fd5..186a3d1 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_context.h
@@ -12,6 +12,7 @@ struct foo_server_context_t {
fooIsBuffer_server_proc_t fooIsBuffer;
fooUnsupported_server_proc_t fooUnsupported;
fooDoEncoderFlush_server_proc_t fooDoEncoderFlush;
+ fooTakeConstVoidPtrConstPtr_server_proc_t fooTakeConstVoidPtrConstPtr;
virtual ~foo_server_context_t() {}
int initDispatchByName( void *(*getProc)(const char *name, void *userData), void *userData);
};
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_proc.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_proc.h
index e67ea2a..da104a1 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_proc.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/decoder/foo_server_proc.h
@@ -13,6 +13,7 @@ typedef void (foo_APIENTRY *fooAlphaFunc_server_proc_t) (FooInt, FooFloat);
typedef FooBoolean (foo_APIENTRY *fooIsBuffer_server_proc_t) (void*);
typedef void (foo_APIENTRY *fooUnsupported_server_proc_t) (void*);
typedef void (foo_APIENTRY *fooDoEncoderFlush_server_proc_t) (FooInt);
+typedef void (foo_APIENTRY *fooTakeConstVoidPtrConstPtr_server_proc_t) (const void* const*);
#endif
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.cpp
index 70a5f64..f09e881 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.cpp
@@ -14,6 +14,7 @@ int foo_client_context_t::initDispatchByName(void *(*getProc)(const char *, void
fooIsBuffer = (fooIsBuffer_client_proc_t) getProc("fooIsBuffer", userData);
fooUnsupported = (fooUnsupported_client_proc_t) getProc("fooUnsupported", userData);
fooDoEncoderFlush = (fooDoEncoderFlush_client_proc_t) getProc("fooDoEncoderFlush", userData);
+ fooTakeConstVoidPtrConstPtr = (fooTakeConstVoidPtrConstPtr_client_proc_t) getProc("fooTakeConstVoidPtrConstPtr", userData);
return 0;
}
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.h
index 2dfc76a..84e9d6f 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_context.h
@@ -12,6 +12,7 @@ struct foo_client_context_t {
fooIsBuffer_client_proc_t fooIsBuffer;
fooUnsupported_client_proc_t fooUnsupported;
fooDoEncoderFlush_client_proc_t fooDoEncoderFlush;
+ fooTakeConstVoidPtrConstPtr_client_proc_t fooTakeConstVoidPtrConstPtr;
virtual ~foo_client_context_t() {}
typedef foo_client_context_t *CONTEXT_ACCESSOR_TYPE(void);
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_proc.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_proc.h
index d39b73a..6fc27f0 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_proc.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_client_proc.h
@@ -13,6 +13,7 @@ typedef void (foo_APIENTRY *fooAlphaFunc_client_proc_t) (void * ctx, FooInt, Foo
typedef FooBoolean (foo_APIENTRY *fooIsBuffer_client_proc_t) (void * ctx, void*);
typedef void (foo_APIENTRY *fooUnsupported_client_proc_t) (void * ctx, void*);
typedef void (foo_APIENTRY *fooDoEncoderFlush_client_proc_t) (void * ctx, FooInt);
+typedef void (foo_APIENTRY *fooTakeConstVoidPtrConstPtr_client_proc_t) (void * ctx, const void* const*);
#endif
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_enc.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_enc.cpp
index 5e1758e..3a7a94b 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_enc.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_enc.cpp
@@ -70,6 +70,23 @@ void fooDoEncoderFlush_enc(void *self , FooInt param)
stream->flush();
}
+void fooTakeConstVoidPtrConstPtr_enc(void *self , const void* const* param)
+{
+
+ foo_encoder_context_t *ctx = (foo_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+
+ const unsigned int __size_param = ;
+ unsigned char *ptr;
+ const size_t packetSize = 8 + __size_param + 1*4;
+ ptr = stream->alloc(packetSize);
+ int tmp = OP_fooTakeConstVoidPtrConstPtr;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &packetSize, 4); ptr += 4;
+
+ *(unsigned int *)(ptr) = __size_param; ptr += 4;
+ memcpy(ptr, param, __size_param);ptr += __size_param;
+}
+
} // namespace
foo_encoder_context_t::foo_encoder_context_t(IOStream *stream)
@@ -80,5 +97,6 @@ foo_encoder_context_t::foo_encoder_context_t(IOStream *stream)
this->fooIsBuffer = &fooIsBuffer_enc;
this->fooUnsupported = (fooUnsupported_client_proc_t) &enc_unsupported;
this->fooDoEncoderFlush = &fooDoEncoderFlush_enc;
+ this->fooTakeConstVoidPtrConstPtr = &fooTakeConstVoidPtrConstPtr_enc;
}
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_entry.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_entry.cpp
index 697f143..b91129c 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_entry.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_entry.cpp
@@ -10,6 +10,7 @@ extern "C" {
FooBoolean fooIsBuffer(void* stuff);
void fooUnsupported(void* params);
void fooDoEncoderFlush(FooInt param);
+ void fooTakeConstVoidPtrConstPtr(const void* const* param);
};
#endif
@@ -44,3 +45,9 @@ void fooDoEncoderFlush(FooInt param)
ctx->fooDoEncoderFlush(ctx, param);
}
+void fooTakeConstVoidPtrConstPtr(const void* const* param)
+{
+ GET_CONTEXT;
+ ctx->fooTakeConstVoidPtrConstPtr(ctx, param);
+}
+
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_ftable.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_ftable.h
index cba476b..e397e50 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_ftable.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_ftable.h
@@ -12,6 +12,7 @@ static const struct _foo_funcs_by_name {
{"fooIsBuffer", (void*)fooIsBuffer},
{"fooUnsupported", (void*)fooUnsupported},
{"fooDoEncoderFlush", (void*)fooDoEncoderFlush},
+ {"fooTakeConstVoidPtrConstPtr", (void*)fooTakeConstVoidPtrConstPtr},
};
static const int foo_num_funcs = sizeof(foo_funcs_by_name) / sizeof(struct _foo_funcs_by_name);
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_opcodes.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_opcodes.h
index 154f2e1..7219caa 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_opcodes.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/encoder/foo_opcodes.h
@@ -7,7 +7,8 @@
#define OP_fooIsBuffer 201
#define OP_fooUnsupported 202
#define OP_fooDoEncoderFlush 203
-#define OP_last 204
+#define OP_fooTakeConstVoidPtrConstPtr 204
+#define OP_last 205
#endif
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.cpp
index 46eb6ce..6e132b1 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.cpp
@@ -14,6 +14,7 @@ int foo_wrapper_context_t::initDispatchByName(void *(*getProc)(const char *, voi
fooIsBuffer = (fooIsBuffer_wrapper_proc_t) getProc("fooIsBuffer", userData);
fooUnsupported = (fooUnsupported_wrapper_proc_t) getProc("fooUnsupported", userData);
fooDoEncoderFlush = (fooDoEncoderFlush_wrapper_proc_t) getProc("fooDoEncoderFlush", userData);
+ fooTakeConstVoidPtrConstPtr = (fooTakeConstVoidPtrConstPtr_wrapper_proc_t) getProc("fooTakeConstVoidPtrConstPtr", userData);
return 0;
}
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.h
index 166be44..e5e30e6 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_context.h
@@ -12,6 +12,7 @@ struct foo_wrapper_context_t {
fooIsBuffer_wrapper_proc_t fooIsBuffer;
fooUnsupported_wrapper_proc_t fooUnsupported;
fooDoEncoderFlush_wrapper_proc_t fooDoEncoderFlush;
+ fooTakeConstVoidPtrConstPtr_wrapper_proc_t fooTakeConstVoidPtrConstPtr;
virtual ~foo_wrapper_context_t() {}
typedef foo_wrapper_context_t *CONTEXT_ACCESSOR_TYPE(void);
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_entry.cpp b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_entry.cpp
index 2e32e9c..7591393 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_entry.cpp
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_entry.cpp
@@ -10,6 +10,7 @@ extern "C" {
FooBoolean fooIsBuffer(void* stuff);
void fooUnsupported(void* params);
void fooDoEncoderFlush(FooInt param);
+ void fooTakeConstVoidPtrConstPtr(const void* const* param);
};
#endif
@@ -43,3 +44,9 @@ void fooDoEncoderFlush(FooInt param)
ctx->fooDoEncoderFlush( param);
}
+void fooTakeConstVoidPtrConstPtr(const void* const* param)
+{
+ GET_CONTEXT;
+ ctx->fooTakeConstVoidPtrConstPtr( param);
+}
+
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_proc.h b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_proc.h
index 2fafa24..294b958 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_proc.h
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/expected/wrapper/foo_wrapper_proc.h
@@ -13,6 +13,7 @@ typedef void (foo_APIENTRY *fooAlphaFunc_wrapper_proc_t) (FooInt, FooFloat);
typedef FooBoolean (foo_APIENTRY *fooIsBuffer_wrapper_proc_t) (void*);
typedef void (foo_APIENTRY *fooUnsupported_wrapper_proc_t) (void*);
typedef void (foo_APIENTRY *fooDoEncoderFlush_wrapper_proc_t) (FooInt);
+typedef void (foo_APIENTRY *fooTakeConstVoidPtrConstPtr_wrapper_proc_t) (const void* const*);
#endif
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.in b/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.in
index e61fe57..4e98f88 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.in
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.in
@@ -2,3 +2,4 @@ FOO_ENTRY(void, fooAlphaFunc, FooInt func, FooFloat ref)
FOO_ENTRY(FooBoolean, fooIsBuffer, void* stuff)
FOO_ENTRY(void, fooUnsupported, void* params)
FOO_ENTRY(void, fooDoEncoderFlush, FooInt param)
+FOO_ENTRY(void, fooTakeConstVoidPtrConstPtr, const void* const* param)
diff --git a/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.types b/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.types
index c4140d1..05d72fb 100644
--- a/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.types
+++ b/emulator/opengl/host/tools/emugen/tests/t.001/input/foo.types
@@ -6,4 +6,5 @@ FooEnum 32 %08x
FooVoid 0 %x
FooChar 8 %d
FooChar* 32 0x%08x
-void* 32 0x%08x \ No newline at end of file
+void* 32 0x%08x
+void*const* 32 0x%08x