summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiancarlo Razzolini2016-02-15 11:31:26 -0200
committerGiancarlo Razzolini2016-02-15 11:31:26 -0200
commit26df0ebe959732dfecc344ad6229f722796ffb5c (patch)
treee390b878715342a3b5df3c72682ccf7809a84bd5
parent15712ed32e77ce9fe66547035729ea2889776720 (diff)
downloadaur-26df0ebe959732dfecc344ad6229f722796ffb5c.tar.gz
* Commit of version 1.9.3.
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD94
-rw-r--r--patch-1.9.3-ivb.patch (renamed from patch-1.9.1-ivb.patch)74
3 files changed, 95 insertions, 99 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c6c9f61afdc0..72007e52d8fd 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Fri Jan 15 18:17:08 UTC 2016
+# Mon Feb 15 13:31:18 UTC 2016
pkgbase = wine-ivb
- pkgdesc = A compatibility layer for running Windows programs: indexed vertex blending
- pkgver = 1.9.1
+ pkgdesc = A compatibility layer for running Windows programs: indexed vertex blending - https://bugs.winehq.org/show_bug.cgi?id=39057
+ pkgver = 1.9.3
pkgrel = 1
url = http://www.winehq.com
install = wine.install
@@ -53,6 +53,8 @@ pkgbase = wine-ivb
makedepends = lib32-libcl
makedepends = libxslt
makedepends = lib32-libxslt
+ makedepends = gst-plugins-base-libs
+ makedepends = lib32-gst-plugins-base-libs
makedepends = samba
makedepends = opencl-headers
makedepends = fontconfig
@@ -114,27 +116,29 @@ pkgbase = wine-ivb
optdepends = lib32-libcl
optdepends = libxslt
optdepends = lib32-libxslt
+ optdepends = gst-plugins-base-libs
+ optdepends = lib32-gst-plugins-base-libs
optdepends = cups
optdepends = samba
optdepends = dosbox
- provides = bin32-wine=1.9.1
- provides = wine=1.9.1
- provides = wine-wow64=1.9.1
+ provides = bin32-wine=1.9.3
+ provides = wine=1.9.3
+ provides = wine-wow64=1.9.3
conflicts = bin32-wine
conflicts = wine
conflicts = wine-wow64
replaces = bin32-wine
replaces = wine
options = staticlibs
- source = https://dl.winehq.org/wine/source/1.9/wine-1.9.1.tar.bz2
- source = https://dl.winehq.org/wine/source/1.9/wine-1.9.1.tar.bz2.sign
+ source = https://dl.winehq.org/wine/source/1.9/wine-1.9.3.tar.bz2
+ source = https://dl.winehq.org/wine/source/1.9/wine-1.9.3.tar.bz2.sign
source = 30-win32-aliases.conf
- source = patch-1.9.1-ivb.patch
+ source = patch-1.9.3-ivb.patch
source = patch_temp_constants.patch
- sha512sums = 5179922a40c404c4359145c7494f277904a591e534c9a90b8252d5b8a51c33a19ae320ba86217d0532be53d60f32095d300d04f703ea95c4d007fc5d7fd047bf
+ sha512sums = be44c0c16205ba6187fd07b715de8b888ebe97464aaa938962aaf130729177f434d1547170761c4b22f5418b16de4c00a234ac47205e2c444ef828bc38d417a4
sha512sums = SKIP
sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb
- sha512sums = c2966299f0c3f4605e8dcf39e3c840b0a5b654ef48a85fd2506b11a4ce17710e9543efcba3b990174b72e3b4ae2a95226ab33a4a58d17eed8a7de599e6df8489
+ sha512sums = 71a8614e9044cc750fcf80431dff6fe383b5abe906e05224082fefcdb4d4429f8c118eb775689e59386b863e01fd1376e5ae2569a292418212ac8b84156d62e7
sha512sums = 83583553d8db60e671679adcddedb87a2f8a740d36e5cdffef4a0cf2b995e48be216e53a7d1ee3bbeafd5bf9d0938b4c32b42265620c8e7c5bba967da893be11
pkgname = wine-ivb
diff --git a/PKGBUILD b/PKGBUILD
index e11c4647736c..1411e577019d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,19 +7,19 @@
_basename=wine
pkgname=wine-ivb
-pkgver=1.9.1
+pkgver=1.9.3
pkgrel=1
_pkgbasever=${pkgver/rc/-rc}
source=(https://dl.winehq.org/wine/source/1.9/$_basename-$_pkgbasever.tar.bz2{,.sign}
30-win32-aliases.conf
- patch-1.9.1-ivb.patch
+ patch-$pkgver-ivb.patch
patch_temp_constants.patch)
-sha512sums=('5179922a40c404c4359145c7494f277904a591e534c9a90b8252d5b8a51c33a19ae320ba86217d0532be53d60f32095d300d04f703ea95c4d007fc5d7fd047bf'
+sha512sums=('be44c0c16205ba6187fd07b715de8b888ebe97464aaa938962aaf130729177f434d1547170761c4b22f5418b16de4c00a234ac47205e2c444ef828bc38d417a4'
'SKIP'
'6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
- 'c2966299f0c3f4605e8dcf39e3c840b0a5b654ef48a85fd2506b11a4ce17710e9543efcba3b990174b72e3b4ae2a95226ab33a4a58d17eed8a7de599e6df8489'
+ '71a8614e9044cc750fcf80431dff6fe383b5abe906e05224082fefcdb4d4429f8c118eb775689e59386b863e01fd1376e5ae2569a292418212ac8b84156d62e7'
'83583553d8db60e671679adcddedb87a2f8a740d36e5cdffef4a0cf2b995e48be216e53a7d1ee3bbeafd5bf9d0938b4c32b42265620c8e7c5bba967da893be11')
validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)
@@ -50,45 +50,47 @@ _depends=(
makedepends=(autoconf ncurses bison perl fontforge flex
'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2'
- giflib lib32-giflib
- libpng lib32-libpng
- gnutls lib32-gnutls
- libxinerama lib32-libxinerama
- libxcomposite lib32-libxcomposite
- libxmu lib32-libxmu
- libxxf86vm lib32-libxxf86vm
- libldap lib32-libldap
- mpg123 lib32-mpg123
- openal lib32-openal
- v4l-utils lib32-v4l-utils
- libpulse lib32-libpulse
- alsa-lib lib32-alsa-lib
- libxcomposite lib32-libxcomposite
- mesa lib32-mesa
- mesa-libgl lib32-mesa-libgl
- libcl lib32-libcl
- libxslt lib32-libxslt
+ giflib lib32-giflib
+ libpng lib32-libpng
+ gnutls lib32-gnutls
+ libxinerama lib32-libxinerama
+ libxcomposite lib32-libxcomposite
+ libxmu lib32-libxmu
+ libxxf86vm lib32-libxxf86vm
+ libldap lib32-libldap
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ libpulse lib32-libpulse
+ alsa-lib lib32-alsa-lib
+ libxcomposite lib32-libxcomposite
+ mesa lib32-mesa
+ mesa-libgl lib32-mesa-libgl
+ libcl lib32-libcl
+ libxslt lib32-libxslt
+ gst-plugins-base-libs lib32-gst-plugins-base-libs
samba
opencl-headers
)
optdepends=(
- giflib lib32-giflib
- libpng lib32-libpng
- libldap lib32-libldap
- gnutls lib32-gnutls
- mpg123 lib32-mpg123
- openal lib32-openal
- v4l-utils lib32-v4l-utils
- libpulse lib32-libpulse
- alsa-plugins lib32-alsa-plugins
- alsa-lib lib32-alsa-lib
- libjpeg-turbo lib32-libjpeg-turbo
- libxcomposite lib32-libxcomposite
- libxinerama lib32-libxinerama
- ncurses lib32-ncurses
- libcl lib32-libcl
- libxslt lib32-libxslt
+ giflib lib32-giflib
+ libpng lib32-libpng
+ libldap lib32-libldap
+ gnutls lib32-gnutls
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ libpulse lib32-libpulse
+ alsa-plugins lib32-alsa-plugins
+ alsa-lib lib32-alsa-lib
+ libjpeg-turbo lib32-libjpeg-turbo
+ libxcomposite lib32-libxcomposite
+ libxinerama lib32-libxinerama
+ ncurses lib32-ncurses
+ libcl lib32-libcl
+ libxslt lib32-libxslt
+ gst-plugins-base-libs lib32-gst-plugins-base-libs
cups
samba dosbox
)
@@ -103,7 +105,7 @@ if [[ $CARCH == i686 ]]; then
replaces=('wine')
else
makedepends=(${makedepends[@]} ${_depends[@]})
- provides=("bin32-wine=$pkgver" "wine=$pkgver" "wine-wow64=$pkgver")
+ provides=("bin32-wine=$pkgver" "wine=$pkgver" "wine-wow64=$pkgver")
conflicts=('bin32-wine' 'wine' 'wine-wow64')
replaces=('bin32-wine' 'wine')
fi
@@ -114,14 +116,13 @@ prepare() {
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure*
- # These additional CPPFLAGS solve FS#27662 and FS#34195
- export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
-
# Get rid of old build dirs
rm -rf $pkgname-{32,64}-build
mkdir $pkgname-32-build
+
+ # Apply the ivb patches
cd $pkgname
- patch -Np1 -i ../patch-1.9.1-ivb.patch
+ patch -Np1 -i ../patch-$pkgver-ivb.patch
patch -Np1 -i ../patch_temp_constants.patch
}
@@ -137,7 +138,7 @@ build() {
--prefix=/usr \
--libdir=/usr/lib \
--with-x \
- --without-gstreamer \
+ --with-gstreamer \
--enable-win64
# Gstreamer was disabled for FS#33655
@@ -156,11 +157,10 @@ build() {
../$pkgname/configure \
--prefix=/usr \
--with-x \
- --without-gstreamer \
+ --with-gstreamer \
"${_wine32opts[@]}"
- # These additional flags solve FS#23277
- make CFLAGS+="-mstackrealign -mincoming-stack-boundary=2" CXXFLAGS+="-mstackrealign -mincoming-stack-boundary=2"
+ make
}
package() {
diff --git a/patch-1.9.1-ivb.patch b/patch-1.9.3-ivb.patch
index 911e9435eb23..7f1823146335 100644
--- a/patch-1.9.1-ivb.patch
+++ b/patch-1.9.3-ivb.patch
@@ -273,10 +273,10 @@ index 8b56dbe..bdefc8b 100644
test_depthbias();
test_flip();
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
-index dabb5fd..90f0a9b 100644
+index 490c20f..e2f8476 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
-@@ -3255,6 +3255,8 @@ BOOL context_apply_draw_state(struct wined3d_context *context, struct wined3d_de
+@@ -3256,6 +3256,8 @@ BOOL context_apply_draw_state(struct wined3d_context *context, struct wined3d_de
{
device->shader_backend->shader_load_constants(device->shader_priv, context, state);
context->constant_update_mask = 0;
@@ -300,10 +300,10 @@ index 316ccb8..46437a8 100644
}
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
-index 7c5a4c2..78cc2ce 100644
+index 039a867..98d4d54 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
-@@ -3265,10 +3265,14 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
+@@ -3285,10 +3285,14 @@ struct wined3d_texture * CDECL wined3d_device_get_texture(const struct wined3d_d
HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, WINED3DCAPS *caps)
{
@@ -320,10 +320,10 @@ index 7c5a4c2..78cc2ce 100644
HRESULT CDECL wined3d_device_get_display_mode(const struct wined3d_device *device, UINT swapchain_idx,
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
-index ed23cd1..5ccb6df 100644
+index 1407da6..3552a7d 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
-@@ -3725,6 +3725,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter)
+@@ -3733,6 +3733,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter)
adapter->d3d_info.xyzrhw = vertex_caps.xyzrhw;
adapter->d3d_info.ffp_generic_attributes = vertex_caps.ffp_generic_attributes;
adapter->d3d_info.limits.ffp_vertex_blend_matrices = vertex_caps.max_vertex_blend_matrices;
@@ -331,16 +331,8 @@ index ed23cd1..5ccb6df 100644
adapter->d3d_info.emulated_flatshading = vertex_caps.emulated_flatshading;
adapter->fragment_pipe->get_caps(gl_info, &fragment_caps);
-@@ -3832,7 +3833,6 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter)
- install_gl_compat_wrapper(gl_info, ARB_MULTITEXTURE);
- if (gl_ext_emul_mask & GL_EXT_EMUL_EXT_FOG_COORD)
- install_gl_compat_wrapper(gl_info, EXT_FOG_COORD);
--
- return TRUE;
- }
-
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
-index 66a541a..06a50bb 100644
+index 1b82858..ccae158 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -109,6 +109,10 @@ struct shader_glsl_priv {
@@ -350,7 +342,7 @@ index 66a541a..06a50bb 100644
+
+ BOOL ivb_use_ubo;
+ BOOL ubo_blend_mat_need_update;
-+ GLuint ubo_modelview; //World transforms matrices UBO (for vertex blending)
++ GLuint ubo_modelview; /* World transforms matrices UBO (for vertex blending) */
};
struct glsl_vs_program
@@ -418,7 +410,7 @@ index 66a541a..06a50bb 100644
}
}
-@@ -5813,8 +5847,7 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -5969,8 +6003,7 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
{
{"vec4", "ffp_attrib_position"}, /* WINED3D_FFP_POSITION */
{"vec4", "ffp_attrib_blendweight"}, /* WINED3D_FFP_BLENDWEIGHT */
@@ -428,7 +420,7 @@ index 66a541a..06a50bb 100644
{"vec3", "ffp_attrib_normal"}, /* WINED3D_FFP_NORMAL */
{"float", "ffp_attrib_psize"}, /* WINED3D_FFP_PSIZE */
{"vec4", "ffp_attrib_diffuse"}, /* WINED3D_FFP_DIFFUSE */
-@@ -5826,10 +5859,15 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -5982,10 +6015,15 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
unsigned int i;
BOOL legacy_context = gl_info->supported[WINED3D_GL_LEGACY_CONTEXT];
BOOL output_legacy_fogcoord = legacy_context;
@@ -444,7 +436,7 @@ index 66a541a..06a50bb 100644
for (i = 0; i < WINED3D_FFP_ATTRIBS_COUNT; ++i)
{
-@@ -5839,7 +5877,16 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -5995,7 +6033,16 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
}
shader_addline(buffer, "\n");
@@ -462,7 +454,7 @@ index 66a541a..06a50bb 100644
shader_addline(buffer, "uniform mat4 ffp_projection_matrix;\n");
shader_addline(buffer, "uniform mat3 ffp_normal_matrix;\n");
shader_addline(buffer, "uniform mat4 ffp_texture_matrix[%u];\n", MAX_TEXTURES);
-@@ -5898,6 +5945,8 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -6054,6 +6101,8 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
shader_addline(buffer, "\nvoid main()\n{\n");
shader_addline(buffer, "float m;\n");
shader_addline(buffer, "vec3 r;\n");
@@ -471,7 +463,7 @@ index 66a541a..06a50bb 100644
for (i = 0; i < ARRAY_SIZE(attrib_info); ++i)
{
-@@ -5927,9 +5976,24 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -6083,9 +6132,24 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
for (i = 0; i < settings->vertexblends; ++i)
shader_addline(buffer, "ffp_attrib_blendweight[%u] -= ffp_attrib_blendweight[%u];\n", settings->vertexblends, i);
@@ -499,7 +491,7 @@ index 66a541a..06a50bb 100644
shader_addline(buffer, "gl_Position = ffp_projection_matrix * ec_pos;\n");
if (settings->clipping)
-@@ -5947,7 +6011,18 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
+@@ -6103,7 +6167,18 @@ static GLuint shader_glsl_generate_ffp_vertex_shader(struct shader_glsl_priv *pr
else
{
for (i = 0; i < settings->vertexblends + 1; ++i)
@@ -519,7 +511,7 @@ index 66a541a..06a50bb 100644
}
if (settings->normalize)
-@@ -6781,11 +6856,35 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info *
+@@ -6937,11 +7012,35 @@ static void shader_glsl_init_vs_uniform_locations(const struct wined3d_gl_info *
vs->pos_fixup_location = GL_EXTCALL(glGetUniformLocation(program_id, "posFixup"));
@@ -556,7 +548,7 @@ index 66a541a..06a50bb 100644
vs->projection_matrix_location = GL_EXTCALL(glGetUniformLocation(program_id, "ffp_projection_matrix"));
vs->normal_matrix_location = GL_EXTCALL(glGetUniformLocation(program_id, "ffp_normal_matrix"));
for (i = 0; i < MAX_TEXTURES; ++i)
-@@ -7157,7 +7256,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
+@@ -7313,7 +7412,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
entry->constant_update_mask |= WINED3D_SHADER_CONST_FFP_MODELVIEW
| WINED3D_SHADER_CONST_FFP_PROJ;
@@ -565,7 +557,7 @@ index 66a541a..06a50bb 100644
{
if (entry->vs.modelview_matrix_location[i] != -1)
{
-@@ -7166,6 +7265,9 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
+@@ -7322,6 +7421,9 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
}
}
@@ -575,7 +567,7 @@ index 66a541a..06a50bb 100644
for (i = 0; i < MAX_TEXTURES; ++i)
{
if (entry->vs.texture_matrix_location[i] != -1)
-@@ -7405,7 +7507,12 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex
+@@ -7561,7 +7663,12 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex
checkGLcall("glUseProgram");
if (program_id)
@@ -588,16 +580,16 @@ index 66a541a..06a50bb 100644
}
}
-@@ -7723,6 +7830,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
+@@ -7879,6 +7986,8 @@ static HRESULT shader_glsl_alloc(struct wined3d_device *device, const struct win
fragment_pipe->get_caps(gl_info, &fragment_caps);
priv->ffp_proj_control = fragment_caps.wined3d_caps & WINED3D_FRAGMENT_CAP_PROJ_CONTROL;
priv->legacy_lighting = device->wined3d->flags & WINED3D_LEGACY_FFP_LIGHTING;
+ priv->ivb_use_ubo = gl_info->supported[ARB_UNIFORM_BUFFER_OBJECT];
-+ priv->ubo_modelview = -1; // To be initialized upon first usage
++ priv->ubo_modelview = -1; /* To be initialized upon first usage */
device->vertex_priv = vertex_priv;
device->fragment_priv = fragment_priv;
-@@ -7768,6 +7877,11 @@ static void shader_glsl_free(struct wined3d_device *device)
+@@ -7924,6 +8033,11 @@ static void shader_glsl_free(struct wined3d_device *device)
string_buffer_free(&priv->shader_buffer);
priv->fragment_pipe->free_private(device);
priv->vertex_pipe->vp_free(device);
@@ -609,7 +601,7 @@ index 66a541a..06a50bb 100644
HeapFree(GetProcessHeap(), 0, device->shader_priv);
device->shader_priv = NULL;
-@@ -8034,7 +8148,11 @@ static void glsl_vertex_pipe_vp_get_caps(const struct wined3d_gl_info *gl_info,
+@@ -8214,7 +8328,11 @@ static void glsl_vertex_pipe_vp_get_caps(const struct wined3d_gl_info *gl_info,
caps->ffp_generic_attributes = TRUE;
caps->max_active_lights = MAX_ACTIVE_LIGHTS;
caps->max_vertex_blend_matrices = MAX_VERTEX_BLENDS;
@@ -622,7 +614,7 @@ index 66a541a..06a50bb 100644
caps->vertex_processing_caps = WINED3DVTXPCAPS_TEXGEN
| WINED3DVTXPCAPS_MATERIALSOURCE7
| WINED3DVTXPCAPS_VERTEXFOG
-@@ -8177,23 +8295,38 @@ static void glsl_vertex_pipe_vs(struct wined3d_context *context,
+@@ -8357,23 +8475,38 @@ static void glsl_vertex_pipe_vs(struct wined3d_context *context,
static void glsl_vertex_pipe_world(struct wined3d_context *context,
const struct wined3d_state *state, DWORD state_id)
{
@@ -661,7 +653,7 @@ index 66a541a..06a50bb 100644
for (k = 0; k < gl_info->limits.clipplanes; ++k)
{
-@@ -8351,6 +8484,258 @@ static const struct StateEntryTemplate glsl_vertex_pipe_vp_states[] =
+@@ -8531,6 +8664,258 @@ static const struct StateEntryTemplate glsl_vertex_pipe_vp_states[] =
{STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(1)), {STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(1)), glsl_vertex_pipe_vertexblend }, WINED3D_GL_EXT_NONE },
{STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(2)), {STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(2)), glsl_vertex_pipe_vertexblend }, WINED3D_GL_EXT_NONE },
{STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(3)), {STATE_TRANSFORM(WINED3D_TS_WORLD_MATRIX(3)), glsl_vertex_pipe_vertexblend }, WINED3D_GL_EXT_NONE },
@@ -921,7 +913,7 @@ index 66a541a..06a50bb 100644
{STATE_TEXTURESTAGE(1, WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS), {STATE_TEXTURESTAGE(1, WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS), glsl_vertex_pipe_texmatrix}, WINED3D_GL_EXT_NONE },
{STATE_TEXTURESTAGE(2, WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS), {STATE_TEXTURESTAGE(2, WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS), glsl_vertex_pipe_texmatrix}, WINED3D_GL_EXT_NONE },
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
-index 47afa42..5094e98 100644
+index 1d80fa0..37dca92 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -5790,7 +5790,8 @@ static void prune_invalid_states(struct StateEntry *state_table, const struct wi
@@ -935,10 +927,10 @@ index 47afa42..5094e98 100644
for (i = start; i <= last; ++i)
{
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
-index f06affd..2d961f9 100644
+index 923d70a..2fddda2 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
-@@ -4921,6 +4921,10 @@ void wined3d_ffp_get_vs_settings(const struct wined3d_context *context,
+@@ -4969,6 +4969,10 @@ void wined3d_ffp_get_vs_settings(const struct wined3d_context *context,
settings->flatshading = FALSE;
settings->padding = 0;
@@ -971,20 +963,20 @@ index 9eb5907..eec23e9 100644
switch(element->format)
{
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
-index 805e32e..23e4a668 100644
+index ccd0c60..9cf8b76 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
-@@ -185,6 +185,9 @@ void wined3d_rb_free(void *ptr) DECLSPEC_HIDDEN;
- #define MAX_SAMPLER_OBJECTS 16
+@@ -186,6 +186,9 @@ void wined3d_rb_free(void *ptr) DECLSPEC_HIDDEN;
#define MAX_SHADER_RESOURCE_VIEWS 128
#define MAX_VERTEX_BLENDS 4
+ #define MAX_MULTISAMPLE_TYPES 8
+#define MAX_VERTEX_BLEND_IND_UBO 255
+#define MAX_VERTEX_BLEND_IND_UNF 149
+#define MAX_VB_UPD_WORDS ((MAX_VERTEX_BLEND_IND_UBO+1 + 31)/32)
struct min_lookup
{
-@@ -1203,6 +1206,7 @@ struct wined3d_context
+@@ -1278,6 +1281,7 @@ struct wined3d_context
DWORD padding : 14;
DWORD shader_update_mask;
DWORD constant_update_mask;
@@ -992,7 +984,7 @@ index 805e32e..23e4a668 100644
DWORD numbered_array_mask;
GLenum tracking_parm; /* Which source is tracking current colour */
GLenum untracked_materials[2];
-@@ -1775,6 +1779,7 @@ struct wined3d_d3d_limits
+@@ -1850,6 +1854,7 @@ struct wined3d_d3d_limits
UINT ffp_textures;
UINT ffp_blend_stages;
UINT ffp_vertex_blend_matrices;
@@ -1000,7 +992,7 @@ index 805e32e..23e4a668 100644
};
typedef void (WINE_GLAPI *wined3d_ffp_attrib_func)(const void *data);
-@@ -1952,7 +1957,8 @@ struct wined3d_ffp_vs_settings
+@@ -2027,7 +2032,8 @@ struct wined3d_ffp_vs_settings
DWORD texcoords : 8; /* MAX_TEXTURES */
DWORD ortho_fog : 1;
DWORD flatshading : 1;