sdlRenderGetMetalCommandEncoder function

Pointer<NativeType> sdlRenderGetMetalCommandEncoder(
  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>.

Note that as of SDL 2.0.18, 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.

\since This function is available since SDL 2.0.8.

\sa SDL_RenderGetMetalLayer

extern DECLSPEC void *SDLCALL SDL_RenderGetMetalCommandEncoder(SDL_Renderer * renderer)

Implementation

Pointer<NativeType> sdlRenderGetMetalCommandEncoder(
    Pointer<SdlRenderer> renderer) {
  final sdlRenderGetMetalCommandEncoderLookupFunction = libSdl2.lookupFunction<
      Pointer<NativeType> Function(Pointer<SdlRenderer> renderer),
      Pointer<NativeType> Function(
          Pointer<SdlRenderer> renderer)>('SDL_RenderGetMetalCommandEncoder');
  return sdlRenderGetMetalCommandEncoderLookupFunction(renderer);
}