コード例 #1
0
ファイル: util_debug.cpp プロジェクト: Ichthyostega/blender
void DebugFlags::CPU::reset()
{
#define STRINGIFY(x) #x
#define CHECK_CPU_FLAGS(flag, env) \
	do { \
		flag = (getenv(env) == NULL); \
		if(!flag) { \
			VLOG(1) << "Disabling " << STRINGIFY(flag) << " instruction set."; \
		} \
	} while(0)

	CHECK_CPU_FLAGS(avx2, "CYCLES_CPU_NO_AVX2");
	CHECK_CPU_FLAGS(avx, "CYCLES_CPU_NO_AVX");
	CHECK_CPU_FLAGS(sse41, "CYCLES_CPU_NO_SSE41");
	CHECK_CPU_FLAGS(sse3, "CYCLES_CPU_NO_SSE3");
	CHECK_CPU_FLAGS(sse2, "CYCLES_CPU_NO_SSE2");

#undef STRINGIFY
#undef CHECK_CPU_FLAGS

	if(getenv("CYCLES_BVH2") != NULL) {
		bvh_layout = BVH_LAYOUT_BVH2;
	}
	else if(getenv("CYCLES_BVH4") != NULL) {
		bvh_layout = BVH_LAYOUT_BVH4;
	}
	else if(getenv("CYCLES_BVH8") != NULL) {
		bvh_layout = BVH_LAYOUT_BVH8;
	}
	else {
		bvh_layout = BVH_LAYOUT_DEFAULT;
	}

	split_kernel = false;
}
コード例 #2
0
void DebugFlags::CPU::reset()
{
#define STRINGIFY(x) #x
#define CHECK_CPU_FLAGS(flag, env) \
	do { \
		flag = (getenv(env) == NULL); \
		if(!flag) { \
			VLOG(1) << "Disabling " << STRINGIFY(flag) << " instruction set."; \
		} \
	} while(0)

	CHECK_CPU_FLAGS(avx2, "CYCLES_CPU_NO_AVX2");
	CHECK_CPU_FLAGS(avx, "CYCLES_CPU_NO_AVX");
	CHECK_CPU_FLAGS(sse41, "CYCLES_CPU_NO_SSE41");
	CHECK_CPU_FLAGS(sse3, "CYCLES_CPU_NO_SSE3");
	CHECK_CPU_FLAGS(sse2, "CYCLES_CPU_NO_SSE2");

#undef STRINGIFY
#undef CHECK_CPU_FLAGS

	qbvh = true;
}