forked from bartvdbraak/blender
Cycles: Log requested device features
Useful to have this always logged because otherwise it's needed to remove cached kernels and check build flags to see which features are enabled.
This commit is contained in:
parent
45b5bf034b
commit
cf14437ac9
@ -31,6 +31,29 @@
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
/* Device Requested Features */
|
||||
|
||||
std::ostream& operator <<(std::ostream &os,
|
||||
const DeviceRequestedFeatures& requested_features)
|
||||
{
|
||||
os << "Experimental features: "
|
||||
<< (requested_features.experimental ? "On" : "Off") << std::endl;
|
||||
os << "Max closure count: " << requested_features.max_closure << std::endl;
|
||||
os << "Max nodes group: " << requested_features.max_nodes_group << std::endl;
|
||||
/* TODO(sergey): Decode bitflag into list of names. */
|
||||
os << "Nodes features: " << requested_features.nodes_features << std::endl;
|
||||
/* TODO(sergey): Make it utility function to convert bool to string. */
|
||||
os << "Use hair: "
|
||||
<< (requested_features.use_hair ? "True" : "False") << std::endl;
|
||||
os << "Use object motion: "
|
||||
<< (requested_features.use_object_motion ? "True" : "False") << std::endl;
|
||||
os << "Use camera motion: "
|
||||
<< (requested_features.use_camera_motion ? "True" : "False") << std::endl;
|
||||
os << "Use Baking: "
|
||||
<< (requested_features.use_baking ? "True" : "False") << std::endl;
|
||||
return os;
|
||||
}
|
||||
|
||||
/* Device */
|
||||
|
||||
Device::~Device()
|
||||
|
@ -124,8 +124,12 @@ public:
|
||||
use_camera_motion == requested_features.use_camera_motion &&
|
||||
use_baking == requested_features.use_baking);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
std::ostream& operator <<(std::ostream &os,
|
||||
const DeviceRequestedFeatures& requested_features);
|
||||
|
||||
/* Device */
|
||||
|
||||
struct DeviceDrawParams {
|
||||
|
@ -30,6 +30,7 @@
|
||||
|
||||
#include "util_foreach.h"
|
||||
#include "util_function.h"
|
||||
#include "util_logging.h"
|
||||
#include "util_math.h"
|
||||
#include "util_opengl.h"
|
||||
#include "util_task.h"
|
||||
@ -650,7 +651,9 @@ void Session::load_kernels()
|
||||
if(!kernels_loaded) {
|
||||
progress.set_status("Loading render kernels (may take a few minutes the first time)");
|
||||
|
||||
if(!device->load_kernels(get_requested_device_features())) {
|
||||
DeviceRequestedFeatures requested_features = get_requested_device_features();
|
||||
VLOG(2) << "Requested features:\n" << requested_features;
|
||||
if(!device->load_kernels(requested_features)) {
|
||||
string message = device->error_message();
|
||||
if(message.empty())
|
||||
message = "Failed loading render kernel, see console for errors";
|
||||
|
Loading…
Reference in New Issue
Block a user