Commit 493f688f authored by hybrid's avatar hybrid

Added a driver feature check for non-square textures (which some d3d drivers...

Added a driver feature check for non-square textures (which some d3d drivers don't seem to support...). It's not yet used in size calculations, though.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1612 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 0879f07b
......@@ -73,6 +73,9 @@ namespace video
//! Is HLSL supported?
EVDF_HLSL,
//! Are non-square textures supported?
EVDF_TEXTURE_NSQUARE,
//! Are non-power-of-two textures supported?
EVDF_TEXTURE_NPOT,
......
......@@ -544,6 +544,8 @@ bool CD3D8Driver::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const
return Caps.PixelShaderVersion >= D3DPS_VERSION(2,0);
case EVDF_PIXEL_SHADER_3_0:
return Caps.PixelShaderVersion >= D3DPS_VERSION(3,0);
case EVDF_TEXTURE_NSQUARE:
return (Caps.TextureCaps & D3DPTEXTURECAPS_SQUAREONLY) == 0;
case EVDF_TEXTURE_NPOT:
return (Caps.TextureCaps & D3DPTEXTURECAPS_POW2) == 0;
default:
......
......@@ -589,6 +589,8 @@ bool CD3D9Driver::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const
return Caps.PixelShaderVersion >= D3DPS_VERSION(3,0);
case EVDF_HLSL:
return Caps.VertexShaderVersion >= D3DVS_VERSION(1,1);
case EVDF_TEXTURE_NSQUARE:
return (Caps.TextureCaps & D3DPTEXTURECAPS_SQUAREONLY) == 0;
case EVDF_TEXTURE_NPOT:
return (Caps.TextureCaps & D3DPTEXTURECAPS_POW2) == 0;
default:
......
......@@ -466,6 +466,8 @@ bool COpenGLExtensionHandler::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const
return FeatureAvailable[IRR_ARB_fragment_program];
case EVDF_ARB_GLSL:
return (FeatureAvailable[IRR_ARB_shading_language_100]||Version>=200);
case EVDF_TEXTURE_NSQUARE:
return true; // non-square is always supported
case EVDF_TEXTURE_NPOT:
// Some ATI cards seem to have only SW support in OpenGL 2.0
// drivers if the extension is not exposed, so we skip this
......
......@@ -160,6 +160,7 @@ bool CSoftwareDriver::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const
switch (feature)
{
case EVDF_RENDER_TO_TARGET:
case EVDF_TEXTURE_NSQUARE:
return FeatureEnabled[feature];
default:
return false;
......
......@@ -293,6 +293,7 @@ bool CBurningVideoDriver::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const
case EVDF_RENDER_TO_TARGET:
case EVDF_MULTITEXTURE:
case EVDF_HARDWARE_TL:
case EVDF_TEXTURE_NSQUARE:
return true;
default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment