diff options
Diffstat (limited to 'emulator/opengl/host/tools/emugen/tests')
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 |