X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_test.h;h=c64f3e149fdabf050d3156de1d9853f33143b5a2;hb=978c1aa1d0f6fd9a188762a8534de33fc63eeea0;hp=a88e110c6631eeaee07d6b6f148b676c6bcc9ee3;hpb=8fda97afb8b7a03415dbca6d83691d2d6461126c;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_test.h b/src/gallium/drivers/llvmpipe/lp_test.h index a88e110c663..c64f3e149fd 100644 --- a/src/gallium/drivers/llvmpipe/lp_test.h +++ b/src/gallium/drivers/llvmpipe/lp_test.h @@ -41,7 +41,7 @@ #include #include -#include +#include "gallivm/lp_bld.h" #include #include #include @@ -51,9 +51,12 @@ #include "pipe/p_state.h" #include "util/u_format.h" #include "util/u_math.h" -#include "util/u_debug_dump.h" +#include "util/u_dump.h" -#include "lp_bld_type.h" +#include "gallivm/lp_bld_type.h" + + +#define LP_TEST_NUM_SAMPLES 32 void @@ -61,24 +64,38 @@ write_tsv_header(FILE *fp); boolean -test_some(unsigned verbose, FILE *fp, unsigned long n); +test_some(struct gallivm_state *gallivm,unsigned verbose, FILE *fp, + unsigned long n); +boolean +test_single(struct gallivm_state *gallivm, unsigned verbose, FILE *fp); boolean -test_all(unsigned verbose, FILE *fp); +test_all(struct gallivm_state *gallivm, unsigned verbose, FILE *fp); + + +#if defined(PIPE_CC_MSVC) + +unsigned __int64 __rdtsc(); +#pragma intrinsic(__rdtsc) +#define rdtsc() __rdtsc() +#elif defined(PIPE_CC_GCC) && (defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)) static INLINE uint64_t rdtsc(void) { -#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) uint32_t hi, lo; __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); return ((uint64_t)lo) | (((uint64_t)hi) << 32); +} + #else - return 0; + +#define rdtsc() 0 + #endif -} + float