sdlGetRenderMetalCommandEncoder function

Pointer<NativeType> sdlGetRenderMetalCommandEncoder(
  1. Pointer<SdlRenderer> renderer
)

Get the Metal command encoder for the current frame.

This function returns void *, so SDL doesn't have to include Metal's headers, but it can be safely cast to an id<MTLRenderCommandEncoder>.

This will return NULL if Metal refuses to give SDL a drawable to render to, which might happen if the window is hidden/minimized/offscreen. This doesn't apply to command encoders for render targets, just the window's backbuffer. Check your return values!

\param renderer the renderer to query. \returns an id<MTLRenderCommandEncoder> on success, or NULL if the renderer isn't a Metal renderer or there was an error.

\threadsafety This function should only be called on the main thread.

\since This function is available since SDL 3.1.3.

\sa SDL_GetRenderMetalLayer

extern SDL_DECLSPEC void * SDLCALL SDL_GetRenderMetalCommandEncoder(SDL_Renderer *renderer)

Implementation

Pointer<NativeType> sdlGetRenderMetalCommandEncoder(
    Pointer<SdlRenderer> renderer) {
  final sdlGetRenderMetalCommandEncoderLookupFunction = libSdl3.lookupFunction<
      Pointer<NativeType> Function(Pointer<SdlRenderer> renderer),
      Pointer<NativeType> Function(
          Pointer<SdlRenderer> renderer)>('SDL_GetRenderMetalCommandEncoder');
  return sdlGetRenderMetalCommandEncoderLookupFunction(renderer);
}