GPU: Disable SSBO support from commandline.

In heavy scenes containing many hairs/curves and volumetrics
using SSBO can overwrite the binding information of the volumetric
resolve shader. This has been detected during project Heist and is
only reproducable on NVIDIA platform.

This patch adds an debug option to disable SSBOs from the command
line to replace the --debug-gpu-force-workarounds that has been
used as a workaround on the render farm. Reason is that
force workarounds will also add other limitations as well (number
of texture binds for example)
This commit is contained in:
2022-09-26 09:41:50 +02:00
parent 6075b04cf9
commit 0210c4df17
3 changed files with 24 additions and 8 deletions

View File

@@ -431,6 +431,12 @@ static void detect_workarounds()
/* Minimum Per-Vertex stride is 1 byte for OpenGL. */
GCaps.minimum_per_vertex_stride = 1;
/* Force disable per feature. */
if (G.debug & G_DEBUG_GPU_FORCE_DISABLE_SSBO) {
printf("\n");
printf("GL: Force disabling SSBO support from commandline arguments.\n");
GCaps.shader_storage_buffer_objects_support = false;
}
} // namespace blender::gpu
/** Internal capabilities. */