Cycles: attempted fixes for OS X preview render problem, and disable

kernel cache there now as well since it seems to give issues there.
This commit is contained in:
Brecht Van Lommel
2011-09-14 22:26:55 +00:00
parent f97d7b234d
commit 089abdecf7
6 changed files with 12 additions and 4 deletions

View File

@@ -8,7 +8,7 @@ include(cmake/external_libs.cmake)
# Build Flags
set(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long")
set(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native")
set(GCC_OPTIM_FLAGS "-ffast-math -msse -msse2 -msse3 -mtune=native")
if(APPLE)
set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}")

View File

@@ -108,7 +108,7 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, in
/* for multi devices, this assumes the ineffecient method that we allocate
all pixels on the device even though we only render to a subset */
pixels += sizeof(uint8_t)*4*y*w;
pixels += 4*y*w;
glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, pixels);

View File

@@ -19,6 +19,8 @@
#ifndef __DEVICE_NETWORK_H__
#define __DEVICE_NETWORK_H__
#ifdef WITH_NETWORK
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/array.hpp>
@@ -300,5 +302,7 @@ private:
CCL_NAMESPACE_END
#endif
#endif /* __DEVICE_NETWORK_H__ */

View File

@@ -353,19 +353,23 @@ public:
string clbin = string_printf("cycles_kernel_%s_%s.clbin", device_md5.c_str(), kernel_md5.c_str());;
clbin = path_user_get(path_join("cache", clbin));
#ifndef __APPLE__
if(path_exists(clbin)) {
/* if exists already, try use it */
if(!load_binary(kernel_path, clbin))
return false;
}
else {
#endif
/* compile kernel */
if(!compile_kernel(kernel_path, kernel_md5))
return false;
#ifndef __APPLE__
/* save binary for reuse */
save_binary(clbin);
}
#endif
/* find kernels */
ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr);

View File

@@ -58,7 +58,7 @@ public:
background = false;
output_path = "";
progressive = true;
progressive = false;
passes = INT_MAX;
tile_size = 64;
min_size = 64;

View File

@@ -96,7 +96,7 @@ void TileManager::set_tiles()
bool TileManager::done()
{
return (state.pass+1 >= passes && state.resolution == 1);
return (state.pass+1 >= passes);
}
bool TileManager::next()