diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-03-30 13:47:37 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-03-30 13:49:05 +0300 |
commit | bfe63bbfc470bd2deba0c3fdd793b3f59b682979 (patch) | |
tree | 8cc68748bbd4066d01b94ffead93c8f707a76802 /source/blender/makesrna | |
parent | 01e0062b4c537498d69b30f733e03680da6435c6 (diff) |
Grey out high quality depth of field when it's not supported by GPU
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 8cf36367e01..700d1aa91ea 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -45,6 +45,8 @@ #include "BKE_paint.h" #include "BKE_scene.h" +#include "GPU_extensions.h" + #include "RNA_define.h" #include "RNA_enum_types.h" @@ -1758,6 +1760,11 @@ static void rna_GPUDOFSettings_blades_set(PointerRNA *ptr, const int value) } +static int rna_gpu_is_hq_supported_get(PointerRNA *UNUSED(ptr)) +{ + return GPU_instanced_drawing_support() && GPU_geometry_shader_support(); +} + #else static void rna_def_transform_orientation(BlenderRNA *brna) @@ -3947,6 +3954,12 @@ static void rna_def_gpu_dof_fx(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "high_quality", 1); RNA_def_property_ui_text(prop, "High Quality", "Use high quality depth of field"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); + + prop = RNA_def_property(srna, "is_hq_supported", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_gpu_is_hq_supported_get", NULL); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "High Quality", "Use high quality depth of field"); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); } static void rna_def_gpu_ssao_fx(BlenderRNA *brna) |