Rebase against a71128513767d44a8f42e10895578b650061bdce.

[ntdll-NtUnmapViewOfSection]
Removed patch to fix behavior of UnmapViewOfFile for Win9x (accepted upstream).

[shell32-FolderItems_Stub_Iface]
Removed patch to implement stubbed FolderItems interface (fixed upstream).
This commit is contained in:
Sebastian Lackner
2016-07-19 18:15:40 +02:00
parent 5125d3edeb
commit cbd440689d
7 changed files with 24 additions and 503 deletions

View File

@@ -144,7 +144,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
return;
@@ -461,8 +477,12 @@ void buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *co
@@ -460,8 +476,12 @@ void buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *co
data->buffer_object = buffer->buffer_object;
if (!buffer->buffer_object)
{
@@ -157,7 +157,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
{
buffer_create_buffer_object(buffer, context);
if (buffer->buffer_object)
@@ -500,7 +520,9 @@ BYTE *buffer_get_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *c
@@ -499,7 +519,9 @@ BYTE *buffer_get_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *c
if (!wined3d_resource_allocate_sysmem(&buffer->resource))
ERR("Failed to allocate system memory.\n");
@@ -167,7 +167,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
buffer_bind(buffer, context);
GL_EXTCALL(glGetBufferSubData(buffer->buffer_type_hint, 0, buffer->resource.size, buffer->resource.heap_memory));
@@ -674,6 +696,7 @@ drop_query:
@@ -673,6 +695,7 @@ drop_query:
/* The caller provides a GL context */
static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined3d_gl_info *gl_info, DWORD flags)
{
@@ -175,7 +175,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
UINT start = 0, len = 0;
/* This potentially invalidates the element array buffer binding, but the
@@ -697,6 +720,45 @@ static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined
@@ -696,6 +719,45 @@ static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined
GL_EXTCALL(glBufferParameteriAPPLE(This->buffer_type_hint, GL_BUFFER_SERIALIZED_MODIFY_APPLE, GL_TRUE));
checkGLcall("glBufferParameteriAPPLE(This->buffer_type_hint, GL_BUFFER_SERIALIZED_MODIFY_APPLE, GL_TRUE)");
This->flags &= ~WINED3D_BUFFER_APPLESYNC;
@@ -221,7 +221,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
}
while (This->modified_areas)
@@ -705,12 +767,33 @@ static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined
@@ -704,12 +766,33 @@ static void buffer_direct_upload(struct wined3d_buffer *This, const struct wined
start = This->maps[This->modified_areas].offset;
len = This->maps[This->modified_areas].size;
@@ -255,7 +255,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
{
buffer->flags &= ~(WINED3D_BUFFER_SYNC | WINED3D_BUFFER_DISCARD);
}
@@ -729,6 +812,14 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
@@ -728,6 +811,14 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
TRACE("buffer %p.\n", buffer);
@@ -270,7 +270,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
buffer_mark_used(buffer);
if (!buffer->buffer_object)
@@ -904,6 +995,7 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
@@ -903,6 +994,7 @@ void buffer_internal_preload(struct wined3d_buffer *buffer, struct wined3d_conte
void CDECL wined3d_buffer_preload(struct wined3d_buffer *buffer)
{
@@ -278,7 +278,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
struct wined3d_device *device = buffer->resource.device;
if (buffer->resource.map_count)
@@ -913,6 +1005,12 @@ void CDECL wined3d_buffer_preload(struct wined3d_buffer *buffer)
@@ -912,6 +1004,12 @@ void CDECL wined3d_buffer_preload(struct wined3d_buffer *buffer)
}
wined3d_cs_emit_buffer_preload(device->cs, buffer);
@@ -291,7 +291,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
}
struct wined3d_resource * CDECL wined3d_buffer_get_resource(struct wined3d_buffer *buffer)
@@ -926,6 +1024,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -925,6 +1023,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
{
LONG count;
BYTE *base;
@@ -299,7 +299,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
struct wined3d_device *device = buffer->resource.device;
struct wined3d_context *context;
@@ -949,6 +1048,10 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -948,6 +1047,10 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
{
wined3d_cs_emit_create_vbo(device->cs, buffer);
}
@@ -310,7 +310,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
flags = wined3d_resource_sanitize_map_flags(&buffer->resource, flags);
/* Filter redundant WINED3D_MAP_DISCARD maps. The 3DMark2001 multitexture
@@ -957,7 +1060,11 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -956,7 +1059,11 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
* previous contents of the buffer. The r600g driver only does this when
* the buffer is currently in use, while the proprietary NVIDIA driver
* appears to do this unconditionally. */
@@ -322,7 +322,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
flags &= ~WINED3D_MAP_DISCARD;
count = ++buffer->resource.map_count;
@@ -968,6 +1075,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -967,6 +1074,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
* being uploaded in that case. Two such applications are Port Royale
* and Darkstar One. */
if (flags & WINED3D_MAP_DISCARD)
@@ -330,7 +330,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
wined3d_cs_emit_buffer_invalidate_bo_range(device->cs, buffer, 0, 0);
else if (!(flags & WINED3D_MAP_READONLY))
wined3d_cs_emit_buffer_invalidate_bo_range(device->cs, buffer, offset, size);
@@ -985,6 +1093,19 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -984,6 +1092,19 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
wined3d_cs_emit_glfinish(device->cs);
device->cs->ops->finish(device->cs);
}
@@ -350,7 +350,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
context = context_acquire(device, NULL);
gl_info = context->gl_info;
@@ -1030,6 +1151,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -1029,6 +1150,7 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
buffer_get_sysmem(buffer, context);
}
TRACE("New pointer is %p.\n", buffer->resource.heap_memory);
@@ -358,7 +358,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
}
context_release(context);
}
@@ -1069,6 +1191,21 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
@@ -1068,6 +1190,21 @@ HRESULT CDECL wined3d_buffer_map(struct wined3d_buffer *buffer, UINT offset, UIN
}
base = buffer->map_ptr ? buffer->map_ptr : buffer->resource.map_heap_memory;
@@ -380,7 +380,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
*data = base + offset;
TRACE("Returning memory at %p (base %p, offset %u).\n", *data, base, offset);
@@ -1131,6 +1268,7 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
@@ -1130,6 +1267,7 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
}
GL_EXTCALL(glUnmapBuffer(buffer->buffer_type_hint));
@@ -388,7 +388,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
if (wined3d_settings.cs_multithreaded)
gl_info->gl_ops.gl.p_glFinish();
else if (wined3d_settings.strict_draw_ordering)
@@ -1139,6 +1277,18 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
@@ -1138,6 +1276,18 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
buffer_clear_dirty_areas(buffer);
buffer->map_ptr = NULL;
@@ -407,7 +407,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
}
}
@@ -1331,7 +1481,9 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
@@ -1330,7 +1480,9 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
return hr;
}
buffer->buffer_type_hint = bind_hint;
@@ -417,7 +417,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
TRACE("size %#x, usage %#x, format %s, memory @ %p, iface @ %p.\n", buffer->resource.size, buffer->resource.usage,
debug_d3dformat(buffer->resource.format->id), buffer->resource.heap_memory, buffer);
@@ -1367,9 +1519,11 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
@@ -1366,9 +1518,11 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
buffer->flags |= WINED3D_BUFFER_USE_BO;
}
@@ -429,7 +429,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
if (!(buffer->maps = HeapAlloc(GetProcessHeap(), 0, sizeof(*buffer->maps))))
{
ERR("Out of memory.\n");
@@ -1497,6 +1651,7 @@ HRESULT CDECL wined3d_buffer_create_ib(struct wined3d_device *device, UINT size,
@@ -1496,6 +1650,7 @@ HRESULT CDECL wined3d_buffer_create_ib(struct wined3d_device *device, UINT size,
return WINED3D_OK;
}
@@ -437,7 +437,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
void buffer_swap_mem(struct wined3d_buffer *buffer, BYTE *mem)
{
@@ -1504,3 +1659,4 @@ void buffer_swap_mem(struct wined3d_buffer *buffer, BYTE *mem)
@@ -1503,3 +1658,4 @@ void buffer_swap_mem(struct wined3d_buffer *buffer, BYTE *mem)
buffer->resource.heap_memory = mem;
buffer->flags |= WINED3D_BUFFER_DISCARD;
}
@@ -6176,7 +6176,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -4481,7 +4481,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
@@ -4494,7 +4494,11 @@ void get_projection_matrix(const struct wined3d_context *context, const struct w
float y_offset = context->render_offscreen
? (center_offset - (2.0f * y) - h) / h
: (center_offset - (2.0f * y) - h) / -h;
@@ -6188,7 +6188,7 @@ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
state->render_states[WINED3D_RS_ZENABLE] : WINED3D_ZB_FALSE;
float z_scale = zenable ? 2.0f : 0.0f;
float z_offset = zenable ? -1.0f : 0.0f;
@@ -5278,7 +5282,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
@@ -5291,7 +5295,11 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
break;
}
}