wined3d: Fix the value of HIGHEST_TRANSFORMSTATE.
The highest transform state should be 511.
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 64dd866..3a382da 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -2726,7 +2726,7 @@
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
TRACE("(%p) : For state %s\n", This, debug_d3dtstype(State));
- if (State < HIGHEST_TRANSFORMSTATE)
+ if (State <= HIGHEST_TRANSFORMSTATE)
{
mat = &This->updateStateBlock->transforms[State];
} else {
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 82931ea..60df5bb 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -531,9 +531,7 @@
#define MAX_STREAMS 16 /* Maximum possible streams - used for fixed size arrays
See MaxStreams in MSDN under GetDeviceCaps */
- /* Maximum number of constants provided to the shaders */
-#define HIGHEST_TRANSFORMSTATE 512
- /* Highest value in WINED3DTRANSFORMSTATETYPE */
+#define HIGHEST_TRANSFORMSTATE WINED3DTS_WORLDMATRIX(255) /* Highest value in WINED3DTRANSFORMSTATETYPE */
/* Checking of API calls */
/* --------------------- */