Blender V4.3
mtl_immediate.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
13#include "MEM_guardedalloc.h"
15
16#include <Cocoa/Cocoa.h>
17#include <Metal/Metal.h>
18#include <QuartzCore/QuartzCore.h>
19
20namespace blender::gpu {
21
22class MTLImmediate : public Immediate {
23 private:
24 MTLContext *context_ = nullptr;
25 MTLTemporaryBuffer current_allocation_;
26 MTLPrimitiveTopologyClass metal_primitive_mode_;
27 MTLPrimitiveType metal_primitive_type_;
28 bool has_begun_ = false;
29
30 public:
33
34 uchar *begin() override;
35 void end() override;
37 {
38 return has_begun_;
39 }
40};
41
42} // namespace blender::gpu
unsigned char uchar
Read Guarded memory(de)allocation.
uchar * begin() override
MTLImmediate(MTLContext *ctx)