···5656 SDL_Rect clipRect;
5757};
58585959+/*! Important GPU features which may not be supported depending on a device's extension support. Can be OR'd together.
6060+ * \see GPU_IsFeatureEnabled()
6161+ */
6262+typedef unsigned int GPU_FeatureEnum;
6363+static const GPU_FeatureEnum GPU_FEATURE_NON_POWER_OF_TWO = 0x1;
6464+static const GPU_FeatureEnum GPU_FEATURE_RENDER_TARGETS = 0x2;
6565+static const GPU_FeatureEnum GPU_FEATURE_BLEND_EQUATIONS = 0x4;
6666+static const GPU_FeatureEnum GPU_FEATURE_BLEND_FUNC_SEPARATE = 0x8;
6767+static const GPU_FeatureEnum GPU_FEATURE_ALL = 0xFFFFFF;
6868+5969/*! Texture filtering options. These affect the quality/interpolation of colors when images are scaled.
6070 * \see GPU_SetImageFilter()
6171 */
···112122113123 /*! \see GPU_Init() */
114124 GPU_Target* (*Init)(GPU_Renderer* renderer, Uint16 w, Uint16 h, Uint32 flags);
125125+126126+ /*! \see GPU_IsFeatureEnabled() */
127127+ Uint8 (*IsFeatureEnabled)(GPU_Renderer* renderer, GPU_FeatureEnum feature);
115128116129 /*! Sets up this renderer to act as the current renderer. Called automatically by GPU_SetCurrentRenderer(). */
117130 void (*SetAsCurrent)(GPU_Renderer* renderer);
···258271// Setup calls
259272/*! Initializes SDL and SDL_gpu. Creates a window and renderer context. */
260273GPU_Target* GPU_Init(const char* renderer_id, Uint16 w, Uint16 h, Uint32 flags);
274274+275275+/*! Checks for important GPU features which may not be supported depending on a device's extension support. Feature flags (GPU_FEATURE_*) can be bitwise OR'd together.
276276+ * \return 1 is all of the passed features are enabled/supported
277277+ * \return 0 if any of the passed features are disabled/unsupported
278278+ */
279279+Uint8 GPU_IsFeatureEnabled(GPU_FeatureEnum feature);
261280262281/*! Get the actual resolution of the window. */
263282void GPU_GetDisplayResolution(int* w, int* h);