SDL_GetRowStretchCode(3)

SDL_GetRowStretchCode3

(src/sdl_stretchcode.h)

Usage

 #include <SDL_stretch.h>

extern unsigned char* SDL_GetRowStretchCode(void);

extern unsigned char* SDL_NewRowStretchCode(unsigned size);

Overview

TheRowStretchCode is a shared buffer between Stretch-routines that use no extra buffer-argument. You should call SDL_SetRowStretchCode to fill this internal buffer and set a "call"-operation for your target cpu to execute this static buffer. That is done for effiency as the RowStretch is often called in a tight loop for each Row in a rectengular stretch and it is best to not use a variable argument with an indirect call or a function call that would build up a callframe and release that callframe later.

If you do not need that effiency, use PutRowStretchCode and RunRowStretchCode which are also good in a multithreading environment. To allocate a new buffer for usage with Put/Run you can use the NewRowStretchCode routine which is also used on NX machines (e.g. AMD64) where the data segment is set to be not-executable (in that case it will allocate from heap and use mprotect). if the argument is 0 then a buffer of the default size is allocated. If the buffer allocation (or mprotect) fails it will return NULL and SDL_SetError.

Releases

5 releases since Debian 6.0 (Squeeze); the text changed 3 times.

  1. 6.0
  2. 7
  3. 8–9
  4. 10

From libsdl-stretch-dev 0.3.1-12 in Debian 10 (Buster). Parsed by carta from the page's man source.