diff --git a/examples_ptx/aobench/ao.ispc b/examples_ptx/aobench/ao.ispc index 873d0939..4f52dad9 100644 --- a/examples_ptx/aobench/ao.ispc +++ b/examples_ptx/aobench/ao.ispc @@ -81,6 +81,9 @@ static inline void vnormalize(vec &v) { } +#if 1 +inline +#endif static void ray_plane_intersect(Isect &isect, Ray &ray, const uniform Plane &plane) { float d = -dot(plane.p, plane.n); @@ -123,6 +126,9 @@ ray_sphere_intersect(Isect &isect, Ray &ray, const uniform Sphere &sphere) { } +#if 1 +inline +#endif static void orthoBasis(vec basis[3], vec n) { basis[2] = n; @@ -146,6 +152,9 @@ orthoBasis(vec basis[3], vec n) { } +#if 1 +inline +#endif static float ambient_occlusion(Isect &isect, const uniform Plane &plane, const uniform Sphere spheres[3], RNGState &rngstate) { diff --git a/examples_ptx/common_gpu.mk b/examples_ptx/common_gpu.mk index fefe6297..a3de535f 100644 --- a/examples_ptx/common_gpu.mk +++ b/examples_ptx/common_gpu.mk @@ -108,8 +108,8 @@ objs_gpu/%_ispc.h objs_gpu/%_ispc.bc: %.ispc objs_gpu/%_llvm_ispc.ptx: objs_gpu/%_ispc.bc $(LLC) $(LLC_FLAGS) -o $@ $< objs_gpu/%_nvvm_ispc.ptx: objs_gpu/%_ispc.bc - $(LLVM32DIS) $< -o objs/$*_ispc-ll32.ll - $(PTXGEN) objs/$*_ispc-ll32.ll > $@ + $(LLVM32DIS) $< -o objs_gpu/$*_ispc-ll32.ll + $(PTXGEN) objs_gpu/$*_ispc-ll32.ll > $@ # generate an object file from PTX objs_gpu/%_ispc.o: objs_gpu/%_ispc.ptx diff --git a/examples_ptx/rt/rt.ispc b/examples_ptx/rt/rt.ispc index 0d7d6480..80ce5ff6 100644 --- a/examples_ptx/rt/rt.ispc +++ b/examples_ptx/rt/rt.ispc @@ -80,6 +80,9 @@ static inline float Dot(const float3 a, const float3 b) { } +#if 1 +inline +#endif static void generateRay(uniform const float raster2camera[4][4], uniform const float camera2world[4][4], float x, float y, Ray &ray) { @@ -116,6 +119,9 @@ static void generateRay(uniform const float raster2camera[4][4], } +#if 1 +inline +#endif static bool_t BBoxIntersect(const uniform float bounds[2][3], const Ray &ray) { uniform float3 bounds0 = { bounds[0][0], bounds[0][1], bounds[0][2] }; @@ -155,6 +161,9 @@ static bool_t BBoxIntersect(const uniform float bounds[2][3], +#if 1 +inline +#endif static bool_t TriIntersect(const uniform Triangle &tri, Ray &ray) { uniform float3 p0 = { tri.p[0][0], tri.p[0][1], tri.p[0][2] }; uniform float3 p1 = { tri.p[1][0], tri.p[1][1], tri.p[1][2] }; @@ -195,6 +204,9 @@ static bool_t TriIntersect(const uniform Triangle &tri, Ray &ray) { } +#if 1 +inline +#endif bool_t BVHIntersect(const uniform LinearBVHNode nodes[], const uniform Triangle tris[], Ray &r) { @@ -253,6 +265,9 @@ BVHIntersect(const uniform LinearBVHNode nodes[], } +#if 1 +inline +#endif static void raytrace_tile(uniform int x0, uniform int x1, uniform int y0, uniform int y1, uniform int width, uniform int height,