am 7caef0c7: am 6090dacd: libpixelflinger: Move codeflinger test function to test-opengl-codegen
Merge commit '7caef0c70f51a4863969a537c5d5e954483304f6' * commit '7caef0c70f51a4863969a537c5d5e954483304f6': libpixelflinger: Move codeflinger test function to test-opengl-codegen
This commit is contained in:
commit
d8e0e26db7
|
@ -1518,26 +1518,3 @@ void rect_memcpy(context_t* c, size_t yc)
|
|||
// ----------------------------------------------------------------------------
|
||||
}; // namespace android
|
||||
|
||||
using namespace android;
|
||||
extern "C" void ggl_test_codegen(uint32_t n, uint32_t p, uint32_t t0, uint32_t t1)
|
||||
{
|
||||
#if ANDROID_ARM_CODEGEN
|
||||
GGLContext* c;
|
||||
gglInit(&c);
|
||||
needs_t needs;
|
||||
needs.n = n;
|
||||
needs.p = p;
|
||||
needs.t[0] = t0;
|
||||
needs.t[1] = t1;
|
||||
sp<ScanlineAssembly> a(new ScanlineAssembly(needs, ASSEMBLY_SCRATCH_SIZE));
|
||||
GGLAssembler assembler( new ARMAssembler(a) );
|
||||
int err = assembler.scanline(needs, (context_t*)c);
|
||||
if (err != 0) {
|
||||
printf("error %08x (%s)\n", err, strerror(-err));
|
||||
}
|
||||
gglUninit(c);
|
||||
#else
|
||||
printf("This test runs only on ARM\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -2,12 +2,15 @@ LOCAL_PATH:= $(call my-dir)
|
|||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES:= \
|
||||
codegen.cpp
|
||||
codegen.cpp.arm
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libcutils \
|
||||
libpixelflinger
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
system/core/libpixelflinger
|
||||
|
||||
LOCAL_MODULE:= test-opengl-codegen
|
||||
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
|
|
|
@ -1,9 +1,54 @@
|
|||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
extern "C" void ggl_test_codegen(
|
||||
uint32_t n, uint32_t p, uint32_t t0, uint32_t t1);
|
||||
#include "private/pixelflinger/ggl_context.h"
|
||||
|
||||
#include "buffer.h"
|
||||
#include "scanline.h"
|
||||
|
||||
#include "codeflinger/CodeCache.h"
|
||||
#include "codeflinger/GGLAssembler.h"
|
||||
#include "codeflinger/ARMAssembler.h"
|
||||
|
||||
#if defined(__arm__)
|
||||
# define ANDROID_ARM_CODEGEN 1
|
||||
#else
|
||||
# define ANDROID_ARM_CODEGEN 0
|
||||
#endif
|
||||
|
||||
#define ASSEMBLY_SCRATCH_SIZE 2048
|
||||
|
||||
using namespace android;
|
||||
|
||||
class ScanlineAssembly : public Assembly {
|
||||
AssemblyKey<needs_t> mKey;
|
||||
public:
|
||||
ScanlineAssembly(needs_t needs, size_t size)
|
||||
: Assembly(size), mKey(needs) { }
|
||||
const AssemblyKey<needs_t>& key() const { return mKey; }
|
||||
};
|
||||
|
||||
static void ggl_test_codegen(uint32_t n, uint32_t p, uint32_t t0, uint32_t t1)
|
||||
{
|
||||
#if ANDROID_ARM_CODEGEN
|
||||
GGLContext* c;
|
||||
gglInit(&c);
|
||||
needs_t needs;
|
||||
needs.n = n;
|
||||
needs.p = p;
|
||||
needs.t[0] = t0;
|
||||
needs.t[1] = t1;
|
||||
sp<ScanlineAssembly> a(new ScanlineAssembly(needs, ASSEMBLY_SCRATCH_SIZE));
|
||||
GGLAssembler assembler( new ARMAssembler(a) );
|
||||
int err = assembler.scanline(needs, (context_t*)c);
|
||||
if (err != 0) {
|
||||
printf("error %08x (%s)\n", err, strerror(-err));
|
||||
}
|
||||
gglUninit(c);
|
||||
#else
|
||||
printf("This test runs only on ARM\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue