From 9130a60d3d833718c932d3f971b746ba253734bc Mon Sep 17 00:00:00 2001 From: Jason Fielder Date: Mon, 27 Jun 2022 11:41:04 +0200 Subject: MTLCommandBufferState for coordinating GPU workload submission and render pass coordination. MTLFrameBuffer has been implemented to support creation of RenderCommandEncoders, along with supporting functionality in the Metal Context. Optimisation stubs for GPU_framebuffer_bind_ext has been added, which enables specific assignment of attachment load-store ops at the bind level, rather than on a framebuffer object as a whole. Begin and end frame markers are used to encapsulate frame boundaries for explicit workload submission. This is required for explicit APIs where implicit flushing of work does not occur. Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D15027 --- source/blender/gpu/GPU_common_types.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/blender/gpu/GPU_common_types.h') diff --git a/source/blender/gpu/GPU_common_types.h b/source/blender/gpu/GPU_common_types.h index 8c91d60812f..5913caf72e3 100644 --- a/source/blender/gpu/GPU_common_types.h +++ b/source/blender/gpu/GPU_common_types.h @@ -8,6 +8,14 @@ extern "C" { #endif +typedef enum eGPULoadOp { + GPU_LOADACTION_CLEAR = 0, + GPU_LOADACTION_LOAD, + GPU_LOADACTION_DONT_CARE +} eGPULoadOp; + +typedef enum eGPUStoreOp { GPU_STOREACTION_STORE = 0, GPU_STOREACTION_DONT_CARE } eGPUStoreOp; + typedef enum eGPUFrontFace { GPU_CLOCKWISE, GPU_COUNTERCLOCKWISE, -- cgit v1.2.3