{{newin|[[0.8.0]]|080|type=enum}}
Graphics features that can be checked for with [[love.graphics.getSupported]].
== Constants ==
{{New feature|0.10.0|
;clampzero: Whether the "clampzero" [[WrapMode]] is supported.
;lighten: Whether the "lighten" and "darken" [[BlendMode]]s are supported.
;multicanvasformats: Whether multiple [[Canvas]]es with different [[CanvasFormat|formats]] can be used in the same [[love.graphics.setCanvas]] call.

=== Notes ===
<code>clampzero</code> is supported on all desktop systems, but only some mobile devices. If it's not supported and it's attempted to be set, the "clamp" wrap mode will automatically be used instead.

<code>lighten</code> is supported on all desktop systems, and OpenGL ES 3-capable mobile devices.

<code>multicanvasformats</code> is supported on OpenGL 3-capable desktop systems, and OpenGL ES 3-capable mobile devices.}}

{{New feature|11.0|
;glsl3: Whether GLSL 3 [[Shader]]s can be used.
;instancing: Whether [[love.graphics.drawInstanced|mesh instancing]] is supported.
;fullnpot: Whether textures with non-power-of-two dimensions can use [[Texture:setMipmapFilter|mipmapping]] and the 'repeat' [[WrapMode]].
;pixelshaderhighp: Whether pixel shaders can use "highp" 32 bit floating point numbers (as opposed to just 16 bit or lower precision).
;shaderderivatives: Whether shaders can use the <code>dFdx</code>, <code>dFdy</code>, and <code>fwidth</code> functions for computing derivatives.

=== Notes ===
<code>glsl3</code> and <code>instancing</code> are supported on OpenGL 3 and OpenGL ES 3-capable systems.

<code>instancing</code> is also supported on some older systems that don't support GLSL 3, but [[Mesh:attachAttribute|vertex attribute-based]] instancing must be used in that case (instead of <code>love_InstanceID</code> in a GLSL 3 shader).

<code>fullnpot</code>, <code>pixelshaderhighp</code>, and <code>shaderderivatives</code> are supported on all desktop systems and most mobile systems, except for some older OpenGL ES 2 devices.}}

{{Removed feature|0.10.0|
;canvas: Support for [[Canvas]].
;npot: Support for textures with non-power-of-two sizes. See [[PO2 Syndrome]]. 
;subtractive: Support for the subtractive [[BlendMode|blend mode]].}}
{{Removed new feature|0.9.0|0.10.0|
;shader: Support for [[Shader]]s.
;hdrcanvas: Support for HDR [[Canvas]]es. Use [[love.graphics.getCanvasFormats]] instead.
;multicanvas: Support for simultaneous rendering to at least 4 [[Canvas|canvases]] at once, with [[love.graphics.setCanvas]]. Use [[love.graphics.getSystemLimits]] instead.
;mipmap: Support for Mipmaps.
;dxt: Support for DXT compressed images (see [[CompressedFormat]].) Use [[love.graphics.getCompressedImageFormats]] instead.
;bc5: Support for BC4 and BC5 compressed images. Use [[love.graphics.getCompressedImageFormats]] instead.}}
{{Removed new feature|0.9.1|0.10.0|
Use [[love.graphics.isGammaCorrect]] or [[love.graphics.getCanvasFormats]] instead
;srgb:Support for gamma-correct rendering with the <code>srgb</code> window flag in [[love.window.setMode]], and the "srgb" [[TextureFormat]] for [[love.graphics.newCanvas|Canvases]] and [[love.graphics.newImage|Images]].}}
{{Removed feature|0.9.0|
;pixeleffect: Support for [[PixelEffect]]s.}}

=== Notes ===
[[Canvas]]es, [[Shader]]s, mipmaps, npot textures, and the subtract [[BlendMode]] are always supported in version [[0.10.0]] and newer (due to its system requirements.)

For previous versions:

<code>subtractive</code>, <code>mipmap</code>, and <code>dxt</code> are supported on nearly every system.

<code>canvas</code>, <code>multicanvas</code>, <code>npot</code>, and <code>shader</code> have roughly the same minimum requirements for support: a DirectX 9.0c+ capable graphics card with drivers that support ~OpenGL 2.1+.

<code>hdrcanvas</code>, <code>bc5</code>, and <code>srgb</code> all share mostly the same minimum requirements for support as well: a DirectX 10+ capable graphics card with drivers that support ~OpenGL 3+.


DirectX 9.0c+ capable graphics cards include the nvidia GeForce 5000-series (2003) and newer, the ATI Radeon 9000-series and newer, and the Intel GMA x3100 GPU and newer.

DirectX 10+ capable graphics cards include the nvidia GeForce 8000-series (2006) and newer, the ATI/AMD HD 2000-series and newer, and the Intel HD 2000/3000 GPUs and newer.

== See Also ==
* [[parent::love.graphics]]
* [[love.graphics.getSupported]]
[[Category:Enums]]
{{#set:Description=Graphics features that can be checked for with [[love.graphics.getSupported]].}}

== Other Languages ==
{{i18n|GraphicsFeature}}