From 922d53a791d53b77e5ffcf65003555fae0a0e883 Mon Sep 17 00:00:00 2001 From: Jason Fielder Date: Wed, 30 Mar 2022 20:24:39 +0200 Subject: Metal: Adding alternative support for GPU_PRIM_TRI_FAN/LINE_LOOP For Metal backend. - Metal uniform array compatibility in DRW module. - Guard OpenGL-specific workarounds and flushes behind GPU_type_matches_ex API guard. Add further render boundaries for render paths called outside of the main loop. Authored by Apple: Michael Parkin-White Ref: T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D14438 --- source/blender/gpu/GPU_primitive.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/gpu/GPU_primitive.h') diff --git a/source/blender/gpu/GPU_primitive.h b/source/blender/gpu/GPU_primitive.h index 66759cf22d7..4860b037bfb 100644 --- a/source/blender/gpu/GPU_primitive.h +++ b/source/blender/gpu/GPU_primitive.h @@ -20,10 +20,12 @@ typedef enum { GPU_PRIM_LINES, GPU_PRIM_TRIS, GPU_PRIM_LINE_STRIP, - GPU_PRIM_LINE_LOOP, /* GL has this, Vulkan does not */ + GPU_PRIM_LINE_LOOP, /* GL has this, Vulkan and Metal do not */ GPU_PRIM_TRI_STRIP, - GPU_PRIM_TRI_FAN, + GPU_PRIM_TRI_FAN, /* Metal API does not support this. */ + /* Metal API does not support ADJ primitive types but + * handled via the geometry-shader-alternative path. */ GPU_PRIM_LINES_ADJ, GPU_PRIM_TRIS_ADJ, GPU_PRIM_LINE_STRIP_ADJ, -- cgit v1.2.3