EEVEE Next: Add info count for shader optimization jobs in progress
Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/112533
This commit is contained in:
parent
dacb768cb6
commit
c9f44a2f9d
|
@ -472,6 +472,11 @@ void Instance::draw_viewport(DefaultFramebufferList *dfbl)
|
|||
ss << "Compiling Shaders (" << materials.queued_shaders_count << " remaining)";
|
||||
info = ss.str();
|
||||
}
|
||||
else if (materials.queued_optimize_shaders_count > 0) {
|
||||
std::stringstream ss;
|
||||
ss << "Optimizing Shaders (" << materials.queued_optimize_shaders_count << " remaining)";
|
||||
info = ss.str();
|
||||
}
|
||||
}
|
||||
|
||||
void Instance::store_metadata(RenderResult *render_result)
|
||||
|
|
|
@ -150,6 +150,7 @@ MaterialModule::~MaterialModule()
|
|||
void MaterialModule::begin_sync()
|
||||
{
|
||||
queued_shaders_count = 0;
|
||||
queued_optimize_shaders_count = 0;
|
||||
|
||||
material_map_.clear();
|
||||
shader_map_.clear();
|
||||
|
@ -172,8 +173,13 @@ MaterialPass MaterialModule::material_pass_get(Object *ob,
|
|||
blender_mat, ntree, pipeline_type, geometry_type, use_deferred_compilation);
|
||||
|
||||
switch (GPU_material_status(matpass.gpumat)) {
|
||||
case GPU_MAT_SUCCESS:
|
||||
break;
|
||||
case GPU_MAT_SUCCESS: {
|
||||
/* Determine optimization status for remaining compilations counter. */
|
||||
int optimization_status = GPU_material_optimization_status(matpass.gpumat);
|
||||
if (optimization_status == GPU_MAT_OPTIMIZATION_QUEUED) {
|
||||
queued_optimize_shaders_count++;
|
||||
}
|
||||
} break;
|
||||
case GPU_MAT_QUEUED:
|
||||
queued_shaders_count++;
|
||||
blender_mat = (geometry_type == MAT_GEOM_VOLUME_OBJECT) ? BKE_material_default_volume() :
|
||||
|
|
|
@ -234,6 +234,7 @@ class MaterialModule {
|
|||
::Material *glossy_mat;
|
||||
|
||||
int64_t queued_shaders_count = 0;
|
||||
int64_t queued_optimize_shaders_count = 0;
|
||||
|
||||
private:
|
||||
Instance &inst_;
|
||||
|
|
Loading…
Reference in New Issue