[04/10] wined3d: Ignore SetTextureStageState on unsupported
texture stages
H. Verbeet
hverbeet at gmail.com
Mon Apr 16 14:44:27 CDT 2007
On 16/04/07, Stefan Dösinger <stefandoesinger at gmx.at> wrote:
> Wouldn't it be better to check against MAX_TEXTURES instead of the gl limit?
True, use the attached patch instead.
-------------- next part --------------
---
dlls/wined3d/device.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index d4f8ddd..d19d773 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3774,6 +3774,11 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetTextureStageState(IWineD3DDevice *if
TRACE("(%p) : Stage=%d, Type=%s(%d), Value=%d\n", This, Stage, debug_d3dtexturestate(Type), Type, Value);
+ if (Stage >= MAX_TEXTURES) {
+ WARN("Attempting to set stage %u which is higher than the max stage %u, ignoring\n", Stage, MAX_TEXTURES - 1);
+ return WINED3D_OK;
+ }
+
This->updateStateBlock->changed.textureState[Stage][Type] = TRUE;
This->updateStateBlock->set.textureState[Stage][Type] = TRUE;
This->updateStateBlock->textureState[Stage][Type] = Value;
More information about the wine-patches
mailing list